Prejsť na obsah

evidencia - Ovocná škôlka Čaklov

Preskočiť menu
Preskočiť menu
Preskočiť menu

evidencia

VB
Tu je začiatok stránky ...
$value ) { $row[$key] = evid_clean_utf8( $value ); } $rows[] = $row; } fclose( $handle ); return $rows; } /* ================================================== BASELINE ================================================== */ $baselineRows = evid_read_csv( $baselineFile ); $baseline = array(); if ( !empty( $baselineRows ) ) { $header = array_shift( $baselineRows ); foreach ( $baselineRows as $row ) { if ( count( $row ) < 4 ) { continue; } $id = $row[0]; $name = $row[1]; $price = $row[2]; $status = strtolower( $row[3] ); if ( $id === '' || $name === '' ) { continue; } if ( $status !== 'a' && $status !== 'l' ) { continue; } $baseline[] = array( 'id' => $id, 'name' => $name, 'price' => $price, 'status' => $status ); } } /* ================================================== GROUP EXTRACTION ================================================== Predpoklad: Názov začína druhom: Jabloň ... Hruška ... Slivka ... Prvý text pred medzerou / pomlčkou použijeme ako skupinu. ================================================== */ function evid_group( $name ) { $name = trim( $name ); if ( $name === '' ) { return 'OSTATNÉ'; } /* Odstránenie prípadného prefixu. Napr.: "Jabloň (letná) - 'Discovery'" */ if ( preg_match( '/^([^\-\–\—]+?)(?:\s+\(|\s+-|\s+–|\s+—|$)/u', $name, $match ) ) { $group = trim( $match[1] ); if ( $group !== '' ) { return $group; } } /* Fallback: prvé slovo */ $parts = preg_split( '/\s+/u', $name ); if ( !empty( $parts[0] ) ) { return $parts[0]; } return 'OSTATNÉ'; } /* ================================================== CURRENT LIVE PARSER ================================================== LIVE sa číta ako TEXT. Nikdy include / require. ================================================== */ function evid_read_live( $liveFile ) { $products = array(); if ( $liveFile === '' || !is_file( $liveFile ) || !is_readable( $liveFile ) ) { return $products; } $raw = file_get_contents( $liveFile ); if ( $raw === false || $raw === '' ) { return $products; } $raw = preg_replace( '/^\xEF\xBB\xBF+/', '', $raw ); $start = strpos( $raw, '$products' ); if ( $start === false ) { return $products; } $end = strpos( $raw, '$slugToProductIdMap', $start ); if ( $end === false || $end <= $start ) { $end = strlen( $raw ); } $area = substr( $raw, $start, $end - $start ); $matchCount = preg_match_all( "/['\"]([a-z0-9]{8})['\"]\s*=>\s*array\s*\(/i", $area, $matches, PREG_OFFSET_CAPTURE ); if ( $matchCount === false || empty( $matches[1] ) ) { return $products; } foreach ( $matches[1] as $index => $match ) { $id = $match[0]; $startPos = $match[1]; if ( isset( $matches[1][$index + 1] ) ) { $endPos = $matches[1][$index + 1][1]; } else { $endPos = strlen( $area ); } $block = substr( $area, $startPos, $endPos - $startPos ); /* STATUS */ $status = ''; if ( preg_match( "/['\"]staticAvailValue['\"]\s*=>\s*['\"]available['\"]/i", $block ) ) { $status = 'a'; } elseif ( preg_match( "/['\"]staticAvailValue['\"]\s*=>\s*['\"]lack['\"]/i", $block ) ) { $status = 'l'; } elseif ( preg_match( "/['\"]staticAvailValue['\"]\s*=>\s*['\"]notavailable['\"]/i", $block ) ) { $status = 'n'; } /* Iba verejne relevantne stavy. */ if ( $status !== 'a' && $status !== 'l' ) { continue; } /* NAME */ $name = ''; if ( preg_match( "/['\"]name['\"]\s*=>\s*'(.*?)(?\s*\"(.*?)(?\s*(['\"])(.*?)\\1/s", $block, $priceMatch ) ) { $price = trim( $priceMatch[2] ); } elseif ( preg_match( "/['\"]price['\"]\s*=>\s*([0-9]+(?:\.[0-9]+)?)/i", $block, $priceMatch ) ) { $price = trim( $priceMatch[1] ); } $price = str_replace( ',', '.', $price ); $products[] = array( 'id' => $id, 'name' => $name, 'price' => $price, 'status' => $status ); } return $products; } /* ================================================== CURRENT LIVE ================================================== */ $currentLive = evid_read_live( $liveFile ); /* ================================================== CURRENT STATISTICS ================================================== */ $currentTotal = count( $currentLive ); $currentAvailable = 0; $currentLack = 0; $currentGroups = array(); foreach ( $currentLive as $product ) { if ( $product['status'] === 'a' ) { $currentAvailable++; } elseif ( $product['status'] === 'l' ) { $currentLack++; } $group = evid_group( $product['name'] ); if ( !isset( $currentGroups[$group] ) ) { $currentGroups[$group] = 0; } $currentGroups[$group]++; } ksort( $currentGroups, SORT_NATURAL | SORT_FLAG_CASE ); /* ================================================== CHANGE HISTORY ================================================== */ $changeRows = evid_read_csv( $changesFile ); $changes = array(); if ( !empty( $changeRows ) ) { $changeHeader = array_shift( $changeRows ); foreach ( $changeRows as $row ) { if ( count( $row ) < 7 ) { continue; } $changes[] = array( 'date' => $row[0], 'time' => $row[1], 'id' => $row[2], 'name' => $row[3], 'type' => strtolower( $row[4] ), 'old' => $row[5], 'new' => $row[6] ); } } /* ================================================== CHANGE COUNT ================================================== */ $changeCount = count( $changes ); /* ================================================== HTML ================================================== */ ?> Evidencia e-shopu — Jeseň 2026
EVIDENCIA E-SHOPU
JESEŇ 2026
17.08.2026
ŠTART SEZÓNY
Nasadenie produktov do e-shopu
24.08.2026
OTVORENIE E-SHOPU
Otvorenie pre verejnosť a príjem objednávok
01.09.2026
ZAČIATOK OBJEDNÁVKOVEJ SEZÓNY
Očakávané prvé objednávky
Aktuálny stav e-shopu
Produkty v ponuke
V predaji
Zatiaľ nenaskladnené
Aktuálne zverejnené druhy
' . 'Aktuálne nie sú k dispozícii údaje.' . '
'; } else { foreach ( $currentGroups as $groupName => $groupCount ) { echo '' . '' . htmlspecialchars( $groupName, ENT_QUOTES, 'UTF-8' ) . '' . '' . number_format( $groupCount, 0, ',', ' ' ) . '' . ''; } } ?>
Kliknutím na ktorúkoľvek skupinu sa zobrazí celý aktuálny cenník.
Východiskový stav — 17.08.2026
Produkty zverejnené pri štarte jesennej sezóny. Zahrnuté sú iba produkty v stave V PREDAJI alebo ZATIAĽ NENASKLADNENÉ.
' . '' . ''; } else { foreach ( $baseline as $record ) { echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } } ?>
ID PRODUKT CENA STAV
' . 'Východiskový stav zatiaľ nie je k dispozícii.' . '
' . htmlspecialchars( $record['id'], ENT_QUOTES, 'UTF-8' ) . '' . htmlspecialchars( $record['name'], ENT_QUOTES, 'UTF-8' ) . '' . htmlspecialchars( evid_price( $record['price'] ), ENT_QUOTES, 'UTF-8' ) . '' . htmlspecialchars( evid_status_label( $record['status'] ), ENT_QUOTES, 'UTF-8' ) . '
História zmien e-shopu
Zaznamenané zmeny ceny a dostupnosti. Celkom zmien:
' . '' . ''; } else { /* Najnovšie zmeny hore. */ $displayChanges = array_reverse( $changes ); foreach ( $displayChanges as $change ) { echo ''; echo ''; echo ''; echo ''; /* TYPE */ $typeLabel = ''; if ( $change['type'] === 'price' ) { $typeLabel = 'CENA'; } elseif ( $change['type'] === 'status' ) { $typeLabel = 'DOSTUPNOSŤ'; } else { $typeLabel = strtoupper( $change['type'] ); } echo ''; /* OLD */ $old = $change['old']; $new = $change['new']; if ( $change['type'] === 'price' ) { $oldDisplay = evid_price( $old ); $newDisplay = evid_price( $new ); } else { $oldStatus = strtolower( $old ); $newStatus = strtolower( $new ); $oldDisplay = $oldStatus === 'a' ? 'V PREDAJI' : ( $oldStatus === 'l' ? 'ZATIAĽ NENASKLADNENÉ' : $old ); $newDisplay = $newStatus === 'a' ? 'V PREDAJI' : ( $newStatus === 'l' ? 'ZATIAĽ NENASKLADNENÉ' : $new ); } echo ''; echo ''; echo ''; } } ?>
DÁTUM ČAS PRODUKT TYP PÔVODNÝ STAV NOVÝ STAV
' . 'Zatiaľ nebola zaznamenaná žiadna zmena.' . '
' . htmlspecialchars( $change['date'], ENT_QUOTES, 'UTF-8' ) . '' . htmlspecialchars( $change['time'], ENT_QUOTES, 'UTF-8' ) . '' . htmlspecialchars( $change['name'], ENT_QUOTES, 'UTF-8' ) . '' . htmlspecialchars( $typeLabel, ENT_QUOTES, 'UTF-8' ) . '' . htmlspecialchars( $oldDisplay, ENT_QUOTES, 'UTF-8' ) . '' . htmlspecialchars( $newDisplay, ENT_QUOTES, 'UTF-8' ) . '
Tu je koniec stránky ...
Preskočiť menu
Preskočiť menu
Kontaktujte nás - (adresa:) StapeVajda s.r.o.,  094 35 Čaklov 380,  okr. Vranov nad Topľou
Návrat na obsah
Ikona aplikácie
Ovocná škôlka Čaklov Nainštalujte túto aplikáciu na svoju domovskú obrazovku pre lepší zážitok
Klepnite na Tlačidlo inštalácie na iOS a potom na „Pridať na obrazovku“