12.10.2013, 10:47
Ich hab mir das jetzt mal selbst angeschaut, umgebaut und rumgebastelt. Teilweise funktionierts nu auch. Aber nicht alle Felder funktionieren, obwohl die eigentlich alle gleich definiert sind. Könnt ihr mir vielleicht sagen, was mein Fehler ist?
Die Felder "steckbrief_bedeutung", "steckbrief_spitzname", und "steckbrief_alter" funktionieren, die anderen nicht..
"steckbrief_alter_einheit", "steckbrief_alter_bday1", "steckbrief_alter_bday2" und "steckbrief_alter_bday3" sind selectfelder, "steckbrief_name" ist ebenfalls ein Inputfeld, wie die anderen funktionierenden.
Ich hab das jetzt mal testweise nur im ersten Teil des Steckbriefes gemacht..
Hier sind die aktuellen Dateien:
Userpages PHP: http://tdw.bplaced.net/test/userpages.txt
Steckbriefformular Template: http://tdw.bplaced.net/test/userpages_usercp_main.txt
Steckbriefausgabe Template: http://tdw.bplaced.net/test/userpages_content.txt
In der Datenbank sind folgende Felder alle komplett gleich angelegt:
Screenshot Datenbanktabelle: http://abload.de/img/2013-10-12_10258kuim.png
Die relevanten Zeilen in der UserCP sind wohl folgende:
Die Felder "steckbrief_bedeutung", "steckbrief_spitzname", und "steckbrief_alter" funktionieren, die anderen nicht..
"steckbrief_alter_einheit", "steckbrief_alter_bday1", "steckbrief_alter_bday2" und "steckbrief_alter_bday3" sind selectfelder, "steckbrief_name" ist ebenfalls ein Inputfeld, wie die anderen funktionierenden.
Ich hab das jetzt mal testweise nur im ersten Teil des Steckbriefes gemacht..
Hier sind die aktuellen Dateien:
Userpages PHP: http://tdw.bplaced.net/test/userpages.txt
Steckbriefformular Template: http://tdw.bplaced.net/test/userpages_usercp_main.txt
Steckbriefausgabe Template: http://tdw.bplaced.net/test/userpages_content.txt
In der Datenbank sind folgende Felder alle komplett gleich angelegt:
Screenshot Datenbanktabelle: http://abload.de/img/2013-10-12_10258kuim.png
Die relevanten Zeilen in der UserCP sind wohl folgende:
PHP-Code:
/*
* UserCP
* This function handles everything else related to the UserCP
*/
$plugins->add_hook("usercp_start", "userpages_usercp");
function userpages_usercp()
{
global $mybb, $db, $lang, $cache, $page, $templates, $theme, $headerinclude, $header, $footer, $usercpnav, $smilieinserter, $codebuttons, $currentuserpage, $headtable, $sidetable;
$lang->load('userpages');
$usergroups_cache = $cache->read("usergroups");
if ($mybb->input['action'] == "edituserpage") {
add_breadcrumb($lang->nav_usercp, "usercp.php");
add_breadcrumb($lang->changeuserpage, "usercp.php?action=edituserpage");
if (!$usergroups_cache[$mybb->user['usergroup']]['canuserpage'] || !$usergroups_cache[$mybb->user['usergroup']]['canuserpageedit']) {
error_no_permission();
}
$smilieinserter = build_clickable_smilies();
$codebuttons = build_mycode_inserter("userpage_content");
$currentuserpage = htmlspecialchars($db->fetch_field($db->simple_select("users", "userpage", "steckbrief_name", "steckbrief_bedeutung", "steckbrief_spitzname", "steckbrief_alter", "steckbrief_alter_einheit", "steckbrief_bday1", "steckbrief_bday2", "steckbrief_bday3", "uid = ".$mybb->user['uid']), "userpage"));
eval("\$page = \"".$templates->get('userpages_usercp_main')."\";");
output_page($page);
die();
}
elseif ($mybb->input['action'] == "edituserpage_do" && $mybb->request_method == "post") {
if (!$usergroups_cache[$mybb->user['usergroup']]['canuserpage'] || !$usergroups_cache[$mybb->user['usergroup']]['canuserpageedit']) {
error_no_permission();
}
verify_post_check($mybb->input['my_post_key']);
$updatequery = array(
'userpage' => $db->escape_string(trim($mybb->input['userpage_content'])),
'steckbrief_name' => $db->escape_string(trim($mybb->input['steckbrief_name'])),
'steckbrief_bedeutung' => $db->escape_string(trim($mybb->input['steckbrief_bedeutung'])),
'steckbrief_spitzname' => $db->escape_string(trim($mybb->input['steckbrief_spitzname'])),
'steckbrief_bedeutung' => $db->escape_string(trim($mybb->input['steckbrief_bedeutung'])),
'steckbrief_alter' => $db->escape_string(trim($mybb->input['steckbrief_alter'])),
'steckbrief_alter_einheit' => $db->escape_string(trim($mybb->input['steckbrief_alter_einheit'])),
'steckbrief_bday1' => $db->escape_string(trim($mybb->input['steckbrief_bday1'])),
'steckbrief_bday2' => $db->escape_string(trim($mybb->input['steckbrief_bday2'])),
'steckbrief_bday3' => $db->escape_string(trim($mybb->input['steckbrief_bday3']))
);
if ($db->update_query("users", $updatequery, "uid = ".$mybb->user['uid'])) {
redirect("usercp.php?action=edituserpage", $lang->userpage_updated);
}
else {
redirect("usercp.php?action=edituserpage", $lang->userpage_notpdated);
}
}
}
/*
* End UserCP
*/
/*
* ModCP
* This function manages everything related to Userpages in the ModCP
*/
// DAS IST JA ÄHNLICH WIE BEIM USERCP..
/*
* End ModCP
*/
/*
* User Profile
* This is the main function that displays the actual Userpage
*/
$plugins->add_hook("member_profile_start", "userpages_main");
function userpages_main()
{
global $mybb, $db, $memprofile, $lang, $cache, $userpage_parser, $templates, $theme, $headerinclude, $header, $footer, $page, $parser, $userpagelink, $headtable, $sidetable;
$lang->load('userpages');
$usergroups_cache = $cache->read("usergroups");
$memprofile = $db->fetch_array($db->simple_select("users", "userpage, username, steckbrief_name, steckbrief_bedeutung, steckbrief_spitzname, steckbrief_alter, steckbrief_alter_einheit, steckbrief_bday1, steckbrief_bday2, steckbrief_bday3, uid", "uid = ".intval($mybb->input['uid'])), "userpage");
if ($memprofile['userpage'] !== "") {
if ($mybb->settings['seourls'] == "yes" || ($mybb->settings['seourls'] == "auto" && $_SERVER['SEO_SUPPORT'] == 1)) {
$sep = "?";
}
else {
$sep = "&";
}
$userpagelink = '<span class="smalltext"><a href="'.get_profile_link(intval($mybb->input['uid'])).$sep.'area=userpage">'.$lang->sprintf($lang->viewuserpage, $memprofile['username']).'</a></span><br />';
}
if ($mybb->input['area'] == "userpage") {
if (!$usergroups_cache[$mybb->user['usergroup']]['canuserpage']) {
error_no_permission();
}
$lang->nav_profile = $lang->sprintf($lang->nav_profile, $memprofile['username']);
$lang->viewinguserpage = $lang->sprintf($lang->viewinguserpage, $memprofile['username']);
add_breadcrumb($lang->nav_profile, get_profile_link($memprofile['uid']));
add_breadcrumb($lang->viewinguserpage);
$options = array(
"allow_html" => $mybb->settings['userpages_html_active'],
"allow_mycode" => $mybb->settings['userpages_mycode_active'],
"allow_smilies" => 1,
"allow_imgcode" => $mybb->settings['userpages_images_active'],
"filter_badwords" => $mybb->settings['userpages_badwords_active'],
"nl2br" => 1,
"allow_videocode" => $mybb->settings['userpages_videos_active'],
"me_username" => $memprofile['username'],
);
$memprofile['userpage'] = $parser->parse_message($memprofile['userpage'], $options);
$memprofile['view_full_profile'] = '<a href="'.get_profile_link($memprofile['uid']).'">« '.$lang->nav_profile.'</a>';
eval("\$page = \"".$templates->get('userpages_content')."\";");
output_page($page);
die();
}
}
/*
* End User Profile
*/