Was macht "user_sig_bbcode_bitfield"?

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
hardy23
Mitglied
Beiträge: 30
Registriert: 15.10.2008 20:08
Kontaktdaten:

Was macht "user_sig_bbcode_bitfield"?

Beitrag von hardy23 »

Hallo,

ich bin gerade dabei mir ein externes Formular zu erstellen, das die Usersignatur überschreiben soll. In der Theorie funktioniert das auch schon soweit, das bei dem jeweiligen User der neue Text in die Datenbank geschrieben wird.

Doch angezeigt wird dann nur der reine Text (ein bbcode - der aber nicht ausgewertet wird). Klicke ich dann im Userprofil auf Signatur und speichere die Sig unverändert ab, wird sie richtig ausgewertet und angezeigt.

Ich habe in der Datenbank noch das Feld "user_sig_bbcode_bitfield" gesehen das scheinbar eine wichtige Rolle spielt. Kopiere ich die Zeichen aus einem anderen Account wo die Signatur normal funktioniert, wird sie auch bei der Formularsignatur des entsprechenden Users korrekt angezeigt.

Kann mir jemand sagen was es damit auf sich hat? Und kann ich einfach einen beliebigen Wert dort hinein schreiben lassen?

Gruß

hardy
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17473
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: Was macht "user_sig_bbcode_bitfield"?

Beitrag von Dr.Death »

Hallo,

schau Dir mal die Datei includes/ucp/ucp_profile.php an.

Ab diesem Punkt:

Code: Alles auswählen

				if ($submit || $preview)
				{
					include($phpbb_root_path . 'includes/message_parser.' . $phpEx);

					$enable_bbcode	= ($config['allow_sig_bbcode']) ? ((request_var('disable_bbcode', false)) ? false : true) : false;
					$enable_smilies	= ($config['allow_sig_smilies']) ? ((request_var('disable_smilies', false)) ? false : true) : false;
					$enable_urls	= ($config['allow_sig_links']) ? ((request_var('disable_magic_url', false)) ? false : true) : false;

					if (!sizeof($error))
					{
						$message_parser = new parse_message($signature);

						// Allowing Quote BBCode
						$message_parser->parse($enable_bbcode, $enable_urls, $enable_smilies, $config['allow_sig_img'], $config['allow_sig_flash'], true, $config['allow_sig_links'], true, 'sig');

						if (sizeof($message_parser->warn_msg))
						{
							$error[] = implode('<br />', $message_parser->warn_msg);
						}

						if (!check_form_key('ucp_sig'))
						{
							$error[] = 'FORM_INVALID';
						}

						if (!sizeof($error) && $submit)
						{
							$user->optionset('sig_bbcode', $enable_bbcode);
							$user->optionset('sig_smilies', $enable_smilies);
							$user->optionset('sig_links', $enable_urls);

							$sql_ary = array(
								'user_sig'					=> (string) $message_parser->message,
								'user_options'				=> $user->data['user_options'],
								'user_sig_bbcode_uid'		=> (string) $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);

							$message = $user->lang['PROFILE_UPDATED'] . '<br /><br />' . sprintf($user->lang['RETURN_UCP'], '<a href="' . $this->u_action . '">', '</a>');
							trigger_error($message);
						}
					}
wird die Signatur in die Datenbank geschrieben ( inkl. user_sig_bbcode_uid und user_sig_bbcode_bitfield )

Dokumentation zum Einfügen von Text in die Datenbank findest Du hier: http://wiki.phpbb.com/display/MODDOCS/T ... rsing+text
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“