Seite 1 von 2

Funktion des PHPBB zur generierung des Timestamps

Verfasst: 11.09.2004 13:04
von Blutgerinsel
Hey,

mir geht es im Moment darum das PHPBB mit ein paar zusätzlichen Features zu erweitern. Daher muss ich u.A. mich auf die Gegebenheiten der DB fügen.

Wie ich festgestellt habe ist die Spalte post_time in table posts und posts_text vom typ int(11)

und nachfolgende Funktion generiert einen solchen Timestamp in Abhängigkeit zu den Boardeinstellungen.

Code: Alles auswählen

function create_date($format, $gmepoch, $tz)
{
	global $board_config, $lang;
	static $translate;

	if ( empty($translate) && $board_config['default_lang'] != 'english' )
	{
		@reset($lang['datetime']);
		while ( list($match, $replace) = @each($lang['datetime']) )
		{
			$translate[$match] = $replace;
		}
	}

	return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * ($tz+date("I")))), $translate) : @gmdate($format, $gmepoch + (3600 * ($tz+date("I"))));
}
Gut nun wird versucht folgendes einzutragen:

Code: Alles auswählen

'11.09.2004, 12:33'
wie man sieht ist dort ein , vorhanden was schon mal fehlerhaft ist. Abgesehen davon ist auch der Timestamp hier 12 Zeichen. Der Spaltentyp des Boardes aber 11 !
Daher wird mein Timestamp auch fehlerhaft eingefügt, d.h. max. 2 Ziffern.

Aktuell durschaue ich noch nicht die Boardlogik. Jetzt wo ich mich so erinnere wird das Ergebnis dieser Funktion dem Template zugewiesen und das könnte bedeuten das diese Func nur zur Anzeige dient.

*weitersuche*

Verfasst: 11.09.2004 13:18
von Acid
Verstehe ich deinen Beitrag jetzt eventuell nur falsch ?
11.09.2004, 12:33
Das wäre das Datum, das ausgegeben wird. Daten werden in der DB aber immer als Timestamp gespeichert (s. kurze Definierung dessen).

Verfasst: 11.09.2004 13:29
von Blutgerinsel
Acid hat geschrieben:Verstehe ich deinen Beitrag jetzt eventuell nur falsch ?
11.09.2004, 12:33
Das wäre das Datum, das ausgegeben wird. Daten werden in der DB aber immer als Timestamp gespeichert (s. kurze Definierung dessen).
Hi Acid,

ja :wink:
hab beiläufig überlesen das create_date nur zur Anzeige des Timestamps dient.
Was ich suche ist die Funktion zum Eintragen des Timestamps wenn hier u.A. Boardeinstelungen auch berrücksichtigt werden.

Ansonsten interessiert mich das genaue Format des Board Timestamps. Denn 11 Zeichen ist nicht wirklich normal ist nämlich i.d.R. gängig stets eine gerade Anzahl.

Wenn der Spaltentyp statt int timestamp wäre würde Mysql daraus automatisch 12 machen :wink:

Ich suche zwar paraellel zu diesem Thread die Filebeschreibungen des Boardes ab, aber finden konnte ich bisher nichts....

Verfasst: 11.09.2004 13:39
von Blutgerinsel
wie es scheint ist es nur der Timestamp nicht modifiziert hab nämlich
gerade:

Code: Alles auswählen

$current_time = time();
gefunden...

Verfasst: 11.09.2004 13:55
von Acid
ähm.. is damit deine Frage beantwortet? :D
Also Daten als Timestamp werden im phpBB vorwiegend mit time() abgespeichert.
Ich suche zwar paraellel zu diesem Thread die Filebeschreibungen des Boardes ab, aber finden konnte ich bisher nichts....
http://www.phpbb.de/doku/doku_files.php ..sowas?

Verfasst: 11.09.2004 14:09
von Blutgerinsel
Acid hat geschrieben:ähm.. is damit deine Frage beantwortet? :D
Also Daten als Timestamp werden im phpBB vorwiegend mit time() abgespeichert.
Ich suche zwar paraellel zu diesem Thread die Filebeschreibungen des Boardes ab, aber finden konnte ich bisher nichts....
http://www.phpbb.de/doku/doku_files.php ..sowas?
@Acid:
ja :D
genau da suche ich auch :wink:

Wenn man das Board nicht kennt und nur ein wenig drin anpassen oder zugreifen muss artet das ganze in einer regelrechten Suchaktion aus.
Kaum das eine gefunden kommt schon das nächste.

nächste Frage:
woher wird $bbcode_uid initialisiert und weshalb wird aus Sicherheitsgründen ein derartiges Zeichen gesocks gemacht?
Vielleicht finde ich das auch noch. Im suchen bin ich nicht der Beste :lol: :lol:

Verfasst: 11.09.2004 14:46
von Blutgerinsel
so jetzt hab ich die Function:

Code: Alles auswählen

function make_bbcode_uid()
  {
 	 	// Unique ID for this message..
 		$uid = md5(mt_rand());
 		$uid = substr($uid, 0, BBCODE_UID_LEN);
 		return $uid;
 	}
Fehlt noch die Konstante und die Funktionen zum Eintragen von BBCode :wink:

Verfasst: 11.09.2004 16:41
von Pyramide
Blutgerinsel hat geschrieben:weshalb wird aus Sicherheitsgründen ein derartiges Zeichen gesocks gemacht?
Habe dazu mal nen Artikel geschrieben - reicht dir das als Antwort? KB:bbcode_uid

Verfasst: 11.09.2004 16:44
von Blutgerinsel
Kann mir mal jemand Klarheit verschaffen über die BBCODE Functions?
Ich müsste diese anzapfen um ins Forum von einer externen Quelle etwas einzufügen.

Und daher muss ich BBCODE auch parsen. Ersetzt wird aber nicht wirklich was sollte ja [b:rwrwerwrw] oder so ähnlich ersetzt werden.

Die bbcode_uid hab ich aber nach diesen Functions ändert sich imho nichts:

Code: Alles auswählen

$text=nl2br($_POST['r_comment']);
$uid=make_bbcode_uid();
$text=bbencode_first_pass($text, $uid);
$text=bbencode_second_pass($text, $uid);

Verfasst: 11.09.2004 16:55
von Pyramide
Blutgerinsel hat geschrieben:Die bbcode_uid hab ich aber nach diesen Functions ändert sich imho nichts:
Wie kann sich denn etwas IMHO ändern? entweder es ändert sich oder es ändert sich nicht. Was enthält denn $text vor bzw. nach den Funktionsaufrufen?