suche: Stardate / Sternenzeit Hack [für Star Trek Board]

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

das könnte man ja ganz einfach über eine query in der form

Code: Alles auswählen

UPDATE phpbb_users SET user_dateformat = contact(user_dateformat, ' Sternzeit: sz')
lösen...

ah
ZeroB@NG
Mitglied
Beiträge: 110
Registriert: 27.08.2002 03:13
Wohnort: Down in Hell
Kontaktdaten:

Beitrag von ZeroB@NG »

*nix verstehen tu :oops: *
phpBB2 based Star Trek RPG -> http://www.FedTF.de
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

also nochmal im klartext du willst in der posting angezeigt heb welches stardate momentan herscht und dann nocheimal nur in der viewtopic.php das erstellungsdatum als stardate zusätzlich anzeigen lassen... oder?

ah
ZeroB@NG
Mitglied
Beiträge: 110
Registriert: 27.08.2002 03:13
Wohnort: Down in Hell
Kontaktdaten:

Beitrag von ZeroB@NG »

ähm jap genau so :)
phpBB2 based Star Trek RPG -> http://www.FedTF.de
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

also suche erstmal in der viewtopic.php:

Code: Alles auswählen

'L_GOTO_PAGE' => $lang['Goto_page'], 
danach einfügen

Code: Alles auswählen

'L_STARDATE' => $lang['Stardate'],
suchen:

Code: Alles auswählen

'POST_DATE' => $post_date, 
danach einfügen:

Code: Alles auswählen

'POST_STARDATE' => stardate($postrow[$i]['post_time']),
öffne die includes/functions.php und vor ?> einfügen:

Code: Alles auswählen

function SGN($x) { 
  if ($x < 0) $y = -1; 
  if ($x == 0) $y = 0; 
  if ($x > 0) $y = 1; 
  return $y; 
} 

function is_leap_year($year) { 
  $JG = $year; 
  $JJ = $JG - floor($JG/100)*100; 
  $JH = $JG - $JJ; 
  return SGN($JG % 100) - SGN($JJ % 4) + 1 - SGN($JG % 400); 
} 

function day_of_year($year,$month,$day) { 
  $days_in_month_data   =   array( 
    0   =>   array(31,28,31,30,31,30,31,31,30,31,30,31), 
    1   =>   array(31,29,31,30,31,30,31,31,30,31,30,31) 
  ); 
  $days_in_month = $days_in_month_data[is_leap_year($year)]; 
  for ($i=1;$i<$month;$i++) { 
    $day += $days_in_month[$i]; 
  } 
  return $day; 
} 

function stardate($timestamp = NULL) 
{ 
     
    $thistime  =   empty($timestamp) ? getdate(time()) : getdate($timestamp); 
    $year   =   $thistime["year"] + 100; 
    $month   =   $thistime["mon"]; 
    $day   =   $thistime["mday"]; 
    $hour   =   $thistime["hours"]; 
    $minute   =   $thistime["minutes"]; 
    $second   =   $thistime["seconds"]; 

    // mit MCAL: 
    // $daysinyear   =   365 + mcal_is_leap_year($year); 
    // ohne MCAL: 
    $daysinyear   =   365 + is_leap_year($year); 

    // mit MCAL: 
    // $dayofyear   =   mcal_day_of_year($year,$month,$day) + 1; 
    // ohne MCAL: 
    $dayofyear   =   day_of_year($year,$month,$day) + 1; 

    $thestardate = round((($year-2323)+(($dayofyear+($hour/24)+($minute/1440)+($second/86400))/$daysinyear))*100000)/100; 

    return $thestardate; 
}
öffne die language/lang_xxx/lang_main.php und füge vor ?> folgendes ein:

Code: Alles auswählen

$lang['Stardate'] = "Stardate";
öffne die templates/xxx/viewtopic_body.tpl
suche:

Code: Alles auswählen

{postrow.POST_DATE}
direkt danach einfügen

