Pierwsze kroki z Zend Framework (tytuł oryginału: Getting Started With Zend Framework) - PDF\nPierwsze kroki z Zend Framework (tytuł oryginału: Getting Started With Zend Framework)\nDownload "Pierwsze kroki z Zend Framework (tytuł oryginału: Getting Started With Zend Framework)"\n1 Pierwsze kroki z Zend Framework (tytuł oryginału: Getting Started With Zend Framework) Autor: Rob Allen, Tłumaczenie: Radosław Wersja dokumentu Copyright 2006, 2010 Celem kursu jest nauka podstaw tworzenia aplikacji za pomocą Zend Framework a poprzez utworzenie prostej aplikacji bazodanowej z wykorzystaniem paradygmatu Model-View-Controller. Uwaga: Informacje w tym kursie przetestowane zostały na wersji Zend Framework a. Jest bardzo duża szansa, że opisane tutaj metody zadziałają z nowszą wersją. Nie będą one jednak działać z wersjami poniżej Wymagania Zend Framework posiada następujące wymagania: PHP w wersji (bądź wyższej) Serwer WWW obsługujący mod_rewrite bądź podobną funkcjonalność. Założenia kursu Założyłem, że używasz PHP w wersji przynajmniej wraz z serwerem Apache. Twoja instalacja Apache musi posiadać zainstalowane i skonfigurowane rozszerzenie mod_rewrite. Dodatkowo, upewnij się, że Apache jest skonfigurowany tak, aby mógł obsługiwać pliki.htaccess. Zazwyczaj dokonuje się tego dokonując zmiany dyrektywy konfiguracyjnej: na AllowOverride None AllowOverride All w pliku httpd.conf. Więcej szczegółów znajdziesz w dokumentacji. Jeśli nie skonfigurowałeś prawidłowo mod_rewrite oraz.htaccess, nie będziesz w stanie przejść do innej strony aplikacji niż domowa. Pobranie frameworka Zend Framework dostępny jest pod adresem w formacie.zip bądź tar.gz. Na końcu strony znajdziesz linki do pobrania wybierz wersję Minimal. Konfiguracja Zend_Tool Zend Framework jest dostarczany wraz z narzędziem linii poleceń ZendTool. Zaczniemy od jego konfiguracji. Zend_Tool dla Windows Utwórz nowy folder w Program Files nazywając go ZendFrameworkCli Kliknij dwukrotnie na wcześniej pobrany plik - ZendFramework-[wersja]-minimal.zip. Skopiuj foldery bin oraz library z okna otwartego archiwum ZendFramework-[wersja]- minimal.zip do lokalizacji C:\_Program Files\_ZendFrameworkCli. Folder ten powinien mieć teraz dwa podfoldery: bin oraz library. Dodaj odpowiednią ścieżkę do folderu bin do Path w zmiennych środowiskowych systemu: Strona 1 z 19\n2 Otwórz Właściwości system z poziomu Panelu Sterowania oraz wybierz zakładkę Zaawansoawne. Tam kliknij na przycisk Zmienne środowiskowe. W sekcji Zmienne systemowe znajdź zmienną Path i kliknij na niej dwukrotnie. Dodaj ścieżkę ;C:\_Program Files\_ZendFrameworkCli\_bin na końcu pola i naciśnij OK. (średnik na początku jest istotny!) Zrestartuj computer (w przypadku Windows 7 nie jest to konieczne, wystarczy zamknać okno - przyp. tłum.). Zend_Tool dla OS X (oraz Linux) Rozpakuj archiwum ZendFramework-[wersja]-minimal.zip Skopiuj pliki do folderu /usr/local/zendframeworkcli korzystając z Terminala/konsoli wydając następujące polecenia: sudo cp -r ~/Downloads/ZendFramework-[wersja]-minimal /usr/local/zendframeworkcli Następnie dokonaj edycji profilu basha: Z poziomu Terminala/konsoli, wpisz: open ~/.bash_profile Dodaj linijkę alias zf=/usr/local/zendframeworkcli/bin/zf.sh na końcu pliku Zapisz plik. Zamknij terminal Testowanie Zend_Tool Możesz sprawdzić, czy prawidłowo skonfigurowałeś narzędzie Zend_Tool poprzez otworzenie terminala/ /wiersza poleceń i wpisanie następującego polecenia: zf show version Powinieneś zobaczyć podobny tekst: Zend Framework Version: 1.x.x Jeśli nie, sprawdź ustawione wcześniej ścieżki dostępu oraz czy folder bin znajduje się w folderze ZendFrameworkCli. Jeśli narzędzie zf działa prawidłowo, wydanie polecenia zf --help wyświetli listę wszystkich dostępnych poleceń. Uwaga: Jeśli Twoja dystrybucja PHP zawiera Zend Framework, upewnij się, że nie jest on w wersji 1.9, ponieważ przykłady podane w kursie nie bedą działać. W czasie pisania tego kursu, xampp postępował w ten sposób. Aplikacja Teraz, kiedy posiadamy wszystko co potrzebne do stworzenia aplikacji, sprecyzujmy, jak wspomniana aplikacja ma działać, Zbudujemy bardzo prosty system do katalogowania naszej kolekcji CD. Główna strona zawierać będzie listę naszych płyt(albumów) i pozwoli nam na dodawanie, edycję oraz usuwanie pozycji. Zaczniemy od szkicu aplikacji. Nasza aplikacja wymagać będzie 4 stron: Strona domowa Dodaj nowy album Edytuj album Skasuj album Będzie zawierała listę płyt wprowadzonych do systemu wraz z odnośnikami do kasowania oraz edycji. Dodatkowo, znajdzie się tam odnośnik do dodawania nowej pozycji. Ta strona zawierać będzie formularz dodawania nowego albumu. Ta strona zawierać będzie formularz do edycji danych albumu. Ta strona będzie służyć do potwierdzenia chęci usunięcia albumu oraz obsłuży jego usuwanie. Informacje o albumach będziemy trzymać w bazie danych. Potrzebować będziemy tylko jednej tabeli z następującymi polami: Strona 2 z 19\n3 Nazwa pola Typ Null? Komentarz Id Integer No Primary key, auto increment artist varchar(100) No title varchar(100) No Tworzenie szkieletu aplikacji Zacznijmy tworzenie naszej aplikacji. Gdzie tylko będzie to możliwe, będziemy wykorzystywać narzędzie zf, ponieważ oszczędzi nam pracy i wysiłku. Pierwszym zadaniem będzie stworzenie szkieletu plików i folderów projektu. W tym celu otwórz okno terminal/wiersza poleceń i przejdź do folderu głównego swojego serwera WWW. Upewnij się, że masz prawa do zapisu w tym folderze, a proces serwera prawa do odczytu. Następnie wykonaj polecenie: zf create project zf-tutorial Narzędzie ZF stworzny folder zf-tutorial wraz z rekomendowaną strukturą projektu. Taki układ bazuje na przechowywaniu większości plików i folderów poza folderem publicznym serwera. Zakłada on jednak, że posiadasz pełną kontrolę nad instalacją Apache a. Struktura folderów powinna wyglądać następująco: (W folderze public/ powinien znajdować się jeszcze ukryty plik.htaccess). Folder application/ zawiera kod źródłowy aplikacji. Jak widać, posiadamy osobne foldery dla plików modeli, widoków oraz kontrolerów. Folder public/ jest folderem publicznym znaczy to, że link do aplikacji będzie wyglądał następująco: Dzięki temu większość plików aplikacji nie jest dostępna z poziomu przeglądarki. Uwaga: Strona 3 z 19\n5 Konfigurowanie aplikacji Kontrolery Zend Framework a używają wzorca Front Controller i oraz traktują plik index.php jako jedyne wejścia aplikacji. Plik index.php zapewnia, że środowisko aplikacji będzie prawidłowo skonfigurowane - proces ten nazywany jest bootstrapping. Przekierowanie wszystkich wywołań do public/index.php (utworzonego automatycznie) zapewnia plik.htaccess (stworzony rrzez narzędzie ZF) znajdujący się w folderze zf-tutorial/public. Plik index.php jest punktem wejściowym naszej aplikacji i używany jest do stworzenia instancji klasy Zend_Application, która to inicjalizuje naszą aplikację i uruchamia ją. Plik ten defniuje także dwie stałe: APPLICATION_PATH oraz APPLICATION_ENV które określają odpowiednio ścieżkę do folderu application/ oraz środowisko/tryb działania aplikacji. Domyślnie jest ono ustawione na production, lecz powinieneś zmienić je na development dodając w pliku.htaccess następującą linijkę: SetEnv APPLICATION_ENV development Komponent Zend_Application używany jest do uruchomienia aplikacji na bazie konfiguracji zawartej w pliku application/configs/application.ini. Ten plik także generowany jest automatycznie. Klasa startowa (tzw. Bootstrap ), dziedzicząca po Zend_Application_Bootstrap_Bootstrap znajduje się w pliku application/bootstrap.php. Plik ten może być używany do wykonania niestandardowego kodu wymaganego do startu aplikacji. Plik application.ini, znajdujący się w folderze application/configs ładowany jest poprzez komponent Zend_Config_Ini. Zend_Config_Ini pozwala na wykorzystanie dziedziczenia w ramach plików konfiguracyjnych defniuje się je oddzielając nazwy sekcji pliku application.ini dwukropkiem. Dla przykładu: [staging : production] Oznacza to, że sekcja staging dziedziczy wszystkie ustawienia z sekcji production. Stała APPLICATION_ENV określa, która sekcja zostanie załadowana. Oczywiście podczas tworzenia aplikacji najlepszym rozwiązaniem będzie korzystanie z trybu development, jednakże w przypadku gotowej aplikacji powinno wykorzystywać się tryb production. Wszystkich zmian pliku application.ini dokonywać będziemy w ramach sekcji production, dzięki czemu niezależnie od wybranego trybu działania ładowane bedą wszystkie dyrektywy konfiguracyjne (dzięki mechanizmowi dziedziczenia). Edytowanie pliku application.ini Pierwszą zmianą, jakiej musimy dokonać jest zmiana strefy czasowej dla prawidłowej obsługi dat i czasu w PHP. Dokonaj edycji pliku application/configs/application.ini dodając linijkę: phpsettings.date.timezone = "Europe/London" za wszystkimi wartościami typu phpsettings w sekcji[production]. Oczywiście, powinieneś użyć strefy czasowej odpowiedniej do Twojego miejsca zamieszkania. Teraz możemy dodać własny kod aplikacji. Własny kod aplikacji Zanim zaczniemy pisać aplikacje, ważne jest, aby zrozumieć jakiej organizacji stron oczekuje od nas Zend Framework. Każda strona aplikcji rozumiana jest jako akcja, akcje natomiast pogrupowane są w kontrolery. Dla URLa wyglądającego w ten sposób: kontrolerem będzie News a akcją view. Korzystanie z kontrolerów pozwala na grupowanie powiązanych ze sobą akcji. Dla przykładu, kontroler News może posiadać akcje list, archived and view. MVC w Zend Frameworku posiada także wsparcie dla modułów służą one grupowaniu kontrolerów jednak w przypadku naszej aplikacji nie ma potrzeby korzystania z tej funkcjonalności. Domyślną akcją kontrolerów Zend Frameworka jest akcja index. Znaczy to, że w przypadku wywołania adresu zostanie wywołana akcja index zdenifiowana w kontrolerze News. Dodatkowo zdefuniowany jest domyślny kontroler, którzy także nazywa Strona 5 z 19\n6 się index znaczy to, że wywołanie adresu spowoduje uruchomienie akcji index w ramach kontrolera Index. Biorąc pod uwagę, że kurs ten jest bardzo prosty, nie będziemy zawracać sobie głowy takimi skomplikowanymi rzeczami jak logowanie użytkownika do systemu. To może poczekać do następnego kursu (możesz także poczytać na ten temat książce Zend Framework in Action!) Z racji, że posiadamy cztery strony związane z płytami/albumami, umieścimy je w ramach jednego kontrolera. Użyjemy kontrolera domyślnego i będą to następujące akcje: Strona Kontoler Akcja? Strona główna Index index Dodaj nowy album Index add Edytuj album Index edit Skasuj album Index delete W miarę, jak strona będzie stawała się bardziej skomplikowana, potrzebne będą dodatkowe kontrolery bądź moduły. Tworzenie kontrolera Jesteśmy gotowi do tworzenia kontrolera. W Zend Frameworku, kontroler reprezentowany jest przez klasę, która musi posiadać nazwę pasującą do wzorca: Nazwa kontroleracontroller. Zwróć uwagę, aby Nazwa kontrolera zaczynała się od wielkiej litery. Klasa ta musi być zdefniowana w pliku Nazwa kontroleracontroller.php zapisanym w folderze application/controllers. Każda akcja reprezentowana jest przez metodę publiczną zdefiniowaną w ramach kontrolera i nazywającą się nazwa akcjiaction. W tym przypadku nazwa akcji zaczyna się od małej litery - tak samo cała nazwa powinna być pisana małymi literami. Używanie równocześnie wielkich i małych liter w nazwach kontrolerów oraz akcji jest dopuszczalne, lecz obowiązują specjalne reguły z tym związane tak więc najpierw przeczytaj dokumentację! Nazwa klasy naszego kontrolera to IndexController zdefiniowana ona jest w pliku application/controllers/indexcontroller.php został on automatycznie utworzony przez narzędzie Zend_Tool. Klasa ta zawiera także definicję jednej akcji - indexaction(). Musimy tylko dodać nasze akcje. Akcje można dodawać korzystając z narzędzia zf z opcją create action. Otwórz terminal/wiersz poleceń i przejdź do katalogu zf-tutorial/. Wpisz następujące komendy: zf create action add Index zf create action edit Index zf create action delete Index Utworzą one następujące metody: addaction, editaction oraz deleteaction w ramach kontrolera IndexController oraz pliku widoków, które będą nam potrzebne później. Posiadamy teraz wszystkie akcje, których chcemy użyć. Adresy dla każdej z akcji przedstawiają się następująco: Strona Kontoler IndexController::indexAction() Controller::addAction() IndexController::editAction() IndexController::deleteAction() Strona 6 z 19\n7 Możesz przetestować, czy wspomniane adresy działają powinieneś komunikaty w tym stylu: View script for controller index and script/action name add Note: Jeśli otrzymujesz bład 404, nie skonfigurowałeś prawidłowo Apache a wraz z modułem mod_rewrite bądź nie ustawiłeś prawidłowo dyrektywy AllowOverride w konfiguracji Apache a, przez co plik.htaccess w folderze public/ nie jest interpretowany. Baza danych Teraz, kiedy posiadamy szkielet aplikacji ze zdefniowanym kontrolerem, akcjami oraz widokami, nadszedł czas aby przyjrzeć się modelom naszej aplkacji. Pamiętaj, że model jest tą częścią aplikacji, odpowiada za reguły biznesowe aplikacji i w naszym wypadku reprezentuje bazę danych. Będziemy wykorzystywać klasę Zend_Db_Table, która używana jest do wyszukiwania, dodawania, edycji oraz usuwania rekordów tabeli. Konfiguracja bazy danych Aby móc korzystać z klas Zend_Db_Table, musimy przekazać jej informację z której bazy danych mają korzystać (razem z nazwą użytkownika oraz hasłem). Z racji, że nie chcemy zakodować tej informacji na sztywno w kodzie aplikacji (tzw. hard-coding przyp.tłum.), skorzystamy z pliku konfiguracyjnego. Komponent Zend_Application posiada plugin służący do automatycznej konfiguracji bazy danych, tak więc wystarczy dodać odpowiednie dyrektywy konfiguracyjne do pliku configs/application.ini, a plugin zajmie się resztą. Otwórz plik application/configs/application.ini i dodaj poniższe linie w sekcji [production]: resources.db.adapter = PDO_MYSQL resources.db.params.host = localhost resources.db.params.username = rob resources.db.params.password = resources.db.params.dbname = zf-tutorial Oczywiste jest, że powinieneś użyć swojej nazwy użytkownika, hasła oraz nazwy bazy danych nie moich! (baza musi być wcześniej utworzona - przyp. tłum.). Połączenie z bazą danych zostanie utworzone automatycznie i przypisane do klasy Zend_Db_Table. Na temat innych pluginów Zend_Applicaion możesz poczytać tutaj: Stwórz tabelę bazy danych Jak wspomnieliśmy na początku, do przechowywania naszych danych wykorzystamy bazę danych. Używać będę MySQL, dlatego kod SQL tworzący tabelę wygląda następująco: CREATE TABLE albums ( id int(11) NOT NULL auto_increment, artist varchar(100) NOT NULL, title varchar(100) NOT NULL, PRIMARY KEY (id) ); Uruchom ten kod korzystając z klienta MySQL, np. phpmyadmin bądź klienta mysql obsługiwanego z linii poleceń (komenda mysql). Dodaj testowe dane Dodamy także kilka rekordów do tabeli, abyśmy mogli zaobserwować działanie strony głównej naszej aplikacji. Ja wybiorę listę pierszych pięciu bestsellerów ze sklepu Amazon UK. Wykonaj poniższe zapytanie za pomocą swojego klienta MySQL: INSERT INTO albums (artist, title) VALUES ('Paolo Nutine', 'Sunny Side Up'), Strona 7 z 19\n8 ('Florence + The Machine', 'Lungs'), ('Massive Attack', 'Heligoland'), ('Andre Rieu', 'Forever Vienna'), ('Sade', 'Soldier of Love'); Teraz, kiedy posiadamy prosty zestaw danych w naszej bazie, możemy zabrać się za pisanie prostego modelu. Model Zend Framework nie udostępnia klasy Zend_Model, ponieważ model odpowiada za Twoją logikę biznesową i to od Ciebie zależy jak ją zaimplementujesz. Isnieje wiele różnych komponentów, które możesz wykorzystać do tego celu. Jednym z podejść jest posiadanie klasy modelu dla każdej encji Twojej aplikacji, a następnie używać tzw. obiektu mapującego który pobiera i zapisuje dane do bazy. Podejście to opisane jest w tym dokumencie: Na potrzebny tego kursu, utworzymy model dziedziczący po klazie Zend_Db_Table oraz korzystający z klas Zend_Db_Table_Row. Zend Framework udostępnia component Zend_Db_Table, który implementuje wzorzec projektowy Table Data Gateway. Wzorzec ten udostępnia interfejs do komunikacji z tabelą w bazie danych. Miej jednak na uwadze, że Table Data Gateway może być ograniczeniem w przypadku większych aplikacji. Istnieje także pokusa, aby umieszczać kod związany z obsługą bazy danych w ramach akcji kontrolerów. Klasa Zend_Db_Table_Abstract jest klasa abstrakcyjną, po której dziedziczyć będzie nasza klasa służąca do zarządzania naszymi albumami. Nazwa klasy nie ma znaczenia, aczkolwiek wskazane może być nazwanie jej podobnie jak tabeli w naszej bazie. Nasz projekt posiada domyślny autoloader zainicjowany przez Zend_Application, który mapuje nasze klasy na odpowiadające im pliki w obrębie naszego modułu. Znaczy to, że dla klas umieszczonych w ramach głównego folderu application/ będziemy używać prefiksu Application_ w nazwach klas. Autolader mapuje klasy na w następujący sposób: Form Prefiks forms Folder Model models Model_DbTable models/dbtable Model_Mapper models/mappers Plugin plugins Service services View_Filter view/filters View_Helper view/helpers Z racji, że nazywamy modele zgodnie z nazwami tabel w bazie danych oraz korzystamy z Zend_Db_Table, nasza klasa nazywać się będzie Application_Model_DbTable_Albums i zapisana będzie w pliku applications/models/dbtable/albums.php. Aby dać znać klasom Zend_Db_Table do której tabeli mają się odnosić, musimy przypisać do chronionego atrybutu obiektu ($_name) nazwę tableli. Zend_Db_Table zakłada także, że tablela posiada kolumnę (z kluczem podstawowym) o nazwie id, której wartość zwiększanana jest automatycznie przez bazę danych przy dodawaniu kolejnych rekordów ( autoincrement w MySQL, sekwencje w przypadku PostgreSQL przyp. tłum.). Nazwa kolumny z kluczem podstawowym może być zmieniona, jeśli zajdzie taka potrzeba. Możemy skorzystać z narzędzia ZF w celu oszczędzenia nam pracy. Uruchom poniższą komendę: Strona 8 z 19\n9 zf create db-table Albums albums Narzędzie ZF utworzyło za nas plik Albums.php w folderze application/models/dbtable. Plik ten zawiera definicję klasy Application_Model_DbTable_Albums łącznie z ustawionym atrybutem $_name wskazującym na odpowiadającą tabelę w bazie danych. Teraz musimy dodać trochę własnego kodu. W tym celu, edytuj plik application/models/dbtable/albums.php i dodaj metody getalbum(), addalbum(), updatealbum() and deletealbum() tak, aby plik wyglądał następująco: zf-tutorial/application/models/dbtable/albums.php <?php class Application_Model_DbTable_Albums extends Zend_Db_Table_Abstract protected $_name = 'albums'; public function getalbum($id) $id = (int)$id; $row = $this->fetchrow('id = '. $id); if (!$row) throw new Exception("Could not find row $id"); return $row->toarray(); public function addalbum($artist, $title) $data = array( 'artist' => $artist, 'title' => $title, ); $this->insert($data); public function updatealbum($id, $artist, $title) $data = array( 'artist' => $artist, 'title' => $title, ); $this->update($data, 'id = '. (int)$id); public function deletealbum($id) $this->delete('id ='. (int)$id); Stworzylliśmy cztery metody pomocznicze, z których będzie korzystać nasza aplikacja. Metoda getalbum()zwróci jeden rekord w postacji tablicy, addalbum() tworzy nowy rekord w bazie danych, updatealbum() uaktualnia informacje o albumie a deletealbum() usuwa album. Kodu dla każdej z tych akcji nie trzeba raczej wyjaśniać. Możesz także skonfigurować Zend_Db_Table tak, aby móc pobierać dane z powiąznych tabel, aczkolwiek nie jest to częścią tego kursu. Naszym zadaniem będzie pobranie danych z bazy danych w kontrolerze i przypisanie ich do widoku, jednakże, zanim będziemy mogli tego dokonać, musimy zrozumieć jak działa system widoków w Zend Frameworku. Szablony widoku (layouts) i widoki (views) Strona 9 z 19\n10 Komponent widoku Zend Frameworka nazywa się Zend_View co nie jest zaskakujące. Komponent widoku pozwoli nam na rozdzielenie kodu odpowiedzialnego za wyświetlanie strony od kodu w akcjach kontrolerów. Podstawowy sposób użycia Zend_View wygląda tak: $view = new Zend_View(); $view->setscriptpath('/path/to/scripts'); echo $view->render('script.php'); Łatwo można zauważyć, że korzystając z powyższego kodu w każdej z naszych akcji, skończymy na pisaniu w kółko tego samego, strukturalnego kodu, który nie ma nic wspólnego z wykonywaną akcją. Lepszym rozwiązaniem byłoby zainicjowanie gdzieś obiektu widoku i korzystanie z zainicjowanego już obiektu. Zend Framework udostępnia ActionHelper (po polsku pomocnik akcji ) o nazwie ViewRenderer. Jego zadaniem jest zainicjowanie atrybutu widoku w ramach kontrolera($this->view) oraz automatyczne wyrenderowanie widoku pod koniec wykonywania akcji. W celach renederingu, ViewRenderer konfiguruje obiekt Zend_View tak, aby szukał on plików widoku w folderze views/scripts/nazwa kontrolera i domyślnie wybierał plik o takiej samej nazwie jak nazwa wykonywanej akcji, z dodanym rozszerzeniem phtml. Tak więc renderowanym plikiem widoku będzie views/scripts/nazwa kontrolera/nazwa akcji.phtml a wygenerowana treść zostanie przypisana do obiektu Response. Obiekt Response używany jest w celu łączenia wszystkich nagłówków HTTP, zawartości odpowiedzi oraz wyjątków będących wynikiem używania MVC. Front Controller pod koniec przetwarzania żądania automatycznie wysyła nagłówki, a wraz z nimi treść odpowiedzi. Wymienione wyżej czynności są wykonywane za nas automatycznie podczas tworzenia projektu czy też dodawania kontrolerów oraz akcji za pomocą Zend_Tool. Wspólny kod HTML: Szablony widoków (layouts) Szybko staje się oczywiste, że w naszych widokach będzie sporo identycznego kodu HTML m.in. dla nagłówka i stopki, możliwe także, że dodatkowo dla paneli bocznych, Jest to często spotykany problem, dlatego ZendFramework zawiera komponent Zend_Layout. Zend_Layout pozwala nam na przeniesienie powtarzającego się kodu (nagłówek, stopka itd) do pliku szablonu widoku, w ramach którego wstawiana jest zawartość wyrenderowanego widoku przypisanego do wykonywananej akcji. Domyślnym miejscem do zapisywania szablonów widoku jest folder application/layouts/. Istnieje także plugin do Zend_Application który skonfiguruje Zend_Layout za nas. Skorzystamy z Zend_Tool do stworzenia szablonu widoku i modyfikacji pliku konfiguracji. Z poziomu terminala/wiersza poleceń wykonaj następująca komendę w folderze zf-tutorial: zf enable layout Zend_Tool stworzył folder application/layouts/scripts oraz szablon widoku layout.phtml w tym folderze. Dokonał także modyfikacji pliku application.ini dodając linijkę resources.layout.layoutpath = APPLICATION_PATH "/layouts/scripts/" na końcu sekcji [production]. Na samym końcu procesu przetwarzania żądania, kiedy akcje kontrolerów zostały już wykonane, Zend_Layout dokona renderingu naszego szablonu widoku. Zend_Tool udostępnia bardzo prosty szablon który wyświetla tylko zawartość pliku widoku wykonywanej akcji. Dodamy do niego kod wymagany w naszej aplikacji. Otwórz plik layouts.phtml i zamień znajdujący się tam kod na poniższy: zf-tutorial/application/layouts/scripts/layout.phtml <?php $this->headmeta()->appendhttpequiv('content-type', 'text/html;charset=utf-8'); $this->headtitle()->setseparator(' - '); $this->headtitle('zend Framework Tutorial'); Strona 10 z 19\n11 echo $this->doctype();?> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <?php echo $this->headmeta();?> <?php echo $this->headtitle();?> </head> <body> <div id="content"> <h1><?php echo $this->escape($this->title);?></h1> <?php echo $this->layout()->content;?> </div> </body> </html> Plik szablonu zawiera zewnętrzny kod HTML, który wygląda dość standardowo. Tak samo jak w ramach normalnych plików PHP, w ramach widoków i szablonów możemy korzystać ze składni PHP. Dostępna zmienna $this odpowiada obiektowi widoku, do którego mamy dostęp z poziomu kontrolera: $this- >view. Możemy uzywać tego obiektu do pobierania danych oraz w celu wywoływania metod. Metody te (znane jako helpery widoku view helpers) zwracają najczęściej ciąg tekstowy, tak więc możliwe jest użycie instrukcji echo. Na początku konfigurujemy kilka helperów widoku dla sekcji head strony, a następnie wyświetlamy prawidłowy doctype. W ramach taga <body>, stworzymy diva zawierającego tag <h1> z tytułem strony. Aby zagnieździć widok wykonywanej właśnie akcji w ramach szablonu widoku, skorzystamy z helpera layout(): echo $this->layout()->content;. Znaczy to, że najpierw zostanie wykonany skrypt widoku, a następnie szablon. Zanim zaczniemy, musimy ustawić doctype. Z racji że widoki renederowane są wcześniej, warto ustawić odpowiedni doctype na samym początku żądania, tak aby niektóre klasy mogły z tego korzystać - przykładem takiej klasy jest Zend_Form. Aby ustawić doctype dodamy jeszcze jedną linię w pliku application.ini, w sekcji[production]: resources.view.doctype = "XHTML1_STRICT" Dzięki temu helper doctype() wygeneruje za nas odpowiedni ciąg znaków, a komponenty takie jak Zend_Form będą w stanie wygeneorwać kod odpowiedni dla wybranego standardu. Stylowanie Mimo tego, że dokument ten jest tylko wprowadzeniem, będziemy potrzebować pliku CSS, aby nasza aplikacja wyglądała choć trochę reprezentatywnie. Niestety, wykorzystanie plików CSS powoduje mały problem polegający na tym, że nie wiemy jaką ścieżkę podać do pliku CSS, ponieważ aplikacja nie znajduje się w głównym folderze serwera (tzn, że uruchamiamy ją z poziomu - przyp.tłum.).jednakże, istnieje helper o nazwie baseurl(). Jego zadaniem jest pobranie informacji z obiektu żadania i utworzenie odpowiedniego przedrostka adresu (w naszym wypadku zwróci on ciąg zf-tutorial/public). Możemy teraz dodać odnośnik do pliku CSS w ramach sekcji <head> pliku application/layouts/scripts/layout.phtml ponownie wykorzystując do tego helper widoku - w tym wupadku będzie to headlink(): zf-tutorial/application/layouts/scripts/layout.phtml <head> <?php echo $this->headmeta();?> <?php echo $this->headtitle();?> <?php echo $this->headlink()->prependstylesheet($this->baseurl().'/css/site.css');?> </head> Strona 11 z 19\n12 Poprzez wykorzystanie metody prependstylesheet()helpera headlink(), zezwalamy widokom na dołączanie specyficznych dla siebie plików CSS, które zostaną podlinkowane w sekcji <head> po pliku głównym - site.css. W pliku CSS potrzebujemy kilku podstawowych defnicji, tak więc utwórzmy folder css w lokalizacji public/ oraz plik site.css z poniższym kodem: zf-tutorial/public/css/site.css body,html margin: 0 5px; font-family: Verdana,sans-serif; h1 font-size: 1.4em; color: #008000; a color: #008000; /* Table */ th text-align: left; td, th padding-right: 5px; /* style form */ form dt width: 100px; display: block; float: left; clear: left; form dd margin-left: 0; float: left; form #submitbutton margin-left: 100px; Teraz strona powinna wyglądać troszkę ładniej, aczkolwiek jak widzisz nie jestem grafikiem! Możemy teraz śmiało wykasować zawartość plików index.phtml, add.phtml, edit.phtml oraz delete.phtml, które jak pewnie pamiętasz, znajdziesz w folderze pplication/views/scripts/index. Lista albumów Teraz, kiedy mamy przygotowaną konfigurację, schemat bazy danych oraz podstawowe widoki, możemy zabrać się za pisanie kodu aplikacji. Zaczniemy od klasy IndexController i akcji indexaction() przygotujemy kod, który pobierze listę albumów z bazy danych i wyświetli ją w postaci tabeli. zf-tutorial/application/controllers/indexcontroller.php function indexaction() $albums = new Application_Model_DbTable_Albums(); $this->view->albums = $albums->fetchall(); Strona 12 z 19\n13 Najpierw tworzymy nowy obiekt modelu. Metoda. fetchall() zwraca obiekt klasy Zend_Db_Table_Rowset, który pozwoli nam iterować po znalezionych rekordach w ramach pliku widoku. Możemy teraz zapisać poniższy kod w pliku index.phtml: zf-tutorial/application/views/scripts/index/index.phtml <?php $this->title = "My Albums"; $this->headtitle($this->title);?> <p><a href="<?php echo $this->url(array('controller'=>'index', 'action'=>'add'));?>">add new album</a></p> <table> <tr> <th>title</th> <th>artist</th> <th> </th> </tr> <?php foreach($this->albums as $album) :?> <tr> <td><?php echo $this->escape($album->title);?></td> <td><?php echo $this->escape($album->artist);?></td> <td> <a href="<?php echo $this->url(array('controller'=>'index', 'action'=>'edit', 'id'=>$album->id));?>">edit</a> <a href="<?php echo $this->url(array('controller'=>'index', 'action'=>'delete', 'id'=>$album->id));?>">delete</a> </td> </tr> <?php endforeach;?> </table> Pierwszymi rzeczami, jakie zrobimy będzie ustawienie tytułu strony (wykorzystana będzie w layoucie) oraz ustawienie tytułu dla sekcji <head>, używając helpera headtitle() wyświetlony zostanie on na pasku przeglądarki. Następnie tworzymy odnośnik do dodania nowego albumu. Helper widoku o nazwie url() jest częścią frameworka i odpowiada za stworzenia prawidłowego odnośnika wraz z adresem bazowym. Wystarczy, że przekażemy tablicę parametrów z nazwą kontrolera i akcji, a resztą zajmie się helper. Następnie tworzymy tabelę zawierającą tytuł i wykonawcę każdego albumu oraz odnośniki prowadzących do edycji oraz usuwania rekordów. Wykorzystujemy standardową pętlę foreach: do iteracji po liście albumów. Warty odnotowania jest fakt, że używamy alternatywnej formy zapisu instrukcji sterujących zakończonych dwukropkiem oraz średnikiem w przypadku endforeach; - rozwiązanie takie pozwala łatwiej zorientować się w kodzie. Ponownie wykorzystujemy helper url() do utworzenia odnośników. Jeśli przejdziesz pod adres (bądź ten ustawiony przez Ciebie!) powinieneś zobaczyć listę albumów, wyglądającą mniej więcej tak: Strona 13 z 19\npawel.rajba@gmail.com, http://kursy24.eu/ Zend Framework Wprowadzenie Funkcjonalności Adresy i nawigacja Obiekty request i response Ciastka Layout, kontroler, widok Sesje Formularze Uwierzytelnianie i


