<?php require_once 'Zend/Tool/Project/Provider/Abstract.php'; require_once 'Zend/Tool/Project/Provider/Exception.php'; class DaneProvider extends Zend_Tool_Project_Provider_Abstract { public function wstaw() { defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application')); defined('APPLICATION_ENV') || define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? etenv('APPLICATION_ENV') : 'development')); set_include_path(implode(PATH_SEPARATOR, array( realpath(APPLICATION_PATH . '/../library'), get_include_path(), ))); require_once 'Zend/Application.php'; $application = new Zend_Application( APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini' ); $application->bootstrap('db'); $Zawodnik = new Application_Model_DbTable_Zawodnik(); $Panstwo = new Application_Model_DbTable_Panstwo(); $Turniej = new Application_Model_DbTable_Turniej(); $Zawodnik->delete(''); $Panstwo->delete(''); $Turniej->delete(''); $tcs = simplexml_load_file('data/tcs.xml'); foreach ($tcs->turniej as $turniej) { $dane = (array)$turniej; $turniej_id = $Turniej->createRow($dane)->save(); foreach ($turniej->miejsce as $miejsce) { $dane_panstwa = array( 'nazwa' => $miejsce->sportowiec->panstwo ); $panstwo_id = $Panstwo->insertIfNotExists($dane_panstwa); $dane_zawodnika = array( 'imie' => $miejsce->sportowiec->imie, 'nazwisko' => $miejsce->sportowiec->nazwisko, 'panstwo_id' => $panstwo_id, ); $zawodnik_id = $Zawodnik->insertIfNotExists($dane_zawodnika); $TurniejHasZawodnik = new Application_Model_DbTable_TurniejHasZawodnik(); $dane = array( 'turniej_id' => $turniej_id, 'zawodnik_id' => $zawodnik_id, 'miejsce' => $miejsce->numer ); $TurniejHasZawodnik->createRow($dane)->save(); } } } }
Listing 25.1. Plik providers/DaneProvider.php
Rozdział 25. Publikowanie aplikacji wykorzystującej bazę danych na serwerze hostingowym