Bye billy ... oop, wrong film, oops wrong media ... shut up Paul

git-svn-id: file:///svn/phpbb/trunk@4017 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Paul S. Owen 2003-05-19 13:45:26 +00:00
parent 1bb83a6760
commit 7097d53af2
15 changed files with 0 additions and 4457 deletions

View file

@ -1,95 +0,0 @@
<?php
/***************************************************************************
* usercp_activate.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*
***************************************************************************/
class ucp_activate extends ucp
{
function main($module_id)
{
global $config, $db, $user, $auth, $SID, $template, $phpEx;
$sql = "SELECT user_active, user_id, user_email, user_newpasswd, user_lang, user_actkey, username
FROM " . USERS_TABLE . "
WHERE user_id = " . intval($_GET['u']);
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
if ($row['user_active'] && $row['user_actkey'] == '')
{
meta_refresh(3, "index.$phpEx$SID");
trigger_error($user->lang['Already_activated']);
}
else if ($row['user_actkey'] == $_GET['key'])
{
$sql_update_pass = ($row['user_newpasswd'] != '') ? ", user_password = '" . $db->sql_escape($row['user_newpasswd']) . "', user_newpasswd = ''" : '';
$sql = "UPDATE " . USERS_TABLE . "
SET user_active = 1, user_actkey = ''" . $sql_update_pass . "
WHERE user_id = " . $row['user_id'];
$result = $db->sql_query($sql);
if ($config['require_activation'] == USER_ACTIVATION_ADMIN && $sql_update_pass == '')
{
ucp::load('includes/emailer');
$emailer = new emailer($config['smtp_delivery']);
$emailer->use_template('admin_welcome_activated', $row['user_lang']);
$emailer->to($row['user_email']);
$emailer->assign_vars(array(
'SITENAME' => $config['sitename'],
'USERNAME' => $row['username'],
'PASSWORD' => $password_confirm,
'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']))
);
$emailer->send();
$emailer->reset();
meta_refresh(3, "index.$phpEx$SID");
trigger_error($user->lang['Account_active_admin']);
}
else
{
meta_refresh(3, "index.$phpEx$SID");
$message = ($sql_update_pass == '') ? $user->lang['Account_active'] : $user->lang['Password_activated'];
trigger_error($message);
}
set_config('newest_user_id', $row['user_id']);
set_config('newest_username', $row['username']);
set_config('num_users', $config['num_users'] + 1, TRUE);
}
else
{
trigger_error($user->lang['Wrong_activation']);
}
}
else
{
trigger_error($user->lang['No_such_user']);
}
$db->sql_freeresult($result);
}
}
?>

View file

@ -1,360 +0,0 @@
<?php
/***************************************************************************
* ucp_main.php
* -------------------
* begin : Saturday, Feb 21, 2003
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
class ucp_main extends ucp
{
function main($id)
{
global $config, $censors, $db, $user, $auth, $SID, $template, $phpEx;
$submode = ($_REQUEST['mode']) ? htmlspecialchars($_REQUEST['mode']) : 'front';
// Setup internal subsection display
$submodules['FRONT'] = "i=$id&amp;mode=front";
$submodules['WATCHED'] = "i=$id&amp;mode=watched";
$this->subsection($submodules, $submode);
unset($submodules);
switch ($submode)
{
case 'front':
if ($config['load_db_lastread'])
{
$sql = 'SELECT mark_time
FROM ' . FORUMS_TRACK_TABLE . '
WHERE forum_id = 0
AND user_id = ' . $user->data['user_id'];
$result = $db->sql_query($sql);
$track_data = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
}
else
{
$tracking_topics = (isset($_COOKIE[$config['cookie_name'] . '_t'])) ? unserialize($_COOKIE[$config['cookie_name'] . '_t']) : array();
$tracking_forums = (isset($_COOKIE[$config['cookie_name'] . '_f'])) ? unserialize($_COOKIE[$config['cookie_name'] . '_f']) : array();
}
$i = 0;
$topic_type = $user->lang['VIEW_TOPIC_ANNOUNCEMENT'];
$folder = 'folder_announce';
$folder_new = $folder . '_new';
$sql_tracking = (($config['load_db_lastread'] || $config['load_db_track']) && $user->data['user_id'] != ANONYMOUS) ? 'LEFT JOIN ' . TOPICS_TRACK_TABLE . ' tt ON (tt.topic_id = t.topic_id AND tt.user_id = ' . $user->data['user_id'] . ')' : '';
$sql_select = (($config['load_db_lastread'] || $config['load_db_track']) && $user->data['user_id'] != ANONYMOUS) ? ', tt.mark_type, tt.mark_time' : '';
$sql = "SELECT t.* $sql_select
FROM (" . TOPICS_TABLE . " t
$sql_tracking)
WHERE t.forum_id = 0
AND t.topic_type = " . POST_ANNOUNCE . '
ORDER BY t.topic_last_post_time DESC';
$result = $db->sql_query_limit($sql, $config['topics_per_page']);
while ($row = $db->sql_fetchrow($result))
{
$forum_id = $row['forum_id'];
$topic_id = $row['topic_id'];
if ($row['topic_status'] == ITEM_LOCKED)
{
$topic_type = $user->lang['VIEW_TOPIC_LOCKED'];
$folder = 'folder_locked';
$folder_new = 'folder_locked_new';
}
$unread_topic = ($user->data['user_id'] != ANONYMOUS) ? true : false;
if ($user->data['user_id'] != ANONYMOUS)
{
$topic_check = (!$config['load_db_lastread']) ? $tracking_topics[$topic_id] : $row['mark_time'];
$forum_check = (!$config['load_db_lastread']) ? $tracking_forums[$forum_id] : $track_data['mark_time'];
if ($topic_check > $row['topic_last_post_time'] || $forum_check > $row['topic_last_post_time'])
{
$unread_topic = false;
}
}
$newest_post_img = ($unread_topic) ? "<a href=\"viewtopic.$phpEx$SID&amp;f=$forum_id&amp;t=$topic_id&amp;view=unread\">" . $user->img('icon_post_newest', 'VIEW_NEWEST_POST') . '</a> ' : '';
$folder_img = ($unread_topic) ? $folder_new : $folder;
$folder_alt = ($unread_topic) ? 'NEW_POSTS' : (($row['topic_status'] == ITEM_LOCKED) ? 'TOPIC_LOCKED' : 'NO_NEW_POSTS');
// Posted image?
if (!empty($row['mark_type']))
{
$folder_img .= '_posted';
}
// Goto message generation
$replies = ($auth->acl_get('m_approve')) ? $row['topic_replies_real'] : $row['topic_replies'];
if (($replies + 1) > intval($config['posts_per_page']))
{
$total_pages = ceil(($replies + 1) / intval($config['posts_per_page']));
$goto_page = ' [ ' . $user->img('icon_post', 'GOTO_PAGE') . $user->lang['GOTO_PAGE'] . ': ';
$times = 1;
for($j = 0; $j < $replies + 1; $j += intval($config['posts_per_page']))
{
$goto_page .= "<a href=\"viewtopic.$phpEx$SID&amp;f=$forum_id&amp;t=$topic_id&amp;start=$j\">$times</a>";
if ($times == 1 && $total_pages > 4)
{
$goto_page .= ' ... ';
$times = $total_pages - 3;
$j += ($total_pages - 4) * intval($config['posts_per_page']);
}
else if ($times < $total_pages)
{
$goto_page .= ', ';
}
$times++;
}
$goto_page .= ' ] ';
}
else
{
$goto_page = '';
}
$view_topic_url = "viewtopic.$phpEx$SID&amp;f=$forum_id&amp;t=$topic_id";
$last_post_img = "<a href=\"viewtopic.$phpEx$SID&amp;f=$forum_id&amp;p=" . $row['topic_last_post_id'] . '#' . $row['topic_last_post_id'] . '">' . $user->img('icon_post_latest', 'VIEW_LATEST_POST') . '</a>';
$last_post_author = ($row['topic_last_poster_id'] == ANONYMOUS) ? (($row['topic_last_poster_name'] != '') ? $row['topic_last_poster_name'] . ' ' : $user->lang['GUEST'] . ' ') : "<a href=\"memberlist.$phpEx$SID&amp;mode=viewprofile&amp;u=" . $row['topic_last_poster_id'] . '">' . $row['topic_last_poster_name'] . '</a>';
$template->assign_block_vars('topicrow', array(
'FORUM_ID' => $forum_id,
'TOPIC_ID' => $topic_id,
'LAST_POST_TIME' => $user->format_date($row['topic_last_post_time']),
'LAST_POST_AUTHOR' => $last_post_author,
'GOTO_PAGE' => $goto_page,
'TOPIC_TITLE' => (!empty($censors)) ? preg_replace($censors['match'], $censors['replace'], $row['topic_title']) : $row['topic_title'],
'TOPIC_TYPE' => $topic_type,
'LAST_POST_IMG' => $last_post_img,
'NEWEST_POST_IMG' => $newest_post_img,
'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt),
'ATTACH_ICON_IMG' => ($auth->acl_get('f_download', $forum_id) && $row['topic_attachment']) ? $user->img('icon_attach', '') : '',
'S_ROW_COUNT' => $i,
'S_USER_POSTED' => (!empty($row['mark_type'])) ? true : false,
'U_VIEW_TOPIC' => $view_topic_url)
);
$i++;
}
$db->sql_freeresult($result);
break;
case 'watched':
// Subscribed Topics
if ($config['load_db_lastread'])
{
$sql = 'SELECT mark_time
FROM ' . FORUMS_TRACK_TABLE . '
WHERE forum_id = 0
AND user_id = ' . $user->data['user_id'];
$result = $db->sql_query($sql);
$track_data = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
}
else
{
$tracking_topics = (isset($_COOKIE[$config['cookie_name'] . '_t'])) ? unserialize($_COOKIE[$config['cookie_name'] . '_t']) : array();
$tracking_forums = (isset($_COOKIE[$config['cookie_name'] . '_f'])) ? unserialize($_COOKIE[$config['cookie_name'] . '_f']) : array();
}
$sql_tracking = (($config['load_db_lastread'] || $config['load_db_track']) && $user->data['user_id'] != ANONYMOUS) ? 'LEFT JOIN ' . TOPICS_TRACK_TABLE . ' tt ON (tt.topic_id = t.topic_id AND tt.user_id = ' . $user->data['user_id'] . ')' : '';
$sql_select = (($config['load_db_lastread'] || $config['load_db_track']) && $user->data['user_id'] != ANONYMOUS) ? ', tt.mark_type, tt.mark_time' : '';
$sql = "SELECT t.* $sql_select
FROM (" . TOPICS_TABLE . " t
$sql_tracking), " . TOPICS_WATCH_TABLE . ' tw
WHERE tw.user_id = ' . $user->data['user_id'] . '
AND t.topic_id = tw.topic_id
ORDER BY t.topic_last_post_time DESC';
$result = $db->sql_query_limit($sql, $config['topics_per_page']);
$i = 0;
while ($row = $db->sql_fetchrow($result))
{
$forum_id = $row['forum_id'];
$topic_id = $row['topic_id'];
// Goto message generation
$replies = ($auth->acl_get('m_approve')) ? $row['topic_replies_real'] : $row['topic_replies'];
$topic_type = '';
switch ($row['topic_type'])
{
case POST_ANNOUNCE:
$topic_type = $user->lang['VIEW_TOPIC_ANNOUNCEMENT'];
$folder = 'folder_announce';
$folder_new = 'folder_announce_new';
break;
case POST_STICKY:
$topic_type = $user->lang['VIEW_TOPIC_STICKY'];
$folder = 'folder_sticky';
$folder_new = 'folder_sticky_new';
break;
default:
if ($replies >= intval($config['hot_threshold']))
{
$folder = 'folder_hot';
$folder_new = 'folder_hot_new';
}
else
{
$folder = 'folder';
$folder_new = 'folder_new';
}
break;
}
if ($row['topic_status'] == ITEM_LOCKED)
{
$topic_type = $user->lang['VIEW_TOPIC_LOCKED'];
$folder = 'folder_locked';
$folder_new = 'folder_locked_new';
}
$unread_topic = ($user->data['user_id'] != ANONYMOUS) ? true : false;
if ($user->data['user_id'] != ANONYMOUS)
{
$topic_check = (!$config['load_db_lastread']) ? $tracking_topics[$topic_id] : $row['mark_time'];
$forum_check = (!$config['load_db_lastread']) ? $tracking_forums[$forum_id] : $track_data['mark_time'];
if ($topic_check > $row['topic_last_post_time'] || $forum_check > $row['topic_last_post_time'])
{
$unread_topic = false;
}
}
$newest_post_img = ($unread_topic) ? "<a href=\"viewtopic.$phpEx$SID&amp;f=$forum_id&amp;t=$topic_id&amp;view=unread\">" . $user->img('icon_post_newest', 'VIEW_NEWEST_POST') . '</a> ' : '';
$folder_img = ($unread_topic) ? $folder_new : $folder;
$folder_alt = ($unread_topic) ? 'NEW_POSTS' : (($row['topic_status'] == ITEM_LOCKED) ? 'TOPIC_LOCKED' : 'NO_NEW_POSTS');
// Posted image?
if (!empty($row['mark_type']))
{
$folder_img .= '_posted';
}
if (($replies + 1) > intval($config['posts_per_page']))
{
$total_pages = ceil(($replies + 1) / intval($config['posts_per_page']));
$goto_page = ' [ ' . $user->img('icon_post', 'GOTO_PAGE') . $user->lang['GOTO_PAGE'] . ': ';
$times = 1;
for($j = 0; $j < $replies + 1; $j += intval($config['posts_per_page']))
{
$goto_page .= "<a href=\"viewtopic.$phpEx$SID&amp;f=$forum_id&amp;t=$topic_id&amp;start=$j\">$times</a>";
if ($times == 1 && $total_pages > 4)
{
$goto_page .= ' ... ';
$times = $total_pages - 3;
$j += ($total_pages - 4) * intval($config['posts_per_page']);
}
else if ($times < $total_pages)
{
$goto_page .= ', ';
}
$times++;
}
$goto_page .= ' ] ';
}
else
{
$goto_page = '';
}
$view_topic_url = "viewtopic.$phpEx$SID&amp;f=$forum_id&amp;t=$topic_id";
$last_post_img = "<a href=\"viewtopic.$phpEx$SID&amp;f=$forum_id&amp;p=" . $row['topic_last_post_id'] . '#' . $row['topic_last_post_id'] . '">' . $user->img('icon_post_latest', 'VIEW_LATEST_POST') . '</a>';
$last_post_author = ($row['topic_last_poster_id'] == ANONYMOUS) ? (($row['topic_last_poster_name'] != '') ? $row['topic_last_poster_name'] . ' ' : $user->lang['GUEST'] . ' ') : "<a href=\"memberlist.$phpEx$SID&amp;mode=viewprofile&amp;u=" . $row['topic_last_poster_id'] . '">' . $row['topic_last_poster_name'] . '</a>';
$template->assign_block_vars('topicrow', array(
'FORUM_ID' => $forum_id,
'TOPIC_ID' => $topic_id,
'LAST_POST_TIME' => $user->format_date($row['topic_last_post_time']),
'LAST_POST_AUTHOR' => $last_post_author,
'GOTO_PAGE' => $goto_page,
'TOPIC_TITLE' => (!empty($censors)) ? preg_replace($censors['match'], $censors['replace'], $row['topic_title']) : $row['topic_title'],
'TOPIC_TYPE' => $topic_type,
'LAST_POST_IMG' => $last_post_img,
'NEWEST_POST_IMG' => $newest_post_img,
'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt),
'ATTACH_ICON_IMG' => ($auth->acl_get('f_download', $forum_id) && $row['topic_attachment']) ? $user->img('icon_attach', '') : '',
'S_ROW_COUNT' => $i,
'S_USER_POSTED' => (!empty($row['mark_type'])) ? true : false,
'U_VIEW_TOPIC' => $view_topic_url)
);
$i++;
}
$db->sql_freeresult($result);
// Subscribed Forums
$sql = "SELECT f.forum_id, f.forum_last_post_time, f.forum_last_post_id, f.left_id, f.right_id, f.forum_status, f.forum_name, f.forum_desc
FROM " . FORUMS_TABLE . " f, " . FORUMS_WATCH_TABLE . " fw
WHERE f.forum_id = fw.forum_id
AND fw.user_id = " . $user->data['user_id'] . "
ORDER BY f.forum_last_post_time DESC";
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
}
$db->sql_freeresult($result);
break;
}
$template->assign_vars(array(
'L_TITLE' => $user->lang['UCP_' . strtoupper($submode)],
'S_DISPLAY_' . strtoupper($submode) => true,
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_UCP_ACTION' => "ucp.$phpEx$SID&amp;i=$id&amp;mode=$submode")
);
$this->output($user->lang['UCP_MAIN'], 'ucp_main.html');
}
}
?>

View file

@ -1,33 +0,0 @@
<?php
/***************************************************************************
* usercp_profile.php
* -------------------
* begin : Saturday, Feb 21, 2003
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*
***************************************************************************/
class ucp_pm extends ucp
{
function main($module_id)
{
return;
}
}
?>