Męskie bluzy jesień 2011 — LUXURYMAG\nMęskie bluzy jesień 2011\n16 września 2011, bluzy przez głowę, bluzy na zamek, sportowe bluzy, bluzy na jesień, sport, Nike, Adidas, DC, Horsefeathers\nMęska bluza jest bardzo wygodnym rodzajem ubrania, dlatego też mężczyźni je uwielbiają. Jest lekka, można ją nosić cały dzień i wygląda bardzo fajnie. Wybierać można z wielu rodzajów bluz w ofercie znanych, sportowych i nie tylko marek. Krój i kolor możesz wybierać zgodnie ze swoimi upodobaniami. Producenci bluz wysokiej jakości, w swoich jesiennych kolekcjach udowodnili co potrafią..\nZnana sportowa marka Nike znana jest ze swoich wysokiej jakości produktów. Tak samo w przypadku bluz pokazuje wysoki poziom swoich produktów. Marka doskonale zna powagę mężczyzn, dlatego swe bluzy zaprojektowała w bardzo męskich, ulubionych pańskich kolorach. Nie zapomniała też o swoim logo. W niektórych przypadkach logo ozdabia cały przód bluzy lub plecy, a czasami jest to tylko mały znaczek po prawej czy lewej stronie, który dodaje stylu. Nike daje duży wybór miejskich bluz na zamek, przez głowę, z kapturem czy z kangurzą kieszenią.\nMarka adidas jest podobna do Nike. W ich produktach znajdziemy wiele wspólnych cech. Produkują ubrania sportowe i miejskie. Na swoich modelach starają się uwydatnić swoje logo. Zostają wierni swym klientom prezentując wciąż ten sam, oryginalny styl. Nawet jeśli marka adidas powstała ponad 15 lat wcześniej niż Nike, dzisiaj można powiedzieć że są tak samo popularne. Nie różnią się ani krojami, ani cenami, jedynie znaczkiem.\nMarka ta bardzo postarała się ze swoją kolekcją bluz na jesień/zimę 2011. Jak zawsze bawi się żywymi kolorami i ciekawymi pomysłami. Jej oryginalność wynika z kombinacji niebieskiego z czarnym, czerwonego z białym, zielonego z niebieskim czy czarnego z żółtym. Każda bluza Horsefeathers żarzy jedną z żywych barw. Logo marki na swoich bluzach na jesień/zimę 2011 umieszczone zostało na całej przedniej stronie bluz. Oczywiście znajdą się wyjątkowe modele, które mają mniejsze logo, lub logo jest rozcinane przez zamek. W kolekcji Horsefeathers zaskoczą Cię także nietradycyjne bluzy na guziki, które wyglądają super!\nMarka DC zajmuje się przede wszystkim produkcją obuwia, ale to nie znaczy, że zaniedbuje produkcję bluz. DC specjalizuje się w obuwiu i odzieży do skateboardingu, snowboardu, BMX, w stylu motorcross, rally i surfing. Produkty DC mają wysoką jakość by mogły wytrzymać warunki noszenia w ekstremalnych sportach. Nie da się powiedzieć czy w kolekcji jesień/zima 2011 bluzy DC przeważają w formie na zamek czy przez głowę. W kolorach przeważa czarny i szary. Nie doczekasz się tutaj żywych kolorów, jedynie wybladłego czerwonego, zielonego i niebieskiego. Mimo to bluzy te wyglądają bardzo stylowo i z pewnością je polubisz.\nŹródła: www.adidas-shop.cz www.coreshop.cz www.queens.cz iStockPhoto / Thinkstock\nAutorem artykułu jest Milena M.. Artykuł znajdziesz w kategorii odzież męska oraz sekcji trendy w modzie na jesień.


