//rozdzialy
$tmp_rozdzialy = string2HArray(file_get_contents('data/dane-zbior-zadan/rozdzialy.txt'));
foreach ($tmp_rozdzialy['items'] as $tmp_rozdzial) {
$dane = array(
'tytul' => $tmp_rozdzial[0],
'slug' => string2slug($tmp_rozdzial[0]),
'numer' => $tmp_rozdzial[1],
);
RozdzialPeer::insert($dane);
}
//zadania
$plks = glob('data/dane-zbior-zadan/txt/*.txt');
foreach ($plks as $plk) {
preg_match('/^(\d+)-(\d+)\.txt$/', basename($plk), $m);
$nr_rozdzialu = $m[1];
$nr_zadania = $m[2];
$rozdzial = RozdzialPeer::retrieveByNumer($nr_rozdzialu);
if (!$rozdzial) {
die('blad ###1');
}
$slug =
uzupelnij_int_zerami($nr_rozdzialu, 2) . '-' .
uzupelnij_int_zerami($nr_zadania, 2);
$dane = array(
'numer' => $nr_zadania,
'slug' => $slug,
'tresc' => file_get_contents($plk),
'rozdzial_id' => $rozdzial->getRozdzialId()
);
$np_cpp = str_replace('txt', 'cpp', $plk);
if (file_exists($np_cpp)) {
$dane['odpowiedz'] = htmlspecialchars(file_get_contents($np_cpp));
}
ZadaniePeer::insert($dane);
}
Listing 22.3. Fragment pliku propelImportdanychTask.class.php
Rozdział 22. Kontekstowe hiperłącza do edycji i usuwania rekordów