View file

@ -1,74 +0,0 @@
<?php
/***************************************************************************
* ucp_prefs.php
* -------------------
* begin : Saturday, Feb 21, 2003
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
class ucp_prefs extends ucp
{
function main($id)
{
global $config, $db, $user, $SID, $template, $phpEx;
$submode = ($_REQUEST['mode']) ? htmlspecialchars($_REQUEST['mode']) : 'personal';
// Setup internal subsection display
$submodules['PERSONAL'] = "i=$id&amp;mode=personal";
$submodules['VIEW'] = "i=$id&amp;mode=view";
$submodules['POST'] = "i=$id&amp;mode=post";
$this->subsection($submodules, $submode);
unset($submodules);
switch($submode)
{
case 'personal':
$template->assign_vars(array(
'VIEW_EMAIL_YES' => ($user->data['user_viewemail ']) ? ' checked="checked"' : '',
'VIEW_EMAIL_NO' => (!$user->data['user_viewemail ']) ? ' checked="checked"' : '',
'DATE_FORMAT' => $user->data['user_dateformat'],
'S_LANG_OPTIONS' => language_select($user->data['user_lang']),
'S_STYLE_OPTIONS' => style_select($user->data['user_style']),
'S_TZ_OPTIONS' => tz_select($user->data['user_timezone']),)
);
break;
case 'view':
break;
case 'post':
break;
default:
break;
}
$template->assign_vars(array(
'L_TITLE' => $user->lang['UCP_' . strtoupper($submode)],
'S_DISPLAY_' . strtoupper($submode) => true,
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_UCP_ACTION' => "ucp.$phpEx$SID&amp;i=$id&amp;mode=$submode")
);
$this->output($user->lang['UCP_PROFILE'], 'ucp_prefs.html');
}
}
?>

View file

@ -1,241 +0,0 @@
<?php
/***************************************************************************
* ucp_profile.php
* -------------------
* begin : Saturday, Feb 21, 2003
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
class ucp_profile extends ucp
{
function main($id)
{
global $config, $db, $user, $auth, $SID, $template, $phpEx;
$submode = ($_REQUEST['mode']) ? htmlspecialchars($_REQUEST['mode']) : 'reg_details';
$submodules['REG_DETAILS'] = "i=$id&amp;mode=reg_details";
$submodules['PROFILE_INFO'] = "i=$id&amp;mode=profile_info";
$submodules['SIGNATURE'] = "i=$id&amp;mode=signature";
$submodules['AVATAR'] = "i=$id&amp;mode=avatar";
$this->subsection($submodules, $submode);
unset($submodules);
switch ($submode)
{
case 'reg_details':
$template->assign_vars(array(
'USERNAME' => $user->data['username'],
'EMAIL' => $user->data['user_email'],
'S_CHANGE_USERNAME' => $config['allow_namechange'] & $auth->acl_get('u_chgname'),
'S_CHANGE_EMAIL' => $auth->acl_get('u_chgemail'),
'S_CHANGE_PASSWORD' => $auth->acl_get('u_chgpass'), )
);
break;
case 'profile_info':
list($day, $month, $year) = explode('-', $user->data['user_birthday']);
$s_birthday_day_options = '';
for ($i = 1; $i < 32; $i++)
{
$selected = ($i == $day) ? ' selected="selected"' : '';
$s_birthday_day_options .= "<option value=\"$i\"$selected>$i</option>";
}
$s_birthday_month_options = '';
for ($i = 1; $i < 13; $i++)
{
$selected = ($i == $month) ? ' selected="selected"' : '';
$s_birthday_month_options .= "<option value=\"$i\"$selected>$i</option>";
}
$s_birthday_year_options = '';
$now = getdate();
for ($i = $now['year'] - 100; $i < $now['year']; $i++)
{
$selected = ($i == $year) ? ' selected="selected"' : '';
$s_birthday_year_options .= "<option value=\"$i\"$selected>$i</option>";
}
unset($now);
$template->assign_vars(array(
'ICQ' => $user->data['user_icq'],
'YIM' => $user->data['user_yim'],
'AIM' => $user->data['user_aim'],
'MSNM' => $user->data['user_msnm'],
'JABBER' => $user->data['user_jabber'],
'WEBSITE' => $user->data['user_website'],
'LOCATION' => $user->data['user_from'],
'OCCUPATION'=> $user->data['user_occ'],
'INTERESTS' => $user->data['user_interests'],
'S_BIRTHDAY_DAY_OPTIONS' => $s_birthday_day_options,
'S_BIRTHDAY_MONTH_OPTIONS' => $s_birthday_month_options,
'S_BIRTHDAY_YEAR_OPTIONS' => $s_birthday_year_options,)
);
break;
case 'signature':
$this->loadfile('includes/functions_posting');
$html_status = ($config['allow_html']) ? true : false;
$bbcode_status = ($config['allow_bbcode']) ? true : false;
$smilies_status = ($config['allow_smilies']) ? true : false;
$img_status = ($config['allow_img']) ? true : false;
$flash_status = ($config['allow_flash']) ? true : false;
$enable_html = (isset($_POST['disable_html'])) ? !$_POST['disable_html'] : $config['allow_html'];
$enable_bbcode = (isset($_POST['disable_bbcode'])) ? !$_POST['disable_bbcode'] : $config['allow_bbcode'];
$enable_smilies = (isset($_POST['disable_smilies'])) ? !$_POST['disable_smilies'] : $config['allow_smilies'];
$enable_urls = (isset($_POST['disable_magic_url'])) ? !$_POST['disable_magic_url'] : 1;
decode_text($user->data['user_sig'], $user->data['user_sig_bbcode_uid']);
$signature = (!empty($_POST['signature'])) ? htmlspecialchars($_POST['signature']) : $user->data['user_sig'];
$error = array();
if ($_POST['submit'])
{
if (strlen($signature) > $config['max_sig_chars'])
{
$error[] = $user->lang['SIGNATURE_TOO_LONG'];
}
if (!sizeof($error))
{
$this->loadfile('includes/message_parser');
$message_parser = new parse_message();
$message_parser->message = trim(stripslashes($signature));
$message_parser->parse($enable_html, $enable_bbcode, $enable_urls, $enable_smilies);
$signature = $message_parser->message;
$sql_ary = array(
'user_sig' => $signature,
'user_sig_bbcode_uid' => $message_parser->bbcode_uid,
'user_sig_bbcode_bitfield' => $message_parser->bbcode_bitfield
);
$sql = 'UPDATE ' . USERS_TABLE . '
SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
WHERE user_id = ' . $user->data['user_id'];
$db->sql_query($sql);
meta_refresh(3, "ucp.$phpEx$SID&amp;i=$id&amp;mode=$submode");
trigger_error('');
}
}
$signature_preview = '';
if ($_POST['preview'])
{
// Fudge-o-rama ...
global $phpbb_root_path;
$this->loadfile('includes/message_parser');
$signature_preview = $signature;
$message_parser = new parse_message();
$message_parser->message = trim(stripslashes($signature_preview));
$message_parser->parse($enable_html, $enable_bbcode, $enable_urls, $enable_smilies);
$signature_preview = $message_parser->message;
if ($enable_bbcode)
{
$this->loadfile('includes/bbcode');
$bbcode = new bbcode($message_parser->bbcode_bitfield);
// Second parse bbcode here
$signature_preview = $bbcode->bbcode_second_pass($signature_preview, $message_parser->bbcode_uid);
}
// If we allow users to disable display of emoticons
// we'll need an appropriate check and preg_replace here
$signature_preview = (empty($enable_smilies) || empty($config['allow_smilies'])) ? preg_replace('#<!\-\- s(.*?) \-\-><img src="\{SMILE_PATH\}\/.*? \/><!\-\- s\1 \-\->#', '\1', $signature_preview) : str_replace('<img src="{SMILE_PATH}', '<img src="' . $phpbb_root_path . $config['smilies_path'], $signature_preview);
// Replace naughty words such as farty pants
if (sizeof($censors))
{
$signature_preview = str_replace('\"', '"', substr(preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "preg_replace(\$censors['match'], \$censors['replace'], '\\0')", '>' . $signature_preview . '<'), 1, -1));
}
$signature_preview = str_replace("\n", '<br />', $signature_preview);
}
$template->assign_vars(array(
'ERROR' => (sizeof($error)) ? implode('<br />', $error) : '',
'SIGNATURE' => $signature,
'SIGNATURE_PREVIEW' => $signature_preview,
'S_SIGNATURE_PREVIEW' => ($signature_preview) ? true : false,
'S_HTML_CHECKED' => (!$enable_html) ? 'checked="checked"' : '',
'S_BBCODE_CHECKED' => (!$enable_bbcode) ? 'checked="checked"' : '',
'S_SMILIES_CHECKED' => (!$enable_smilies) ? 'checked="checked"' : '',
'S_MAGIC_URL_CHECKED' => (!$enable_urls) ? 'checked="checked"' : '',
'HTML_STATUS' => ($html_status) ? $user->lang['HTML_IS_ON'] : $user->lang['HTML_IS_OFF'],
'BBCODE_STATUS' => ($bbcode_status) ? sprintf($user->lang['BBCODE_IS_ON'], '<a href="' . "faq.$phpEx$SID&amp;mode=bbcode" . '" target="_phpbbcode">', '</a>') : sprintf($user->lang['BBCODE_IS_OFF'], '<a href="' . "faq.$phpEx$SID&amp;mode=bbcode" . '" target="_phpbbcode">', '</a>'),
'SMILIES_STATUS'=> ($smilies_status) ? $user->lang['SMILIES_ARE_ON'] : $user->lang['SMILIES_ARE_OFF'],
'IMG_STATUS' => ($img_status) ? $user->lang['IMAGES_ARE_ON'] : $user->lang['IMAGES_ARE_OFF'],
'FLASH_STATUS' => ($flash_status) ? $user->lang['FLASH_IS_ON'] : $user->lang['FLASH_IS_OFF'],
'L_SIGNATURE_EXPLAIN' => sprintf($user->lang['SIGNATURE_EXPLAIN'], $config['max_sig_chars']),
'S_HTML_ALLOWED' => $config['allow_html'],
'S_BBCODE_ALLOWED' => $config['allow_bbcode'],
'S_SMILIES_ALLOWED' => $config['allow_smilies'],)
);
break;
case 'avatar':
$template->assign_vars(array(
'AVATAR' => '<img src="images/avatars/upload/' . $user->data['user_avatar'] . '" />',
'S_UPLOAD_AVATAR_FILE' => true,
'S_UPLOAD_AVATAR_URL' => true,
'S_LINK_AVATAR' => true,
'S_GALLERY_AVATAR' => true,)
);
break;
default:
break;
}
$template->assign_vars(array(
'L_TITLE' => $user->lang['UCP_' . strtoupper($submode)],
'S_DISPLAY_' . strtoupper($submode) => true,
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_UCP_ACTION' => "ucp.$phpEx$SID&amp;i=$id&amp;mode=$submode")
);
$this->output($user->lang['UCP_PROFILE'], 'ucp_profile.html');
}
}
?>

View file

@ -1,183 +0,0 @@
<?php
/***************************************************************************
* ucp_register.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
class ucp_register extends ucp
{
function main($id)
{
global $config, $db, $user, $SID, $template, $phpEx;
//
if ($config['require_activation'] == USER_ACTIVATION_DISABLE)
{
trigger_error($user->lang['UCP_REGISTER_DISABLE']);
}
$coppa = (isset($_REQUEST['coppa'])) ? ((!empty($_REQUEST['coppa'])) ? 1 : 0) : false;
$agreed = (!empty($_POST['agreed'])) ? 1 : 0;
//
if (!$agreed)
{
if ($coppa === false && $config['coppa_enable'])
{
$now = getdate();
$coppa_birthday = $user->format_date(mktime($now['hours'] + $user->data['user_dst'], $now['minutes'], $now['seconds'], $now['mon'], $now['mday'] - 1, $now['year'] - 13), $user->lang['DATE_FORMAT']);
unset($now);
$template->assign_vars(array(
'L_COPPA_NO' => sprintf($user->lang['UCP_COPPA_BEFORE'], $coppa_birthday),
'L_COPPA_YES' => sprintf($user->lang['UCP_COPPA_ON_AFTER'], $coppa_birthday),
'U_COPPA_NO' => "ucp.$phpEx$SID&amp;mode=register&amp;coppa=0",
'U_COPPA_YES' => "ucp.$phpEx$SID&amp;mode=register&amp;coppa=1",
'S_SHOW_COPPA' => true,
'S_REGISTER_ACTION' => "ucp.$phpEx$SID&amp;mode=register")
);
}
else
{
$template->assign_vars(array(
'L_AGREEMENT' => $user->lang['UCP_AGREEMENT'],
'S_SHOW_COPPA' => false,
'S_REGISTER_ACTION' => "ucp.$phpEx$SID&amp;mode=register")
);
}
$this->output($user->lang['REGISTER'], 'ucp_agreement.html');
}
// Check and initialize some variables if needed
$error = array();
if (isset($_POST['submit']))
{
// Load the userdata manipulation methods
$this->loadfile('includes/functions_user');
$userdata = new userdata();
if ($message = $userdata->add_user($coppa))
{
$message = $message . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], "<a href=\"index.$phpEx$SID\">", '</a>');
trigger_error($message);
}
}
// If an error occured we need to stripslashes on returned data
$username = (isset($_POST['username'])) ? stripslashes(htmlspecialchars($_POST['username'])) : '';
$password = (isset($_POST['new_password'])) ? stripslashes(htmlspecialchars($_POST['new_password'])) : '';
$password_confirm = (isset($_POST['password_confirm'])) ? stripslashes(htmlspecialchars($_POST['password_confirm'])) : '';
$email = (isset($_POST['email'])) ? stripslashes(htmlspecialchars($_POST['email'])) : '';
$email_confirm = (isset($_POST['email_confirm'])) ? stripslashes(htmlspecialchars($_POST['email_confirm'])) : '';
$lang = (isset($_POST['lang'])) ? htmlspecialchars($_POST['lang']) : '';
$tz = (isset($_POST['tz'])) ? intval($_POST['tz']) : $config['board_timezone'];
$s_hidden_fields = '<input type="hidden" name="agreed" value="true" /><input type="hidden" name="coppa" value="' . $coppa . '" />';
// Visual Confirmation - Show images
$confirm_image = '';
if (!empty($config['enable_confirm']))
{
$sql = "SELECT session_id
FROM " . SESSIONS_TABLE;
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
$confirm_sql = '';
do
{
$confirm_sql .= (($confirm_sql != '') ? ', ' : '') . "'" . $row['session_id'] . "'";
}
while ($row = $db->sql_fetchrow($result));
$sql = "DELETE FROM " . CONFIRM_TABLE . "
WHERE session_id NOT IN ($confirm_sql)";
$db->sql_query($sql);
}
$db->sql_freeresult($result);
$sql = "SELECT COUNT(session_id) AS attempts
FROM " . CONFIRM_TABLE . "
WHERE session_id = '" . $userdata['session_id'] . "'";
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
if ($row['attempts'] > 5)
{
trigger_error($user->lang['Too_many_registers']);
}
}
$db->sql_freeresult($result);
$code = $this->gen_rand_string(6);
$confirm_id = md5(uniqid($user_ip));
$sql = "INSERT INTO " . CONFIRM_TABLE . " (confirm_id, session_id, code)
VALUES ('$confirm_id', '" . $user->data['session_id'] . "', '$code')";
$db->sql_query($sql);
$confirm_image = (@extension_loaded('zlib')) ? "<img src=\"ucp/usercp_confirm.$phpEx$SID&amp;id=$confirm_id\" alt=\"\" title=\"\" />" : '<img src="ucp/usercp_confirm.$phpEx?$SID&amp;id=$confirm_id&amp;c=1" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&amp;id=$confirm_id&amp;c=2" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&amp;id=$confirm_id&amp;c=3" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&amp;id=$confirm_id&amp;c=4" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&amp;id=$confirm_id&amp;c=5" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&amp;id=$confirm_id&amp;c=6" alt="" title="" />';
$s_hidden_fields .= '<input type="hidden" name="confirm_id" value="' . $confirm_id . '" />';
}
//
$l_reg_cond = '';
switch ($config['require_activation'])
{
case USER_ACTIVATION_SELF:
$l_reg_cond = $user->lang['UCP_EMAIL_ACTIVATE'];
break;
case USER_ACTIVATION_ADMIN:
$l_reg_cond = $user->lang['UCP_ADMIN_ACTIVATE'];
break;
}
//
$template->assign_vars(array(
'USERNAME' => $username,
'PASSWORD' => $password,
'PASSWORD_CONFIRM' => $password_confirm,
'EMAIL' => $email,
'EMAIL_CONFIRM' => $email,
'CONFIRM_IMG' => $confirm_image,
'ERROR' => (sizeof($userdata->error)) ? implode('<br />', $userdata->error) : '',
'L_CONFIRM_EXPLAIN' => sprintf($user->lang['CONFIRM_EXPLAIN'], '<a href="mailto:' . htmlentities($config['board_contact']) . '">', '</a>'),
'L_ITEMS_REQUIRED' => $l_reg_cond,
'S_LANG_OPTIONS' => language_select($lang),
'S_TZ_OPTIONS' => tz_select($tz),
'S_CONFIRM_CODE' => ($config['enable_confirm']) ? true : false,
'S_COPPA' => $coppa,
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_UCP_ACTION' => "ucp.$phpEx$SID&amp;mode=register")
);
//
$this->output($user->lang['REGISTER'], 'ucp_register.html');
}
}
?>

View file

@ -1,33 +0,0 @@
<?php
/***************************************************************************
* usercp_profile.php
* -------------------
* begin : Saturday, Feb 21, 2003
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*
***************************************************************************/
class ucp_zebra extends ucp
{
function main($module_id)
{
return;
}
}
?>

