przewiń do treści

Symfony w przykładach

Włodzimierz Gajda

//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

listing-22-03.txt