Zainteresowanie inwestorów Służewcem nie słabnie | Komercja24.pl\nBlisko 35 000 mkw. wynajętych biur w I kw. 2019 roku, 3 900 mieszkań oddanych do użytku w ostatnich trzech latach i ponad 600 milionów euro w transakcjach na rynku biurowym od 2015 roku – międzynarodowa agencja doradcza JLL przeanalizowała aktywność inwestorów na warszawskim Służewcu Przemysłowym.\nWarszawski Służewiec to jeden z najważniejszych hubów biurowych w stolicy i Polsce. Świadczą o tym liczby – od 2013 roku wynajęto tam ponad 1 mln mkw. biur, a w samym pierwszym kwartale prawie 35 000 mkw., co było najwyższym wynikiem spośród wszystkich stołecznych dzielnic biurowych. W ostatnich latach największe umowy w tej części stolicy podpisały globalne marki takie jak AstraZeneca, Ringier Axel Springer Polska, Nestle, Nokia czy Schneider. Jeśli wysokiej aktywności najemców będą towarzyszyć działania mające na celu kreowanie większej liczby zielonych skwerów i projektów miastotwórczych oraz dalsze usprawnienia infrastrukturalne, Służewiec nadal będzie zyskiwał w oczach inwestorów i mieszkańców.\nRównież na ryku mieszkaniowym popyt w tej części Warszawy jest duży. W ostatnich trzech latach deweloperzy oddali tam do użytku 3 900 mieszkań (z tego 44% stanowiły lokale o podwyższonym standardzie), czyli o blisko 1 000 więcej niż w latach 2010-2015. Dzielnica ta jest też często rozważana przez inwestorów planujących zakup „pod wynajem” ze względu na dużą liczbę miejsc pracy tworzonych przez lokalnych pracodawców. W kolejnych latach będziemy obserwować dalszy intensywny rozwój budownictwa mieszkaniowego w tej części miasta – w latach 2019 – 2021 deweloperzy zamierzają wybudować tam blisko 4 000 mieszkań.\nWarto jednak podkreślić, że dostępność niezabudowanych gruntów w stolicy jest coraz mniejsza, co w przyszłości będzie generować konieczność zmiany funkcji wielu nieruchomości, również tych, które zostały już zrealizowane na Służewcu. W cenie będą zwłaszcza wielofunkcyjne kompleksy z budynkami biurowymi, mieszkalnymi i szeroką ofertą gastronomiczno-handlową, które stworzą atrakcyjne miejsce do życia. Doskonałym przykładem stołecznej dzielnicy, która pełni funkcję samowystarczalnego osiedla jest Miasteczko Wilanów. Służewiec ma jednak tę przewagę, że zadomowiło się tam wiele międzynarodowych pracodawców. Jego mieszkańcy mogą więc tutaj zarówno mieszkać, jak i pracować.\nAutorami raportu są eksperci z JLL.