View file

@ -1,117 +0,0 @@
<?php
/***************************************************************************
* usercp_activate.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*
***************************************************************************/
if (!defined('IN_PHPBB'))
{
die('Hacking attempt');
exit;
}
$sql = "SELECT user_active, user_id, user_email, user_newpasswd, user_lang, user_actkey, username
FROM " . USERS_TABLE . "
WHERE user_id = " . intval($_GET['u']);
$result = $db->sql_query($sql);
if ( $row = $db->sql_fetchrow($result) )
{
if ( $row['user_active'] && $row['user_actkey'] == '' )
{
$template->assign_vars(array(
'META' => '<meta http-equiv="refresh" content="10;url=index.' . $phpEx . $SID . '">')
);
trigger_error($user->lang['Already_activated']);
}
else if ( $row['user_actkey'] == $_GET['act_key'] )
{
$sql_update_pass = ( $row['user_newpasswd'] != '' ) ? ", user_password = '" . str_replace("\'", "''", $row['user_newpasswd']) . "', user_newpasswd = ''" : '';
$sql = "UPDATE " . USERS_TABLE . "
SET user_active = 1, user_actkey = ''" . $sql_update_pass . "
WHERE user_id = " . $row['user_id'];
$result = $db->sql_query($sql);
if ( $config['require_activation'] == USER_ACTIVATION_ADMIN && $sql_update_pass == '' )
{
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
$emailer = new emailer($config['smtp_delivery']);
$email_headers = 'From: ' . $config['board_email'] . "\nReturn-Path: " . $config['board_email'] . "\n";
$emailer->use_template('admin_welcome_activated', $row['user_lang']);
$emailer->email_address($row['user_email']);
$emailer->set_subject();//$lang['Account_activated_subject']
$emailer->extra_headers($email_headers);
$emailer->assign_vars(array(
'SITENAME' => $config['sitename'],
'USERNAME' => $username,
'PASSWORD' => $password_confirm,
'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']))
);
$emailer->send();
$emailer->reset();
$template->assign_vars(array(
'META' => '<meta http-equiv="refresh" content="10;url=index.' . $phpEx . $SID . '">')
);
trigger_error($user->lang['Account_active_admin']);
}
else
{
$template->assign_vars(array(
'META' => '<meta http-equiv="refresh" content="10;url=index.' . $phpEx . $SID . '">')
);
$message = ( $sql_update_pass == '' ) ? $user->lang['Account_active'] : $user->lang['Password_activated'];
trigger_error($message);
}
// Sync config
$sql = "UPDATE " . CONFIG_TABLE . "
SET config_value = " . $row['user_id'] . "
WHERE config_name = 'newest_user_id'";
$db->sql_query($sql);
$sql = "UPDATE " . CONFIG_TABLE . "
SET config_value = '" . $row['username'] . "'
WHERE config_name = 'newest_username'";
$db->sql_query($sql);
$sql = "UPDATE " . CONFIG_TABLE . "
SET config_value = " . ($config['num_users'] + 1) . "
WHERE config_name = 'num_users'";
$db->sql_query($sql);
}
else
{
trigger_error($user->lang['Wrong_activation']);
}
}
else
{
trigger_error($user->lang['No_such_user']);
}
?>

View file

@ -1,348 +0,0 @@
<?php
/***************************************************************************
* usercp_avatar.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*
***************************************************************************/
//
// The User Control Panel uses Barts 'neat-o-module' system (tm) system to handle the tabs.
// This block specifies the tabs and sub tabs for this section.
//
if( !empty($setmodules) )
{
return;
}
//
// End Modules setup
//
function check_image_type(&$type, &$error, &$error_msg)
{
global $lang;
switch( $type )
{
case 'jpeg':
case 'pjpeg':
case 'jpg':
return '.jpg';
break;
case 'gif':
return '.gif';
break;
case 'png':
return '.png';
break;
default:
$error = true;
$error_msg = (!empty($error_msg)) ? $error_msg . '<br />' . $lang['Avatar_filetype'] : $lang['Avatar_filetype'];
break;
}
return false;
}
function user_avatar_delete($avatar_type, $avatar_file)
{
global $config, $userdata;
if ( $avatar_type == USER_AVATAR_UPLOAD && $avatar_file != '' )
{
if ( @file_exists('./' . $config['avatar_path'] . '/' . $avatar_file) )
{
@unlink('./' . $config['avatar_path'] . '/' . $avatar_file);
}
}
return ", user_avatar = '', user_avatar_type = " . USER_AVATAR_NONE;
}
function user_avatar_gallery($mode, &$error, &$error_msg, $avatar_filename)
{
return ( $mode == 'editprofile' ) ? ", user_avatar = '" . str_replace("\'", "''", $avatar_filename) . "', user_avatar_type = " . USER_AVATAR_GALLERY : '';
}
function user_avatar_url($mode, &$error, &$error_msg, $avatar_filename)
{
if ( !preg_match('#^http:\/\/#i', $avatar_filename) )
{
$avatar_filename = 'http://' . $avatar_filename;
}
if ( !preg_match('#^(http:\/\/[a-z0-9\-]+?\.([a-z0-9\-]+\.)*[a-z]+(:[0-9]+)*\/[^\"]*?\.(gif|jpg|jpeg|png)$)#is', $avatar_filename) )
{
$error = true;
$error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $lang['Wrong_remote_avatar_format'] : $lang['Wrong_remote_avatar_format'];
return;
}
return ( $mode == 'editprofile' ) ? ", user_avatar = '" . str_replace("\'", "''", $avatar_filename) . "', user_avatar_type = " . USER_AVATAR_REMOTE : '';
}
function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_type, &$error, &$error_msg, $avatar_filename, $avatar_realname, $avatar_filesize, $avatar_filetype)
{
global $config, $user_ip, $db, $lang;
$ini_val = ( @phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var';
if ( $avatar_mode == 'remote' && preg_match('/^(http:\/\/)?([\w\-\.]+)\:?([0-9]*)\/(.*)$/', $avatar_filename, $url_ary) )
{
if ( empty($url_ary[4]) )
{
$error = true;
$error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $lang['Incomplete_URL'] : $lang['Incomplete_URL'];
return;
}
$base_get = '/' . $url_ary[4];
$port = ( !empty($url_ary[3]) ) ? $url_ary[3] : 80;
if ( !($fsock = @fsockopen($url_ary[2], $port, $errno, $errstr)) )
{
$error = true;
$error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $lang['No_connection_URL'] : $lang['No_connection_URL'];
return;
}
@fputs($fsock, "GET $base_get HTTP/1.1\r\n");
@fputs($fsock, "HOST: " . $url_ary[2] . "\r\n");
@fputs($fsock, "Connection: close\r\n\r\n");
unset($avatar_data);
while( !@feof($fsock) )
{
$avatar_data .= @fread($fsock, $config['avatar_filesize']);
}
@fclose($fsock);
if ( !preg_match('/Content-Length\: ([0-9]+)[^\/ ][\s]+/i', $avatar_data, $file_data1) || !preg_match('/Content-Type\: image\/[x\-]*([a-z]+)[\s]+/i', $avatar_data, $file_data2) )
{
$error = true;
$error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $lang['File_no_data'] : $lang['File_no_data'];
return;
}
$avatar_filesize = $file_data1[1];
$avatar_filetype = $file_data2[1];
if ( !$error && $avatar_filesize > 0 && $avatar_filesize < $config['avatar_filesize'] )
{
$avatar_data = substr($avatar_data, strlen($avatar_data) - $avatar_filesize, $avatar_filesize);
$tmp_path = ( !@$ini_val('safe_mode') ) ? '/tmp' : './' . $config['avatar_path'] . '/tmp';
$tmp_filename = tempnam($tmp_path, uniqid($user_ip) . '-');
$fptr = @fopen($tmp_filename, 'wb');
$bytes_written = @fwrite($fptr, $avatar_data, $avatar_filesize);
@fclose($fptr);
if ( $bytes_written != $avatar_filesize )
{
@unlink($tmp_filename);
message_die(GENERAL_ERROR, 'Could not write avatar file to local storage. Please contact the board administrator with this message', '', __LINE__, __FILE__);
}
list($width, $height) = @getimagesize($tmp_filename);
}
else
{
$l_avatar_size = sprintf($lang['Avatar_filesize'], round($config['avatar_filesize'] / 1024));
$error = true;
$error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size;
}
}
else if ( $avatar_mode == 'local' && file_exists($avatar_filename) && preg_match('/\.(jpg|jpeg|gif|png)$/i', $avatar_realname) )
{
if ( $avatar_filesize <= $config['avatar_filesize'] && $avatar_filesize > 0 )
{
preg_match('#image\/[x\-]*([a-z]+)#', $avatar_filetype, $avatar_filetype);
$avatar_filetype = $avatar_filetype[1];
}
else
{
$l_avatar_size = sprintf($lang['Avatar_filesize'], round($config['avatar_filesize'] / 1024));
$error = true;
$error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size;
return;
}
list($width, $height) = @getimagesize($avatar_filename);
}
if ( !($imgtype = check_image_type($avatar_filetype, $error, $error_msg)) )
{
return;
}
if ( $width <= $config['avatar_max_width'] && $height <= $config['avatar_max_height'] )
{
$new_filename = uniqid() . $imgtype;
if ( $mode == 'editprofile' && $current_type == USER_AVATAR_UPLOAD && $current_avatar != '' )
{
if ( file_exists('./' . $config['avatar_path'] . '/' . $current_avatar) )
{
@unlink('./' . $config['avatar_path'] . '/' . $current_avatar);
}
}
if( $avatar_mode == 'remote' )
{
@copy($tmp_filename, './' . $config['avatar_path'] . "/$new_filename");
@unlink($tmp_filename);
}
else
{
if ( @$ini_val('open_basedir') != '' )
{
if ( @phpversion() < '4.0.3' )
{
message_die(GENERAL_ERROR, 'open_basedir is set and your PHP version does not allow move_uploaded_file', '', __LINE__, __FILE__);
}
$move_file = 'move_uploaded_file';
}
else
{
$move_file = 'copy';
}
$move_file($avatar_filename, './' . $config['avatar_path'] . "/$new_filename");
}
@chmod('./' . $config['avatar_path'] . "/$new_filename", 0777);
$avatar_sql = ( $mode == 'editprofile' ) ? ", user_avatar = '$new_filename', user_avatar_type = " . USER_AVATAR_UPLOAD : "'$new_filename', " . USER_AVATAR_UPLOAD;
}
else
{
$l_avatar_size = sprintf($lang['Avatar_imagesize'], $config['avatar_max_width'], $config['avatar_max_height']);
$error = true;
$error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size;
}
return $avatar_sql;
}
function display_avatar_gallery($mode, &$category, &$user_id, &$email, &$current_email, &$coppa, &$username, &$email, &$new_password, &$cur_password, &$password_confirm, &$icq, &$aim, &$msn, &$yim, &$website, &$location, &$occupation, &$interests, &$signature, &$viewemail, &$notifypm, &$popuppm, &$notifyreply, &$attachsig, &$allowhtml, &$allowbbcode, &$allowsmilies, &$hideonline, &$style, &$language, &$timezone, &$dateformat)
{
global $config, $db, $template, $lang, $images, $theme;
global $phpbb_root_path, $phpEx;
$dir = @opendir($config['avatar_gallery_path']);
$avatar_images = array();
while( $file = @readdir($dir) )
{
if( $file != '.' && $file != '..' && !is_file($config['avatar_gallery_path'] . '/' . $file) && !is_link($config['avatar_gallery_path'] . '/' . $file) )
{
$sub_dir = @opendir($config['avatar_gallery_path'] . '/' . $file);
$avatar_row_count = 0;
$avatar_col_count = 0;
while( $sub_file = @readdir($sub_dir) )
{
if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $sub_file) )
{
$avatar_images[$file][$avatar_row_count][$avatar_col_count] = $file . '/' . $sub_file;
$avatar_name[$file][$avatar_row_count][$avatar_col_count] = ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', $sub_file)));
$avatar_col_count++;
if( $avatar_col_count == 5 )
{
$avatar_row_count++;
$avatar_col_count = 0;
}
}
}
}
}
@closedir($dir);
@ksort($avatar_images);
@reset($avatar_images);
if( empty($category) )
{
list($category, ) = each($avatar_images);
}
@reset($avatar_images);
$s_categories = '<select name="avatarcategory">';
while( list($key) = each($avatar_images) )
{
$selected = ( $key == $category ) ? ' selected="selected"' : '';
if( count($avatar_images[$key]) )
{
$s_categories .= '<option value="' . $key . '"' . $selected . '>' . ucfirst($key) . '</option>';
}
}
$s_categories .= '</select>';
$s_colspan = 0;
for($i = 0; $i < count($avatar_images[$category]); $i++)
{
$template->assign_block_vars("avatar_row", array());
$s_colspan = max($s_colspan, count($avatar_images[$category][$i]));
for($j = 0; $j < count($avatar_images[$category][$i]); $j++)
{
$template->assign_block_vars('avatar_row.avatar_column', array(
"AVATAR_IMAGE" => $config['avatar_gallery_path'] . '/' . $avatar_images[$category][$i][$j],
"AVATAR_NAME" => $avatar_name[$category][$i][$j])
);
$template->assign_block_vars('avatar_row.avatar_option_column', array(
"S_OPTIONS_AVATAR" => $avatar_images[$category][$i][$j])
);
}
}
$params = array('coppa', 'user_id', 'username', 'email', 'current_email', 'cur_password', 'new_password', 'password_confirm', 'icq', 'aim', 'msn', 'yim', 'website', 'location', 'occupation', 'interests', 'signature', 'viewemail', 'notifypm', 'popuppm', 'notifyreply', 'attachsig', 'allowhtml', 'allowbbcode', 'allowsmilies', 'hideonline', 'style', 'language', 'timezone', 'dateformat');
$s_hidden_vars = '<input type="hidden" name="agreed" value="true" />';
for($i = 0; $i < count($params); $i++)
{
$s_hidden_vars .= '<input type="hidden" name="' . $params[$i] . '" value="' . str_replace('"', '&quot;', $$params[$i]) . '" />';
}
$template->assign_vars(array(
'L_AVATAR_GALLERY' => $lang['Avatar_gallery'],
'L_SELECT_AVATAR' => $lang['Select_avatar'],
'L_RETURN_PROFILE' => $lang['Return_profile'],
'L_CATEGORY' => $lang['Select_category'],
'S_CATEGORY_SELECT' => $s_categories,
'S_COLSPAN' => $s_colspan,
'S_PROFILE_ACTION' => append_sid("ucp.$phpEx?mode=$mode"),
'S_HIDDEN_FIELDS' => $s_hidden_vars)
);
return;
}
?>

