Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.
Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.
zbyti:
(...) forum do którego warto użyć gotowca (chociaż to co jest dzisiaj to też jest do napisania w tydzień pewnie) (...) szacunkowo oceniam roboczo-godziny tego co dziś "robi" za forum.wieczor:
Forum jako takie jest dość prostym kawałkiem oprogramowania, jeśli weźmiesz pod uwagą funkcjonalność. Ot tak w sam raz na tydzień roboty ;)Kaz:
W międzyczasie spokojnie sobie dogryzajcie, prawcie złośliwości - żeby podtrzymać zwyczaj<?php
$ISO_CHARS_1 = array (
//...
);
$ISO_CHARS_2 = array (
//...
);
//------------------------------------------------------------------
// tac news.txt > invert-news.txt
$fn = fopen('invert-news.txt', 'r') or die('I can not open the file.');
$myFile = fopen('news-utf8.txt', 'w') or die('I can not open the file.');
while(!feof($fn)) {
$rLine = fgets($fn);
if ($rLine) {
$rLine = mb_convert_encoding($rLine, 'UTF-8', 'ISO-8859-2');
$rLine = strtr($rLine, $ISO_CHARS_1);
$rLine = strtr($rLine, $ISO_CHARS_2);
$arrNews = explode('|', $rLine);
if ($arrNews[6] != '3'){
$arrCategory = explode(',', $arrNews[6]);
$category = $arrCategory[0];
if (sizeof($arrCategory) == 2) {
$category = $arrCategory[1];
}
$wLine = $arrNews[0] // id
. '|' . $arrNews[1] // author
. '|' . $arrNews[2] // title
. '|' . $arrNews[3] // content
. '|' . $category
. PHP_EOL;
fwrite($myFile, $wLine);
} else {
echo $arrNews[0] // id
. '|' . $arrNews[1] // author
. '|' . $arrNews[2] // title
. '|' . $arrNews[6] // status
. PHP_EOL;
}
}
}
fclose($fn);
fclose($myFile);
"nowinki" => 1,
"opisy" => 2,
"wynalazki" => 6,
"biblioteka" => 8,
"poczatki" => 7,
"stragan" => 9,
"wywiady" => 5
id: 1316284047 -> 1,5
id: 1342989992 -> 1,5
id: 1350293883 -> 1,6
id: 1356810769 -> 1,7
id: 1361447970 -> 1,7
id: 1362337891 -> 1,7
id: 1369770683 -> 1,7
id: 1376243900 -> 1,7
id: 1380024553 -> 1,5
id: 1404057916 -> 1,5
id: 1407530251 -> 1,7
id: 1417449251 -> 1,6
id: 1419102579 -> 1,7
id: 1421968699 -> 1,6
id: 1432833894 -> 1,11,13
id: 1468443682 -> 1,7
id: 1487543769 -> 1,5
id: 1489249120 -> 1,7
id: 1487543769 -> 1,5
id: 1553550711 -> 1,7
id: 1575243037 -> 1,5
id: 1462985024 -> bez kategorii
<?php
$fn = fopen('news-utf8.txt', 'r') or die('I can not open the file.');
$db = new SQLite3('aol.db');
$db->exec("CREATE TABLE IF NOT EXISTS news(id INTEGER PRIMARY KEY ASC, author TEXT, category INTEGER, title TEXT, content TEXT)");
$stm = $db->prepare("INSERT or REPLACE INTO news(id, author, category, title, content) VALUES (?, ?, ?, ?, ?)");
$stm->bindParam(1, $id);
$stm->bindParam(2, $author);
$stm->bindParam(3, $category);
$stm->bindParam(4, $title);
$stm->bindParam(5, $content);
while(!feof($fn)) {
$rLine = fgets($fn);
if ($rLine) {
$arrNews = explode('|', $rLine);
$id = intval($arrNews[0]);
$author = $arrNews[1];
$category = intval($arrNews[4]);
$title = $arrNews[2];
$content = $arrNews[3];
$stm->execute();
}
}
fclose($fn);
SELECT id, author, count(title), title, category FROM news GROUP BY title ORDER BY count(title) DESC;
"1577199960" "Kaz" "6" "Wesołych Świąt!" "1"
"1509542396" "Xeen" "4" "Aktualności growe" "1"
"1306269810" "Kaz" "4" "Nowy ASAP" "1"
"1563855000" "Xeen" "3" "Aktualności scenowe" "1"
"1434467902" "Kaz" "3" "Biblioteka Atarowca" "1"
"1400528024" "Kaz" "3" "Dawne Komputery i Gry" "1"
"1330295776" "Kaz" "3" "I po KWAS-ie" "1"
"1325894575" "Kaz" "3" "Nowy ""Graph2Font""" "1"
"1562498268" "Kaz" "3" "Nowy RECOIL" "1"
"1334143443" "Kaz" "2" "Aktualizacja użytków" "1"
"1401996635" "Xeen" "2" "Aktualności" "1"
"1184150601" "Kaz" "2" "Atari w joysticku" "6"
"1341797726" "Kaz" "2" "Biblioteczka puchnie" "1"
"1266505357" "Kaz" "2" "Drobiazgownia" "1"
"1184150921" "Kaz" "2" "Electron wymiata!" "6"
"1530197439" "Kaz" "2" "Impreza retro w Okunince" "1"
"1400876062" "Kaz" "2" "Komputery w PRL" "1"
"1244373377" "Kaz" "2" "Muzycznie" "1"
"1388441055" "ASMA Team" "2" "Nowa ASMA" "1"
"1294652314" "Kaz" "2" "Nowsiejszy ""Graph2Font""" "1"
"1257944582" "Kaz" "2" "Ogłoszenia parafialne" "1"
"1344676119" "Kaz" "2" "Pamięci Jurgiego" "1"
"1320139664" "Kaz" "2" "Pamiętamy" "1"
"1386532311" "Kaz" "2" "Robbomania" "1"
"1573398692" "Grey" "2" "Silly Venture 2k19 na pełnych obrotach!" "1"
"1524255804" "Kaz" "2" "Wywiad z Wojciechem Zientarą" "1"
"1228130365" "Kaz" "2" "Zapowiedź nowej gry" "1"
zbyti:
Ok to trójki wykluczę bo to oprócz wygaszonych, i roboczych także jakieś śmieci."1087131939" "Kaz" "1" "Atari w joysticku" "Tym razem nie o zmianie w serwisie, (...)"
"1184150601" "Kaz" "6" "Atari w joysticku" "Tym razem nie o zmianie w serwisie, (...)"
"1141688773" "Kaz" "1" "Electron wymiata!" "Zapamiętajmy dzisiejszy dzień, (...)"
"1184150921" "Kaz" "6" "Electron wymiata!" "Zapamiętajmy dzisiejszy dzień, (...)"
DELETE FROM news WHERE id IN (1087131939, 1141688773)
SELECT count(author), author FROM news GROUP BY author ORDER BY count(author) DESC;
"1349" "Kaz"
"339" "Xeen"
"252" "Adam Wachowski"
"96" "TDC"
"28" "Charlie Cherry"
"28" "Grey"
"17" "Piotr ""0xF"" Fusik"
"15" "Urborg"
"12" "Larek"
"8" "Sikor"
"6" """sOnar"""
"6" "Krzysztof ""XXL"" Dudek"
"6" "Paweł ""Sikor"" Sikorski"
"5" "Nosty"
"5" "Zaxon"
"4" """Przemysław Wrona"""
"4" "Adam Zalepa"
"4" "Asal"
"4" "Dracon"
"4" "Organizatorzy"
"4" "RetroBorsuk"
"4" "scalak"
"3" """Gorgh/Agenda"""
"3" """bocianu"""
"3" """lapusz"""
"3" "0xF"
"3" "Ilmenit"
"3" "Jakub Husak"
"3" "Jerzy ""Mono"" Kut"
"3" "Krzysztof ""Kaz"" Ziembik"
"3" "Mariusz ""Ramos"" Rozwadowski"
"3" "Miker & Adam"
"3" "Voy"
"3" "Zenon"
"3" "cpt. Misumaru Tenchi"
"2" """Adam Zalepa"""
"2" """Miker"""
"2" """Sachy"""
"2" """Wieczór/Lamers"""
"2" "ASMA Team"
"2" "Adv"
"2" "Bartłomiej Kluska, Mariusz Rozwadowski"
"2" "Lotharek"
"2" "Marcin Kiendra"
"2" "Piguła"
"2" "Ramos"
"2" "Rocky"
"2" "Urborg/TDC"
"2" "tbxx"
"1" """Grzybson/SSG"""
"1" """Ilmenit"""
"1" """Koala"""
"1" """Piotr Kruzycki"""
"1" """anticSHOP"""
"1" """innuendo"""
"1" """mgr_inz_rafal"""
"1" """wieczor"""
"1" "Adam & XXL"
"1" "Arno Weber"
"1" "Bachoo"
"1" "Decrunch i RetroGralnia"
"1" "Dracon i Stryker"
"1" "Emu"
"1" "Farscape"
"1" "GolemXIV"
"1" "Iron"
"1" "Jacques"
"1" "Kaczor"
"1" "MDW"
"1" "Mac"
"1" "Marcin ""Adv"" Głuch"
"1" "Muffy"
"1" "Muzeum Techniki i Przemysłu NOT"
"1" "Paweł ""pavros"" Rosowski"
"1" "QTZ"
"1" "Rafał ""bob_er"" Ciepiela"
"1" "Rafał ""bob_er"" Ciepiela & Cyprian Konador"
"1" "Redakcja"
"1" "Różyk"
"1" "Szary"
"1" "Vasco"
"1" "XXL & Yerzmyey"
"1" "Xoen"
"1" "Yoohaas"
"1" "Yosh"
"1" "Zespół Derenegeracji"
"1" "calypso2k/mscp"
"1" "greblus"
"1" "stRing/Agenda"
"1" "szeryf/Lamers"
"471" "Kaz"
"339" "Xeen"
"252" "Adam Wachowski"
"92" "TDC"
"28" "Grey"
"20" "Charlie Cherry"
"17" "Piotr ""0xF"" Fusik"
"11" "Larek"
"7" "Urborg"
"6" """sOnar"""
"6" "Krzysztof ""XXL"" Dudek"
"6" "Paweł ""Sikor"" Sikorski"
"5" "Zaxon"
"4" """Przemysław Wrona"""
"4" "Adam Zalepa"
"4" "Dracon"
"4" "Organizatorzy"
"4" "RetroBorsuk"
"4" "Sikor"
"3" """Gorgh/Agenda"""
"3" """bocianu"""
"3" """lapusz"""
"3" "0xF"
"3" "Jakub Husak"
"3" "Jerzy ""Mono"" Kut"
"3" "Krzysztof ""Kaz"" Ziembik"
"3" "Mariusz ""Ramos"" Rozwadowski"
"3" "Miker & Adam"
"3" "Voy"
"3" "Zenon"
"3" "cpt. Misumaru Tenchi"
"3" "scalak"
"2" """Adam Zalepa"""
"2" """Miker"""
"2" """Sachy"""
"2" """Wieczór/Lamers"""
"2" "ASMA Team"
"2" "Adv"
"2" "Asal"
"2" "Bartłomiej Kluska, Mariusz Rozwadowski"
"2" "Lotharek"
"2" "Marcin Kiendra"
"2" "Piguła"
"2" "Ramos"
"2" "Rocky"
"2" "Urborg/TDC"
"2" "tbxx"
"1" """Grzybson/SSG"""
"1" """Ilmenit"""
"1" """Koala"""
"1" """Piotr Kruzycki"""
"1" """anticSHOP"""
"1" """innuendo"""
"1" """mgr_inz_rafal"""
"1" """wieczor"""
"1" "Adam & XXL"
"1" "Arno Weber"
"1" "Bachoo"
"1" "Decrunch i RetroGralnia"
"1" "Dracon i Stryker"
"1" "Emu"
"1" "Farscape"
"1" "Iron"
"1" "Kaczor"
"1" "Marcin ""Adv"" Głuch"
"1" "Muffy"
"1" "Muzeum Techniki i Przemysłu NOT"
"1" "Nosty"
"1" "Paweł ""pavros"" Rosowski"
"1" "Rafał ""bob_er"" Ciepiela"
"1" "Rafał ""bob_er"" Ciepiela & Cyprian Konador"
"1" "Redakcja"
"1" "Różyk"
"1" "Szary"
"1" "Vasco"
"1" "XXL & Yerzmyey"
"1" "Yoohaas"
"1" "Zespół Derenegeracji"
"1" "calypso2k/mscp"
"1" "greblus"
"1" "stRing/Agenda"
"1" "szeryf/Lamers"
zbyti:
Mam propozycję by nie przenosić nowinek do nowego AOL tylko za pomocą bazy jaką stworzyłem stary AOL (system nowinek a nie platformę, platformę CuteNews można wywalić) pozostawić "do odczytu" oczywiście wyłuska się komentarze i podepnie pod tę starą bazę (chociaż nie chce mi się, oj jak nie chce :-).<?php
$ISO_CHARS_1 = array (
//...
);
$ISO_CHARS_2 = array (
//...
);
//------------------------------------------------------------------
$fn = fopen('comments.txt', 'r') or die('I can not open the file.');
$db = new SQLite3('aol.db');
$db->exec("CREATE TABLE IF NOT EXISTS comments(id INTEGER PRIMARY KEY, news_id INTEGER, author TEXT, email TEXT, ip TEXT, content TEXT)");
$stm = $db->prepare("INSERT or REPLACE INTO comments(id, news_id, author, email, ip, content) VALUES (?, ?, ?, ?, ?, ?)");
$stm->bindParam(1, $id);
$stm->bindParam(2, $newsId);
$stm->bindParam(3, $author);
$stm->bindParam(4, $email);
$stm->bindParam(5, $ip);
$stm->bindParam(6, $content);
while(!feof($fn)) {
$rLine = fgets($fn);
if ($rLine) {
$arrCommentsRow = explode('|>|', $rLine);
if (strlen($arrCommentsRow[1]) > 1) {
$row = $arrCommentsRow[1];
$row = mb_convert_encoding($row, 'UTF-8', 'ISO-8859-2');
$row = strtr($row, $ISO_CHARS_1);
$row = strtr($row, $ISO_CHARS_2);
$newsId = intval($arrCommentsRow[0]);
$arrComments = explode('||', $row);
foreach ($arrComments as $comment){
if (strlen($comment) > 1) {
$arrComment = explode('|', $comment);
$id = intval($arrComment[0]);
$author = $arrComment[1];
$email = $arrComment[2];
$ip = $arrComment[3];
$content = $arrComment[4];
$stm->execute();
}
}
}
}
}
fclose($fn);