{{ // -------------------------- funkcja zamieniająca kwotę na opis słowny function slownie( $p_nLiczba ) { $aNazwaRzedu[0] = array( 'grosz ', 'grosze ', 'groszy '); $aNazwaRzedu[1] = array( 'złoty ', 'złote ', 'złotych '); $aNazwaRzedu[2] = array( 'tysiąc ', 'tysiące ', 'tysięcy '); $aNazwaRzedu[3] = array( 'milion ', 'miliony ', 'milionów '); $aNazwaRzedu[4] = array( 'miliard ', 'miliardy ', 'miliardów '); $aNazwaRzedu[5] = array( 'bilion ', 'biliony ', 'bilionów '); $aNazwaRzedu[6] = array( 'biliard ', 'biliardy ', 'biliardów '); $aNazwaRzedu[7] = array( 'trylion ', 'tryliony ', 'trylionów '); $aNazwaRzedu[8] = array( 'tryliard ', 'tryliardy ', 'tryliardów '); $aNazwaRzedu[9] = array( 'kwardrylion ', 'kwardryliony ', 'kwadrylionów '); /* * Nazwy koncowek liczb */ $aNazwaKoncowki[1] = ' '; $aNazwaKoncowki[2] = 'dziesięć '; $aNazwaKoncowki[3] = 'naście '; $aNazwaKoncowki[4] = 'tnaście '; $aNazwaKoncowki[5] = 'snaście '; $aNazwaKoncowki[6] = 'dzieścia '; $aNazwaKoncowki[7] = 'dzieści '; $aNazwaKoncowki[8] = 'dziesiąt '; $aNazwaKoncowki[9] = 'sto '; $aNazwaKoncowki[10] = 'ieście '; $aNazwaKoncowki[11] = 'sta '; $aNazwaKoncowki[12] = 'set '; /* * tablica nazw liczb o strukturze podzielonej na 10 czesci, gdzie * kazda czesc to: * - 8 zn - podstawowa nazwa liczby * * - 1 zn - ilosc zn. nazwy liczby (setki) * - 2 zn - nr koncowki w tablicy "aNazwaKoncowki" (setki) * * - 1 zn - ilosc zn. nazwy liczby (dzies) * - 2 zn - nr koncowki w tablicy "aNazwaKoncowki" (dzies) * * - 1 zn - ilosc zn. nazwy liczby (jedn) * - 2 zn - nr koncowki w tablicy "aNazwaKoncowki" (jedn) * * - 1 zn - ilosc zn. nazwy liczby (nascie) * - 2 zn - nr koncowki w tablicy "aNazwaKoncowki" (nascie) * */ $aNazwy['nazwa'] = array( ' ', 'jeden', 'dwa', 'trzy', 'cztery', 'pięć', 'sześć', 'siedem', 'osiem', 'dziewięć' ); $aNazwy['dlugosc'] = array( array( 0, 0, 0, 0 ), // 0 array( 0, 0, 5, 4 ), // 1 array( 2, 3, 3, 3 ), // 2 array( 4, 4, 4, 4 ), // 3 array( 6, 5, 6, 5 ), // 4 array( 4, 4, 4, 3 ), // 5 array( 5, 5, 5, 3 ), // 6 array( 6, 6, 6, 6 ), // 7 array( 5, 5, 5, 5 ), // 8 array( 8, 8, 8, 7 ) // 9 ); $aNazwy['nr_koncowki'] = array( array( 0, 0, 0, 2 ), // 0 array( 9, 0, 1, 3 ), // 1 array( 10, 6, 1, 3 ), // 2 array( 11, 7, 1, 3 ), // 3 array( 11, 7, 1, 3 ), // 4 array( 12, 8, 1, 4 ), // 5 array( 12, 8, 1, 5 ), // 6 array( 12, 8, 1, 3 ), // 7 array( 12, 8, 1, 3 ), // 8 array( 12, 8, 1, 4 ) // 9 ); if ( FALSE == is_numeric($p_nLiczba) ) { $p_nLiczba = 0; }; $cSlownie = ""; $cCyfry = str_pad(number_format($p_nLiczba,2,',',''),30,' ',STR_PAD_LEFT); $nInt = substr($cCyfry, 0, 27); $nUlamek = substr($cCyfry,-2); for ( $i=9; $i>=0; $i-- ) { $cLiczba = substr($cCyfry, (9-$i)*3, 3); if( $i > 0) { $nLiczba = +$cLiczba; } else { $nLiczba = +substr( $cLiczba,-2 ); } if ( ( $nLiczba !== 0 ) || ( $i == 0 ) || ( $i == 1 && $nInt !== 0 ) ) { $nPom = 0; for( $j=0; $j<=2; $j++ ) { $nCyfra = +substr( $cLiczba, $j, 1 ); if( $nCyfra > 0 || $nPom == 1 ) { if( $j == 1 && $nCyfra == 1 ) // rząd dziesiatek i nazwa na -naście { $nPom = 1; } else { $cSlownie .= mb_substr( $aNazwy['nazwa'][$nCyfra], 0, $aNazwy['dlugosc'][$nCyfra][$j+$nPom], 'UTF-8' ) . $aNazwaKoncowki[$aNazwy['nr_koncowki'][$nCyfra][$j+$nPom]]; } } } if( ($i == 1 && $nInt == 0 ) || ( $i == 0 && $nUlamek == 0 )) { $cSlownie .= 'zero '; } if( $nLiczba == 1 ) { $nRzad = 0; } elseif( (FALSE !== strpos( '234', substr($cLiczba, -1))) && (substr($cLiczba, 1, 1) !== '1') ) { $nRzad = 1; } else { $nRzad = 2; } $cSlownie .= $aNazwaRzedu[$i][$nRzad]; } } return rtrim($cSlownie); } // -------------------------- deklaracja funkcji przeszukującej tabele 2-u wymiarową function array_search_field($szukana_wartosc, $nazwa_pola, $tablica, $porownuj_dokladnie = false) { // var_dump( $tablica ); $pozycja = 0; if ($porownuj_dokladnie) { foreach ($tablica as $element) { if (isset($element[$nazwa_pola]) && $element[$nazwa_pola] === $szukana_wartosc) { return $pozycja; } $pozycja ++ ; } } else { foreach ($tablica as $element) { if (isset($element[$nazwa_pola]) && $element[$nazwa_pola] == $szukana_wartosc) { // echo 'Pozycja: '.$pozycja.'
'; return $pozycja; } $pozycja ++ ; } } return false; } // -------------------------- deklaracja funkcji wyszukującą min i max wartość function min_max_klucze($dane_json, $array_klucze) { $pozycja = 0; $array_min_max = array(); foreach ($dane_json as $rekord_json) { foreach ($array_klucze as $klucz_szukany){ if ($pozycja == 0) { eval( '$array_min_max[ $klucz_szukany]["min"] = $rekord_json->' . $klucz_szukany . ';' ); eval( '$array_min_max[ $klucz_szukany]["max"] = $rekord_json->' . $klucz_szukany . ';' ); } else { eval( 'if ($rekord_json->' . $klucz_szukany . ' < $array_min_max[ $klucz_szukany]["min"] ) { $array_min_max[ $klucz_szukany]["min"] = $rekord_json->' . $klucz_szukany . '; }' ); eval( 'if ($rekord_json->' . $klucz_szukany . ' > $array_min_max[ $klucz_szukany]["max"] ) { $array_min_max[ $klucz_szukany]["max"] = $rekord_json->' . $klucz_szukany . '; }' ); } } $pozycja ++ ; } return $array_min_max ; } // -------------------------- deklaracja funkcji wyliczającej numer palety kolorow function numer_palety($wartosc, $min, $max, $liczba_krokow) { if( $min == $max ) { $numer = 0; } elseif( $wartosc == $max ) { $numer = $liczba_krokow; } else { $numer = floor( ($wartosc - $min) / (( $max - $min ) / $liczba_krokow )) + 1; } return $numer ; } $licznik_powtorzen=count($dokument->tytul_raportu) }} [[iteruj po="$dokument->tytul_raportu" jako="$tytul_raportu"]]
[[iteruj po="$dokument->sekcje" jako="$i_sekcja"]]
{{ if( count($i_sekcja->szpalty) > 1 ) { echo ''; echo ''; } }} [[iteruj po="$i_sekcja->szpalty" jako="$i_szpalta"]] {{ if( count($i_sekcja->szpalty) > 1 ) { $eval_dklasa = ( FALSE === strpos($i_szpalta->dklasa,"'") ? '"'.$i_szpalta->dklasa.'"' : $i_szpalta->dklasa ); eval( '$eval_dklasa = '.$eval_dklasa.' ;' ); echo ''; } }} [[/iteruj]] {{ if( count($i_sekcja->szpalty) > 1 ) { echo ''; echo '
'; } }} {{ $nr_tabeli = 0 ; }} [[iteruj po="$i_szpalta->tabela" jako="$tabela"]] {{ $nr_tabeli ++ ; }} {{ $liczba_grupowan = count($tabela->grupowanie->pozycje); $liczba_zmiennych = count($tabela->grupowanie->zmienne); $liczba_kolumn = $tabela->liczba_kol; $aPoziomy = [] ; $aGrupa = [] ; $numer_poziomu = 0; foreach( $tabela->grupowanie->pozycje as $i_grupowanie ) { // nowy poziom: // - zalozyc nowy element tablicy // - wpisac numer_pozycji jako pierwszy element i ostatni // if( abs($i_grupowanie->poziom->numer) <> $numer_poziomu ) { $numer_poziomu = abs($i_grupowanie->poziom->numer); $aPoziomy[$numer_poziomu]['min'] = $i_grupowanie->numer; } // wpisac numer_pozycji jako ostatni element $aPoziomy[$numer_poziomu]['max'] = $i_grupowanie->numer; // ustawianie domyślnych wartości początkowych dla Grupowanie pozycji dokumentu $aGrupa[$i_grupowanie->numer]['nazwa'] = ''; $aGrupa[$i_grupowanie->numer]['podsumowania']=[]; foreach( $tabela->grupowanie->zmienne as $i_zmienna ) { // inicjowanie zmienych dla danego grupowania // $aGrupa[$i_grupowanie->numer]['zmienne'][$i_zmienna->numer] = 0; } } $zmienna_robocza1 = 0; $zmienna_robocza2 = 0; $zmienna_robocza3 = 0; $zmienna_robocza4 = 0; $zmienna_robocza5 = 0; $zmienna_robocza6 = 0; $zmienna_robocza7 = 0; $zmienna_robocza8 = 0; $zmienna_robocza9 = 0; $wlacz_styl_szachownicy = 1; // możliwe wartości zmiennej $ustawione_tbody: // 0 - brak definicji tbody // 1 - ustawione tbody dla pozycji raportu // 2 - ustawione tbody dla nagłówka grupowania // 3 - ustawione tbody dla podsumowania grupowania // $ustawione_tbody = 0; $nr_tbody = 0; // -------------- THEAD // eval( '$eval_pokaz_naglowek = 0 + ('.$tabela->naglowek->eval_pokaz.');'); if( $eval_pokaz_naglowek == 1 ) { $eval_tklasa = ( FALSE === strpos($tabela->naglowek->tklasa,"'") ? '"'.$tabela->naglowek->tklasa.'"' : $tabela->naglowek->tklasa ); eval( '$eval_tklasa = '.$eval_tklasa.'; '); echo '' ; foreach( $tabela->naglowek->wiersze as $i_wiersz ) { $eval_rklasa = ( FALSE === strpos($i_wiersz->rklasa,"'") ? '"'.$i_wiersz->rklasa.'"' : $i_wiersz->rklasa ); eval( '$eval_rklasa = '.$eval_rklasa.' ;' ); echo '' ; foreach( $i_wiersz->kolumny as $i_kolumna ) { if( isset($i_kolumna->eval_pokaz) ) { eval( '$eval_pokaz = 0 + ('.$i_kolumna->eval_pokaz.');'); } else { $eval_pokaz = 1; } if( $eval_pokaz == 1 ) { $eval_dklasa = ( FALSE === strpos($i_kolumna->dklasa,"'") ? '"'.$i_kolumna->dklasa.'"' : $i_kolumna->dklasa ); eval( '$eval_dklasa = '.$eval_dklasa.' ;' ); if( isset($i_kolumna->liczba_kol) ) { $pom_liczba_kol = $i_kolumna->liczba_kol ; } else { $pom_liczba_kol = 1 ; } if( isset($i_kolumna->eval_nazwa) ) { eval( '$eval_nazwa = '.$i_kolumna->eval_nazwa.' ;'); echo ''; } else { echo ''; } } } echo '' ; } echo '' ; } // ------------ Przetwarzanie danych eval( '$tabela_z_danymi = &'.$tabela->dane.' ;') ; //var_dump($tabela_z_danymi); // $i = 0; // foreach( $tabela_z_danymi as $i_obiekt ) // { // echo 'rekord: '.++$i."
" ; // foreach( $i_obiekt as $i_klucz=>$i_element ) // { // echo $i_klucz.': '.$i_element.'
'; // } // echo '
'; // } foreach( $tabela_z_danymi as $rekord ) { eval( '$eval_pokaz_grupowanie = 0 + ('.$tabela->grupowanie->eval_pokaz.');'); if( $eval_pokaz_grupowanie == 1 ) { $pomin_podsumowania_od_grupy = 999 ; foreach( $tabela->grupowanie->pozycje as $i_grupowanie ) { /* w definicji grup istnieje oznaczenie "poziom", ktory ma 2-a znaczenia: 1. wartosc bezwgledna poziomu mowi o poziomie grupowania, gdzie 1 oznacza podsumowanie calego raportu, a najwyzsza wartosc mowi o najnizszym podsumowaniu; 2. - wartosc dodatnia oznacza glowna i jedyna grupe dla danego poziomu; dla takiej grupy sumowane sa wartosci dla danej wartosci kontrolnej poziomu w tabeli $aGrupa[nr_grupy] wg schematu: - $aGrupa[nr_grupy]['nazwa'] = wartosc kontrolna poziomu, - $aGrupa[nr_grupy]['zmienne'][zmienne->nr_zmiennej] = sumowana wartosc zmiennej, lub zapamietana ostatnia wartosc przetwarzanego rekordu; dla takiej grupy podsumowanie grupy wykonuje sie tylko raz; - wartosc ujemna oznacza pomocnicze grupy dla danego poziomu, ktore gromadza dodatkowe dane dla danej wartosci kontrolnej poziomu; wartosci tych samych zmiennych co dla grupy glownej dla danego poziomu, sa gromadzone w tabeli $aGrupa[nr_grupy]['podsumowania']; dla takiej grupy podsumowanie grupy wykonuje sie dla kazdego elementu z tablicy $aGrupa[nr_grupy]['podsumowania'] */ if( $i_grupowanie->poziom->numer < 0 ) { eval( '$eval_filtruj_dane_podpoziomu = 0 + ('.$i_grupowanie->podpoziom->eval_filtruj_dane.');'); } else { $eval_filtruj_dane_podpoziomu = 0 ; } // sprawdzanie czy dla danego grupowania brac pod uwage aktualny rekord // eval( '$eval_filtruj_dane_poziomu = 0 + ('.$i_grupowanie->poziom->eval_filtruj_dane.');'); if ($eval_filtruj_dane_poziomu == 1) { // ustawienie domyslnych zachowan podczas przetwarzania rekordu // $zrob_podsumowanie_grupy = 'nie'; $zrob_naglowek_grupy = 'nie'; // sprawdzenie czy jest co sprawdzac dla danego grupowania i poziomu (np. podsumowanie calego raportu) // if ( $i_grupowanie->poziom->wartosc_kontrolna ) { eval('$wartosc_kontrolna_poziomu='.$i_grupowanie->poziom->wartosc_kontrolna.';'); } else { $wartosc_kontrolna_poziomu = ''; } // echo '_02: '.$i_grupowanie->numer ; // wartosc kontrolna zmienila sie i nalezy wykonac wszystkie operacje zwiazane ze zmiana dla grupowania // - w tablicy $i_grupowanie są aktualne informacje o przetwarzanej grupie // - w zmiennej $i_grupowanie->nr_pozycji jest informacja o numerze elementu w tablicy aGrupa[] // w ktorej beda zapamietywane wartosci zmiennych i podsumowan dla biezacego grupowania // if ( $wartosc_kontrolna_poziomu !== $aGrupa[$i_grupowanie->numer]['nazwa'] ) { if ( $aGrupa[$i_grupowanie->numer]['nazwa'] == '' || $i_grupowanie->numer > $pomin_podsumowania_od_grupy || $i_grupowanie->numer <> $aPoziomy[abs($i_grupowanie->poziom->numer)]['min'] ) { $zrob_podsumowanie_grupy = 'nie'; $zrob_naglowek_grupy = 'tak'; } else { $zrob_podsumowanie_grupy = 'tak'; $zrob_naglowek_grupy = 'tak'; } } // wartosc kontrolna jest taka sama i odbywa sie przetwarzanie dla biezacego grupowania // else { // wartosci sa naliczane dla glownej grupy danego poziomu // if ( $i_grupowanie->poziom->numer > 0 || ( $i_grupowanie->poziom->numer < 0 && $eval_filtruj_dane_podpoziomu == 1 ) ) { foreach ( $tabela->grupowanie->zmienne as $i_zmienna ) { // jesli typ_operacji dla danej zmiennej = 'suma' to wartosci sa sumowane // jesli typ_operacji dla danej zmiennej = 'wartosc' to wartosci sa zapamietywane // $eval_wartosc = $aGrupa[$i_grupowanie->numer]['zmienne'][$i_zmienna->numer]; if( $i_zmienna->typ_operacji == 'suma') { eval( '$eval_wartosc = $eval_wartosc + '.$i_zmienna->eval_podsumowanie.';') ; } else { eval( '$eval_wartosc = '.$i_zmienna->eval_podsumowanie.';') ; } $aGrupa[$i_grupowanie->numer]['zmienne'][$i_zmienna->numer] = $eval_wartosc; } } // jeśli numer poziomu jest ujemny // to wartosci sa naliczane dla pomocniczej grupy danego poziomu // w tabeli $aGrupa[nr_grupy]['podsumowania'] // if ( $i_grupowanie->poziom->numer < 0 ) { // sprawdzanie czy dla danego grupowania brac pod uwage aktualny rekord // if ($eval_filtruj_dane_podpoziomu == 1) { // pobierana jest wartosc kontrolna, ktora nastepnie wyszukiwana jest w tabeli // $aGrupa[nr_grupy]['podsumowania'][]['nazwa'] // - jesli znaleziono taki element to wartosci dla zmiennych tego elementu sa sumowane lub zapamietywne, // zgodnie z typem_operacji danej zmiennej // - jesli nie znaleziono takiego elementu to taki element jest dopisywany do tabeli // if ( $i_grupowanie->podpoziom->wartosc_kontrolna ) { eval('$wartosc_kontrolna_podpoziomu='.$i_grupowanie->podpoziom->wartosc_kontrolna.';'); } else { $wartosc_kontrolna_podpoziomu = ''; } $znaleziono = 0; $i = 0; // echo 'nr grupowania: '.$i_grupowanie->numer.'
'; foreach ( $aGrupa[$i_grupowanie->numer]['podsumowania'] as $aPodsumowania ) { // znaleziono element tablicy i wartosci dla zmiennych tego elementu sa sumowane lub zapamietywne, // zgodnie z typem_operacji danej zmiennej // if ($aPodsumowania['nazwa'] == $wartosc_kontrolna_podpoziomu) { $znaleziono = 1; foreach ( $tabela->grupowanie->zmienne as $i_zmienna ) { $eval_wartosc = $aPodsumowania['zmienne'][$i_zmienna->numer]; if( $i_zmienna->typ_operacji == 'suma') { eval( '$eval_wartosc = $eval_wartosc + '.$i_zmienna->eval_podsumowanie.';') ; } else { eval( '$eval_wartosc = '.$i_zmienna->eval_podsumowanie.';') ; } $aGrupa[$i_grupowanie->numer]['podsumowania'][$i]['zmienne'][$i_zmienna->numer] = $eval_wartosc; } break; } $i++ ; } // nie znaleziono elementu tablicy spelniajacego warunek "wartosc_kontrolna_podpoziomu" // i dopisywany jest nowy element do tablicy. // if ( $znaleziono == 0 ) { $i = Count( $aGrupa[$i_grupowanie->numer]['podsumowania'] ); $aGrupa[$i_grupowanie->numer]['podsumowania'][$i]['nazwa'] = $wartosc_kontrolna_podpoziomu; foreach ( $tabela->grupowanie->zmienne as $i_zmienna ) { eval( '$eval_wartosc = '.$i_zmienna->eval_podsumowanie.';') ; $aGrupa[$i_grupowanie->numer]['podsumowania'][$i]['zmienne'][$i_zmienna->numer] = $eval_wartosc; } } } } } // ------------ Podsumowanie grupy if ( $zrob_podsumowanie_grupy == 'tak' ) { /* echo 'nr grupowania: '.$i_grupowanie->numer.'
'; echo '___aGrupa[0]:
'; print_r( $aGrupa[0] ); echo '
'; // echo '___aGrupa[1]:
'; print_r( $aGrupa[1] ); // echo '
'; // echo '___aGrupa[2]:
'; print_r( $aGrupa[2] ); // echo '
'; // echo '___aGrupa[3]:
'; print_r( $aGrupa[3] ); // echo '
'; echo '___aGrupa[4]:
'; print_r( $aGrupa[4] ); echo '
'; echo '___aGrupa[9]:
'; print_r( $aGrupa[9] ); echo '

'; */ $pomin_podsumowania_od_grupy = $i_grupowanie->numer; for ( $i=$liczba_grupowan-1; $i>=$aPoziomy[abs($i_grupowanie->poziom->numer)]['min']; $i--) { $for_grupowanie = $tabela->grupowanie->pozycje[$i] ; eval( '$eval_pokaz_podsumowanie = 0 + ('.$for_grupowanie->eval_pokaz->podsumowanie.');'); if ($eval_pokaz_podsumowanie == 1) { if( $ustawione_tbody != 0 ){ echo ''; } $ustawione_tbody = 3; $eval_tklasa1 = ( FALSE === strpos($tabela->grupowanie->tklasa[$nr_tbody],"'") ? '"'.$tabela->grupowanie->tklasa[$nr_tbody].'"' : $tabela->grupowanie->tklasa[$nr_tbody] ); $eval_tklasa2 = ( FALSE === strpos($for_grupowanie->tklasa,"'") ? '"'.$for_grupowanie->tklasa.'"' : $for_grupowanie->tklasa ); $eval_tklasa3 = ( FALSE === strpos($for_grupowanie->podsumowanie->tklasa,"'") ? '"'.$for_grupowanie->podsumowanie->tklasa.'"' : $for_grupowanie->podsumowanie->tklasa ); eval( '$eval_tklasa1 = '.$eval_tklasa1.'; '); eval( '$eval_tklasa2 = '.$eval_tklasa2.'; '); eval( '$eval_tklasa3 = '.$eval_tklasa3.'; '); echo '' ; //echo ''; if ($for_grupowanie->podsumowanie->odstep->przed > 0) { $eval_rklasa = ( FALSE === strpos($for_grupowanie->podsumowanie->odstep->rklasa,"'") ? '"'.$for_grupowanie->podsumowanie->odstep->rklasa.'"' : $for_grupowanie->podsumowanie->odstep->rklasa ); eval( '$eval_rklasa = '.$eval_rklasa.'; '); echo ''; echo ''; echo ''; } // tworzenie tabeli $aFaza // do podziału wydruku podsumowań na fazy wydruku // $aFaza = []; $fazaTyp = ''; $fazaTabela = ''; $fazaNrElementu = -1; $ii = 0; foreach( $for_grupowanie->podsumowanie->pozycje as $i_element ) { if(( $fazaTyp != $i_element->typ_wiersza ) || ( $fazaTabela != $i_element->tabela )) { $fazaNrElementu ++ ; $aFaza[$fazaNrElementu]['typ'] = $i_element->typ_wiersza; $aFaza[$fazaNrElementu]['tabela'] = $i_element->tabela; $aFaza[$fazaNrElementu]['element'] = []; $fazaTyp = $i_element->typ_wiersza; $fazaTabela = $i_element->tabela; } $aFaza[$fazaNrElementu]['element'][] = $ii ; $ii++ ; } foreach( $aFaza as $i_faza ) { if( $i_faza['typ'] == '1x' ) { foreach( $i_faza['element'] as $i_nrPodsumowania ) { if( $for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->eval_filtruj_dane == '') { $eval_filtruj_dane = '1'; } else { $eval_filtruj_dane = $for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->eval_filtruj_dane ; } eval( '$eval_filtruj_dane = 0 + ('.$eval_filtruj_dane.') ;') ; if( $eval_filtruj_dane == 1 ) { $eval_rklasa = ( FALSE === strpos($for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->rklasa,"'") ? '"'.$for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->rklasa.'"' : $for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->rklasa ); eval( '$eval_rklasa = '.$eval_rklasa.'; '); echo ''; foreach( $for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->kolumny as $i_element) { $eval_dklasa = ( FALSE === strpos($i_element->dklasa,"'") ? '"'.$i_element->dklasa.'"' : $i_element->dklasa ); eval( '$eval_dklasa = '.$eval_dklasa.' ;' ); echo ''; } echo '' ; } } } else { if( $i_faza['tabela'] == '' ) { $aFazaPodsumowanie = $aGrupa[$i]['podsumowania'] ; } else { eval( '$aFazaPodsumowanie = '.$i_faza['tabela'].' ;') ; } $nrPodsumowania = -1 ; foreach( $aFazaPodsumowanie as $aPodsumowania ) { $nrPodsumowania ++ ; foreach( $i_faza['element'] as $i_nrPodsumowania ) { if( $for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->eval_filtruj_dane == '') { $eval_filtruj_dane = '1'; } else { $eval_filtruj_dane = $for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->eval_filtruj_dane ; } eval( '$eval_filtruj_dane = 0 + ('.$eval_filtruj_dane.') ;') ; if( $eval_filtruj_dane == 1 ) { $eval_rklasa = ( FALSE === strpos($for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->rklasa,"'") ? '"'.$for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->rklasa.'"' : $for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->rklasa ); eval( '$eval_rklasa = '.$eval_rklasa.'; '); echo ''; foreach( $for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->kolumny as $i_element) { $eval_dklasa = ( FALSE === strpos($i_element->dklasa,"'") ? '"'.$i_element->dklasa.'"' : $i_element->dklasa ); eval( '$eval_dklasa = '.$eval_dklasa.' ;' ); echo ''; } echo '' ; } } } } } // for na tabeli $aFaza if ($for_grupowanie->podsumowanie->odstep->po > 0) { $eval_rklasa = ( FALSE === strpos($for_grupowanie->podsumowanie->odstep->rklasa,"'") ? '"'.$for_grupowanie->podsumowanie->odstep->rklasa.'"' : $for_grupowanie->podsumowanie->odstep->rklasa ); eval( '$eval_rklasa = '.$eval_rklasa.'; '); echo ''; echo ''; echo ''; } } } } // if zrob_podsumowanie_grupy // ------------ Nagłówek grupy if ( $zrob_naglowek_grupy == 'tak' ) { $wlacz_styl_szachownicy = 0; // zmienila sie wartosc_kontrolna_poziomu // wydrukowano wszystkie podsumowania dla poprzedniej wartosc_kontrolna_poziomu // zapamietywana jest nowa wartosc wartosc_kontrolna_poziomu w tabeli $aGrupa[$i_grupowanie->numer]['nazwa'] // $aGrupa[$i_grupowanie->numer]['nazwa'] = $wartosc_kontrolna_poziomu; eval( '$eval_pokaz_naglowek = 0 + ('.$i_grupowanie->eval_pokaz->naglowek.');'); if ($eval_pokaz_naglowek == 1) { if( $ustawione_tbody != 0 ){ echo ''; } $ustawione_tbody = 2; $eval_tklasa1 = ( FALSE === strpos($tabela->grupowanie->tklasa[$nr_tbody],"'") ? '"'.$tabela->grupowanie->tklasa[$nr_tbody].'"' : $tabela->grupowanie->tklasa[$nr_tbody] ); $eval_tklasa2 = ( FALSE === strpos($i_grupowanie->tklasa,"'") ? '"'.$i_grupowanie->tklasa.'"' : $i_grupowanie->tklasa ); $eval_tklasa3 = ( FALSE === strpos($i_grupowanie->naglowek->tklasa,"'") ? '"'.$i_grupowanie->naglowek->tklasa.'"' : $i_grupowanie->naglowek->tklasa ); eval( '$eval_tklasa1 = '.$eval_tklasa1.'; '); eval( '$eval_tklasa2 = '.$eval_tklasa2.'; '); eval( '$eval_tklasa3 = '.$eval_tklasa3.'; '); echo '' ; //echo ''; if ($i_grupowanie->naglowek->odstep->przed > 0) { $eval_rklasa = ( FALSE === strpos($i_grupowanie->naglowek->odstep->rklasa,"'") ? '"'.$i_grupowanie->naglowek->odstep->rklasa.'"' : $i_grupowanie->naglowek->odstep->rklasa ); eval( '$eval_rklasa = '.$eval_rklasa.'; '); echo ''; echo ''; echo ''; } foreach( $i_grupowanie->naglowek->pozycje as $i_naglowek ) { eval( '$eval_filtruj_dane = 0 + ('.$i_naglowek->eval_filtruj_dane.');'); if( $eval_filtruj_dane == 1) { $eval_rklasa = ( FALSE === strpos($i_naglowek->rklasa,"'") ? '"'.$i_naglowek->rklasa.'"' : $i_naglowek->rklasa ); eval( '$eval_rklasa = '.$eval_rklasa.' ;' ); echo ''; foreach( $i_naglowek->kolumny as $i_element) { $eval_dklasa = ( FALSE === strpos($i_element->dklasa,"'") ? '"'.$i_element->dklasa.'"' : $i_element->dklasa ); eval( '$eval_dklasa = '.$eval_dklasa.' ;' ); echo ''; } echo '' ; } } if ($i_grupowanie->naglowek->odstep->po > 0) { $eval_rklasa = ( FALSE === strpos($i_grupowanie->naglowek->odstep->rklasa,"'") ? '"'.$i_grupowanie->naglowek->odstep->rklasa.'"' : $i_grupowanie->naglowek->odstep->rklasa ); eval( '$eval_rklasa = '.$eval_rklasa.'; '); echo ''; echo ''; echo ''; } } // ---------- Inicjalizacja zmiennych $aGrupa[$i_grupowanie->numer]['podsumowania'] = []; foreach ( $tabela->grupowanie->zmienne as $i_zmienna ) { $aGrupa[$i_grupowanie->numer]['zmienne'][$i_zmienna->numer] = 0; } if ( $i_grupowanie->poziom->numer < 0 ) { eval( '$eval_filtruj_dane_podpoziomu = 0 + ('.$i_grupowanie->podpoziom->eval_filtruj_dane.');'); } else { $eval_filtruj_dane_podpoziomu = 0; } if ( $i_grupowanie->poziom->numer > 0 || ( $i_grupowanie->poziom->numer < 0 && $eval_filtruj_dane_podpoziomu == 1 ) ) { foreach ( $tabela->grupowanie->zmienne as $i_zmienna ) { eval( '$eval_wartosc = '.$i_zmienna->eval_podsumowanie.';') ; $aGrupa[$i_grupowanie->numer]['zmienne'][$i_zmienna->numer] = $eval_wartosc; } } if ( $i_grupowanie->poziom->numer < 0 ) { // sprawdzanie czy dla danego grupowania brac pod uwage aktualny rekord // if ($eval_filtruj_dane_podpoziomu == 1) { if ( $i_grupowanie->podpoziom->wartosc_kontrolna ) { eval('$wartosc_kontrolna_podpoziomu='.$i_grupowanie->podpoziom->wartosc_kontrolna.';'); } else { $wartosc_kontrolna_podpoziomu = ''; } $aGrupa[$i_grupowanie->numer]['podsumowania'][0]['nazwa'] = $wartosc_kontrolna_podpoziomu; foreach ( $tabela->grupowanie->zmienne as $i_zmienna ) { eval( '$eval_wartosc = '.$i_zmienna->eval_podsumowanie.';') ; $aGrupa[$i_grupowanie->numer]['podsumowania'][0]['zmienne'][$i_zmienna->numer] = $eval_wartosc; } /* echo 'nr grupowania: '.$i_grupowanie->numer.'
'; echo '_-_aGrupa[3]:
'; print_r( $aGrupa[3] ); echo '

'; */ } } } // if zrob_naglowek_grupy } // if filtruj_dane_poziomu } } // if pokaz_grupowanie eval( '$eval_pokaz_pozycje = 0 + ('.$tabela->pozycje->eval_pokaz.');'); if ($eval_pokaz_pozycje == 1) { if( $ustawione_tbody > 1 ){ echo ''; } if( $ustawione_tbody != 1 ) { $ustawione_tbody = 1; $eval_tklasa = ( FALSE === strpos($tabela->pozycje->tklasa,"'") ? '"'.$tabela->pozycje->tklasa.'"' : $tabela->pozycje->tklasa ); eval( '$eval_tklasa = '.$eval_tklasa.' ;' ); echo ''; //echo ''; } $wlacz_styl_szachownicy = abs( $wlacz_styl_szachownicy - 1 ); $eval_rklasa = ( FALSE === strpos($tabela->pozycje->rklasa,"'") ? '"'.$tabela->pozycje->rklasa.'"' : $tabela->pozycje->rklasa ); eval( '$eval_rklasa = '.$eval_rklasa.' ;' ); echo ''; foreach ( $tabela->pozycje->kolumny as $i_kolumna ) { if ( isset($i_kolumna->eval_pokaz) ) { eval( '$eval_pokaz = 0 + ('.$i_kolumna->eval_pokaz.');'); } else { $eval_pokaz = 1; } if( $eval_pokaz == 1 ) { $eval_dklasa = ( FALSE === strpos($i_kolumna->dklasa,"'") ? '"'.$i_kolumna->dklasa.'"' : $i_kolumna->dklasa ); eval( '$eval_dklasa = '.$eval_dklasa.' ;' ); echo ''; } } echo ''; } } // -------- koniec przetwarzania danych /* echo '

'; echo '___aGrupa[0]:
'; print_r( $aGrupa[0] ); echo '
'; echo '___aGrupa[1]:
'; print_r( $aGrupa[1] ); echo '
'; echo '___aGrupa[2]:
'; print_r( $aGrupa[2] ); echo '
'; echo '___aGrupa[3]:
'; print_r( $aGrupa[3] ); echo '

'; */ // var_dump($aGrupa); $nr_tbody = 1; eval( '$eval_pokaz_grupowanie = 0 + ('.$tabela->grupowanie->eval_pokaz.');'); if( $eval_pokaz_grupowanie == 1 ) { for ( $i=$liczba_grupowan-1; $i>=0; $i--) { $for_grupowanie = $tabela->grupowanie->pozycje[$i] ; eval( '$eval_pokaz_podsumowanie = 0 + ('.$for_grupowanie->eval_pokaz->podsumowanie.');'); if ($eval_pokaz_podsumowanie == 1) { if( $ustawione_tbody != 0 ){ echo ''; } $ustawione_tbody = 3; $eval_tklasa1 = ( FALSE === strpos($tabela->grupowanie->tklasa[$nr_tbody],"'") ? '"'.$tabela->grupowanie->tklasa[$nr_tbody].'"' : $tabela->grupowanie->tklasa[$nr_tbody] ); $eval_tklasa2 = ( FALSE === strpos($for_grupowanie->tklasa,"'") ? '"'.$i_grupowanie->tklasa.'"' : $i_grupowanie->tklasa ); $eval_tklasa3 = ( FALSE === strpos($for_grupowanie->podsumowanie->tklasa,"'") ? '"'.$for_grupowanie->podsumowanie->tklasa.'"' : $for_grupowanie->podsumowanie->tklasa ); eval( '$eval_tklasa1 = '.$eval_tklasa1.'; '); eval( '$eval_tklasa2 = '.$eval_tklasa2.'; '); eval( '$eval_tklasa3 = '.$eval_tklasa3.'; '); echo '' ; //echo ''; if ($for_grupowanie->podsumowanie->odstep->przed > 0) { $eval_rklasa = ( FALSE === strpos($for_grupowanie->podsumowanie->odstep->rklasa,"'") ? '"'.$for_grupowanie->podsumowanie->odstep->rklasa.'"' : $for_grupowanie->podsumowanie->odstep->rklasa ); eval( '$eval_rklasa = '.$eval_rklasa.'; '); echo ''; echo ''; echo ''; } // tworzenie tabeli $aFaza // do podziału wydruku podsumowań na fazy wydruku // $aFaza = []; $fazaTyp = ''; $fazaTabela = ''; $fazaNrElementu = -1; $ii = 0; foreach( $for_grupowanie->podsumowanie->pozycje as $i_element ) { if(( $fazaTyp != $i_element->typ_wiersza ) || ( $fazaTabela != $i_element->tabela )) { $fazaNrElementu ++ ; $aFaza[$fazaNrElementu]['typ'] = $i_element->typ_wiersza; $aFaza[$fazaNrElementu]['tabela'] = $i_element->tabela; $aFaza[$fazaNrElementu]['element'] = []; $fazaTyp = $i_element->typ_wiersza; $fazaTabela = $i_element->tabela; } $aFaza[$fazaNrElementu]['element'][] = $ii ; $ii++ ; } foreach( $aFaza as $i_faza ) { if( $i_faza['typ'] == '1x' ) { foreach( $i_faza['element'] as $i_nrPodsumowania ) { if( $for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->eval_filtruj_dane == '') { $eval_filtruj_dane = '1'; } else { $eval_filtruj_dane = $for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->eval_filtruj_dane ; } eval( '$eval_filtruj_dane = 0 + ('.$eval_filtruj_dane.') ;') ; if( $eval_filtruj_dane == 1 ) { $eval_rklasa = ( FALSE === strpos($for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->rklasa,"'") ? '"'.$for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->rklasa.'"' : $for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->rklasa ); eval( '$eval_rklasa = '.$eval_rklasa.' ;' ); echo ''; foreach( $for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->kolumny as $i_element) { $eval_dklasa = ( FALSE === strpos($i_element->dklasa,"'") ? '"'.$i_element->dklasa.'"' : $i_element->dklasa ); eval( '$eval_dklasa = '.$eval_dklasa.' ;' ); echo ''; } echo '' ; } } } else { if( $i_faza['tabela'] == '' ) { $aFazaPodsumowanie = $aGrupa[$i]['podsumowania'] ; } else { eval( '$aFazaPodsumowanie = '.$i_faza['tabela'].' ;') ; } $nrPodsumowania = -1 ; foreach( $aFazaPodsumowanie as $aPodsumowania ) { $nrPodsumowania ++ ; foreach( $i_faza['element'] as $i_nrPodsumowania ) { if( $for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->eval_filtruj_dane == '') { $eval_filtruj_dane = '1'; } else { $eval_filtruj_dane = $for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->eval_filtruj_dane ; } eval( '$eval_filtruj_dane = 0 + ('.$eval_filtruj_dane.') ;') ; if( $eval_filtruj_dane == 1 ) { $eval_rklasa = ( FALSE === strpos($for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->rklasa,"'") ? '"'.$for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->rklasa.'"' : $for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->rklasa ); eval( '$eval_rklasa = '.$eval_rklasa.' ;' ); echo ''; foreach( $for_grupowanie->podsumowanie->pozycje[$i_nrPodsumowania]->kolumny as $i_element) { $eval_dklasa = ( FALSE === strpos($i_element->dklasa,"'") ? '"'.$i_element->dklasa.'"' : $i_element->dklasa ); eval( '$eval_dklasa = '.$eval_dklasa.' ;' ); echo ''; } echo '' ; } } } } } if ($for_grupowanie->podsumowanie->odstep->po > 0) { $eval_rklasa = ( FALSE === strpos($for_grupowanie->podsumowanie->odstep->rklasa,"'") ? '"'.$for_grupowanie->podsumowanie->odstep->rklasa.'"' : $for_grupowanie->podsumowanie->odstep->rklasa ); eval( '$eval_rklasa = '.$eval_rklasa.'; '); echo ''; echo ''; echo ''; } } } } if( $ustawione_tbody != 0 ) { $ustawione_tbody = 0 ; echo ''; } }}
'.$eval_nazwa.''.$i_kolumna->nazwa.'
'; for ($ii=1; $ii <= $for_grupowanie->podsumowanie->odstep->przed; $ii++) { echo '
'; } echo '
'; if ( $i_element->tytul ){ echo ''.$i_element->tytul.''; } if ( $i_element->eval_wartosc ) { echo ''; eval('echo '.$i_element->eval_wartosc.';'); echo ''; } echo '
'; if ( $i_element->tytul ){ echo ''.$i_element->tytul.''; } if ( $i_element->eval_wartosc ) { echo ''; eval('echo '.$i_element->eval_wartosc.';'); echo ''; } echo '
'; for ($ii=1; $ii <= $for_grupowanie->podsumowanie->odstep->po; $ii++) { echo '
'; } echo '
'; for ($ii=1; $ii <= $i_grupowanie->naglowek->odstep->przed; $ii++) { echo '
'; } echo '
'; if ( $i_element->tytul ){ echo ''.$i_element->tytul.''; } if ( $i_element->eval_wartosc ) { echo ''; eval('echo '.$i_element->eval_wartosc.';'); echo ''; } echo '
'; for ($ii=1; $ii <= $i_grupowanie->naglowek->odstep->po; $ii++) { echo '
'; } echo '
'; eval( 'echo '.$i_kolumna->eval_dane.';' ); echo '
'; for ($ii=1; $ii <= $for_grupowanie->podsumowanie->odstep->przed; $ii++) { echo '
'; } echo '
'; if ( $i_element->tytul ){ echo ''.$i_element->tytul.''; } if ( $i_element->eval_wartosc ) { echo ''; eval('echo '.$i_element->eval_wartosc.';'); echo ''; } echo '
'; if ( $i_element->tytul ){ echo ''.$i_element->tytul.''; } if ( $i_element->eval_wartosc ) { echo ''; eval('echo '.$i_element->eval_wartosc.';'); echo ''; } echo '
'; for ($ii=1; $ii <= $for_grupowanie->podsumowanie->odstep->po; $ii++) { echo '
'; } echo '
{{ // --------------- odstep po tabeli if( $tabela->odstep > 0 ) { echo '
'; for ($ii=1; $ii <= $tabela->odstep; $ii++) { echo '
'; } echo '
'; } }} [[/iteruj]] {{ if( count($i_sekcja->szpalty) > 1 ) { echo '
'; } }}
[[/iteruj]]
[[/iteruj]]