View file

@ -1,437 +0,0 @@
<?php
/***************************************************************************
* usercp_confirm.php
* -------------------
* begin : Saturday, Jan 15, 2003
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
// Note to potential users of this code ...
//
// Remember this is released under the _GPL_ and is subject
// to that licence. Do not incorporate this within software
// released or distributed in any way under a licence other
// than the GPL. We will be watching ... ;)
define('IN_PHPBB', true);
$phpbb_root_path = './../';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
// Start session management
$user->start();
$user->setup();
$auth->acl($user->data);
// End session management
// Do we have an id? No, then just exit
if (empty($_GET['id']))
{
exit;
}
$confirm_id = $_GET['id'];
// Define available charset
$chars = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9');
// Try and grab code for this id and session
$sql = "SELECT code
FROM " . CONFIRM_TABLE . "
WHERE session_id = '" . $user->data['session_id'] . "'
AND confirm_id = '$confirm_id'";
$result = $db->sql_query($sql);
// If we have a row then grab data else create a new id
if ($row = $db->sql_fetchrow($result))
{
$db->sql_freeresult($result);
$code = $row['code'];
}
else
{
exit;
}
// If we can we will generate a single filtered png else we will have to simply
// output six seperate original pngs ... first way is preferable!
if (@extension_loaded('zlib'))
{
$_png = define_filtered_pngs();
$total_width = 250;
$total_height = 40;
$img_height = 25;
$img_width = 0;
$l = 0;
list($usec, $sec) = explode(' ', microtime());
mt_srand($sec * $usec);
$char_widths = array();
for ($i = 0; $i < strlen($code); $i++)
{
$char = $code{$i};
$width = mt_rand(0, 4);
$char_widths[] = $width;
$img_width += $_png[$char]['width'] - $width;
}
$offset_x = mt_rand(0, $total_width - $img_width);
$offset_y = mt_rand(0, $total_height - $img_height);
$image = '';
$hold_chars = array();
for ($i = 0; $i < $total_height; $i++)
{
$image .= chr(0);
if ($i > $offset_y && $i < $offset_y + $img_height)
{
$j = 0;
for ($k = 0; $k < $offset_x; $k++)
{
$image .= chr(mt_rand(180, 255));
}
for ($k = 0; $k < strlen($code); $k++)
{
$char = $code{$k};
if (empty($hold_chars[$char]))
{
$hold_chars[$char] = explode("\n", chunk_split(base64_decode($_png[$char]['data']), $_png[$char]['width'] + 1, "\n"));
}
$image .= randomise(substr($hold_chars[$char][$l], 1), $char_widths[$j]);
$j++;
}
for ($k = $offset_x + $img_width; $k < $total_width; $k++)
{
$image .= chr(mt_rand(180, 255));
}
$l++;
}
else
{
for ($k = 0; $k < $total_width; $k++)
{
$image .= chr(mt_rand(180, 255));
}
}
}
unset($hold);
$image = create_png(gzcompress($image), $total_width, $total_height);
// Output image
header('Content-Type: image/png');
header('Cache-control: no-cache, no-store');
echo $image;
unset($image);
unset($_png);
exit;
}
else
{
if (!empty($_GET['c']))
{
$_png = define_raw_pngs();
$char = substr($code, intval($HTTP_GET_VARS['c']) - 1, 1);
header('Content-Type: image/png');
header('Cache-control: no-cache, no-store');
echo base64_decode($_png[$char]);
unset($_png);
exit;
}
}
exit;
// ---------
// FUNCTIONS
//
// This is designed to randomise the pixels of the image data within
// certain limits so as to keep it readable. It also varies the image
// width a little
function randomise($scanline, $width)
{
$new_line = '';
$start = floor($width/2);
$end = strlen($scanline) - ceil($width/2);
for ($i = $start; $i < $end; $i++)
{
$pixel = ord($scanline{$i});
if ($pixel < 190)
{
$new_line .= chr(mt_rand(0, 170));
}
else if ($pixel > 190)
{
$new_line .= chr(mt_rand(180, 255));
}
else
{
$new_line .= $scanline{$i};
}
}
return $new_line;
}
// This creates a chunk of the given type, with the given data
// of the given length adding the relevant crc
function png_chunk($length, $type, $data)
{
$raw = $type;
$raw .= $data;
$crc = crc32($raw);
$raw .= pack('C4', $crc >> 24, $crc >> 16, $crc >> 8, $crc);
return pack('C4', $length >> 24, $length >> 16, $length >> 8, $length) . $raw;
}
// Creates greyscale 8bit png - The PNG spec can be found at
// http://www.libpng.org/pub/png/spec/PNG-Contents.html we use
// png because it's a fully recognised open standard and supported
// by practically all modern browsers and OSs
function create_png($gzimage, $width, $height)
{
// SIG
$image = pack('C8', 137, 80, 78, 71, 13, 10, 26, 10);
// IHDR
$raw = pack('C4', $width >> 24, $width >> 16, $width >> 8, $width);
$raw .= pack('C4', $height >> 24, $height >> 16, $height >> 8, $height);
$raw .= pack('C5', 8, 0, 0, 0, 0);
$image .= png_chunk(13, 'IHDR', $raw);
// IDAT
$image .= png_chunk(strlen($gzimage), 'IDAT', $gzimage);
// IEND
$image .= png_chunk(0, 'IEND', '');
return $image;
}
// Each 'data' element is base64_encoded uncompressed IDAT
// png image data
function define_filtered_pngs()
{
$_png = array(
'1' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A////////////////UAAA/////////////wD//////////////6QAAAD/////////////AP////////////+YBAAAAP////////////8A///////////MSAAAAAAA/////////////wD//////////wAAACgAAAD/////////////AP//////////AABE6AAAAP////////////8A//////////80rP//AAAA/////////////wD///////////////8AAAD/////////////AP///////////////wAAAP////////////8A////////////////AAAA/////////////wD///////////////8AAAD/////////////AP///////////////wAAAP////////////8A////////////////AAAA/////////////wD///////////////8AAAD/////////////AP///////////////wAAAP////////////8A////////////////AAAA/////////////wD///////////////8AAAD/////////////AP////////////////////////////////8=',
'width' => 25
),
'2' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A////////////0FwUAAw8oP///////////wD//////////5wEAAAAAAAAVPz/////////AP/////////cBAAAAAAAAAAAkP////////8A/////////3AAACTI/+BIAAAo/////////wD/////////LAAAsP///+QAAAD/////////AP////////9QAOQo////+AAADP////////8A//////////////////+wAABA/////////wD/////////////////6CAAAKT/////////AP///////////////+goAAA4/P////////8A///////////////oKAAAGOD//////////wD/////////////3CgAACTY////////////AP///////////+QYAAA46P////////////8A///////////wKAAAVPT//////////////wD//////////0wAADD4////////////////AP/////////AAAAAAAAAAAAAAP////////8A/////////1QAAAAAAAAAAAAA/////////wD/////////EAAAAAAAAAAAAAD/////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'3' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD///////////+gOAgALID0////////////AP//////////VAAAAAAAACzw//////////8A/////////6QAAAAAAAAAAGT//////////wD/////////RAAATOT4jAAADP//////////AP////////9oOBTk///4AAAI//////////8A////////////////6GgAAFD//////////wD//////////////0gAAAAc4P//////////AP//////////////MAAACKD///////////8A//////////////8UAAAAAEj8/////////wD//////////////9z/1DQAAID/////////AP//////////////////2AAAIP////////8A/////////2g4FPD/////AAAA/////////wD/////////LAAAnP///8wAABT/////////AP////////94AAAUuP/MKAAAXP////////8A/////////+gQAAAAAAAAAAjU/////////wD//////////8AMAAAAAAAIrP//////////AP///////////9hcFAAUXNj///////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'4' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD////////////////wHAAA////////////AP///////////////2AAAAD///////////8A//////////////+0AAAAAP///////////wD/////////////8BwAAAAA////////////AP////////////9gAAAAAAD///////////8A////////////tAAAQAAAAP///////////wD///////////AcAAzgAAAA////////////AP//////////YAAAmP8AAAD///////////8A/////////7AAAEz//wAAAP///////////wD////////sFAAQ5P//AAAA////////////AP///////1QAAKD///8AAAD///////////8A////////AAAAAAAAAAAAAAAA/////////wD///////8AAAAAAAAAAAAAAAD/////////AP///////wAAAAAAAAAAAAAAAP////////8A/////////////////wAAAP///////////wD/////////////////AAAA////////////AP////////////////8AAAD///////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'5' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP/////////kAAAAAAAAAAD///////////8A/////////6gAAAAAAAAAAP///////////wD/////////cAAAAAAAAAAA////////////AP////////8wAAC0//////////////////8A////////9AQAAOz//////////////////wD///////+8AAAMSAgIPLz/////////////AP///////4AAAAAAAAAAAJT///////////8A////////SAAAAAAAAAAABND//////////wD///////9MJAx85P/EKAAAXP//////////AP////////////////+8AAAc//////////8A//////////////////wAAAD//////////wD///////9cNBDw////+AAACP//////////AP///////zAAAJj///+4AAA0//////////8A////////fAAADLT/xBgAAIj//////////wD////////oEAAAAAAAAAAc8P//////////AP////////+0CAAAAAAAEMj///////////8A///////////UVBAAHGTg/////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'6' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD////////////8oDgIACyU/P//////////AP//////////9EQAAAAAAABU//////////8A//////////9gAAAAAAAAAACo/////////wD/////////1AAADKz46EwAAED/////////AP////////98AACc////5BAsVP////////8A/////////0AAAPT//////////////////wD/////////IAAgwDwECES4////////////AP////////8AABQEAAAAAACQ//////////8A/////////wAAAAAAAAAAAAC8/////////wD/////////AAAAPNT/1DgAAEz/////////AP////////8YAADc////1AAAEP////////8A/////////zQAAP//////AAAA/////////wD/////////aAAAwP///+AAABT/////////AP////////+8AAAcvP/gRAAAUP////////8A//////////88AAAAAAAAAADE/////////wD//////////+goAAAAAAAAkP//////////AP////////////B4JAAMRLj///////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'7' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////wAAAAAAAAAAAAAA/////////wD/////////AAAAAAAAAAAAAAD/////////AP////////8AAAAAAAAAAAAAAP////////8A/////////////////7QAAACI/////////wD////////////////sFAAAYP//////////AP///////////////2QAACj0//////////8A///////////////QBAAAxP///////////wD//////////////1QAAFz/////////////AP/////////////kBAAE3P////////////8A/////////////4AAAFT//////////////wD/////////////JAAAuP//////////////AP///////////9gAABT8//////////////8A////////////mAAAWP///////////////wD///////////9gAACU////////////////AP///////////zQAAMj///////////////8A////////////GAAA6P///////////////wD///////////8AAAD/////////////////AP////////////////////////////////8=',
'width' => 25
),
'8' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A///////////8oDwMAAxAoPz//////////wD//////////EwAAAAAAAAAVPz/////////AP////////+EAAAAAAAAAAAAhP////////8A/////////yQAAEjc/+BMAAAk/////////wD/////////AAAA7P///+wAAAD/////////AP////////8YAADs////7AAAGP////////8A/////////3AAAFDg/9xMAAB0/////////wD/////////9EAAAAAAAAAARPT/////////AP//////////7CgAAAAAACjw//////////8A/////////+ggAAAAAAAAACDo/////////wD/////////ZAAASOD/3EwAAFz/////////AP////////8QAADs////7AAADP////////8A/////////wAAAOj////sAAAA/////////wD/////////KAAAPNT/3EwAACz/////////AP////////+QAAAAAAAAAAAAlP////////8A//////////xcAAAAAAAAAFT8/////////wD///////////+wSBAADECg////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'9' => array(
'data' => 'AP////////////////////////////////8A////////////vEQMACR48P///////////wD//////////5AAAAAAAAAo6P//////////AP/////////EAAAAAAAAAAA8//////////8A/////////1AAAEjg/7wcAAC8/////////wD/////////FAAA4P///8AAAGz/////////AP////////8AAAD//////wAANP////////8A/////////xAAANT////cAAAY/////////wD/////////TAAAOND/1DwAAAD/////////AP////////+8AAAAAAAAAAAAAP////////8A//////////+QAAAAAAAEFAAA/////////wD///////////+4PAgEPMgcACD/////////AP//////////////////8AAARP////////8A/////////1gwEOT///+cAAB8/////////wD/////////QAAATOj4rAwAANT/////////AP////////+gAAAAAAAAAABk//////////8A//////////xEAAAAAAAASPT//////////wD///////////yAJAAIPKD8////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'A' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////1gAAABY/////////////wD////////////sCAAAAAjs////////////AP///////////5QAAAAAAJT///////////8A////////////MAAAZAAAMP///////////wD//////////8wAABj4GAAAzP//////////AP//////////bAAAdP94AABs//////////8A//////////gQAADY/9wAABD4/////////wD/////////qAAAOP///0AAAKj/////////AP////////9EAACc////pAAARP////////8A////////4AAADPT////4EAAA4P///////wD///////+AAAAAAAAAAAAAAACA////////AP///////xwAAAAAAAAAAAAAABz///////8A//////+4AAAAAAAAAAAAAAAAALj//////wD//////1gAAIj/////////gAAAWP//////AP/////sCAAE5P/////////gAAAI7P////8A/////5QAAET///////////9EAACU/////wD/////MAAApP///////////6QAADD/////AP////////////////////////////////8=',
'width' => 25
),
'B' => array(
'data' => 'AP////////////////////////////////8A////////AAAAAAAAAAAMLID8/////////wD///////8AAAAAAAAAAAAAAFT/////////AP///////wAAAAAAAAAAAAAAAJT///////8A////////AAAA///////cUAAAIP///////wD///////8AAAD////////wAAAA////////AP///////wAAAP///////+wAABj///////8A////////AAAA///////QTAAAZP///////wD///////8AAAAAAAAAAAAAABjg////////AP///////wAAAAAAAAAAAAAASOD///////8A////////AAAAAAAAAAAAAAAAGOD//////wD///////8AAAD//////+zEOAAAVP//////AP///////wAAAP/////////oAAAQ//////8A////////AAAA/////////+wAAAD//////wD///////8AAAD///////zMTAAANP//////AP///////wAAAAAAAAAAAAAAAACU//////8A////////AAAAAAAAAAAAAAAAVPz//////wD///////8AAAAAAAAAAAAcQJj8////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'C' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A////////////tFggAAAURJDw/////////wD/////////6EAAAAAAAAAAABS0////////AP///////+gkAAAAAAAAAAAAAATI//////8A////////RAAADIDU//zUfAgAADT//////wD//////8QAAAzI////////uCR80P//////AP//////aAAAfP////////////////////8A//////8sAADQ/////////////////////wD//////wwAAPj/////////////////////AP//////AAAA//////////////////////8A//////8EAAD0/////////////////////wD//////ygAAND/////////////////////AP//////XAAAfP////////////////////8A//////+0AAAM2P///////6wkfND//////wD///////84AAAMiNz/+NB0BAAAQP//////AP///////+AYAAAAAAAAAAAAAAzQ//////8A/////////9w0AAAAAAAAAAAkzP///////wD///////////yoUBgAACRYqPz/////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'D' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP///////wAAAAAAAAAIKGTQ//////////8A////////AAAAAAAAAAAAAASQ/////////wD///////8AAAAAAAAAAAAAAACk////////AP///////wAAAP/////gpCQAABT0//////8A////////AAAA////////6CAAAJz//////wD///////8AAAD/////////mAAAUP//////AP///////wAAAP/////////YAAAk//////8A////////AAAA//////////wAAAT//////wD///////8AAAD//////////wAAAP//////AP///////wAAAP/////////8AAAA//////8A////////AAAA/////////9gAACD//////wD///////8AAAD/////////pAAATP//////AP///////wAAAP////////wsAACc//////8A////////AAAA//////C8QAAAFPT//////wD///////8AAAAAAAAAAAAAAACk////////AP///////wAAAAAAAAAAAAAEkP////////8A////////AAAAAAAAAAgscNz//////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'E' => array(
'data' => 'AP////////////////////////////////8A////////AAAAAAAAAAAAAAAAAP///////wD///////8AAAAAAAAAAAAAAAAA////////AP///////wAAAAAAAAAAAAAAAAD///////8A////////AAAA/////////////////////wD///////8AAAD/////////////////////AP///////wAAAP////////////////////8A////////AAAA/////////////////////wD///////8AAAAAAAAAAAAAAAD/////////AP///////wAAAAAAAAAAAAAAAP////////8A////////AAAAAAAAAAAAAAAA/////////wD///////8AAAD/////////////////////AP///////wAAAP////////////////////8A////////AAAA/////////////////////wD///////8AAAD/////////////////////AP///////wAAAAAAAAAAAAAAAAD///////8A////////AAAAAAAAAAAAAAAAAP///////wD///////8AAAAAAAAAAAAAAAAA////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'F' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////wAAAAAAAAAAAAAAAP///////wD/////////AAAAAAAAAAAAAAAA////////AP////////8AAAAAAAAAAAAAAAD///////8A/////////wAAAP///////////////////wD/////////AAAA////////////////////AP////////8AAAD///////////////////8A/////////wAAAP///////////////////wD/////////AAAAAAAAAAAAAAD/////////AP////////8AAAAAAAAAAAAAAP////////8A/////////wAAAAAAAAAAAAAA/////////wD/////////AAAA////////////////////AP////////8AAAD///////////////////8A/////////wAAAP///////////////////wD/////////AAAA////////////////////AP////////8AAAD///////////////////8A/////////wAAAP///////////////////wD/////////AAAA////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'G' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A///////////QaCwIAAAcRIzs/////////wD////////0YAAAAAAAAAAAABCw////////AP//////9DwAAAAAAAAAAAAAAAS4//////8A//////9gAAAAULjw//jIcAQAACz//////wD/////0AAAAKT/////////qCR80P//////AP////9wAABg//////////////////////8A/////zAAAMT//////////////////////wD/////CAAA+P//////////////////////AP////8AAAD///////8AAAAAAAAA//////8A/////wwAAOz//////wAAAAAAAAD//////wD/////NAAAuP//////AAAAAAAAAP//////AP////98AABM////////////AAAA//////8A/////9gAAACM//////////gAAAD//////wD//////2QAAABMuPD/8MB4GAAAAP//////AP//////9DwAAAAAAAAAAAAAAABE//////8A////////9GQAAAAAAAAAAAAYmPz//////wD//////////9R0NBAABChgsPz/////////AP////////////////////////////////8=',
'width' => 25
),
'H' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP///////wAAAP////////8AAAD///////8A////////AAAA/////////wAAAP///////wD///////8AAAD/////////AAAA////////AP///////wAAAP////////8AAAD///////8A////////AAAA/////////wAAAP///////wD///////8AAAD/////////AAAA////////AP///////wAAAP////////8AAAD///////8A////////AAAAAAAAAAAAAAAAAP///////wD///////8AAAAAAAAAAAAAAAAA////////AP///////wAAAAAAAAAAAAAAAAD///////8A////////AAAA/////////wAAAP///////wD///////8AAAD/////////AAAA////////AP///////wAAAP////////8AAAD///////8A////////AAAA/////////wAAAP///////wD///////8AAAD/////////AAAA////////AP///////wAAAP////////8AAAD///////8A////////AAAA/////////wAAAP///////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'I' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A//////////8AAAAAAAAAAAD//////////wD//////////wAAAAAAAAAAAP//////////AP//////////AAAAAAAAAAAA//////////8A//////////////8AAAD//////////////wD//////////////wAAAP//////////////AP//////////////AAAA//////////////8A//////////////8AAAD//////////////wD//////////////wAAAP//////////////AP//////////////AAAA//////////////8A//////////////8AAAD//////////////wD//////////////wAAAP//////////////AP//////////////AAAA//////////////8A//////////////8AAAD//////////////wD//////////////wAAAP//////////////AP//////////AAAAAAAAAAAA//////////8A//////////8AAAAAAAAAAAD//////////wD//////////wAAAAAAAAAAAP//////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'J' => array(
'data' => 'AP////////////////////////////////8A////////////////////AAAA/////////wD///////////////////8AAAD/////////AP///////////////////wAAAP////////8A////////////////////AAAA/////////wD///////////////////8AAAD/////////AP///////////////////wAAAP////////8A////////////////////AAAA/////////wD///////////////////8AAAD/////////AP///////////////////wAAAP////////8A////////////////////AAAA/////////wD///////////////////8AAAD/////////AP////////8AAAD4/////AAAAP////////8A/////////xwAAMT////UAAAc/////////wD/////////VAAAKND/4EwAAEz/////////AP////////+8AAAAAAAAAAAAtP////////8A//////////9wAAAAAAAAAHT//////////wD///////////+kPAwAFEy0////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'K' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A////////AAAA////////9DwAABjY/////wD///////8AAAD///////Q8AAAY2P//////AP///////wAAAP/////4PAAAGNj///////8A////////AAAA/////FQAABjY/////////wD///////8AAAD///xUAAAY2P//////////AP///////wAAAP/8VAAADMT///////////8A////////AAAA/FQAAABw/////////////wD///////8AAABkAAAAAAzo////////////AP///////wAAAAAADDQAAGD///////////8A////////AAAAAAzE2AQAAMz//////////wD///////8AAAAEsP//bAAAPP//////////AP///////wAAAKz////wEAAAqP////////8A////////AAAA//////+YAAAg+P///////wD///////8AAAD///////wsAACA////////AP///////wAAAP///////7wAAAjk//////8A////////AAAA/////////0wAAFz//////wD///////8AAAD/////////3AgAAMj/////AP////////////////////////////////8=',
'width' => 25
),
'L' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////AAAA////////////////////AP////////8AAAD///////////////////8A/////////wAAAP///////////////////wD/////////AAAA////////////////////AP////////8AAAD///////////////////8A/////////wAAAP///////////////////wD/////////AAAA////////////////////AP////////8AAAD///////////////////8A/////////wAAAP///////////////////wD/////////AAAA////////////////////AP////////8AAAD///////////////////8A/////////wAAAP///////////////////wD/////////AAAA////////////////////AP////////8AAAD///////////////////8A/////////wAAAAAAAAAAAAAAAP///////wD/////////AAAAAAAAAAAAAAAA////////AP////////8AAAAAAAAAAAAAAAD///////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'M' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////AAAAAADU///////UAAAAAAD/////AP////8AAAAAAIT//////4QAAAAAAP////8A/////wAAAAAAPP//////PAAAAAAA/////wD/////AAAABAAA7P///+wAAAQAAAD/////AP////8AAAA4AACg////oAAAOAAAAP////8A/////wAAAJAIAFT///9UAAiQAAAA/////wD/////AAAAoEAADPj/+AwAQKAAAAD/////AP////8AAACghAAAvP+8AACEoAAAAP////8A/////wAAAKzIAABs/2wAAMisAAAA/////wD/////AAAAwPwMACD/IAAM/MAAAAD/////AP////8AAADA/1AAAKgAAFD/wAAAAP////8A/////wAAAMD/kAAAGAAAkP/AAAAA/////wD/////AAAA4P/YAAAAAADY/+AAAAD/////AP////8AAADg//8YAAAAGP//4AAAAP////8A/////wAAAOD//1wAAABc///gAAAA/////wD/////AAAA9P//oAAAAKD///QAAAD/////AP////8AAAD////gAAAA4P///wAAAP////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'N' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A////////AAAAjP///////wAAAP///////wD///////8AAAAQ7P//////AAAA////////AP///////wAAAABo//////8AAAD///////8A////////AAAAAATU/////wAAAP///////wD///////8AAAAAAED/////AAAA////////AP///////wAAACgAAKz///8AAAD///////8A////////AAAAuAAAJPj//wAAAP///////wD///////8AAAD/SAAAiP//AAAA////////AP///////wAAAP/YBAAQ6P8AAAD///////8A////////AAAA//90AABk/wAAAP///////wD///////8AAAD///AUAADMAAAA////////AP///////wAAAP///5gAADwAAAD///////8A////////AAAA/////CwAAAAAAP///////wD///////8AAAD/////vAAAAAAA////////AP///////wAAAP//////UAAAAAD///////8A////////AAAA///////cCAAAAP///////wD///////8AAAD///////94AAAA////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'O' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP///////////KRMGAAAHFSs/P////////8A/////////9gsAAAAAAAAAAA03P///////wD////////gGAAAAAAAAAAAAAAY4P//////AP///////zgAAARw0Pz/1HAEAAA8//////8A//////+0AAAErP///////8QEAAC4/////wD//////2AAAGj//////////3AAAGD/////AP//////KAAAyP//////////yAAALP////8A//////8IAAD0///////////0AAAI/////wD//////wAAAP////////////8AAAD/////AP//////BAAA9P//////////8AAABP////8A//////8oAADA///////////AAAAo/////wD//////1wAAGD//////////2AAAGD/////AP//////tAAAAKz///////+sAAAAtP////8A////////OAAAAGTM/PzMbAQAADj//////wD////////cGAAAAAAAAAAAAAAY3P//////AP/////////YMAAAAAAAAAAAMNj///////8A///////////8qFAcAAAYUKj8/////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'P' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////8AAAAAAAAAACBApP////////8A/////////wAAAAAAAAAAAAAAcP///////wD/////////AAAAAAAAAAAAAAAAsP//////AP////////8AAAD/////6KwYAABA//////8A/////////wAAAP///////8gAAAz//////wD/////////AAAA/////////wAAAP//////AP////////8AAAD///////+8AAAQ//////8A/////////wAAAP/////goBgAAFD//////wD/////////AAAAAAAAAAAAAAAEyP//////AP////////8AAAAAAAAAAAAABJT///////8A/////////wAAAAAAAAAQLGTU/////////wD/////////AAAA////////////////////AP////////8AAAD///////////////////8A/////////wAAAP///////////////////wD/////////AAAA////////////////////AP////////8AAAD///////////////////8A/////////wAAAP///////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'Q' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP/////////8qFAcAAAYSJj4//////////8A////////2DAAAAAAAAAAABzE/////////wD//////9wYAAAAAAAAAAAAAATA////////AP//////NAAABGzM/PzQcAQAABz4//////8A/////7QAAASs////////tAQAAJT//////wD/////YAAAaP//////////aAAASP//////AP////8oAADI///////////IAAAY//////8A/////wQAAPT///////////QAAAD//////wD/////AAAA/////////////wAAAP//////AP////8EAAD0///////////wAAAY//////8A/////ygAAMj//////////7QAAET//////wD/////YAAAaP///8AwkPj/PAAAkP//////AP////+0AAAEwP//QAAAIFgAABDw//////8A//////84AAAEeNjcdAQAAAAAkP///////wD//////9wYAAAAAAAAAAAAAAAIbNT/////AP///////9gwAAAAAAAAAAAAAAAAOP////8A//////////yoVCQAABhInFgAAACo/////wD//////////////////////8hQJPz/////AP////////////////////////////////8=',
'width' => 25
),
'R' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD///////8AAAAAAAAAABQ0hPT/////////AP///////wAAAAAAAAAAAAAALPT///////8A////////AAAAAAAAAAAAAAAAgP///////wD///////8AAAD//////+RQAAAo////////AP///////wAAAP////////AAAAD///////8A////////AAAA////////7AAACP///////wD///////8AAAD/////+NRQAAA8////////AP///////wAAAAAAAAAAAAAAALT///////8A////////AAAAAAAAAAAAAASU/////////wD///////8AAAAAAAAAAABw5P//////////AP///////wAAAP/8zDgAABjY//////////8A////////AAAA////9DgAADD8/////////wD///////8AAAD/////6BgAAJT/////////AP///////wAAAP//////rAAAFPD///////8A////////AAAA////////QAAAeP///////wD///////8AAAD////////QBAAE3P//////AP///////wAAAP////////9kAABI//////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'S' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD//////////7BIGAAAIFzA////////////AP////////xUAAAAAAAAAAB0//////////8A////////iAAAAAAAAAAAAAC0/////////wD///////8kAABg1P/8xDAAADz/////////AP///////wAAAPT/////2AAACP////////8A////////IAAARLz8/////////////////wD///////+AAAAAABBQiND/////////////AP////////xEAAAAAAAAACSU/P////////8A//////////ycKAAAAAAAAABU/P///////wD/////////////1JBQEAAAAACI////////AP//////////////////xEQAACz///////8A//////8QAADc////////8AAAAP///////wD//////0gAAFz////////MAAAM////////AP//////qAAAAFTE+P/onBgAAEz///////8A////////QAAAAAAAAAAAAAAEyP///////wD////////oPAAAAAAAAAAADKz/////////AP/////////8qFAcAAAQOHzo//////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'T' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A////////AAAAAAAAAAAAAAAAAP///////wD///////8AAAAAAAAAAAAAAAAA////////AP///////wAAAAAAAAAAAAAAAAD///////8A//////////////8AAAD//////////////wD//////////////wAAAP//////////////AP//////////////AAAA//////////////8A//////////////8AAAD//////////////wD//////////////wAAAP//////////////AP//////////////AAAA//////////////8A//////////////8AAAD//////////////wD//////////////wAAAP//////////////AP//////////////AAAA//////////////8A//////////////8AAAD//////////////wD//////////////wAAAP//////////////AP//////////////AAAA//////////////8A//////////////8AAAD//////////////wD//////////////wAAAP//////////////AP////////////////////////////////8=',
'width' => 25
),
'U' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD///////8AAAD/////////AAAA////////AP///////wAAAP////////8AAAD///////8A////////AAAA/////////wAAAP///////wD///////8AAAD/////////AAAA////////AP///////wAAAP////////8AAAD///////8A////////AAAA/////////wAAAP///////wD///////8AAAD/////////AAAA////////AP///////wAAAP////////8AAAD///////8A////////AAAA/////////wAAAP///////wD///////8AAAD/////////AAAA////////AP///////wAAAP////////8AAAD///////8A////////HAAA5P//////6AAAGP///////wD///////80AACU//////+oAAAs////////AP///////3AAAAyc7P/woAwAAGT///////8A////////3AwAAAAAAAAAAAAE0P///////wD/////////rAwAAAAAAAAABJz/////////AP//////////4HAsCAAAKGTU//////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'V' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////NAAApP///////////5gAADT/////AP////+cAAA4////////////NAAAnP////8A//////gQAADU/////////8wAABD4/////wD//////3AAAGj/////////YAAAbP//////AP//////2AAADPT///////AIAADY//////8A////////RAAAlP//////kAAAQP///////wD///////+sAAAs//////8oAACo////////AP////////wYAADE////wAAAGPz///////8A/////////3wAAFj///9YAAB4/////////wD/////////5AQACOj/6AQABOD/////////AP//////////UAAAiP+IAABM//////////8A//////////+4AAAg+CAAALT//////////wD///////////8kAABoAAAg/P//////////AP///////////4wAAAAAAIj///////////8A////////////7AgAAAAE6P///////////wD/////////////YAAAAFj/////////////AP/////////////IAAAAwP////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'W' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/JAAAwP//////4AAAAOT//////8QAACT/AP9wAAB0//////+UAAAAnP//////fAAAcP8A/7wAACj//////0QAAABM//////80AAC8/wD/+AwAAOD////0CAAAAAj4////6AAADPj/AP//UAAAmP///6wAACAAALT///+cAABU//8A//+cAABI////XAAArAAAZP///1QAAJz//wD//+QAAAj4//wUABj/HAAc///8DAAA6P//AP///zAAALj/xAAAYP9kAADM/8AAADT///8A////fAAAbP94AACk/6gAAIT/eAAAgP///wD////EAAAg/ygAAOj/8AAAOP8sAADI////AP////wQAAC0AAAs////OAAAzAAAGP////8A/////1wAACAAAHT///+AAAA4AABg/////wD/////pAAAAAAAuP///8QAAAAAAKz/////AP/////sAAAAAAj4/////BAAAAAE9P////8A//////88AAAAQP//////VAAAAET//////wD//////4QAAACI//////+YAAAAjP//////AP//////zAAAAMz//////+AAAADc//////8=',
'width' => 25
),
'X' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD////////MBAAAyP/////IAAAEzP//////AP////////9wAAAs/P///CwAAHD///////8A//////////QcAACI//+IAAAc9P///////wD//////////7AAAAjg4AgAALD/////////AP///////////0wAAExMAABM//////////8A////////////4AwAAAAADOD//////////wD/////////////jAAAAACM////////////AP/////////////8IAAAIPz///////////8A/////////////8gEAAAEyP///////////wD////////////8MAAAAAAw/P//////////AP///////////4wAABgYAACM//////////8A///////////gDAAAqKgAAAzg/////////wD//////////1AAAEj//0gAAFD/////////AP////////+wAAAI4P//4AgAALD///////8A////////9BwAAIj/////iAAAHPT//////wD///////9wAAAs/P/////8LAAAcP//////AP//////zAQAAMj////////IAAAEzP////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'Y' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP/////QBAAAxP/////////EAAAE0P////8A//////+AAAAs/P///////CwAAID//////wD///////wwAACI//////+IAAAo/P//////AP///////8gEAAzg////4AgABMj///////8A/////////3QAAFD///9MAAB0/////////wD/////////+CgAALD/rAAAKPj/////////AP//////////yAQAIOwcAATI//////////8A////////////dAAAHAAAcP///////////wD////////////4KAAAACD0////////////AP/////////////IAAAAwP////////////8A//////////////8AAAD//////////////wD//////////////wAAAP//////////////AP//////////////AAAA//////////////8A//////////////8AAAD//////////////wD//////////////wAAAP//////////////AP//////////////AAAA//////////////8A//////////////8AAAD//////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8=',
'width' => 25
),
'Z' => array(
'data' => 'AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////////////////////////////wD/////////////////////////////////AP////////////////////////////////8A/////////wAAAAAAAAAAAAAAAAD//////wD/////////AAAAAAAAAAAAAAAAAP//////AP////////8AAAAAAAAAAAAAAAAA//////8A////////////////////2BgAAHD//////wD//////////////////9gYAABw////////AP/////////////////oIAAAVP////////8A////////////////6CgAAFT8/////////wD///////////////QwAAA8/P//////////AP/////////////0PAAAPPT///////////8A/////////////EAAACz0/////////////wD///////////xUAAAo6P//////////////AP//////////WAAAHOj///////////////8A/////////3AAABjY/////////////////wD///////9wAAAQ2P//////////////////AP///////wAAAAAAAAAAAAAAAAAA//////8A////////AAAAAAAAAAAAAAAAAAD//////wD///////8AAAAAAAAAAAAAAAAAAP//////AP////////////////////////////////8=',
'width' => 25
),
);
return $_png;
}
// These define base64_encoded raw png image data used
// when we cannot generate our own single png image
function define_raw_pngs()
{
$_png = array(
'1' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARARLTT8fD5jAAAAB3RJTUUH0wEQES4Duu0r3wAAAAlwSFlzAAALEgAACxIB0t1+/AAAAEpJREFUeNpj/M+AAzAxDBGZQEZGJN5/BFiCwkVizmDBLnPGA80IOBMoqoFLxuUFdhmTNWB9CBlG5LAGuvk/dv8MfIjSUIYRZ3oDAFCne4mhLZbsAAAAAElFTkSuQmCC',
'2' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARARLgTxiF0MAAAAB3RJTUUH0wEQES4NXVUG2AAAAAlwSFlzAAALEgAACxIB0t1+/AAAAKRJREFUeNpj/M+AAzAx0EbmYqwoI6/tQoTUfyiYwwLhh/yBCsBk7rDAlE5AkylgYFA58f+BBwODBpqMDgPDBiD1BGE+zBAVhicuQEqEgYEH3QUQsIGBwQHNNAh4ocDAsASbzAsNBgaLP1hkQBISD/5jytwBSqjc+I8p80QCaNSL/5gyH4A6Qr78xyLjw8Bg8OM/FpkDGGEMo0NwyghgyDDSKYUAAIikH4Lr7MUuAAAAAElFTkSuQmCC',
'3' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARARLg4RXbQSAAAAB3RJTUUH0wEQES4a3oaDHwAAAAlwSFlzAAALEgAACxIB0t1+/AAAALJJREFUeNpj/M+AAzAx0FtmoSUno27jV4TUfygIgXB1PsAEYDJLYCpT0GVcGBh8nvzoYWDgQZfJsBB58v//DwYGDnQZMHiRwcAQgE3GA2iNzANsMgZAsxb8xyYjAnKbxx8sMnf+XzFhYGjA5oL//28wMChguhrse0SowGgdBoY5QOoMA4MImkwFUGjH/zMaDAwxaDIvBKDhxnEF3QUHeCASazD9cyNGhEEk5gacz0jVtAMA3vM11y3nNGMAAAAASUVORK5CYII=',
'4' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARARLht8gFD5AAAAB3RJTUUH0wEQES4q+F+zswAAAAlwSFlzAAALEgAACxIB0t1+/AAAAG5JREFUeNpj/M+AAzAxECXzUZaREcH7jwQSkPnIMlsYcMh8kMElk8CAQwZolgNWGaBZPA+wygDNmvEfm8wGBgaf/9hk3ogwCDzBKhPCwLDgP6oMIyREkQKF4T9JIYoCGFHihxFuFjVMIyO2aSgDANQ6ybaxis6hAAAAAElFTkSuQmCC',
'5' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARARLitaWWBVAAAAB3RJTUUH0wEQES8bsJqCyAAAAAlwSFlzAAALEgAACxIB0t1+/AAAALFJREFUeNpj/M+AAzAxDBaZp4xQgCFzBKeeE5jG/YcAAwaGLf9RAFTmCwsDwxtUGahpJ/4w8MRwctruxTCtAcadgm6aB0yG5QKaaSwqPDVP/h/RYPjTg+42CNjDwCADYzOixM9foBNhAlDTYk0FPwKpPwwMHGimAT06A0jtYGAwQXNbDQMDz5b/RyQYGDrQZF4IQI2Q+YAm838LxHyBE+g+/f//SogAg0zKA4QPGMlIVQC8RM0SoAcH5wAAAABJRU5ErkJggg==',
'6' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARARLx2M+MSNAAAAB3RJTUUH0wEQES8nn/X+TwAAAAlwSFlzAAALEgAACxIB0t1+/AAAALpJREFUeNpj/M+AAzAxEJb5u9CSk1F36l+4wH8o+OIC4YfABOAyCTClK9BkrjAw8Kz58cKHgcEBTaaGgWEOkHoioBOCJuPAwPDlPwqAue0Bg8IZW1ZO150M6G5jYBBhAfMnoLsNoXQPpozNlf9XLBgYfNBkJBgY7kAcL4AmYwK1EWEzzG1AmYNA6iHQJWhu28PAILPn/wNg4AWgh5sNTOkRdJkXGgzY/fP//4cKFQYelx1wPiNFsU1bGQDEywU+yR12dwAAAABJRU5ErkJggg==',
'7' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARARLyjaSwCuAAAAB3RJTUUH0wEQES8zhS8qMgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAI1JREFUeNpj/M+AAzAxDF4ZFijNiBD6T7k9/8FgC5DVwYAiBAFvRBgYEmAcFJkUBgaNL9hkLgAdeuQ/NpkQBoaY/9hknrAwsNxBcJFcPecPQ4AykrMRilQYGHb8x2baDQYGkT//sZl2gIHBhRlr6JxgYLDBHm5XGBhMsMs8YWBQQJZhhKcqRnjMoMugAwCrgqmfFNotugAAAABJRU5ErkJggg==',
'8' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARARLzTOSlzhAAAAB3RJTUUH0wEQETADbqwUAAAAAAlwSFlzAAALEgAACxIB0t1+/AAAALZJREFUeNpj/M+AAzAx0ETm70JbXkZex4V/4VL/IeCPD5Qf8gcqApNpgSttQZNRYWDwuPP/AVCnCpoMUPEbIPUGYT7MBRJw0yTQ3BbBwJDykOFuAgNDDJrbvjhA+S5f0Oz5/0YDLKHx4T+azAsFqB6FF2gyKUBXP/h/B+jqGDQZAbiredBc/YGB4Q+E9QXNbUD7ba6ATdNBM20C3KdT0GT+wDyIEdb//2/wEGDgcVgA5zPSKYUAAFSL7HPrRuxSAAAAAElFTkSuQmCC',
'9' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARARMAQlyWLTAAAAB3RJTUUH0wEQETARnRVlSAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAL1JREFUeNpj/M+AAzDBWXtdeRlVKz8ipP5DwQQIV+MFTAAmcwSm0gZdJoCBwePB/z0yDAx70GREGBgeAKkDDAw5aDIwGxkYTKAiMLcJMDBcBVJ3GRieoLnNh4HB4sL/KzYIERi9B8MfaP5hEcGU+b/DhoPF5oQMgwKGDBh8YGBwQXNbpKHgUyC1BugQNPscGBh8XvxYw8PAcAXNtAUwlSno4fbHBSLh8QVd5v+fBhUGDpsFf+COYSQiTgefDACF9AMfUn6JTgAAAABJRU5ErkJggg==',
'A' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARALJAlkZ++dAAAAB3RJTUUH0wEQDQYRATWuKQAAAAlwSFlzAAALEgAACxIB0t1+/AAAAMRJREFUeNpj/M+AAzAxDAmZSEZGxkgkqf8w8IYDyON4A+cj9Kz4ASR+rMCix4CBIYWBwQDOh8ucYWCQ+CHBwHAGw7QFDAwx7AlgGtW0HwIMDDf+32FgEPiBZhrQZgsg5QB0CZqMCwPDHCC1hIHBBVXmAQMDzxeooQ9QXAC09wsPMAw4PiDcAFEggxQqMsim7UAJyx1IMhEMDB1QixsYGCIQMsDAZHnyH+4WSLCCZaYg3Ap2/xS4DDAwl8BllkCDlRFnegMAwY7xbBxxcUwAAAAASUVORK5CYII=',
'B' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARALKQc2cbzXAAAAB3RJTUUH0wEQCyoJL+UhYwAAAAlwSFlzAAALEgAACxIB0t1+/AAAAI5JREFUeNpj/M+AAzBBKEYo4NVt/AuT+g8GSGpD/kOFMGQYpqDLgOk7AQwMClhl/n+As5jQXPSHgUECxW0wcDGBgcEHl9skHmA3jYHBAKd/YJrQ3PbmiAXMr+iu/v+CgUEAuz0sDAwf0OwB03/OAN1sAmaywBUzwlkJuNwW8gdrWMs4zIBI/GckFKeDUgYAoqOxJeAC4XsAAAAASUVORK5CYII=',
'C' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAPDC0CMA06AAAAB3RJTUUH0wEQDw0LHCda9gAAAAlwSFlzAAALEgAACxIB0t1+/AAAAL1JREFUeNpj/M+AAzAx0EZma6QiI6Oo68SPMIH/EPDCASYgsgUiApV5oYIwhuUEsowLAwNPw5X/f67UcDAwmCDJHAFKQFT+36FScwFJJoOBoeY/GoDI6DAwXMAuw8PA8ANdhhEcboxA12P3KQsDw1fsMkDf3MEuY8LAsAYj4MC2bQH65wbE4jWo/vlvAZTquPP/x4USoJUOyDIPJBCm8KDo+X/HBCahcgYlrP///7MiAKhPJWLFHxSf0j6FAAChr925OULRHAAAAABJRU5ErkJggg==',
'D' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAPEwCKtV/RAAAAB3RJTUUH0wEQDxMWq2AJ8AAAAAlwSFlzAAALEgAACxIB0t1+/AAAAI9JREFUeNpj/M+AAzAxDBIZRgjg1Ey9CJf6DwYIpSwT/kOF0GUYGJagy4CoB0tUGBhEvmCR+f//hQIDwxysMv9nMDAEYJe5wcCgAmYwQixnBMpA7P/LwsDyGyyELgNnYoTBX5yhc4eBQQG7zBkGBh200IEw/uhg98+HPQ5YwgB3uOEPaw6dgjtQCVgYkBTbAM6Zv7Fcumw9AAAAAElFTkSuQmCC',
'E' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAPKwnk9luOAAAAB3RJTUUH0wEQDysinUtBvgAAAAlwSFlzAAALEgAACxIB0t1+/AAAADRJREFUeNpj/M+AA7BAKEZkMYhiJlxa8MiwoJlBjB7K7IE7/D81TKO7qykIa8b/pOsZeBkA99MHN4IuLhUAAAAASUVORK5CYII=',
'F' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAPLRo2Er3WAAAAB3RJTUUH0wEQDy0qxcpuCgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAC5JREFUeNpj/M+AAzAxUFOGBUozIon9p9g0uCE0djWSw/9TxTSaupq6Mox0SiEAfGsGNUcKjuQAAAAASUVORK5CYII=',
'G' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAPLSz5qChPAAAAB3RJTUUH0wEQDy4C21KVMwAAAAlwSFlzAAALEgAACxIB0t1+/AAAAMZJREFUeNpj/M+AAzAxDAGZi5m6nIyMsq69b2Ei/8HgSwJcrcAGiBBE5osNkjEsO5BkQDoCdnz4/+NEAQsDgw5C5gJQYgnEjP8rVGouIGQKGBgS/qMDsIwBA8MRDBlGUFhz/mD4wY7uH7AMI9DxEB7UJ3Cf8jAwvEXXApHRYGA4g13Gg4FhCjxA4FIgzg0g3QN10g9YiEHIFCDXBxgGHw5USKDKoIQbgwuSzP8vKXBxiRl/kGX+/79SYiLAwKKRsOEPchhgBQB9F8jGMXh9NAAAAABJRU5ErkJggg==',
'H' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQBRyVVlIEAAAAB3RJTUUH0wEQEAUtEYmxTgAAAAlwSFlzAAALEgAACxIB0t1+/AAAADJJREFUeNpj/M+AAzAxkC7DAqEYGRj+o7HIMY1eMixwFiNVTUOEwWDxKW4ZRqqmA3JkANxfBTYyJCNIAAAAAElFTkSuQmCC',
'I' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQBS5dgQOEAAAAB3RJTUUH0wEQEAgLdipK/gAAAAlwSFlzAAALEgAACxIB0t1+/AAAAC5JREFUeNpj/M+AAzAxUFOGBcZghDH+U2AaI5KrGRFGUd3VQ1MGHjpUD2tauhoAL4kHLSByJyAAAAAASUVORK5CYII=',
'J' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQBiJ/GhxsAAAAB3RJTUUH0wEQEAYv1KqDoQAAAAlwSFlzAAALEgAACxIB0t1+/AAAAF9JREFUeNpj/M+AA7Cg8RkZGKBqmXBpGYEyjIyMP4HUX0wZGQaGM0DqBpgFAf8hIISBQePC/wc+DAw+UBGYzB64KVvQZP4XQCVK/qPL/F9iw8Mg4rMFzmf8T8jVg1EGAPXwTNe70jweAAAAAElFTkSuQmCC',
'K' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQBjH7pF2yAAAAB3RJTUUH0wEQEAcD/2neAwAAAAlwSFlzAAALEgAACxIB0t1+/AAAAKJJREFUeNpj/M+AAzAxDHoZRkZGCOOrLSOj5E0w8z8YwBhfbBgYJG5AhFBkfiAkUGX+hCAkUGRQJJBlQBI8R/5jyoAkGAr+Y5FJAbmU5wUWGaCwCQNDAjYZniM3WBgYzmDKsGz4/z+HgcEGU2YNkPogwMCwAot/gGAGA4PCD6wyf3QYGBqwyvzfw8DA8QSrzH8fBoYY7DJ3OBgYToAYjDjTGwAi9CFdklYLWAAAAABJRU5ErkJggg==',
'L' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQDRPNMMWdAAAAB3RJTUUH0wEQEA0h0OZ3bQAAAAlwSFlzAAALEgAACxIB0t1+/AAAACtJREFUeNpj/M+AAzAx0EeGBUozMjD8p9y0URliwpoBHNwQ8J9s0xipmnYAn38EM7Wx8TEAAAAASUVORK5CYII=',
'M' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQDSKc7sWnAAAAB3RJTUUH0wEQEA0yVFg2swAAAAlwSFlzAAALEgAACxIB0t1+/AAAAMBJREFUeNq9USESgzAQXEoFIgKBQPIIBAJRkUfwjH6rrqICieALzCDzACSGGWaO5Jqm9DqtqOjOJLd3O7lschHhAw74qkQOA+cD89cz193OIAsmtWNUP4teOQKTZRMzLj66lcANvErhrUm8kjRCSSu0C5YWVSrfozH36GcbhaK0c2w9ayVcd6tCQQXU2glviDXMxUDH7/92As68i26GRk5HMuIPDFFuQ05B2U1B+yXuyYKSiXvo3saEjKJfp/0HZQMM+Go7G71AGgAAAABJRU5ErkJggg==',
'N' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQDTRoOnD2AAAAB3RJTUUH0wEQEA4GXsGRxQAAAAlwSFlzAAALEgAACxIB0t1+/AAAAH9JREFUeNpj/M+AAzAx0ECGkZGxF86CSv0HAyBD4A2MBRWCyzBk4JRhuYJLhsEBh4wGA8Ma7DI7GBhUfmCV+e/BwNCBXeYGC4PAC6wy/0sYGFKwy3wQYWA4g1Xm/wwGBhvsMn90kAMMWeb/Hpwy/wNwytzhwCXzvwLOYqRTCgEAzeMLiiDoTYkAAAAASUVORK5CYII=',
'O' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQKhH5+xbUAAAAB3RJTUUH0wEQECogfST1ngAAAAlwSFlzAAALEgAACxIB0t1+/AAAAN5JREFUeNpj/M+AAzAxUCDzd6mvJCOjbOjavzCR/xBwQwcmYHIHIgKVeSCBMEbiAbKMBQMDS8GFP/+vFLAwMNggyWwBSqyBqDkClNqBkElgYMiAWvi/gIEhASGjwcBwAiZzgoFBByHDwcDwBSbzhYGBA0QzgkOHEeh6uNugHIhPgbZ+hUl8BHNhMioMDGdgMhfAXJiMCQPDApgMkGGBCB2gfxig/lkDZG5BDQOGlDN//pzJAdphgRw6d5DD7Q6yzP8bBjAJgxsoYf3//58VATJA9QEr/kAFGGmTDkiQAQAL0dUS43e+3gAAAABJRU5ErkJggg==',
'P' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQKiJGK3fCAAAAB3RJTUUH0wEQECo0Z/4h4wAAAAlwSFlzAAALEgAACxIB0t1+/AAAAHJJREFUeNpj/M+AAzAxkC/DCAWKjkthUv8hAElxAVQEU4ZhA7oMiHqxRoKBwQGbzP//JxgYeMAMRqg5jEAZVBaGq/cyMAiguw1EPVgAtCcAl9tYTuCQYZmC1T8COilXoCIsCMVooU5JWFNHhpEm6YAUGQDGfYIo3V/ScAAAAABJRU5ErkJggg==',
'Q' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQKjXF+PIFAAAAB3RJTUUH0wEQECsMVueoPAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAOlJREFUeNpj/M+AAzAxDBaZvysDZRkZJT1n/oRL/QeDGwYwvswRiMh/iMwdCYQpLAeQZUyAAjln/vy5UMAC1PUDIbMFKLEGonILUGoKQiaBgSEDavr/DAYGD4SMBgPDCZjMCQYGCYQM0IQvMJkvMPcygsKaEciBuw3GAfsUqOcrTOIj0DREGKgwMFyByRxhYNBByFgwMCwAUgcNJ/5k6GBg8EGEzhaIzx0YGBQiGBgEPiCFAVATS8WNOyUsILUTcIUbA0fOFYQMUliD7UWS+f9nRQjQhRIec4AWMaxAlkGAEwEqf+BhgBUAALev3zKS4lWgAAAAAElFTkSuQmCC',
'R' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQKw304XvaAAAAB3RJTUUH0wEQECsZOzpM1wAAAAlwSFlzAAALEgAACxIB0t1+/AAAAJVJREFUeNpj/M+AAzAxEJBhhAJR09avMKn/YICkVucLVAhDhqEBXQZMPwlgYNDAKvP/A5yF7rY/DAwc2Fz982oKA4MJLrcxbMHhNpYp/7HLFDz5jyHz/88ZCwYGiRtYZP7//wKUMviDTeb/CwkGhilYZf6vYWAQ+YA9DBwYGCqwy1xgYWC5g1XmPzAQPMAMRvJjm+YyAEO38KG0H/A5AAAAAElFTkSuQmCC',
'S' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQLAjLyhmSAAAAB3RJTUUH0wEQECwTlK4zDgAAAAlwSFlzAAALEgAACxIB0t1+/AAAAMhJREFUeNpj/M+AAzAxEJTZ6CnJyKgYexAh9R8M/oTA+CX/oQAq04FQugVVRoWBIeHK/z9HDBgYbFBlgGq/gOgbDAwcqDIKDAwue/78RwZQmQaQDQIBHRcwZP64QO1XmfIHVeb/nzkaULmQP6gyQHBlQoAASKoDQwYEjgBN1UGWAaq9A+F/gAcLJNwsGBgaILbcYWDgQQ63FSCbj/z4/2KOBAODD4o9DohwYzmBIvPCBibBswbdPysCZIChYFHzAuZMRkpim8YyAOsdCISZ+ev1AAAAAElFTkSuQmCC',
'T' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQLBTfy0XdAAAAB3RJTUUH0wEQECwfnRh/JQAAAAlwSFlzAAALEgAACxIB0t1+/AAAACpJREFUeNpj/M+AAzAxDF4ZFgjFiCz2n2zTGJHCgBFm0CDx6XCTYcSZ3gCeXgUv6KfdPQAAAABJRU5ErkJggg==',
'U' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQLCD+f7FoAAAAB3RJTUUH0wEQECwrvKyLkAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAG1JREFUeNpj/M+AAzDhkmBggVCMDAz/0Vi49Yw4GRkGhqdgxksGBgkUGSBvA5hxgIFBBKrpPxgUMDDwzHnz/8MCHgaGFIgQVOYOD9x8lgsoMv/XwKRY5vxHlfn/oECHg4FBI+UKTICRjNimlwwARYdIjOH9U8UAAAAASUVORK5CYII=',
'V' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQLCz3yf1DAAAAB3RJTUUH0wEQEC0RY7tjYwAAAAlwSFlzAAALEgAACxIB0t1+/AAAAO9JREFUeNpj/M+AAzAx4JUxZWRcCheZychoCmb8B4I5DAwW/2HAhIFhDogGy/wQYGC4ApU4w8Ag8APEAJvGnsDAMAVqGJCOYYeb9v8GAwPPFzDrAwcDw43/cNP+/3cBKgYzJjAwOPxHllnDwKADZmgwMKxAkfkjwcBwBEgfYGCQ+AMRgvqUOQXihhkMDAnMULdAHfuEhYHjxf8XLAwsD/6j6GGQ9mH4sYBhwR8GD3kGVD3/dzAwKPxQYGDYAhOAy/xXYWDIAMr+wZTpARvR8R9T5g3Q9wwsL7DI/AcGHkPEf2wyJ4AyBxBcRnJjmw4yABm3A/7Dos83AAAAAElFTkSuQmCC',
'W' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQLRNYtOE/AAAAB3RJTUUH0wEQEDkxdnuU/gAAAAlwSFlzAAALEgAACxIB0t1+/AAAARRJREFUeNrVkaFOA0EQhv8tJNeEiiYgEBU1TSoqEBUnKipOnOhDIJA8Co+BrKioqDgBCSQIHgHRJm1SgUBUrLjk55/ZO1A8AJPc3L87e9/8sxeIP6KD/1kZhfDschdCOLh6DWGkygJY+9ryxpWydlkBY1oU2lu4mgIVwdgDtlqeuqp0o9QR6EV2kBUJsokYIlYJW2bmTcgV/HlISudKvci9Q+orXHOAAVkLf6T6kDc6xhfglnfAO5+AqXZtUvcteAFvmTwbzY4POTbEF5BzArwx0eq++5lI5sJBDRvamT6+T37KH+U0PqY7SWDFkg2Nn2jHNzDOTy0NlzOlPDOwXd784vf/NC1gzlvlNMqPRrTYSn24+gaIIJkw9zhm8QAAAABJRU5ErkJggg==',
'X' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQOTNNdBaiAAAAB3RJTUUH0wEQEDoJdVR/owAAAAlwSFlzAAALEgAACxIB0t1+/AAAALlJREFUeNq90r0NgzAQBeDnCCQKBqCgYAAKxqCgYBTGoGAQSsYACXbwEJSWXnw4IeYnXRRLlix/ss/3ZEV8GQ/8VZZQqUkWk1Lh4vboRgPkhjQ50Lidt6wp0JItkK5H4QBEWkfAwJOwAiqZvIiOpWysr8JOpOONmAzIzJ2MARCMN2IKua0wV7FlksQrtIs8re+9x+1SAyVZAvVJtgjsyU8IOMTmB4dD1H7YTmbbyquT0TY1y0L99O88AROVMIqClFRpAAAAAElFTkSuQmCC',
'Y' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQOgo5XM1pAAAAB3RJTUUH0wEQEDoXj1tCwAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAJ1JREFUeNpj/M+AAzAxkClzkZWR8ShU4CgjI+tFMOs/CDQwMOj8AbP+6DAwNIBZEJk/BgwMHWBWBwODxh8kmf8nWBh4HgDpBxwMLCf+I8v8L2FgCABSPgwMJf9RZX5oMDBs+L8GaNYPNBmQeQpvZOBmIcmAzJNhYCj4jykDMo9B4QsWmf8ngDIHEFxGpBBlBPqbCiFKBxlG6qcDEmUAcCSyeDODHbsAAAAASUVORK5CYII=',
'Z' => 'iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAAAAADhgtq/AAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfTARAQOhjK5bwhAAAAB3RJTUUH0wEQEDonqYJybAAAAAlwSFlzAAALEgAACxIB0t1+/AAAAH5JREFUeNpj/M+AAzAxDF4ZFijNiCz4n1J7/kPBDQkGhgJUISQJCBNV5oUCA0PIfywyLzSAEn+wyHwxYGCwgUkgy3yxAUp8+Y8p88eBgUEHIYGQ+RPCwKDx4j8WmQgGBhlkCbgM0HcSN/5jkQFKCKBK/Gf8jxnU5Ic1I870BgC8VeNYE4D9rwAAAABJRU5ErkJggg==',
);
return $_png;
}
//
// FUNCTIONS
// ---------
?>

View file

@ -1,26 +0,0 @@
<?php
/***************************************************************************
* usercp_main.php
* -------------------
* begin : Friday, November 22, 2002
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*
***************************************************************************/
?>

