Sivu 1/2

12/24 kello - ei meinaa vaihtua

Lähetetty: 06 Huhti 2007, 00:09
Kirjoittaja jarimi
Haluaisin foorumilleni tuommoisen suomalaiseen makuun tehdyn 24-tunnin kellon eli eroon noista "11: 57 PM" -kellonajoista ja tilalle 23.57. Kävin täällä http://www.phpbbsuomi.com/viewtopic.php ... t=kello%2A, mutta joko a) en osannut toteuttaa ohjeita oikein tai b) homma ei toimi jostain muusta syystä. Ja kumpi lie todennäköisempää!:-)

Lähetetty: 06 Huhti 2007, 01:25
Kirjoittaja Merri
d.m.Y H:i

Tämä on suomalainen esitystapa päivämäärälle (joskin muotoiltuna siten, että kaikki luvut ovat aina tasapituisia päivämäärästä riippumatta). Ja myöskin oma suosikkini.

Tämän voi käydä ensinnäkin säätämässä ylläpitopaneelissa. Lisäksi sen voi asettaa omaan profiiliinsa vielä erikseen. Jos halutaan muuttaa kaikille käyttäjille, niin sitten täytyykin jo käyttää esimerkiksi phpMyAdminia ja sillä käydä suorittamassa muutoskutsu (joka olisi muistaakseni UPDATE phpbb_users SET user_dateformat = 'd.m.Y H:i').

Olennaista tässä on tuo H-kirjain, eli se asettaa käyttöön 24:n mukaisen tunnin. Pieni h olisi 12-tunnin mukainen.

Ero G:n ja H:n välillä on siis se, että G palauttaa 0 ja H 00. Tai kello 9 olisi G:llä 9:00 ja H:lla 09:00.


Ai joo, myös kielitiedostosta lang_main.php löytyy päivämääräarvo, jonka voi käydä muuttamassa.

Lähetetty: 06 Huhti 2007, 10:40
Kirjoittaja jarimi
Merri kirjoitti:d.m.Y H:i

Tämä on suomalainen esitystapa päivämäärälle (joskin muotoiltuna siten, että kaikki luvut ovat aina tasapituisia päivämäärästä riippumatta). Ja myöskin oma suosikkini.