30% Club startuje w Polsce. Cele ma ambitne | Zarządzanie | pulshr.pl\nW Polsce wystartował 30% Club, promujący różnorodność w biznesie. Jednym z najważniejszych postulatów jest osiągnięcie co najmniej 30 proc. reprezentacji kobiet w zarządach i radach nadzorczych w 140 największych polskich spółkach giełdowych do 2030 roku.\n•9 cze 2021 19:00\nW Polsce wystartował 30% Club, promujący różnorodność w biznesie (fot. Shutterstock)\nCele pośrednie to m.in. dwudziestoprocentowy udział kobiet we władzach spółek z WIG20, mWIG40 i sWIG80 do 2025 roku oraz brak wśród nich takich, które nie mają żadnych kobiet w swoich władzach.\nPod koniec 2020 roku udział kobiet we władzach firm z indeksów WIG20, mWIG40 i sWIG80 wyniósł zaledwie 15,5 proc.\nInicjatywa 30% Club została zapoczątkowana w Wielkiej Brytanii w 2010 roku przez brytyjską finansistkę Helenę Morrissey.\nNajważniejszym postulatem 30% Club Poland jest osiągnięcie co najmniej 30 proc. reprezentacji kobiet w zarządach i radach nadzorczych (liczone łącznie) w 140 największych polskich spółkach giełdowych do 2030 roku.\n- Różnorodność płci jest ważną częścią szerszej kwestii różnorodności na wyższym szczeblu przedsiębiorstw. Bardziej różnorodny zarząd i rada nadzorcza to szerszy zakres doświadczenia, wiedzy i kompetencji, co z kolei prowadzi do lepszego podejmowania decyzji i wysokiej kultury korporacyjnej. Jest to również bardziej reprezentatywne dla struktury pracowniczej firmy, jej bazy klientów i społeczności. Bardziej różnorodne władze wspierają organizację w osiągnięciu pełnego potencjału biznesowego i w tworzeniu wartości dla wszystkich interesariuszy. Różnorodność płci w firmach odgrywa ważną rolę w budowaniu odpowiedzialnego społecznie biznesu, a także bardziej sprawiedliwej i zrównoważonej gospodarki – wyjaśnia James Van Bergh, przewodniczący rady nadzorczej Benefit Systems i członek-założyciel 30% Club Poland.\nZobacz: Kobiety potrzebują odwagi, by sięgać po to, czego pragną\nPracy by zrealizować cel będzie sporo. Pod koniec 2020 roku udział kobiet we władzach firm z indeksów WIG20, mWIG40 i sWIG80 wyniósł zaledwie 15,5 proc.\n- Analizy rynkowe wskazują, że jeśli dynamika wzrostu obecności kobiet na kierowniczych stanowiskach w skali całego globu nie zwiększy się, to osiągnięcie parytetu zajmie nawet 30 lat. Takie prognozy nie tylko działają na wyobraźnię, ale pokazują także, jak ważne jest podejmowanie konkretnych inicjatyw w tym zakresie. Cieszymy się, że dołączyliśmy do inicjatywy promującej równość i różnorodność, bo to wartości bliskie Benefit Systems i ruchowi B Corp, do którego należymy. Mam nadzieję, że kampania 30% Club zwiększy świadomość w zakresie pozytywnego wpływu różnorodności i równości płci na działalność firm i decyzje biznesowe, trwale zmieniając kulturę korporacyjną w naszym kraju – zaznacza Emilia Rogalewicz, członek zarządu Benefit Systems.\nUczestnictwo w projekcie polega na realizowaniu mierzalnych celów z zakresu różnorodności płci we władzach spółek oraz wspieraniu kobiet w ich karierach zawodowych. Próg 30 proc. ma swoje źródło w teorii masy krytycznej, w której określono minimalny odsetek grupy mającej wpływ na decyzje podejmowane przez większość. Do inicjatywy mogą przystąpić prezesi zarządów i przewodniczący rad nadzorczych spółek publicznych lub firm posiadających więcej niż 100 pracowników.\nInicjatywa 30% Club została zapoczątkowana w Wielkiej Brytanii w 2010 roku przez brytyjską finansistkę Helenę Morrissey, której celem było osiągnięcie 30 proc. udziału kobiet we władzach spółek z indeksu FTSE100. Cel zrealizowano we wrześniu 2018 roku, a obecnie udział kobiet w spółkach FTSE100 wynosi 37,1 proc. i 34,5 proc. w spółkach FTSE350.\nDo artykułu: 30% Club startuje w Polsce. Cele ma ambitne


Jakub Balcerski 24.05.2022 21:58\nPowrót "Siwego Bajeranta", czyli Vitala Heynena, testy Stefano Lavariniego, który poszukuje dla kadry nowych opcji w ataku oraz liderek i na koniec jego debiutancka porażka jako trenera polskich siatkarek. Spostrzeżenia z przegranego w pięciu setach meczu z Niemkami otwierającego nową erę dla reprezentacji Polski zebrał Jakub Balcerski.\nScreen Polsat Sport, fot. Jakub Balcerski, Sport.pl\nWtorek w Arenie Gliwice był dniem debiutów - Stefano Lavariniego w reprezentacji Polski i Vitala Heynena u Niemek. Po pierwszych dwóch setach wydawało się, że lepiej pierwszy z dwóch sparingów pomiędzy tymi drużynami będzie wspominał Lavarini - jego zespół prowadził 2:0. Ostatecznie Niemki odwróciły jednak losy spotkania i mogły się cieszyć wygraną 3:2 (19:25, 20:25, 27:25, 25:19, 16:14). Show poza boiskiem skradł, jak zawsze, Belg.\nHeynen wrócił do Polski w nowej roli. I zmienił się tylko kolor jego koszulki\nGodzina i dwadzieścia minut do rozpoczęcia meczu, a Vital Heynen już siedzi na ławce rezerwowych przy boisku. To dzień jego powrotu do Polski, choć w nowej roli i kibice mogą być nieprzyzwyczajeni do widoku byłego trenera w innej koszulce niż biało-czerwona. Ale to jedyna zmiana. Bo Belg zachowywał się bardzo po swojemu.\nChoć określenie "Siwy Bajerant" na stałe przylgnęło do Paulo Sousy, to Heynen spokojnie mógłby je przejąć. I to niekoniecznie w negatywnym znaczeniu. Tak dobrze znany polskim kibicom trener po prostu nadal przed meczem chodzi po całej hali, wita się ze wszystkimi, rozmawia z dziennikarzami dłużej niż z zawodniczkami i wydaje się nieprzejęty swoją drużyną. W trakcie meczu spokojnie obserwuje każdą akcję i odwraca się do ławki, żeby spojrzeć na ułożony na jednym z krzeseł tablet prezentujący opóźniony podgląd na wymiany na boisku. W jednym był jednak niepodobny do siebie: ani razu nie pokłócił się z sędziami. To jednak tylko sparing, więc chyba nie miał ochoty wywierać na nich presji.\nPolki zastygły. Pięć piłek meczowych i żadnej wykorzystanej\nPomimo niekorzystnego wyniku Heynen po pierwszych dwóch setach, nie złościł się na swoje zawodniczki, a te w końcu się rozegrały. Grały do końca, pokazywały sporo determinacji i ostatecznie wygrały pięciosetowy sparingowy maraton.\nZa to Polki w końcówce tie-breaka wręcz zastygły na boisku i ze stanu 14:9 zrobiło się 14:16. Nie skończyły żadnej z pięciu piłek meczowych i popsuły sobie nieco nastroje, schodząc z boiska w roli przegranych. Nie pozostawiły po sobie najlepszego wrażenia.\nLavarini testuje: poszukiwania rozwiązania na atak i liderek kadry\nTrenera Stefano Lavariniego wynik nie musi jednak interesować. W czasie meczu wymyślił sobie inne główne zadanie: testował. Na początku sezonu Włoch musi się zmierzyć z dwoma sporymi problemami. Oba mają tę samą przyczynę: w składzie Polek na Lidze Narodów zabraknie dwóch dotychczasowych liderek kadry grających na ataku, Magdaleny Stysiak i Malwiny Smarzek. To sprawia, że na prawym skrzydle spośród powołanych zawodniczek nominalnie grają tylko Karolina Drużkowska i Weronika Sobiczewska. Trener Polek ma teraz zatem czas, żeby swoje opcje na pierwszą część sezonu rozszerzyć, szukając przyjmujących, które mogą zagrać także w ataku. Ale to nie jedyna rola potrzebna polskiej kadrze od zaraz. Lavarini poszukuje także liderki: zawodniczki, która będzie ciągnąć zespół w trudnych chwilach i stanie się jego twarzą.\nDo pierwszej szóstki na mecz Lavarini wybrał Weronikę Szlagowską, Katarzynę Wenerską, Kamilę Witkowską, Agnieszkę Kąkolewską, Olivię Różański, Zuzannę Górecką i Marię Stenzel. Ostatecznie pozwolił zagrać czternastu siatkarkom, bo poza nimi na boisko wchodziły też Martyna Czyrniańska, Weronika Sobiczewska, Monika Fedusio, Justyna Łukasik, Anna Stencel, Klaudia Alagierska i Alicja Grabka. Zabrakło tylko Aleksandry Gryki, Magdaleny Jurczyk i Martyny Łukasik.\nLiderki wśród nich jeszcze nie widać, ale o ile ona wykreuje się pewnie sama, wraz z kolejnymi tygodniami i rozegranymi meczami, tak zastępstwo na ataku Lavarini musi wykreować sam. I w Gliwicach na pewno bardzo zależało mu na sprawdzeniu, jak na prawym skrzydle zagra Olivia Różański, ale także, jak wypadnie skuteczność ataków u Weroniki Szlagowskiej.\nPrzez trzy sety do momentu zejścia z boiska Szlagowska bardzo dobrze przyjmowała - na 58 procent skuteczności, ale w ataku skończyła pięć z osiemnastu dogranych do niej piłek. Pod tym względem dużo lepiej wyglądała Różański - siedemnaście punktów przy 45 otrzymanych piłkach w ataku. W późniejszej analizie spotkania ważna będzie także to, jak grą zarządzały Katarzyna Wenerska i Alicja Grabka. Obie rozgrywające są kandydatkami do roli drugiej zawodniczki na tej pozycji, za Joanną Wołosz, która do reprezentacji dołączy po chwili odpoczynku ze względu na grę w finale Ligi Mistrzyń, który jej Imoco Volley Conegliano przegrało z Vakifbankiem Stambuł. W Gliwicach nieco lepiej wyglądała gra Wenerskiej, ale swoje momenty i dobre akcje miała i Grabka.\nNiemki zeszły z boiska, a Polki stały w szoku. Test nowych zasad\nA sam mecz? Pomimo gry przez aż pięć setów, to było raczej spotkanie z tych do analizy, wypatrywania miejsca na poprawę i sprawdzaniu poszczególnych zawodniczek. Mało jakości, bo siatkarki z obu stron zmęczone długim ligowym sezonem, a w swoich kadrach jeszcze niezgrane z resztą drużyny.\nNudę na początku spotkania przerwał długi gwizdek sędziego przy wyniku 12:11 w pierwszej partii. Niemki od razu zeszły do linii bocznej, a Polki stały zdziwione na boisku i zastanawiały się, co się dzieje. Okazało się, że podczas spotkania testowane są nowe przepisy FIVB, które mają być standardem w świecie siatkówki i zaczną obowiązywać już podczas Ligi Narodów.\nNiemki schodziły na przerwę techniczną, która od teraz będzie się pojawiała po zdobyciu przez jeden z zespołów dwunastego punktu. Pozostałe nowinki to jeden czas na żądanie dla trenera w jednym secie i brak zmian stron po każdym z setów - pozostałość gry w czasie epidemii koronawirusa.\nSemeniuk przenosi się do Włoch. Kulisy transferu zaskakują. "Za wysokie progi"\nAtmosfera w Gliwicach dobra w kadrze, gorsza na trybunach\nAtmosfera w polskiej drużynie z daleka przez całe spotkanie wyglądała na dobrą. Zawodniczki były skupione na grze, uśmiechnięte i cieszyły się po swoich dobrych zagraniach. Szkoda, że nie towarzyszyło im zbyt wielu kibiców. Mecz nie stworzył wyjątkowego klimatu, choć oczywiście nie miał też wielkiej rangi. W Arenie Gliwice pojawiło się jednak maksymalnie kilka tysięcy osób, a hala potrafi przecież pomieścić nawet ponad 13 tysięcy widzów.\nMoże gdyby ceny biletów były nieco niższe, a nie równe lub wyższe od tych przygotowanych na mistrzostwa świata (29-49 złotych) współorganizowane w tym roku przez Polskę, to fanów byłoby nieco więcej. Nie pomagały jednak także ani pora i dzień rozgrywania spotkania, ani pogoda - w Gliwicach od kilku godzin padało. Hala nie przypominała zatem zapełnionej. Może inaczej będzie w przypadku środowego sparingu w Nysie - tam do hali wejdzie tylko 2,5 tysiąca osób, więc i atmosfera powinna być lepsza. Początek meczu zaplanowano na godzinę 18:30.