File diff suppressed because it is too large Load diff

View file

@ -1,118 +0,0 @@
<?php
/***************************************************************************
* usercp_profile.php
* -------------------
* begin : Saturday, Feb 21, 2003
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*
***************************************************************************/
if (!defined('IN_PHPBB'))
{
die('Hacking attempt');
exit;
}
//
// Setup internal subsection display
//
$modules['Registration_information'] = "module_id=$selected_module&amp;mode=editprofile&amp;u=" . $user->data['user_id'];
$modules['Preferances'] = "module_id=$selected_module&amp;mode=preferancese&amp;u=" . $user->data['user_id'];
$modules['Avatar_settings'] = "module_id=$selected_module&amp;u=" . $user->data['user_id'];
$modules['Signature_settings'] = "module_id=$selected_module&amp;mode=signaturee&amp;u=" . $user->data['user_id'];
foreach($modules as $section_title => $module_link)
{
$template->assign_block_vars('ucp_subsections', array('U_SUBSECTION' => "ucp.$phpEx$SID&amp;" . $module_link ,
'SUBSECTION' => $user->lang[$section_title],
'IS_MULTI_SECTIONS' => (count($modules) > 1) ? TRUE : FALSE));
}
$mode = ($_GET['mode']) ? $_GET['mode'] : $_POST['mode'];
$submit = ($_GET['submit']) ? $_GET['submit'] : $_POST['submit'];
switch($mode)
{
case 'editprofile':
default:
if($submit)
{
//
// Save basic profile information
//
}
else
{
//
// Get userdata
//
$username = $user->data['username'];
$email = $user->data['user_email'];
$s_hidden_fields = '<input type="hidden" name="inc" value="' . $include . '"><input type="hidden" name="mode" value="editprofile">';
//
// Show edit profile info form
//
$template->assign_vars(array(
'IS_PROFILE' => TRUE,
'USERNAME' => $username,
'EMAIL' => $email,
'L_CURRENT_PASSWORD' => $user->lang['Current_password'],
'L_NEW_PASSWORD' => ($mode == 'register') ? $user->lang['Password'] : $user->lang['New_password'],
'L_CONFIRM_PASSWORD' => $user->lang['Confirm_password'],
'L_CONFIRM_PASSWORD_EXPLAIN' => ($mode == 'editprofile') ? $user->lang['Confirm_password_explain'] : '',
'L_PASSWORD_IF_CHANGED' => ($mode == 'editprofile') ? $user->lang['password_if_changed'] : '',
'L_PASSWORD_CONFIRM_IF_CHANGED' => ($mode == 'editprofile') ? $user->lang['password_confirm_if_changed'] : '',
'L_SUBMIT' => $user->lang['Submit'],
'L_RESET' => $user->lang['Reset'],
'L_ITEMS_REQUIRED' => $user->lang['Items_required'],
'S_CONFIRM_CODE' => ($config['enable_confirm']) ? 1 : 0,
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_PROFILE_ACTION' => "ucp.$phpEx$SID")
);
}
break;
case 'preferancese':
break;
case 'signaturee':
break;
}
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
'body' => 'usercp_profile.html')
);
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>