Tämän voi käydä ensinnäkin säätämässä ylläpitopaneelissa. Lisäksi sen voi asettaa omaan profiiliinsa vielä erikseen.
No jo rupes muuttumaan. Tosin tuo on mielestäni edelleen epäloogista, että lukee: "Kellonaika on"... ja sitten on kuitenkin ensin pvm ja vasta sitten kellonaika. Mitenkäs tuohon saisi semmosen tyyliin: Tänään on 06.04.2007 kello 10.32? Voihan sen muuttaa suoraan lang_main.php:hen, mutta onko fiksumpaa tapaa? Enkä kyllä lang_main.php:henkään osaa tehä sitä niin, että siihen pvm:n jälkeen lisättäis vielä tuo 'kello'.
Merri kirjoitti:[Jos halutaan muuttaa kaikille käyttäjille, niin sitten täytyykin jo käyttää esimerkiksi phpMyAdminia ja sillä käydä suorittamassa muutoskutsu (joka olisi muistaakseni UPDATE phpbb_users SET user_dateformat = 'd.m.Y H:i').
OK, mistäs löydän/miten käytän tuommoista phpbbadmin -työkalua

[quote="Olennaista tässä on tuo H-kirjain, eli se asettaa käyttöön 24:n mukaisen tunnin. Pieni h olisi 12-tunnin mukainen.

Ero G:n ja H:n välillä on siis se, että G palauttaa 0 ja H 00. Tai kello 9 olisi G:llä 9:00 ja H:lla 09:00.[/quote]

Yes! Nyt selvis siis noidenkin ero. Kiitokset!

Lähetetty: 06 Huhti 2007, 17:08
Kirjoittaja Merri
"Kellonaika on" saat kyllä muutetuksi muotoon "Tänään on", mutta sitten tuon kello-sanan lisääminen on ongelmallisempaa. Se pitäisi lisätä tuohon päivämääräkenttään mukaan, d.m.Y ke\l\l\o H:i, mutta ongelmana tässä on sitten se, että se on liian pitkä: profiilikentän sallima pituus jää neljä merkkiä vajaaksi. Ja vaikka käyttäisi lyhennettä klo, niin sekin jää tietysti sillä yhdellä merkillä liian pitkäksi (k\l\o). Kenoviivat täytyy laittaa merkkien eteen siksi, että muuton l ja o muunnettaisiin kellonaikafunktion sääntöjen mukaisesti joksikin muuksi. Kenoviivat katoavat merkkien edestä ja merkit säilytetään ennallaan, kun kenoviivat lisää sääntöön mukaan.

Helppo ratkaisu olisi vaan jättää kello-sana pois, vaikeampi tapa olisi sitten kasvattaa tekstikentän kokoa plus muuttaa tietokannan user_dateformat-kenttää pidemmäksi.

Ai joo. Tietysti sekin on mahdollista, että värkkään pienen PHP-skriptin jonka voi heittää foorumin juureen ja sitten sillä ajamalla suoritettaisiin halutut muunnokset. Joskin templaatista pitäisi käydä vielä erikseen lisäämässä sallittujen merkkien määrää sille päivämääräkentälle.

Lähetetty: 06 Huhti 2007, 17:16
Kirjoittaja jarimi
Merri kirjoitti:"Kellonaika on" saat kyllä muutetuksi muotoon "Tänään on", mutta sitten tuon kello-sanan lisääminen on ongelmallisempaa. Se pitäisi lisätä tuohon päivämääräkenttään mukaan, d.m.Y ke\l\l\o H:i, mutta ongelmana tässä on sitten se, että se on liian pitkä: profiilikentän sallima pituus jää neljä merkkiä vajaaksi. Ja vaikka käyttäisi lyhennettä klo, niin sekin jää tietysti sillä yhdellä merkillä liian pitkäksi (k\l\o). Kenoviivat täytyy laittaa merkkien eteen siksi, että muuton l ja o muunnettaisiin kellonaikafunktion sääntöjen mukaisesti joksikin muuksi. Kenoviivat katoavat merkkien edestä ja merkit säilytetään ennallaan, kun kenoviivat lisää sääntöön mukaan.

Helppo ratkaisu olisi vaan jättää kello-sana pois, vaikeampi tapa olisi sitten kasvattaa tekstikentän kokoa plus muuttaa tietokannan user_dateformat-kenttää pidemmäksi.

Ai joo. Tietysti sekin on mahdollista, että värkkään pienen PHP-skriptin jonka voi heittää foorumin juureen ja sitten sillä ajamalla suoritettaisiin halutut muunnokset. Joskin templaatista pitäisi käydä vielä erikseen lisäämässä sallittujen merkkien määrää sille päivämääräkentälle.
Älä ihmeessä ala tuollaista skriptiä värkkäämään - ei tuo nyt niin tärkeää ole... Muutin jo tuon muotoon "Tänään on"... Mutta jos sen sijaan viitsit ohjustaa tuon phpbbadminin käytössä?

Lähetetty: 06 Huhti 2007, 17:26
Kirjoittaja Merri
Luulenpa että sen skriptin tekeminen on helpompaa: se kun on jo valmis! :roll:

kellonaika.php:

Koodi: Valitse kaikki

<?php

//
// PVM-muoto!
//
$paivamaara = 'd.m.Y ke\l\l\o H:i';

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//

if(!$userdata['session_logged_in'] || $userdata['user_level'] != ADMIN)
{
	message_die(GENERAL_ERROR, 'Et ole foorumin admin.');
}

$sql = "ALTER TABLE `".USERS_TABLE."` CHANGE `user_dateformat` `user_dateformat` VARCHAR(24)";

if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Pidennys ei onnistunut: ei oikeuksia? Tietokantaan tarvitaan ALTER, INSERT ja CREATE -oikeudet', '', __LINE__, __FILE__, $sql);
}

$sql = "UPDATE ".USERS_TABLE." SET `user_dateformat` = '$paivamaara'";

if ( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Muutos ei onnistunut', '', __LINE__, __FILE__, $sql);
}

message_die(GENERAL_MESSAGE, 'Muunnokset suoritettu! Poista tiedosto.');

?>
Sitten onkin jäljellä enää templaatin muuttaminen:

Koodi: Valitse kaikki

AVAA templates/templaatinnimi/profile_add_body.tpl

ETSI: (tiedoston loppupuolella)

	<tr> 
	  <td class="row1"><span class="gen">{L_DATE_FORMAT}:</span><br />
		<span class="gensmall">{L_DATE_FORMAT_EXPLAIN}</span></td>
	  <td class="row2"> 
		<input type="text" name="dateformat" value="{DATE_FORMAT}" maxlength="14" class="post" />
	  </td>
	</tr>

KORVAA TÄLLÄ: (14 muuttuu 24:ksi)

	<tr> 
	  <td class="row1"><span class="gen">{L_DATE_FORMAT}:</span><br />
		<span class="gensmall">{L_DATE_FORMAT_EXPLAIN}</span></td>
	  <td class="row2"> 
		<input type="text" name="dateformat" value="{DATE_FORMAT}" maxlength="24" class="post" />
	  </td>
	</tr>

Disclaimer!
En ole testannut toimivuutta, joten se on sitten omalla riskillä :)