Code: Alles auswählen

<span class="gen">&nbsp;</span>&nbsp; &nbsp;{L_STARDATE}: {postrow.POST_STARDATE}
öffne die posting.php und suche:

Code: Alles auswählen

'SMILIES_STATUS' => $smilies_status, 
danach einfügen:

Code: Alles auswählen

'STARDATE' => stardate(),

'L_STARDATE' => $lang['stardate'],
und dann noch die templates/xxx/posting_body.tpl öffnen und folgendes suchen:

Code: Alles auswählen

			<td><span class="gen"><b>{L_MESSAGE_BODY}</b></span> </td>
		  </tr>
		  <tr> 
			<td valign="middle" align="center"> <br />
danach einfügen

Code: Alles auswählen

<span class="gen">{L_STARDATE}: {STARDATE}</span><br/>
achja zuvor musst du die änderungen des ersten posts rückgänig machen...

ah
Zuletzt geändert von saerdnaer am 17.01.2003 15:48, insgesamt 1-mal geändert.
ZeroB@NG
Mitglied
Beiträge: 110
Registriert: 27.08.2002 03:13
Wohnort: Down in Hell
Kontaktdaten:

Beitrag von ZeroB@NG »

8) :D 8)
Das vom alten posting ist schon längst wieder draussen (ich mach immer backups von den Files die ich veränder falss was nicht funktioniert/gefällt werden die gerade wieder zurückgesetzt;)

na dann werd ich das mal austesten danke für die Mühe! (ich hab aber bestimmt noch was hinzufufügen aber das fällt mir dann erst dannach auf;)

*ausprobier*
phpBB2 based Star Trek RPG -> http://www.FedTF.de
ZeroB@NG
Mitglied
Beiträge: 110
Registriert: 27.08.2002 03:13
Wohnort: Down in Hell
Kontaktdaten:

Beitrag von ZeroB@NG »

:-?
Fatal error: Call to undefined function: stardate() in d:\ftf\ftfforum\viewtopic.php on line 1237
kommt dann jedesmal wenn ich ein posting öffnen will

und wenn man ein posting erstellen will kommt
Fatal error: Call to undefined function: is_leap_year() in d:\ftf\testforum\includes\functions_post.php on line 837
irgendwas passt dem da nicht

*mal Debug Modus einschalten*
//edit: Debug Modus hat nix weiteres gesagt
//edit2: bin nochmal alles durchgegangen mit nem jungfräulichen phpBB macht aber die selben mucken (also muss da wohl irgendwo ein fehler in dem "mod" sein... :cry: vielleicht hast du auch nur was vergessen abzutippen [sicher das das in die includes/funtions_post.php muss und nicht in die functions.php?])
phpBB2 based Star Trek RPG -> http://www.FedTF.de
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

hab denbeitrag nochmal editert... wie du schon sagtest gehört diese funktion in der functions.php außerdem benötigt diese funktion noch ein paar andere die ich jetzt auch eingefügt habe....

du musst also nur die diese funktion aus der functions_post löschen und die änderungen wie in dem editertem post beschrieben an der functions.pho machen...

ah
ZeroB@NG
Mitglied
Beiträge: 110
Registriert: 27.08.2002 03:13
Wohnort: Down in Hell
Kontaktdaten:

Beitrag von ZeroB@NG »

ok soweit funktionierts schonmal 8)
nur wie krig ich das ding jetzt auf das richtige Jahr eingestellt?
$year = $thistime["year"] + 100;
bedeutet die +100 dass das aktuelle Jahr +100 Jahre gerechnet wird?
dann ist alles klar für mich...?

//hat sich schon erledigt das wars ;)

also nochmal BiG ThX :)
phpBB2 based Star Trek RPG -> http://www.FedTF.de
Benutzeravatar
saerdnaer
Ehemaliges Teammitglied
Beiträge: 4268
Registriert: 21.04.2001 02:00

Beitrag von saerdnaer »

bitteschön...
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“