View file

@ -1,336 +0,0 @@
<?php
/***************************************************************************
* usercp_register.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*
***************************************************************************/
if (!defined('IN_PHPBB'))
{
die('Hacking attempt');
exit;
}
//
if ($mode == 'register' && $config['require_activation'] == USER_ACTIVATION_DISABLE)
{
trigger_error($user->lang['Cannot_register']);
}
// Load the userdata manipulation methods
require($phpbb_root_path . 'includes/functions_user.'.$phpEx);
// Class for handling the manipulation of user data
$userdata = new userdata();
$error = FALSE;
$page_title = $user->lang['Register'];
if ($mode == 'register')
{
if(!isset($_POST['agree']) && !isset($_GET['agree']) && !isset($_POST['coppa_over_13']) && !isset($_GET['coppa_over_13']) && !isset($_POST['coppa_under_13']) && !isset($_GET['coppa_under_13']) && !$_POST['agreed'])
{
$agreed = FALSE;
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
// Does this need to be function anymore?
// Need to remember that COPPA can be disabled
show_coppa();
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
}
else
{
$agreed = TRUE;
}
}
$coppa = (empty($_POST['coppa_under_13']) && empty($_GET['coppa_under_13'])) ? 0 : TRUE;
// Need to look at better handling of these vars ... although in practice
// they will be defined on appropriate usercp pages in time I guess 2.0.x
// was incredibly messy in this respect
// Check and initialize some variables if needed
if (isset($_POST['submit']))
{
// User registration is now handled by the userdata class which is in sessions.php.
$new_user_data = $userdata->add_new_user($_POST, $coppa);
if($new_user_data['user_id'])
{
if ($config['require_activation'] == USER_ACTIVATION_NONE)
{
set_config('newest_user_id', $new_user_data['user_id'], TRUE);
set_config('newest_username', $new_user_data['username'], TRUE);
set_config('num_users', $config['num_users'] + 1, TRUE);
}
trigger_error($new_user_data['message']);
}
else
{
trigger_error($new_user_data['message']);
}
} // End of submit
if ($userdata->error)
{
//
// If an error occured we need to stripslashes on returned data
//
$username = stripslashes($username);
$email = stripslashes($email);
$password = '';
$password_confirm = '';
$user_lang = stripslashes($user_lang);
$user_dateformat = stripslashes($user_dateformat);
}
//
// Default pages
//
if (!isset($coppa))
{
$coppa = FALSE;
}
if (!isset($user_template))
{
$selected_template = $config['system_template'];
}
$s_hidden_fields = '<input type="hidden" name="mode" value="' . $mode . '" /><input type="hidden" name="agreed" value="true" /><input type="hidden" name="coppa" value="' . $coppa . '" />';
if (!empty($user_avatar_local))
{
$s_hidden_fields .= '<input type="hidden" name="avatarlocal" value="' . $user_avatar_local . '" />';
}
$html_status = ($user->data['user_allowhtml'] && $config['allow_html']) ? $user->lang['HTML_is_ON'] : $user->lang['HTML_is_OFF'];
$bbcode_status = ($user->data['user_allowbbcode'] && $config['allow_bbcode']) ? $user->lang['BBCode_is_ON'] : $user->lang['BBCode_is_OFF'];
$smilies_status = ($user->data['user_allowsmile'] && $config['allow_smilies']) ? $user->lang['Smilies_are_ON'] : $user->lang['Smilies_are_OFF'];
// Let's do an overall check for settings/versions which would prevent
// us from doing file uploads....
$form_enctype = (@ini_get('file_uploads') == '0' || strtolower(@ini_get('file_uploads')) == 'off'|| !$config['allow_avatar_upload']) ? '' : 'enctype="multipart/form-data"';
// Visual Confirmation - Show images
$confirm_image = '';
if ($mode == 'editprofile')
{
// Use IF conditional within template S_EDIT_PROFILE or some such
$template->assign_block_vars('switch_edit_profile', array());
}
else if ($mode == 'register' && !empty($config['enable_confirm']))
{
// Use IF conditional within template, send a S_ENABLE_CONFIRM
$template->assign_block_vars('switch_confirm', array());
$sql = "SELECT session_id
FROM " . SESSIONS_TABLE;
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
$confirm_sql = '';
do
{
$confirm_sql .= (($confirm_sql != '') ? ', ' : '') . "'" . $row['session_id'] . "'";
}
while ($row = $db->sql_fetchrow($result));
$sql = "DELETE FROM " . CONFIRM_TABLE . "
WHERE session_id NOT IN ($confirm_sql)";
$db->sql_query($sql);
}
$db->sql_freeresult($result);
$sql = "SELECT COUNT(session_id) AS attempts
FROM " . CONFIRM_TABLE . "
WHERE session_id = '" . $userdata['session_id'] . "'";
$result = $db->sql_query($sql);
if ($row = $db->sql_fetchrow($result))
{
if ($row['attempts'] > 5)
{
trigger_error($user->lang['Too_many_registers']);
}
}
$db->sql_freeresult($result);
$code = $userdata->gen_png_string(6);
$confirm_id = md5(uniqid($user_ip));
$sql = "INSERT INTO " . CONFIRM_TABLE . " (confirm_id, session_id, code)
VALUES ('$confirm_id', '" . $user->data['session_id'] . "', '$code')";
$db->sql_query($sql);
$confirm_image = (@extension_loaded('zlib')) ? '<img src="' . "ucp/usercp_confirm.$phpEx$SID&id=$confirm_id" . '" alt="" title="" />' : '<img src="ucp/usercp_confirm.$phpEx?$SID&amp;id=$confirm_id&amp;c=1" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&amp;id=$confirm_id&amp;c=2" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&amp;id=$confirm_id&amp;c=3" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&amp;id=$confirm_id&amp;c=4" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&amp;id=$confirm_id&amp;c=5" alt="" title="" /><img src="ucp/usercp_confirm.$phpEx?$SID&amp;id=$confirm_id&amp;c=6" alt="" title="" />';
$s_hidden_fields .= '<input type="hidden" name="confirm_id" value="' . $confirm_id . '" />';
}
//
// End visual confirmation
//
// No need to send simple language vars to template ... they are
// picked up automatically (must be named in lang file as they
// are in template minus the L_ of course!). Only send lang
// strings created or modified within source
$template->assign_vars(array(
'USERNAME' => $username,
'EMAIL' => $email,
'VIEW_EMAIL_YES' => ($viewemail) ? 'checked="checked"' : '',
'VIEW_EMAIL_NO' => (!$viewemail) ? 'checked="checked"' : '',
'HIDE_USER_YES' => (!$allowviewonline) ? 'checked="checked"' : '',
'HIDE_USER_NO' => ($allowviewonline) ? 'checked="checked"' : '',
'NOTIFY_PM_YES' => ($notifypm) ? 'checked="checked"' : '',
'NOTIFY_PM_NO' => (!$notifypm) ? 'checked="checked"' : '',
'POPUP_PM_YES' => ($popuppm) ? 'checked="checked"' : '',
'POPUP_PM_NO' => (!$popuppm) ? 'checked="checked"' : '',
'ALWAYS_ADD_SIGNATURE_YES' => ($attachsig) ? 'checked="checked"' : '',
'ALWAYS_ADD_SIGNATURE_NO' => (!$attachsig) ? 'checked="checked"' : '',
'NOTIFY_REPLY_YES' => ($notifyreply) ? 'checked="checked"' : '',
'NOTIFY_REPLY_NO' => (!$notifyreply) ? 'checked="checked"' : '',
'ALWAYS_ALLOW_BBCODE_YES' => ($allowbbcode) ? 'checked="checked"' : '',
'ALWAYS_ALLOW_BBCODE_NO' => (!$allowbbcode) ? 'checked="checked"' : '',
'ALWAYS_ALLOW_HTML_YES' => ($allowhtml) ? 'checked="checked"' : '',
'ALWAYS_ALLOW_HTML_NO' => (!$allowhtml) ? 'checked="checked"' : '',
'ALWAYS_ALLOW_SMILIES_YES' => ($allowsmilies) ? 'checked="checked"' : '',
'ALWAYS_ALLOW_SMILIES_NO' => (!$allowsmilies) ? 'checked="checked"' : '',
'LANGUAGE_SELECT' => language_select($user_lang, 'language'),
'STYLE_SELECT' => style_select($user_style, 'style'),
'TIMEZONE_SELECT' => tz_select($user_timezone, 'timezone'),
'DATE_FORMAT' => $user_dateformat,
'HTML_STATUS' => $html_status,
'BBCODE_STATUS' => sprintf($bbcode_status, '<a href="' . "faq.$phpEx$SID&amp;mode=bbcode" . '" target="_phpbbcode">', '</a>'),
'SMILIES_STATUS' => $smilies_status,
'CONFIRM_CODE' => $confirm_image,
'L_CURRENT_PASSWORD' => $user->lang['Current_password'],
'L_NEW_PASSWORD' => ($mode == 'register') ? $user->lang['Password'] : $user->lang['New_password'],
'L_CONFIRM_PASSWORD' => $user->lang['Confirm_password'],
'L_CONFIRM_PASSWORD_EXPLAIN' => ($mode == 'editprofile') ? $user->lang['Confirm_password_explain'] : '',
'L_PASSWORD_IF_CHANGED' => ($mode == 'editprofile') ? $user->lang['password_if_changed'] : '',
'L_PASSWORD_CONFIRM_IF_CHANGED' => ($mode == 'editprofile') ? $user->lang['password_confirm_if_changed'] : '',
'L_SUBMIT' => $user->lang['Submit'],
'L_RESET' => $user->lang['Reset'],
'L_BOARD_LANGUAGE' => $user->lang['Board_lang'],
'L_BOARD_STYLE' => $user->lang['Board_style'],
'L_TIMEZONE' => $user->lang['Timezone'],
'L_DATE_FORMAT' => $user->lang['Date_format'],
'L_DATE_FORMAT_EXPLAIN' => $user->lang['Date_format_explain'],
'L_YES' => $user->lang['Yes'],
'L_NO' => $user->lang['No'],
'L_INTERESTS' => $user->lang['Interests'],
'L_ALWAYS_ALLOW_SMILIES' => $user->lang['Always_smile'],
'L_ALWAYS_ALLOW_BBCODE' => $user->lang['Always_bbcode'],
'L_ALWAYS_ALLOW_HTML' => $user->lang['Always_html'],
'L_HIDE_USER' => $user->lang['Hide_user'],
'L_ALWAYS_ADD_SIGNATURE' => $user->lang['Always_add_sig'],
'L_NOTIFY_ON_REPLY' => $user->lang['Always_notify'],
'L_NOTIFY_ON_REPLY_EXPLAIN' => $user->lang['Always_notify_explain'],
'L_NOTIFY_ON_PRIVMSG' => $user->lang['Notify_on_privmsg'],
'L_POPUP_ON_PRIVMSG' => $user->lang['Popup_on_privmsg'],
'L_POPUP_ON_PRIVMSG_EXPLAIN' => $user->lang['Popup_on_privmsg_explain'],
'L_PREFERENCES' => $user->lang['Preferences'],
'L_PUBLIC_VIEW_EMAIL' => $user->lang['Public_view_email'],
'L_ITEMS_REQUIRED' => $user->lang['Items_required'],
'L_REGISTRATION_INFO' => $user->lang['Registration_info'],
'L_PROFILE_INFO' => $user->lang['Profile_info'],
'L_PROFILE_INFO_NOTICE' => $user->lang['Profile_info_warn'],
'L_EMAIL_ADDRESS' => $user->lang['Email_address'],
'S_PROFILE_EDIT' => ($mode == 'editprofile') ? true : false,
'S_CONFIRM_CODE' => ($config['enable_confirm']) ? 1 : 0,
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_FORM_ENCTYPE' => $form_enctype,
'S_PROFILE_ACTION' => "ucp.$phpEx$SID")
);
//
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
'body' => 'profile_add_body.html')
);
make_jumpbox('viewforum.'.$phpEx);
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
// ---------
// FUNCTIONS
//
function show_coppa()
{
global $template, $user, $phpbb_root_path, $phpEx, $config;
$template->set_filenames(array(
'body' => 'agreement.html')
);
$l_reg_cond = '';
switch ($config['require_activation'])
{
case USER_ACTIVATION_SELF:
$l_reg_cond = $user->lang['Reg_email_activation'];
break;
case USER_ACTIVATION_ADMIN:
$l_reg_conf = $user->lang['Reg_admin_activation'];
break;
}
$template->assign_vars(array(
'REGISTRATION' => $user->lang['REGISTRATION'],
'AGREEMENT' => $user->lang['REG_AGREEMENT'],
'REGISTRATION_CONDITIONS' => $l_reg_cond,
"AGREE_OVER_13" => $user->lang['AGREE_OVER_13'],
"AGREE_UNDER_13" => $user->lang['AGREE_UNDER_13'],
'DO_NOT_AGREE' => $user->lang['AGREE_NOT'],
'AGREE' => $user->lang['AGREE'],
'U_UCP_AGREE' => 'ucp.' . $phpEx,
"U_AGREE_OVER13" => "ucp.$phpEx?$SID&amp;mode=register&amp;agreed=true",
"U_AGREE_UNDER13" => "ucp.$phpEx?$SID&amp;mode=register&amp;agreed=true&amp;coppa=true")
);
}
//
// FUNCTIONS
// ---------
?>