Lähetetty: 06 Huhti 2007, 21:24
Kirjoittaja jarimi
Merri kirjoitti:Luulenpa että sen skriptin tekeminen on helpompaa: se kun on jo valmis! :roll:
...
Disclaimer!
En ole testannut toimivuutta, joten se on sitten omalla riskillä :)
OK. Tuota ihan vaan siltä varalta, että onnistun (taas) ryssimään jotain, niin mitkäs kaikki tiedostot kannattais varmistaa, jotta saan palautumaan kellonaika.php:tä aiemman tilanteen? Koodin perusteella en hiffaa, mihin kaikkeen tuon vaikutukset ulottuvat...

Lähetetty: 06 Huhti 2007, 22:15
Kirjoittaja mrl586
jarimi kirjoitti:Tuota ihan vaan siltä varalta, että onnistun (taas) ryssimään jotain, niin mitkäs kaikki tiedostot kannattais varmistaa, jotta saan palautumaan kellonaika.php:tä aiemman tilanteen?
templates/templaatinnimi/profile_add_body.tpl

Lähetetty: 06 Huhti 2007, 22:51
Kirjoittaja Merri
Ota vaikka phpBB:llä tietokannasta kopio varmuuden vuoksi :) Vaara tuskin on suuri, mutta kun en jaksanut testata omalla foorumillani laiskuuttani.

Lähetetty: 06 Huhti 2007, 23:45
Kirjoittaja jarimi
Merri kirjoitti:Luulenpa että sen skriptin tekeminen on helpompaa: se kun on jo valmis! :roll:

kellonaika.php:

Koodi: Valitse kaikki

<?php

//
// PVM-muoto!
//
$paivamaara = 'd.m.Y ke\l\l\o H:i';
...
[/quote]

Hehee, joku häikkä on jossain, koskapa informaatsiona tuli, notta muunnos suoritettu onnistuneesti. No nyt sivulla näkyypi, jotta:

Tänään on 06.04.2007 kePerjantaiPerjantaio 23.39

Mistähän se nuo l:t muka Perjantaiksi keksii? Copypastetin tuon koodin muuten sellaisenaan, mutta korvasin kellonajassa kaksoispisteen pisteellä. Mitäs ruuvia käännän seuraavaksi? :-)

Lähetetty: 07 Huhti 2007, 00:02
Kirjoittaja Merri
Tarkista profiilista että siellä varmasti lukee vieläkin \l eikä vain pelkkää ällää. Noin muuten vaikuttaa oudolta, koska nimenomaan ällän tulin testanneeksi tällä foorumilla kenomerkillä, ja oolle ei sitten sitä kenomerkkiä riittänyt :D

Lähetetty: 07 Huhti 2007, 00:15
Kirjoittaja jarimi
Merri kirjoitti:Tarkista profiilista että siellä varmasti lukee vieläkin \l eikä vain pelkkää ällää. Noin muuten vaikuttaa oudolta, koska nimenomaan ällän tulin testanneeksi tällä foorumilla kenomerkillä, ja oolle ei sitten sitä kenomerkkiä riittänyt :D
Öh, siis mitä teen? Koodi on mun mielestä edelleen oikein, mutta mitä tahtoo sanoa tuo "tarkista profiilista..." Mun tars vissiin mennä välillä maate, josko sitte taas älyäiskin jotain.

Lähetetty: 07 Huhti 2007, 00:16
Kirjoittaja mrl586
jarimi kirjoitti:Öh, siis mitä teen? Koodi on mun mielestä edelleen oikein, mutta mitä tahtoo sanoa tuo "tarkista profiilista..." Mun tars vissiin mennä välillä maate, josko sitte taas älyäiskin jotain.
Tarkista profiilista=Tarkista käyttäjätiedoista

Lähetetty: 07 Huhti 2007, 07:59
Kirjoittaja jarimi
mrl586 kirjoitti:
jarimi kirjoitti:Öh, siis mitä teen? Koodi on mun mielestä edelleen oikein, mutta mitä tahtoo sanoa tuo "tarkista profiilista..." Mun tars vissiin mennä välillä maate, josko sitte taas älyäiskin jotain.
Tarkista profiilista=Tarkista käyttäjätiedoista
No ou jee! :-) Kaikkea sitä täällä kysytäänkin... No käyttäjillä siis lukee päiväyksen muoto - kohdassaan nätisti: d.m.Y kello H.i
Mutta edelleen esim. etusivulla kirjautumisen jälken lukee, notta: Tänään on 07.04.2007 keLauantaiLauantaio 07.55

Lähetetty: 07 Huhti 2007, 10:02
Kirjoittaja Merri
Siellä pitäisi olla kenoviivat ennen kutakin ällää ja oota.