Jäljed postituse muutmisest
Kas seda foorumi mootorit või mida iganes annab niiviisi seada, et postituse muutusest ka miski jälg automaatselt juurde tuleb? Nt koertekoja foorumil selline asi igatahes toimib. Ja ülesehituse järgi tundub süsteem samal põhjal töötavat.
Ega nii pole kunagi olnd, et kuidagi ei saa, kuidagi ikka SAAB! :P
-
- Täiesti Mõttetu Mölaööbik
- Postitusi: 14292
- Liitunud: K Mär 03, 2004 9:25
- Asukoht: Tallinn
- Auto: 9000 '96, V70 '03
- Kontakt:
See featuur on täiesti olemas, paraku realiseeritud ülinõmedalt. Pannakse automaatselt teksti lõppu sulgudesse tekst et muudetud, kuupäev ja nimi. Näide esimeses postituses
Totraks teeb asja see, et kui sa siis kogemata uuesti vea teed ja veelkord parandad, siis pannakse see uuesti ja peaks eelmise ära kustutama jne jne. Ehk siis jäetakse uuendus kasutaja teha, mitte ei tehta automaatselt. Minu arvates nõme. Selliseid asju peaks foorumisoft ise tegema. Ma miski hetk katsetasin, aga korjasin väga kähku uuesti maha selle linnukese.
Kui lisataks kuhugi postituse alla eraldi tabelireale mingi viimase muutmise kuupäev vms oleks see ilmselt ammu lubatud olnud.
Totraks teeb asja see, et kui sa siis kogemata uuesti vea teed ja veelkord parandad, siis pannakse see uuesti ja peaks eelmise ära kustutama jne jne. Ehk siis jäetakse uuendus kasutaja teha, mitte ei tehta automaatselt. Minu arvates nõme. Selliseid asju peaks foorumisoft ise tegema. Ma miski hetk katsetasin, aga korjasin väga kähku uuesti maha selle linnukese.
Kui lisataks kuhugi postituse alla eraldi tabelireale mingi viimase muutmise kuupäev vms oleks see ilmselt ammu lubatud olnud.
Seda kohta post.php-s tuleks muuta
Võibolla midagi sellist töötaks:
Kood: Vali kõik
$date = gmdate($dateformat);
if ($SETTINGS['editedby'] == 'on') {
$message .= "\n\n[$lang[textediton] $date $lang[textby] $username]";
}
Võibolla midagi sellist töötaks:
Kood: Vali kõik
$date = gmdate($dateformat);
if ($SETTINGS['editedby'] == 'on') {
$message = eregi_replace(
"\n\n<!-- muudetud -->.*<!-- /muudetud -->$"
, ""
, $message);
$message .= "nn<!-- muudetud -->[$lang[textediton] $date $lang[textby] $username]<!-- /muudetud -->";
}
55581286
Algselt postitas: kashka
eregi_replace suht mõtetu kuna teeb lehe aeglaseks. Lihtsam viis on baasi teha juurde üks kuupäeva väli, mida siis iga muutmisega uuendatakse, ja seda siis kuskil väljakuvada
Jah, kirje "Postitati" taha kirje "viimati muudetud" või "redigeeritud"
Kuigi mis see meile annab?
-
- Täiesti Mõttetu Mölaööbik
- Postitusi: 14292
- Liitunud: K Mär 03, 2004 9:25
- Asukoht: Tallinn
- Auto: 9000 '96, V70 '03
- Kontakt:
Jah see lives otsimine ja replace oleks overkill. Lisarida baasis ja selle update vajadusel oleks nagu õigem lahendus aga kes see viitsib sellist keemiat tegema hakata...:) Mina ei tunne end php koha peal tegelikult nii väga kindlalt. Lisaks läheb mingil hetkel asi põduraks, kui näiteks softi upgrade'i vaja teha. Minu jaoks on asja väärtus väiksem, kui selle nimel vaja minev vaev.
Kui tihti te seda foorumi softi uuendate ka?
Aga, mis te sellisest muudatusest arvate post.php-s:
asemele
Sellisel juhul mõjutab see ainult postituse muudatuse salvestamist.
Aga, mis te sellisest muudatusest arvate post.php-s:
Kood: Vali kõik
if ($SETTINGS['editedby'] == 'on') {
$message .= "nn[$lang[textediton] $date $lang[textby] $username]";
}
asemele
Kood: Vali kõik
if ($SETTINGS['editedby'] == 'on') {
$message = eregi_replace(
"\n\n\[" . $lang[textediton] . " .*\]$"
, "\n\n[$lang[textediton] $date $lang[textby] $username]"
, $message);
}
Sellisel juhul mõjutab see ainult postituse muudatuse salvestamist.
55581286
-
- Täiesti Mõttetu Mölaööbik
- Postitusi: 14292
- Liitunud: K Mär 03, 2004 9:25
- Asukoht: Tallinn
- Auto: 9000 '96, V70 '03
- Kontakt:
Noh üldiselt öeldi ka, et see eregi_replace teeb asja aeglaseks. Ma usun, et inimesed teavad, millest nad räägivad. Teiseks tahaks ma (juhul kui selline featuur oleks lubatud), et seda üldse ei kirjutataks postituse sisse, vaid see kuvataks kas üldse eraldi real (tabeli lahtris kusagil) või seal "postitati ....." juures lisana. See tingimus on vaat, et suuremgi, kui see võimalik aegluse probleem. Paraku eeldab see postituste tabelisse lisaveergu ja koodimuudatusi salvestuse juures, nii php-s kui sql-s.
Karjuvat vajadust selle järgi pole ja seega ei hakka aretama.
Karjuvat vajadust selle järgi pole ja seega ei hakka aretama.
Miks ma õieti selle küsimuse tõstatasin? Aga seepärast, et kui toimetamise nupu abil postitust uuendatakse, ei kajastu see kuidagi teemakataloogis - ei teki märgetki, et mingisse teemasse on midagi lisatud. Ja nii võib nii mõnigi tähelepanuvääriv (ja vahel üsna oluline) asi kahe silma vahele jääda, kuna viimasel ajal jõuan jälgida vaid kuupäeva järgi värskeina tunduvaid teemasid.
Ega nii pole kunagi olnd, et kuidagi ei saa, kuidagi ikka SAAB! :P
-
- Täiesti Mõttetu Mölaööbik
- Postitusi: 14292
- Liitunud: K Mär 03, 2004 9:25
- Asukoht: Tallinn
- Auto: 9000 '96, V70 '03
- Kontakt:
1.9.1 minu teada. Ja kui sa, Roomlane, arvad, et feature request oleks abiks, siis võid neile ju selle esitada..:)
Siis jääks veel välja mõelda see skeem, kelle postituse muutuse peale teema esile tõstetakse, kas ainult algataja või kõigi teemasse kirjutanute puhul. Minu meelest läheks segadus ainult suuremaks..:)
Kusjuures, Ryhkija, ka teistel foorumisoftidel ei kajastu muudetud postitustega teema värskete teemade reas eriti (minu teada vähemalt, võibolla tean vähe). phpBB, mis on üks enamkasutatavamaid, seda ei tee, phpnuke kohta ei oska öelda, kuigi seal on foorumi osa samasugune nagu phpBB. Kui just foorumi hlafajad ise pole sarnast featuuri viitsinud teha.
Moderaatoritel ja adminidel on võimalus teemat "hüpitada". Sisuliselt tähendab see seda, et teema viimase postituse kellaaeg muudetakse hetkekellaajaks.
Siis jääks veel välja mõelda see skeem, kelle postituse muutuse peale teema esile tõstetakse, kas ainult algataja või kõigi teemasse kirjutanute puhul. Minu meelest läheks segadus ainult suuremaks..:)
Kusjuures, Ryhkija, ka teistel foorumisoftidel ei kajastu muudetud postitustega teema värskete teemade reas eriti (minu teada vähemalt, võibolla tean vähe). phpBB, mis on üks enamkasutatavamaid, seda ei tee, phpnuke kohta ei oska öelda, kuigi seal on foorumi osa samasugune nagu phpBB. Kui just foorumi hlafajad ise pole sarnast featuuri viitsinud teha.
Moderaatoritel ja adminidel on võimalus teemat "hüpitada". Sisuliselt tähendab see seda, et teema viimase postituse kellaaeg muudetakse hetkekellaajaks.
Nädala alguses tuli 1.9.3 välja, mingid pisikesed bugide parandused...
Uusi featuure 1.9 versiooni ei panda. Kui, siis 1.10-sse. Aga kes teab, millal see valmis saab. Aga nagu ma aru sain, vajadust polen, nii et kiiret pole.
Teema hüpitamisest:
Kui uus postitus tehakse, siis jooksutatakse selline päring:
UPDATE $table_threads SET lastpost='$thatime|$username|$pid', replies=replies+1 WHERE (tid='$tid' AND fid='$fid') OR closed='moved|$tid'
Ja veel mõned, et sub-foorumi ja foorumi lastpost välja muuta. Sisuliselt pannakse kirja muutmise aeg, muutja ja postituse id. Selleks, et saaks rohelise noolekese peale vajutades viimati lisatud postituse juurde kohe.
Pärast muudatuse salvestamist võib ju sellise päringu käivitada (kui admin on vastava featuuri sisse lülitanud):
UPDATE $table_threads SET lastpost='$thatime|$username|$pid' WHERE (tid='$tid' AND fid='$fid') OR closed='moved|$tid'
ehk siis postituste arvu ei suurendata.
Aga segasemaks läheb asi igal juhul. Näiteks, kui keegi uue postituse samasse teemasse lisab, siis ei pane jälle keegi tähele, et vahepeal mingit vanemat postitust muudetud on.
Uusi featuure 1.9 versiooni ei panda. Kui, siis 1.10-sse. Aga kes teab, millal see valmis saab. Aga nagu ma aru sain, vajadust polen, nii et kiiret pole.
Teema hüpitamisest:
Kui uus postitus tehakse, siis jooksutatakse selline päring:
UPDATE $table_threads SET lastpost='$thatime|$username|$pid', replies=replies+1 WHERE (tid='$tid' AND fid='$fid') OR closed='moved|$tid'
Ja veel mõned, et sub-foorumi ja foorumi lastpost välja muuta. Sisuliselt pannakse kirja muutmise aeg, muutja ja postituse id. Selleks, et saaks rohelise noolekese peale vajutades viimati lisatud postituse juurde kohe.
Pärast muudatuse salvestamist võib ju sellise päringu käivitada (kui admin on vastava featuuri sisse lülitanud):
UPDATE $table_threads SET lastpost='$thatime|$username|$pid' WHERE (tid='$tid' AND fid='$fid') OR closed='moved|$tid'
ehk siis postituste arvu ei suurendata.
Aga segasemaks läheb asi igal juhul. Näiteks, kui keegi uue postituse samasse teemasse lisab, siis ei pane jälle keegi tähele, et vahepeal mingit vanemat postitust muudetud on.
55581286
Kokkuvõtteks: seega, kui keegi tahab oma postituse muutusele tähelepanu juhtida, on seda praegu ainumõistlik teha uue postituse tegemise abil :P
Mu meelest võib selle arutelu siinkohal (vähemalt ajutiselt) lõppenuks lugeda ...
Mu meelest võib selle arutelu siinkohal (vähemalt ajutiselt) lõppenuks lugeda ...
Ega nii pole kunagi olnd, et kuidagi ei saa, kuidagi ikka SAAB! :P