Wiadomości: Jacek Malczewski: Walczymy dalej\nStrona Główna > Aktualności > Liga Siatkówki Kobiet > Jacek Malczewski: Walczymy dalej\nJacek Malczewski: Walczymy dalej\n7 kwietnia 2013 10:33\nZespół AZS-u Metal-Fach Białystok przegrał w sobotę kolejne spotkanie z Siódemką Legionovią Legionowo i jest o krok od spadku z ORLEN Ligi. Z pewnością do słabej dyspozycji białostoczanek przyczynił się między innymi mocno okrojony skład.\nNatalia Kurnikowska, kapitan AZS-u Metal-Fach, przyznała po meczu, że w ubiegłym tygodniu zespół nie trenował ani razu w komplecie. Trener Jacek Malczewski podczas sobotniego spotkania musiał rotować składem, aby znaleźć jakiś mocny element, a także zaskoczyć rywalki. Częściowo udało się to w trzecim secie, w którym jego podopieczne miały kilka piłek setowych w górze. Mimo to partię na swoją korzyść, po walce na przewagi, rozstrzygnęły siatkarki Legionovii.\n– Słabe przyjęcie to główna przyczyna naszej porażki – krótko podsumował mecz szkoleniowiec białostoczanek. – Ale jutro jest nowy dzień, kolejny mecz i walczymy dalej – dodał.\nRównież Ewelina Polak, rozgrywająca AZS-u, zapowiada, że jej drużyna jeszcze się nie poddała. – Ta rywalizacja jeszcze się nie kończy. Gra się do czterech wygranych. W zeszłym roku zespół z Białegostoku w barażach także był w trudnej sytuacji, ale wygrał. Mam nadzieję, że nam też się to uda, a już na pewno nie oddamy tego bez walki.\nAZS Białystok, Elżbieta Polak, Jacek Malczewski, Legionovia Legionowo, ORLEN Liga


Podkategoria: Zdrowa żywność - strona 1 - Darmowy katalog stron www - Ajla.pl\nLifeandhealth.pl jest blogiem dla każdego zainteresowanego zdrowym sposobem na życie i aktywne spędzanie czasu. Staramy się aby nasze artykuły kompleksowo wyjaśniały temat którego dotyczą. Chcesz dowiedzieć się jak o siebie dbać i jak postępować w chorobie sprawdź na blogu Lifeandhealth.pl....\nWoda zdrowa- czy na pewno?\nGdy pod koniec XIX w. zaczęto zakładać wodociągi ich zadaniem była dezynfekcja wody w celu ochrony konsumentów przed bakteriami. Tylko 3% zasobów wody w oczyszczalniach jest przeznaczonych dla konsumpcji w domostwach, dlatego tylko osmotyczne filtry do wody gwarantują czystą i zdrową wodę do picia. Jakość wody ma fundamentalne znaczenie dla zdrowia. W wyniku postępu technologicznego w wodzie rozpu...\nNoni to dobra roślina! Na stronie NoniNoni znajdziesz najświeższe i sprawdzone zagadnienia o soku noni! Informujemy jak pić ten niesamowity sok, jaki ma wpływ na ludzki organizm, a oprócz tego w jakich ilościach trzeba go spożywać. Zapoznaj się także w działaniem, użyciem i właściwościami, bo są to bardzo ważne dane!...\nZajrzyj na stronę prezentującą dane na tematy tj. ochrona środowiska, ekologia, zdrowa żywność. Sprawdź, jakie wytyczne na przedsiębiorców nakłada prawo o ekologii, a jak Ty możesz chronić środowisko w domu. Na stronie znajdziesz szereg przydatnych, przystępnie napisanych artykułów, zawierających bardzo ważne dane dla zachowania ekosystemu w dobrym stanie. Nie wiesz jak rozpoznać produkt ekologicz...\nElmax, sklep ze zdrową żywnością Wrocław.\nW naszej ofercie znajdziecie Państwo zdrową żywność od najlepszych polskich producentów. Tylko zdrowa żywność pochodząca z ekologicznych upraw i hodowli. Szeroki asortyment produktów ekologicznych w atrakcyjnych cenach, między innymi produkty: Bioavena, Klimeko, Ol'vita, Weget, Biofan, Herbar, Natur-Vit. Ekologiczne pieczywo, nabiał, mąka, kasza, owoce, warzywa, soki, miody, jajka, olej, herbata, ...\nSwojska Piwniczka sklep Internetowy którego ofertą jest: Zdrowa żywność, Polska tradycyjna żywność, swojskie, domowe przetwory, dżem, żurek, żurek z kochanowa, barszcz czerwony, miód spadziowy, miód wielokwiatowy, miód drahimski, miód manuka, miód lipowy, miód akacjowy, miód gryczany, miód wrzosowy, soki tłoczone, propolis, pyłek kwiatowy, mleczko pszczele, pierzga, Kosmetyki naturalne. herbatki, ...\nKrosagro jest producentem wysokiej jakości tuneli foliowych oraz wielu innych rozwiązań rolniczych. Konstrukcje Krosagro charakteryzują się przede wszystkim dobrą jakością oraz wytrzymałością, ponadto spełniają wszystkie normy bezpieczeństwa. Konstrukcje foliowe zapewniają uprawę roślin, warzyw, a także owoców w ciągu całego roku....\nKilka razy dziennie sięgamy po wodę kranową. Niemniej jednak rzadko używamy jej nieprzegotowanej do picia. Wielu ludzi może być zaskoczonych faktem, że picie aktualnie takiej, nie gotowanej ma możliwość być super sposobem nawadniania naszego ciała. Pod jednym, istotnym warunkiem - nie gotowana woda powinna być wcześniej uzdatniona.\nOkazuje się bowiem, że optymalnym techniką uzupełniania wody,...\nCzłowiek do właściwego funkcjonowania potrzebuje dostarczyć sobie bardzo kilka różnorodnych składników pokarmowych. Dlatego tak ważne jest to, żeby jedzenie było zróżnicowane, bo wyłącznie dzięki temu można posiadać pewność, że dostarczamy sobie wszystko, co jest niezbędne. Wprawdzie bez eksperckiej wiedzy i wskazówek dietetyka nikt nie jest w stanie skomponować sobie idealnej diety, która będzie ...\nbhp (2), konstrukcje foliowe (2), zdrowa żywność (2), filtry węglowe (1), spadziowy (1), zdrowie (3), ekologiczna (2), herbata mate (1), leczenie kanałowe pod mikroskopem (2), Treben (1), yerba mate (10), noni (6), filtr do wody Dafi (1), miody (2), sklep (18), naturalna żywność (1), stomatolog gdańsk (2), filtry mechaniczne (1), matero (1), dieta dukana (4), Stomatologia Gdańsk (1), kosmetyki naturalne (3), suplementy (2), bombilla (2), gwiazdy (2), diety (17), mleko Babymilk (1), maszewo (1), blog o urodzie (2), portal o zdrowej żywności (1), zielarski sklep (1), betoniarnia (1)


Media: Rosja próbuje odzyskać wpływy w Afryce – RadioMaryja.pl\nJesteś tutaj: Strona główna / Informacje / Świat / Media: Rosja próbuje odzyskać wpływy w Afryce\n1 maja 2018 09:52 /w Informacje, Świat\nRosja próbuje odzyskać wpływy w Afryce Środkowej i Wschodniej. Kreml wysłał tam instruktorów wojskowych, doradców i najemników z prywatnych firm.\nW artykule „Kremlowski wyścig o Afrykę” portal Radio Swoboda podaje, że Rosja w sposób oficjalny i nieoficjalny ugruntowuje swoją militarną obecność w Republice Środkowoafrykańskiej. W grudniu oba kraje zawarły militarne porozumienie, które przewiduje dostarczenie rządowi w Bangi rakiet, karabinów maszynowych, karabinów automatycznych i pistoletów oraz przeszkolenie 1300 wojskowych.\nO obecności rosyjskich wojskowych i najemników na afrykańskim kontynencie informowały też m.in. francuskie media, rosyjska redakcja BBC czy rosyjski portal Znak.\nJeśli chodzi o obecność rosyjskich wojskowych w Afryce, to mowa tu nie tylko o Republice Środkowoafrykańskiej, ale też o Sudanie i Libii – zwracają uwagę analitycy. Prof. Julian Winnicki wskazuje, że rosyjska ekspansja w tej części świata to nic nowego.\n– Rosja jako państwo cywilizacji turańskiej funkcjonuje tylko wtedy, gdy rozszerza władzę imperialną. W tym momencie władza imperialna sięga terenów Afryki. Jeśli chodzi o Republikę Środkowoafrykańską, to jest to obszar, gdzie wcześniej działania rosyjskie w wersji sowieckiej były już prowadzone, bo RSA jest zwornikiem ważnego geopolitycznego elementu Afryki. Granicząc z Czadem, jednym i drugim Kongo, z Kamerunem, Sudanem islamskim i Sudanem chrześcijańsko-animistycznym, jest doskonałym miejscem do prowadzenia polityki imperialnej w tej części Afryki – tłumaczy uwagę prof. Winnicki.\nMedia Republiki Środkowoafrykańskiej i Francji informują, że tzw. rosyjscy instruktorzy stacjonują w pobliżu złóż złota, diamentów i uranu. Jak widać, działania Rosji w Afryce mają charakter nie tylko geopolityczny, ale też ekonomiczny.\nTagi: Afryka, Kreml, Rosja\nPolska stara się o zgodę KE na wydłużenie terminu składania wniosków o... Ruszył nabór wniosków do rządowego programu ,,Razem Bezpieczniej im. Władysława...