View file

@ -1,149 +0,0 @@
<?php
/***************************************************************************
* usercp_sendpasswd.php
* -------------------
* begin : Saturday, Feb 13, 2001
* copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com
*
* $Id$
*
*
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*
***************************************************************************/
if ( !defined('IN_PHPBB') )
{
die('Hacking attempt');
exit;
}
//
// The User Control Panel uses Barts 'neat-o-module' system (tm) system to handle the tabs.
// This block specifies the tabs and sub tabs for this section.
//
if( !empty($setmodules) )
{
$filename = str_replace(".$phpEx", '', basename(__FILE__));
return;
}
//
// End Modules setup
//
if ( isset($HTTP_POST_VARS['submit']) )
{
$username = ( !empty($HTTP_POST_VARS['username']) ) ? trim(strip_tags($HTTP_POST_VARS['username'])) : '';
$email = ( !empty($HTTP_POST_VARS['email']) ) ? trim(strip_tags(htmlspecialchars($HTTP_POST_VARS['email']))) : '';
$sql = "SELECT user_id, username, user_email, user_active, user_lang
FROM " . USERS_TABLE . "
WHERE user_email = '" . str_replace("\'", "''", $email) . "'
AND username = '" . str_replace("\'", "''", $username) . "'";
if ( $result = $db->sql_query($sql) )
{
if ( $row = $db->sql_fetchrow($result) )
{
if ( !$row['user_active'] )
{
message_die(GENERAL_MESSAGE, $lang['No_send_account_inactive']);
}
$username = $row['username'];
$user_actkey = gen_rand_string(true);
$key_len = 54 - strlen($server_url);
$key_len = ( $str_len > 6 ) ? $key_len : 6;
$user_actkey = substr($user_actkey, 0, $key_len);
$user_password = gen_rand_string(false);
$sql = "UPDATE " . USERS_TABLE . "
SET user_newpasswd = '" .md5($user_password) . "', user_actkey = '$user_actkey'
WHERE user_id = " . $row['user_id'];
if ( !$db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not update new password information', '', __LINE__, __FILE__, $sql);
}
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
$emailer = new emailer($config['smtp_delivery']);
$email_headers = 'From: ' . $config['board_email'] . "\nReturn-Path: " . $config['board_email'] . "\r\n";
$emailer->use_template('user_activate_passwd', $row['user_lang']);
$emailer->email_address($row['user_email']);
$emailer->set_subject();//$lang['New_password_activation']
$emailer->extra_headers($email_headers);
$emailer->assign_vars(array(
'SITENAME' => $config['sitename'],
'USERNAME' => $username,
'PASSWORD' => $user_password,
'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']),
'U_ACTIVATE' => $server_url . "?mode=activate&act_key=$user_actkey")
);
$emailer->send();
$emailer->reset();
$template->assign_vars(array(
'META' => '<meta http-equiv="refresh" content="15;url=' . append_sid("index.$phpEx") . '">')
);
$message = $lang['Password_updated'] . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . append_sid("index.$phpEx") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message);
}
else
{
message_die(GENERAL_MESSAGE, $lang['No_email_match']);
}
}
else
{
message_die(GENERAL_ERROR, 'Could not obtain user information for sendpassword', '', __LINE__, __FILE__, $sql);
}
}
else
{
$username = '';
$email = '';
}
//
// Output basic page
//
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
'body' => 'profile_send_pass.tpl')
);
make_jumpbox('viewforum.'.$phpEx);
$template->assign_vars(array(
'USERNAME' => $username,
'EMAIL' => $email,
'L_SEND_PASSWORD' => $lang['Send_password'],
'L_ITEMS_REQUIRED' => $lang['Items_required'],
'L_EMAIL_ADDRESS' => $lang['Email_address'],
'L_SUBMIT' => $lang['Submit'],
'L_RESET' => $lang['Reset'])
);
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>