Listing 17.1. Fragment pliku propelImportdanychTask.class.php
require_once 'lib/slugs.inc.php';

ProjektHasCzcionkaPeer::doDeleteAll();
CzcionkaPeer::doDeleteAll();
RodzinaPeer::doDeleteAll();
ProjektPeer::doDeleteAll();

//czcionki
$plk = file('data/czcionki.txt');
shuffle($plk);
foreach ($plk as $l) {
    $str_czcionka = trim($l);
    $c = new Criteria();
    $c->add(CzcionkaPeer::NAZWA, $str_czcionka);
    $czcionka = CzcionkaPeer::doSelectOne($c);
    if (!$czcionka) {
        $czcionka = new Czcionka();
        $czcionka->setNazwa($str_czcionka);
        $czcionka->setSlug(string2slug($str_czcionka));
        if (file_exists('web/images/cz/lowercase/' . $slug . '.png')) {
            $czcionka->setPodglad(1);
        } else {
            $czcionka->setPodglad(0);
        }
        $czcionka->save();
    }
}

//czcionki
$plk = file('data/rodziny.txt');
shuffle($plk);
foreach ($plk as $l) {
    $e = explode('|', trim($l));
    $str_rodzina = $e[0];
    $c = new Criteria();
    $c->add(RodzinaPeer::NAZWA, $str_rodzina);
    $rodzina = RodzinaPeer::doSelectOne($c);
    if (!$rodzina) {
        $rodzina = new Rodzina();
        $rodzina->setNazwa($str_rodzina);
        $rodzina->setSlug(string2slug($str_rodzina));
        $rodzina->save();
    }
    $tmp = explode(',', trim($e[1]));
    foreach ($tmp as $str_czcionka) {
        $str_czcionka = trim($str_czcionka);
        $c = new Criteria();
        $c->add(CzcionkaPeer::NAZWA, $str_czcionka);
        $czcionka = CzcionkaPeer::doSelectOne($c);
        if ($czcionka) {
           $czcionka->setRodzina($rodzina);
           $czcionka->save();
        }
    }
}

//projekty
$plk = file('data/projekty.txt');
shuffle($plk);
foreach ($plk as $l) {
    $e = explode('|', trim($l));
    $str_projekt = $e[0];
    $c = new Criteria();
    $c->add(ProjektPeer::NAZWA, $str_projekt);
    $projekt = ProjektPeer::doSelectOne($c);
    if (!$projekt) {
        $projekt = new Projekt();
        $projekt->setNazwa($str_projekt);
        $projekt->setSlug(string2slug($str_projekt));
        $projekt->save();
    }
    $tmp = explode(',', trim($e[1]));
    foreach ($tmp as $str_czcionka) {
        $str_czcionka = trim($str_czcionka);
        $c = new Criteria();
        $c->add(CzcionkaPeer::NAZWA, $str_czcionka);
        $czcionka = CzcionkaPeer::doSelectOne($c);
        if ($czcionka) {
            $phf = new ProjektHasCzcionka();
            $phf->setProjekt($projekt);
            $phf->setCzcionka($czcionka);
            $phf->save();
        }
    }
}