Kody bonusowe bez depozytu lcb hsauu\nKody promocyjne na bonusy bez depozytu✓Kody bonusowe do kasyn bez depozytu - czy są legalne? Total Casino, STS Betgames, forBET gry karciane Najlepsze bonusy bez depozytu za rejestrację oraz kody promocyjne w kasynach online 2021 roku na stronie poland-bonusesfinder.com. Sprawdź bonusy w 24 Lis 2020 Następnie weź udział w 100 darmowych spinach + 200% bonusu od depozytu w kasynie przy pierwszym depozycie, wykorzystaj kod 24 Lis 2020 Najlepsze kasyno kody prmocyjny bez depozytu. Przeszukaliśmy i znaleźliśmy najpopularniejsze kody promocyjne kasyn. Zdobądź najlepszą\nBonus bez depozytu Etoto. Przez długi czas w ofercie powitalnej Etoto próżno było szukać bonusu bez depozytu. Wprowadzała je natomiast konkurencja buka, która doskonale wiedziała, jak bardzo ten freebet jest ważny dla graczy. Na początku 2019 roku pojawił się taki freebet. Wynosił on 20 zł, które gracz otrzymywał zupełnie za darmo. Bonusy bez depozytu w Bonusmania. Jeśli nie potwierdziłeś odbioru bonus w przeciągu 7 dni, to bonus wygasał. Po jego potwierdzeniu, było dodatkowe 30 dni na obrót. FAQ - Bonus bez depozytu w Betclic. Poniżej znajdziecie najczęściej pojawiające się pytania bukmacherskich graczy dotyczące bonusu bez depozytu w Betclic. Wpisz kod: JB720 w polu rejestracyjnym Totolotek Kod Promocyjny, aby otrzymać bonus 20 zł bez depozytu i 100% do 500 złotych przy depozycie!\nWpisz kod: JB720 w polu rejestracyjnym Totolotek Kod Promocyjny, aby otrzymać bonus 20 zł bez depozytu i 100% do 500 złotych przy depozycie! Bonusy bez depozytu są super, ale trochę o nie trudno, niewielu bukmacherów decyduje się wprowadzić takie rozwiązanie do swojej oferty. Na szczęście świat się na nich nie kończy. Jeśli jesteś gotowy wpłacić depozyt, możesz liczyć na dużo bardziej zróżnicowane bonusy bukmacherskie od … Kody bonusowe kasyna bez depozytu można znaleźć, przeszukując portale branżowe w Internecie, takie jak ten. Jak już wspomnieliśmy, informacja o tym, gdzie ich szukać, powinna być łatwo dostępna w regulaminie promocji danego kasyna, by zapewnić wszystkim graczom równe szanse. Czy kody bonusowe kasyn podane na przypadkowo znalezionym LVBET – darmowy bonus bez depozytu 20 PLN. Nowi gracze otrzymają także darmowy bonus od LVBET. W tym przypadku bonus działa po rejestracji z kodem promocji: 3423PLN.Darmowe 20 PLN zostanie dopisane do twojego konta, jeśli zgłosisz się po bonus na adres e-mail: promocje@lvbet.pl w tytule wpisując „bonus bez depozytu”.\n10 $ za darmo bez depozytu $ 5000 Bonus Kod bonusowy: 10 ZA DARMO. Jest wiele rodzaje dostępnych gier kasynowych na wielu platformach w świecie online, co sprawia, że kody bonusowe kasyn i te, które są specyficzne dla rodzaju gry, są znaczącą atrakcją. Na przykład, gracz może zostać zachęcony do złożenia depozytu, aby 22bet - codziennie spiny bez obrotu SlottyWay - 60 spinów za darmo Sol Casino - 50 spinów bez depozytu 22bet - koło z nagrodami Winludu - 25 spinów bez depozytu True Flip - 30 spinów z 1-krotnym obrotem Power Casino - 25 PLN bez depozytu CasinoSinners - 5 euro bonusu na start ZigZagSports - 20 darmowych spinów Slotum - 20 darmowych Na przykład gracz może wykorzystać darmowy bonus bez depozytu. Oczywiście środki bonusowe, o które ubiegasz się w ramach promocji bonusu bez depozytu nie są zbyt duże (może być to np. 20 free spinów bez depozytu), ale w zupełności wystarczą, aby zacząć. Większość bonusów kasynowych bez depozytu obejmuje: Darmowe spiny To zawsze jest ekscytujące, gdy słyszy się o otwarciu nowego kasyna online! Z tak wieloma nowymi kasynami w 2020 roku, które pojawiają się niemal co miesiąc, a czasem co tydzień, trudno jest nadążyć za nimi. Tutaj będziemy Cię informować i być na bieżąco z nowymi kasynami i nowymi bonusami kasyn! Najnowsze kasyna recenzowane jako pierwsze! Dokończ rejestrację, aby otrzymać bonus bez depozytu. Konto, które założyłeś, jest kontem tymczasowym, aby otrzymać 25 zł bez depozytu musisz przekształcić je w konto stałe. W tym celu, będąc zalogowanym na swoim koncie, należy przejść do menu i do zakładki Moje konto. Unibet kod promocyjny ( rejestracja ) Bonusy powitalne: €25 na zakład bez ryzyka, €100 w kasynie, €200 na pokera, bonus w bingo online. Promocje dla graczy Unibet.\nŻużel – kody bonusowe na zakłady bez depozytu 12 listopada 2019 Żużel znany również jako „czarny sport” lub speedway, to dyscyplina, która cieszy się sporą popularnością w Polsce, a także w Kody Bonusowe W Kasynie Online – Kasyno mobilne na Androida. Bonus 25 bez depozytu w Kasynie online. The Miz nie posłuchał jego ostrzeżenia, wniosek o udzielenie koncesji na prowadzenie kasyna gry biega po swoim drzewku jak wiewiórka. Na początku człowiek polował na konie dla ich mięsa i dopiero po ich oswojeniu, dzięki czemu ubrania Aby uruchomić moduł należy wybrać z menu głównego, kody bonusowe kasyno bez depozytu która wówczas była zupełną nowością. Co więcej, a dziś jest dość powszechna. Upewniwszy się, ale 29,9 proc. W ubiegłym roku zwyciężył w North Pole Marathon na biegunie północnym, po każdym zabiegu następuje dalsza poprawa jej stanu Bonusy bez depozytu dla graczy z Polska. Najlepsze bonusy bez depozytu za rejestrację oraz kody promocyjne w kasynach online 2021 roku na stronie poland-bonusesfinder.com. Sprawdź bonusy w kasynach internetowych dla graczy z Polski. Na naszej stronie znajdziesz bonusy i kody promocyjne pochodzące z kasyn działających w Polsce. Kody bonusowe bez depozytu Te kasyna online oferują bezpłatne bonusy, które można wymienić w sekcji kasjera kasyn online, wprowadzając kod bonusu bez depozytu. Wszystkie bonusy w tej sekcji mają kod bonusowy. Indeks najlepszych kasyn online, kody bonusowe kasyn bez depozytu i darmowe bonusy spinowe na 2021 rok. Środki na grę, które otrzymasz za darmo po rejestracji konta u bukmachera – brzmi nieźle. Tak właśnie działa bonus bez depozytu. Sprawdziliśmy, którzy bukmacherzy oferują bonusy bez depozytu 2021 na start i jakie warunki trzeba spełnić, by je otrzymać.


INDONESIA: powrot do lasu\npowrot do lasu\nMinal kolejny tydzien. Emma wyjechala zostawiajac pustke w domu i wielu zasmuconych indonezyjczykow, ktorzy do dzis ja wspominaja. Zanim wyjechala zorganizowala dla wszystkich rafting (w ktorym nie wzielam udzialu, z powodu niedawnego urazu, wykazujac sie szczytem rozsadku i ostroznosci, chociaz tylko ja wiem jak duzo kosztowalo mnie zduszenie tej rosnacej checi dolaczenia do wszystkich). W noc przed wyjazdem zorganizowala tez swoja pozegnalna impreze. Przygotowalismy spaghetti i inne pysznosci, przy ognisku i dzwieku gitar wspominalismy czas Emmy w Ketambe.\nPowrot do lasu poczatkowo meczacy i bolesny (wczesne wstawanie i dlugie dni w lesie) okazal sie bardzo satysfakcjonujacy. Odkrylam jednak, ze objawil sie u mnie nowy lek - przed spadajacymi galeziami, owocami itp. Troche mnie to irytuje, nie ukrywam, wiec staram sie z nim walczyc.\nPonadto w tym tygoniu znow nastapil dzien wezy. Najpierw spotkalismy w lesie kobre (choc nie ma na to 100% pewnosci, gdyz nie okreslony zostal jej gatunek), a wieczorem do obozu zawital pyton, ktorego Cedric obejrzal z nazbyt bliska biorac go do reki. Rozzloscil gada znacznie i mnie przy tym rowniez, nie tyle faktem, ze ryzykuje ukaszeniem, a raczej tym, ze niepokoi zwierze. Czego oczywiscie nie zrozumial wytykajac mi przesade i tlumaczac, ze lubi weze. Ja lubie malpy, nie lapie ich jednak i nie glaszcze... Nie zrozumial, natomiast wyraznie zdowolony byl, ze wszyscy zauwazyli, fakt, iz nie boi sie wezy, faceci... ci zawsze musza sie popisywac.\nNo i mielismy kolejne trzesienie ziemi. Bylam w tym czasie w lesie i gdyby nie sms od taty i Emmy w ogole nie wiedzialabym, ze mialo miejsce. Nie poczulismy nic, choc osoby przebywajace w obozie odczuly lekkie wstrzasy. Trzesienie mialo sile 7,4 stopni w skali Richtera i nastapilo w niedziele 9 maja. Ziemia zatrzesla sie na 220 km na polnocny wschod od Banda Aceh, wydano ostrzezenie przed tsunami.\nTak po krotce przedstawia sie ubiegly tydzien. Wczoraj przyjechala Kristen, ktora poznalam w Sebangau, gdy odwiedzilam Kalimantan w listopadzie 2009r. Zamieszkala ze mna wiec znow mam towarzystwo. Cedric pojechal do Medan zalatwiac nasze pozwolenia, o tak, znow zaczyna sie zabawa z pozwoleniami, ciekawe co przyniesie tym razem? Ponadto przyjezdza w odwiedziny jego dziewczyna, wiec wybiera sie na wakacje i ja zostalam oddelegowana do pilnowania projektu, ludzi i generalnie musze sie wszystkim zajac. Takze zgaduje nadchodzace 2 tygodnie beda obfitowac w nadmiar zajec :).\nTym krotkim sprawozdaniem koncze, gdyz upal jest nie do zniesienia i motor zaparkowany przed kawiarenka inernetowa az krzyczy, by na niego wsiasc i wrocic do chlodniejszego, przyjemniejszegi i spokojniejszego Ketambe, nie pozostaje mi wiec nic innego jak ruszyc w droge :).\nAutor: Ania Marzec o 14:43\nBurza 26go kwietnia


O czym zapominacie jadąc na ryby?\nutworzono: 2010/10/02 09:42\nNo właśnie ........niejednokrotnie zapominałem podbieraka i siatki na ryby .....na szczęście. [2010-10-02 09:42]\nPRZYNĘTY , ehhhhh ile razy się już wracałem heheh , starość nie radość . [2010-10-02 09:46]\nPRZYNĘTY , ehhhhh ile razy się już wracałem heheh , starość nie radość .\nHeh, też mi sie kiedyś to przytrafiło. Tylko zorientowałem sie dopiero na łódce na środku jeziora :(\nTo jest nic chłopaki :). Ja kiedyś z kolegą umówiłem się na ryby. Został więc u mnie spać, abyśmy wcześnie rano zdążyli na pociąg. Ale jak to bywa, zaspaliśmy trochę, więc zerwaliśmy sie o świcie, ciuchy i reszta pod pachę i galopem na dworzec. Zdążyliśmy. Siedzimy sobie w pociągu, jedziemy z rogalami na gębach, że się udało dobiec, wtryniamy przygotowane wcześniej bułki wyjęte z plecaków, patrzymy sobie na innych wędkarzy rozmawiających o rybach, łowiskach, przynętach itp, przeglądających swoje wędki..... WĘDKIIIIIIIIIIIIIIII !!!!!!!!!!!!!!!!!!!!!!!! Na siebie, na plecaki, na wędkarzy, na ich wędki.....!!!!!!!!! Dupaaaaaaaaaa! Zapomnieliśmy zabrać wędki z domu! Podróż poza tym przebiegła spokojnie, od walenia głowami w ściane nic nam nie było, kłóciliśmy się i oskarżaliśmy nawzajem tylko dwie godziny, wędkarze inni wcale nie posikali się ze śmiechu z nas, no.... może trochę, tak pół godziny płaczu i turlania się ze śmiechu po podłodze wagonu. A tak poza tym wyjazd na ryby był ok. Nic nie złowiliśmy. [2010-10-02 10:02]\nTo jest nic chłopaki :). Ja kiedyś z kolegą umówiłem się na ryby. Został więc u mnie spać, abyśmy wcześnie rano zdążyli na pociąg. Ale jak to bywa, zaspaliśmy trochę, więc zerwaliśmy sie o świcie, ciuchy i reszta pod pachę i galopem na dworzec. Zdążyliśmy. Siedzimy sobie w pociągu, jedziemy z rogalami na gębach, że się udało dobiec, wtryniamy przygotowane wcześniej bułki wyjęte z plecaków, patrzymy sobie na innych wędkarzy rozmawiających o rybach, łowiskach, przynętach itp, przeglądających swoje wędki..... WĘDKIIIIIIIIIIIIIIII !!!!!!!!!!!!!!!!!!!!!!!! Na siebie, na plecaki, na wędkarzy, na ich wędki.....!!!!!!!!! Dupaaaaaaaaaa! Zapomnieliśmy zabrać wędki z domu! Podróż poza tym przebiegła spokojnie, od walenia głowami w ściane nic nam nie było, kłóciliśmy się i oskarżaliśmy nawzajem tylko dwie godziny, wędkarze inni wcale nie posikali się ze śmiechu z nas, no.... może trochę, tak pół godziny płaczu i turlania się ze śmiechu po podłodze wagonu. A tak poza tym wyjazd na ryby był ok. Nic nie złowiliśmy.\nNo to czad :):):) najważniejsza rzecz zapomniana :):)\nhahahahah dobre dobre:D\nJa najczęściej zapominam podbieraka, zdarzyło się że nie zabrałem podpórek ( pod feedera).\nKolego Macieju ;) najważniejsze że nie zapomnieliście pozytywnego myślenia i nie zraziliście się pomimo drobnych niedogodności.\nPS: czasami jak czytam posty na tym forum , zastanawiam się nad koniecznością wizyty u urologa;))\nZ tą wizytą u urologa to niech Kolega da sobie na wstrzymanie, zapisy dopiero na Grudzień. Do tej pory to już wszyscy domownicy się wyniosą ( zapach bardzo przykry ), tak na szybko to Pampers tylko jakiś Max bo jest tu trochę wesoło :))\nJa osobiście wybrałem się pewnego razu na ryby około 2 w nocy, przejechałem ponad 60 km i po rozstawieniu podpórek, zmontowaniu zestawów, podczas mieszania zanęty szukam Pinki i widzę że jej nie widzę. Mało tego, okazało się że nie zabrałem żadnej przynęty, wszystko zostało w kuchni na stole. Pomyślałem więc że wysmę spining i poćwiczę sobie gdyż dwa miesiące wcześniej zakupiłem kij i całą resztę drobiazgu. Wyciągnąłem z pokrowca wędkę i okazało się że wszystkie przynęty spiningowe zostały zostawiłem również w domu, bo mi przeszkadzały w plecaku. Przekopałem nożem wędkarskim chyba hektar łąki w poszukiwania jakiegoś czerwońca i pupa blada. Dopiero około 5 rano pojawił się jakiś wędkarz, więc poszedłem po prośbie i dostałem kilka białych, wystarczyło mi ich na parę godzin ale i tak poza trzema płotkami takimi jak połowa dłoni nic nie złowiłem. Od tamtej pory szykując sprzęt wieczorem na poranny wyjazd przyczepiam sobie kartkę z napisem " PRZYNĘTY " do kluczyków od auta.\nJa też zazwyczaj zapominam przynęt ,lub zabieram walizkę z pierdołami przed sprawdzeniem czy czegoś nie brakuje, raz zabrałem wszystko oprócz przyponów:) [2010-10-02 13:35]\nCo do przynęty, w ubiegłem tygodniu kupiłem sobie pudełko białych i pudełko pinki na niedzielną wyprawę. Jak zawsze mam w zwyczaju to robić włożyłem do jednej z półeczek zamykanych na drzwiach lodówki. Niedziela 5 rano wyjazd, więc plecak wędki podbierak i wychodzę przed dom, gdzie lada moment ma podjechać kumpel, z którym jadę. Po dwóch minutach już widzę z daleka światła jego samochodu, już gaszę fajkę .... myśl ROBAKI ZOSTAŁY W LODÓWCE !!! Sprzęt na glebę i biegiem do domu. Cichutko otwieram drzwi, aby nikogo nie obudzić, skradam się po ciemku do lodówki i ...... zdębiałem. Moja lodówka ożyła. W pudełku zachowało się kilka sztuk. Telefon mi dzwoni w kieszeni, a ja jak sparaliżowany stoję przed lodówką. Myślę co robić zabrać ze sobą lodówkę?? za duża , Więc może zakleić, albo przynajmniej wkrętami przykręcić drzwiczki. Robaki pewnie ma mój kolega, więc damy radę, ale jak moja lepsza połowa wstanie, otworzy lodówkę by sięgnąć po mleko #%&&$#%@#&$. Mogę wtedy nie wracać. Wybranie pinek z całej lodówki zajeło ok 15 min, reszta co mogło mieć bezpośredni kontakt ( poza masłem w pojemniczku, mlekiem w butelce itp) do reklamówki i do piwnicy. Upiekło mi się , ale było gorąco.\nPS: cieszę się że moja żonka nie wstaje w nocy i nie prucia po lodówce.\nKilka krotnie zapomniałem przynęty.Wszystko gotowe wyniesione do samochodu,chwila zastanowienia czy wszystko wzięte i zapakowane no i w drogę.Dojeżdżając do łowiska "o ku..a zapomniałem robaków" ale zawszę mogę liczyć na moich kolegów,którzy podzielą się przynętą albo podjedziemy do sklepu i kupimy.\nA od żony pózniej słyszę "czy te robaki muszą być w tej lodówce".\nkurde panowie czytam i czytam nie chciałbym mieć takich przygód hehe szczególnie brak wędek i robaków w lodówce hehe oczywiście bez urazy mnie jak narazie ominęły takie przygody pakuje sie wieczorem i rano jeszcze raz sprawdzam\nAch te nasze lepsze :)) połowy, zero zrozumienia dla naszego hobby :))\nIle ja się natłumaczę że robaki muszą być w lodówce, opakowanie zawijam w torebkę papierową ze sklepu, w reklamówkę foliową i cichcem wkładam do dolnej szufladki a z pokoju słyszę\n" tylko mi niemów co tam chowasz "\nChłop już zemnie niemłody, a przed własną kobitą się dygam z robaczkami.\nRoman, nie bój żaby, wszystko przed Tobą.... :))))))))\nCześć chłopaki to widać podobnie wszyscy przeżywamy ....:)) ale żyjemy to się liczy:))\ntak patrzę na te słoneczko i ciągnie mnie nad wodę...ale w domku tak ciepło:) moje dziewczyny obiadek pichcą:)) rosołek jak jem to wiem że to niedziela:))\nJa jak jadę na ryby to zapominam o całym świecie.\nJa kiedyś mając naście lat,umówiłem się z moim kolegą Maćkiem na ryby,pech chciał że nie miałem budzika.Więc jak mam wstać nie budząc wszystkich w domu?Uzgodniliśmy z Maciem że wywalę przez okno sznurek a na taborecie obok łóżka postawię jakieś garnki ,coś co po pociągnięciu przez niego z dołu zachałasuje i obudzi mnie,garnki oczywiście przywiązane do drugiego końca tegoż sznurka.Start rowerami zaplanowaliśmy na godz 02.30,na j.Płaczewo oddalone o ok 4km od nas.Poszedłem spać.Mać rano pod okno i dawaj za sznurek-Jezuuuuuuuuuuuu,jak to wszystko pierdolneło!!!przegiąłem z mocą budzika!!! kilka garów,jakaś patelnia wygenerowało chyba z 100000decybeli pół metra od mojej zaspanej głowy.Efekt jednak był murowany,po 2 min byłem już na siodełku i pedałowaliśmy w kierunku wody,Mać cały czas płakał wręcz ze śmiechu.Dojechaliśmy,stanowisko rozstawione,robale w wodzie ,a ten cały czas leje ze mnie,jak Joker z Batmana wyglądał.Nie wytrzymałem i warknałem-co się cieszysz debilu??! a on mi na to-bo zapomniałeś się ubrać! Patrzę i oczom nie wierzę-miałem na sobie cały czas PIŻAMĘ,tak niebieska,w jakies cholerne miski,a na nogach gumiaki.co to byl za obciach wracac,latem,na oczach tlumow plazowiczow.\nA to bym chciał zobaczyć na własne oczy :-) to też bym boki zrywał ha ha\nNie dość, że głuchy od rana, to jeszcze w piżamie, hahahahahahaha....\nNo cóż młodość ma swoje prawa,z rzeczy przyziemnych bardziej,to 4 lata temu zostawiłem nad wodą futerał z 3 kijami,3 kręciołami,i plecak z małym arsenałem spinningisty.Montowałem akurat zestawy gdy zauważyłem brak mojego psa,cieczkę wyczuł i prysnął w kierunku jakiegoś gospodarstwa.Wołam,szukam i nic,nagle skowyt słyszę.Biegiem w tym kierunku i...widzę mego pupila Arnolda jak schodzi z góry krwawiąc,z rozszarpanym łbem,b rzuchem,otwartym złamaniem przedniej łapy,zalane krwią niewidzące oczy.Zostawiłem wszystko,Erniego na ręce,na ulicy wychodząc na środek zatrzymałem niebieskiego malucha i ile fabryka dała,przez czerwone światła,do lecznicy,przyjaciela ratować.Kierowcą był małolat,wcięty,bez prawka,kaszel bez kwitów,ale to nic,na moją odpowiedzialność.Za to że pojechał zapłaciłem mu od razu kilkanaście razy więcej niż wartość tego złoma,kasy nie miałem z soba coprawda ale od czego ma się kolegów.Kaczor był minutę po mnie w lecznicy,na slipach,z garścią złotówek,łamiąc po drodze cały kodeks drogowy .Psa uratowałem,ponad roczne leczenie,50-60 szwów,2 platynowe blaszki na kościach,5msc w gipsie,6 tysi kosztów + sprzęt który został i go wcieło.Ale nie żal mi,dałbym wielokrotnie więcej żeby kolegę,przyjaciela wszystkich wędkarskich eskapad uratować,dziś ma 14 lat i nadal wypad bez niego ,to tak jak wypad bez wędek.Co mu się stało? dopadł go duży,w sumie dziki pies,taki skundlony wilczur,sporo ich było w okolicy,nawet kozy i owce rozszarpywały gospodarzom.Ktoś to widział,agresor miał znaki szczególne,koszt kuszy pneumatycznej 80 zł,żył 6 dni dłużej...\nJa mam taka przypadłość, że czesto zapominam portfela, zajeżdżam pod spożywczaka szukam w dziesięciu kieszeniach i niema, no to powrót, jednak najczęściej to szukam kluczyków od auta - gdzieś położe i znaleźć nie mogę. Co do robaków, zanęt i innych przynęt nauczyłem się,że co się da schować wcześniej do samochodu to chowam i mam spokój , latem zostaja tylko robaki do spakowania jedzenie i termos wrzucam i jestem pewny, że niczego nie zapomniałem...\nOstatnią żeczą jaką "zapomniałem" zabrać był mój fotel\njakie było moje zdziwienie gdy bagażnik nad wodą otworzyłem i zdziwiłem się, że coś dużo miejsca. Brakowało fotela, no cóż. Nie tyle, że o nim zapomniałem tylko zapomniałem, że go w ogóle wyjąłem.\nZa taką cenę, można było sprzęt pożegnać. Rzecz nabyta, przyjaciel nie.\nkilka razy zapomniałem śruby napędowej do silnika elektrycznego ale wiosła zawsze były ......;]\nNo, a szczytem sklerozy byłoby wypłynąć na ryby na środek jeziora, a zapomnieć łódki :) "Mam talent" wygrany. [2010-10-03 17:03]\nMoje "sklerozy", które pamiętam na chwilę obecną, to:\n-wyjazd nad Odrę z feederkiem bez podpórki,\n(na szczęście PKSem jechał też inny wędkarz, którego znam z widzenia, bo dosyć często jeździmy tym samym i dał mi podpórkę)\n-zapomniane robaki, po które kolega biegł po nie do mojego domu 2-3 min. przed PKSem,\n(chwilę przytrzymałem autobana i zdążył)\n-kilkakrotne zapomnienie szmatki do wycierania rąk,\nI jeszcze jedna sytuacja, która miała miejsce całkiem niedawno:\nWieczorem spakowałem wszystko do plecaka, tylko jeszcze rano dołożyłem kanapki i w drogę.\nUbrałem się, plecak na plecy, reklamówka z kaloszami w rękę, kierunek: drzwi, ale myślę sobie "czegoś mi chyba brakuje, coś mało tego mam", wracam się do pokoju, a w kącie stoi... spinning.\nja raz wstałem rano, śniadanko w plecak i na rybki dopiero nad zalewem zauważyłem że w bagażniku nie ma mojego sprzętu, okazało się że kije i wszystko zostalo w domu w pokoju i tzreba było się wracać:))


Drink Bacardi rum cocktail - KulinarnePrzeboje.pl\nAlkoholowe (drinki, shoty, nalewki i likiery) Napoje 1 lutego 2019 24 stycznia 2021 by Paulina Jarosz\nDrink Bacardi rum cocktail to orzeźwiający alkoholowy koktajl z nutką cytryny lub limonki :) Najlepiej serwować go latem, gdyż podaje się go mocno schłodzonego, aczkolwiek i w inne pory roku super się sprawdzi, np. na babskich spotkaniach :)\nDrink Bacardi rum cocktail ma piękny, soczysty, czerwonawy kolor, który wręcz uwielbiam :) W dodatku jest prosty w wykonaniu i wymaga niewielu składników, co jest jego dużą zaletą, bo nie trzeba mieć specjalnie jakiś wyszukanych alkoholi w braku :) Drink Bacardi przypomina bardzo Pink Daiquiri, aczkolwiek nie zawiera on syropu cukrowego. Jeśli tak jak my bardziej wolicie biały rum niż wódkę, to polecam wypróbować ten przepis przy najbliższej okazji :)\nWięcej inspiracji na alkohole z rumem znajdziecie tutaj: rum – drinki, shoty itd.\nDrink Bacardi rum cocktail – Składniki:\n30 ml soku z limonki lub cytryny\nPrzepis na Drink Bacardi rum cocktail:\nDo shakera wrzucić 2-3 kostki lodu, 50 ml białego rumu, 30 ml soku z limonki (lub soku z cytryny – wedle uznania) oraz 20 ml Grenadiny. Całość dokładnie wymieszać.\nPrzelać zawartość shakera wraz z kostkami lodu do szklanki lub kieliszka koktajlowego. Smacznego!\nJeśli nie macie shakera, to teoretycznie możecie się posłużyć zwykłym słoikiem ;) Zamknąć go i wstrząsnąć zawartość drinka, a następnie przelać go do kieliszka koktajlowego lub szklanki.\n1 thought on “Drink Bacardi rum cocktail”\nZwykle piję Cuba Libre na bazie rumu. Ten też brzmi kusząco :)


Leżajsk pierwszy zaszczepi dziewczynki przeciw brodawczakowi! – Super Nowości24\nLeżajsk pierwszy zaszczepi dziewczynki przeciw brodawczakowi!\nSzczepienie jest ważnym, ale nie jedynym działaniem profilaktycznym w kierunku przeciwdziałania zachorowaniom na raka szyjki macicy. Fot. Wit Hadło\nLEŻAJSK. Rozpoczęto realizację Gminnego Programu Profilaktyki Zakażeń Wirusem Brodawczaka Ludzkiego HPV.\nSamorządy różnie podchodzą do akcji profilaktycznych, szczególnie kiedy chodzi o finansowanie szczepionek dla mieszkańców. Niektóre gminy szczepią przeciwko grypie czy pneumokokom. – Gmina Leżajsk jest jednak pierwszym samorządem na Podkarpaciu, który zdecydował się na szczepienia przeciw wybranym wirusom wywołującym raka szyjki macicy – mówi Dorota Gibała z Wojewódzkiej Stacji Sanitarno-Epidemiologicznej w Rzeszowie.\nWarunkiem szczepienia jest zameldowanie w gminie Leżajsk, która funduje bezpłatnie 3 dawki szczepionki. Z tej okazji Gmina Leżajsk zaprasza zainteresowanych szczepieniem (dziewczynek i ich rodziców) do wzięcia udziału w spotkaniu edukacyjnym, które odbędzie się 30 września o godz. 16 w sali konferencyjnej w Urzędzie Gminy w Leżajsku przy ul. Opalińskiego 2.\nZ uczestnikami spotkania porozmawia lekarz ginekolog. Spotkanie dotyczyć będzie m in.: zasadności profilaktyki raka szyjki macicy w postaci szczepień ochronnych przeciwko wirusowi brodawczaka ludzkiego. Każda dziewczynka, której rodzice wyrażą pisemną zgodę na zaszczepienie, już w październiku będzie mogła otrzymać pierwszą dawkę szczepionki. O kolejnych dawkach informacja będzie przekazywana na bieżąco – mówi Krzysztof Sobejko, wójt Gminy Leżajsk.\nW tym roku zaszczepione zostaną 122 dziewczynki urodzone w 2000 r., na co przeznaczono 59 tys. zł. W ciągu czterech lat trwania programu planowane jest zaszczepienie 472 dziewczynek, na co w sumie zarezerwowano 180 tys. zł.\nRak zabija po cichu 2 tys. kobiet\nTo ważna i potrzebna decyzja, bo choroba wykrywana jest co roku u 3200 kobiet (na Podkarpaciu odnotowuje się ponad 100 nowych zachorowań). Umiera ich blisko 1800. Średnia przeżycia w grupie kobiet z rakiem szyjki macicy w Polsce jest o 120 proc. niższa niż w innych krajach naszego kontynentu. Jedna na trzy pacjentki umierające z powodu raka szyjki macicy to kobieta w wieku 25-49 lat. Rak szyjki macicy jest nowotworem, który przez wiele lat rozwija się bezobjawowo. Dlatego kobiety często zbyt późno pojawiają się u lekarza. Dlatego tak ważne jest obniżenie śmiertelności przez oparcie profilaktyki na trzech filarach: edukacji, badaniach cytologicznych i szczepieniach.\n– Szczepienie nastolatek (przed rozpoczęciem współżycia seksualnego) przeciwko wirusowi brodawczaka ludzkiego HPV, który wywołuje ponad 70 proc. przypadków choroby, jest bardzo ważnym elementem profilaktyki raka szyjki macicy – mówi Monika Łączyńska-Madera, specjalista ginekolog-położnik, onkolog-radioterapeuta z Podkarpackiego Ośrodka Onkologicznego w Rzeszowie. – Nie wolno jednak zapominać, że zaszczepienie nie wyklucza zachorowania, dlatego nie może uśpić czujności i spowodować, że kobiety zapomną o systematycznym wykonywaniu cytologii.\nLeżajsk pierwszy zaszczepi dziewczynki przeciw brodawczakowi! added by Redaktor on 27 września 2013\nMoże warto napisać trochę o szkodliwości tych szczepionek i wątpliwym działaniu zapobiegawczym przed rakiem szyjki macicy.


66. TCS - Fortuna o Stochu: pora, żeby świat zrozumiał - jest ... - Polskie Radio PiK\n2018-01-03, 07:11 Polska Agencja Prasowa\n66. TCS - Fortuna o Stochu: pora, żeby świat zrozumiał - jest jeden dominator\nWojciech Fortuna nie jest zaskoczony wygranymi Kamila Stocha w konkursach Turnieju Czterech Skoczni w Oberstdorfie i Garmisch-Partenkirchen. Uważa, że dwukrotnego złotego medalistę igrzysk w Soczi stać na drugie zwycięstwo w całym cyklu.\n66. TCS - Kamil Stoch: pomimo trudności udało się\n"Wygrywając oba niemieckie konkursy Kamil wpisał się po raz kolejny na karty historii polskich skoków narciarskich i moim zdaniem stać go na obronienie tytułu najlepszego w tym turnieju. Przemawiają za tym jego siła, doświadczenia i fantastyczna, chociaż jeszcze moim zdaniem nie stuprocentowa forma" - powiedział PAP mistrz olimpijski z Sapporo (1972).\nKolejne konkursy rozegrane zostaną w Austrii. W czwartek rywalizacja w Innsbrucku, w sobotę w Bischofshofen.\n"Stoch zna doskonale obie skocznie, wie na co go stać i jaką dyspozycję mają przeciwnicy. Oczywiście, że nie można wszystkiego przewidzieć, ale bardzo chciałbym, żeby wygrał. Pora bowiem na to, żeby świat wreszcie zrozumiał - jest jeden dominator - Polak z Zębu" - podkreślił Fortuna.\nStoch wygrał 65. edycję TCS, drugi w klasyfikacji końcowej był Piotr Żyła, a czwarte miejsce zajął Maciej Kot. Czy w tym sezonie może być podobnie?\n"Nie wiem, czy w takiej konfiguracji, ale swoje pięć minut mogą mieć wszyscy, a zwłaszcza Dawid Kubacki i Stefan Hula. Piotrek Żyła na najważniejszych imprezach także potrafi pokazać co potrafi, a Maciek Kot - jeżeli tylko wyeliminuje błąd najazdowy - również jest w stanie stanąć na podium. Z drugiej jednak strony trzeba pamiętać, że główną imprezą sezonu są lutowe igrzyska w Pjongczangu" - podsumował Fortuna.\nTagi: 66. Turniej Czterech Skoczni, skoki narciarskie, Kamil Stoch, Wojciech Fortuna\n2019-01-17, godz. 08:00 Rajd Dakar 2019 - awans Jakuba Przygońskiego na czwarte miejsce Jadący Mini Jakub Przygoński zajął czwarte miejsce na dziewiątym, przedostatnim etapie Rajdu Dakar ze startem i metą w Pisco w Peru. Po kłopotach rywali Polak ... » więcej 2019-01-17, godz. 07:00 Ekstraliga hokejowa - zwycięstwo Energi Toruń w 39. kolejce W 39. kolejce ekstraligi hokejowej drużyna Energi Toruń odniosła pewne zwycięstwo na wyjeździe z Węglokoksem Krajem Polonią Bytom 5:2. » więcej 2019-01-16, godz. 21:14 Koszykarska Liga Mistrzów - siódma porażka Anwilu Włocławek Koszykarze Anwilu Włocławek przegrali we własnej hali z niemieckim MHP Riesen Ludwigsburg 74:87 w meczu 11. kolejki grupy A koszykarskiej Ligi Mistrzów. To tr ... » więcej 2019-01-16, godz. 20:50 Ekstraklasa siatkarek - Bank Pocztowy Pałac Bydgoszcz przegrał po tie-breaku W 14. kolejce ekstraklasy siatkarek zawodniczki Banku Pocztowego Pałacu stoczyły u siebie zacięte spotkanie z Developresem. Ostatecznie bydgoszczanki przegrał ... » więcej 2019-01-16, godz. 19:20 Polscy siatkarze poznali rywali na Mistrzostwach Europy Holandia, Czechy, Estonia, Ukraina i Czarnogóra będą rywalami polskich siatkarzy w tegorocznych Mistrzostwach Europy. Losowanie odbyło się w Brukseli. Turniej ... » więcej 2019-01-16, godz. 09:08 Rajd Dakar 2019 - Przygoński trzeci na ósmym etapie Jadący Mini Jakub Przygoński zajął trzecie miejsce na ósmym etapie Rajdu Dakar z San Juan de Marcona do Pisco w Peru. Przegrał tylko z Francuzem Sebastienem L ... » więcej 2019-01-15, godz. 18:57 Australian Open 2019 - Iga Świątek awansowała do drugiej rundy Debiutująca w seniorskim Wielkim Szlemie Iga Świątek pokonała Rumunkę Anę Bogdan 6:3, 3:6, 6:4 w 1. rundzie Australian Open. 17-letnia tenisistka, która do gł ... » więcej 2019-01-15, godz. 16:15 Czy Enea Astoria Bydgoszcz ma szanse na miejsce w Energa Basket Lidze? Bydgoscy koszykarze poważnie myślą o awansie do ekstraklasy. W koszykarskiej ekstraklasie grają już dwa kluby z naszego regionu: mistrz Polski - Anwil Włocław ... » więcej 2019-01-15, godz. 15:03 Hit transferowy Polskiego Cukru Toruń! Pozyskał Damiana Kuliga! Damian Kulig wzmocnił Polski Cukier - poinformował toruński klub na swojej stronie internetowej. 31-letni koszykarz podpisał półtoraroczny kontrakt. Od 2015 r ... » więcej 2019-01-15, godz. 11:00 Australian Open 2019 - debiutant Hurkacz odpadł w pierwszej rundzie Hubert Hurkacz przegrał z chorwackim tenisistą Ivo Karlovicem 7:6 (7-5), 6:7 (5-7), 6:7 (3-7), 6:7 (5-7) w pierwszej rundzie Australian Open. Wrocławianin zad ... » więcej\n1234567 11614 na 1162 stronach