Registrovat    Přihlášení
Domů Odkazy Fórum Ke stažení Web hosting Registrace do katalogů
Přihlásit
Jméno:

Heslo:

Pamatuj si mně



Zapomenuté heslo

Nová registrace
Partner a hosting webu
zserver.cz
Spolupráce
Odkazy
česká sociální síť rexVoX.com
Informace a projekty na rodinné domy naleznete v našem blogu.

Navštívit můžete také pasivní rodinné domy - dřevostavby, kde naleznete informace o pasivních stavbách.

Odkazy.
Outlook CRM

Pro efektivní komunikaci i vedení projektů doporučujeme eWay-CRM.

IMac

Potřebujete nový pracovní počítač? Apple iMac bude nejlepší volbou!

Inzerujte zde!

Máte zájem o reklamu? Kupte si textový odkaz na této pozici!



Kategorie a fóra

Prohlížení tohoto vlákna:   1 Anonymní uživatelé



(1) 2 »


Vyhledávání v ZC 1.3.7. - čeština
Guru
Členem od:
22:45 13.12.2006
Skupina:
Registrovaní uživatelé
Příspěvky: 608
Nepřipojen
Prosím, funguje Vám vyhledávání v ZC 1.3.7 ve verzi doplněné o češtinu ?

Založil jsem nedávno toto téma: Vyhledávání - timeout, ale po dlouhém pátrání jsem dospěl k tomu, že se o timeout nejedná a podařilo se mi pravděpodobně najít, kde je zarytaja sabaka.

Řešil jsem to i TADY na zen-cart.com a dospěl jsem postupně k tomu, že chyba je v souboru functions_general.php.

Zjistil jsem, že originál instalace ZC vyhledává v pořádku a použiju-li do svého shopu soubor functions_general.php z této čisté instalace, vyhledávání také funguje OK.

Porovnal jsem pomocí Byond Compare můj soubor s originál čistou instalací a ZC a zjistil jsem, že jedna část souboru je odlišná.

Postupně jsem prohledal všechna rozšíření, která jsem do ZC postupně instaloval a zjistil jsem, že nikde, mimo instalce češtiny pro ZC 1.3.7. soubor functions_general.php nefiguruje.

Porovnal jsem opět přes Byond Compare soubor z instalace a soubor z češtiny a rozdíl je skutečně v instalaci češtiny. Ovšem mé PHP znalosti nejsou dostačující k tomu, abych identifikoval, proč tam ta změna je. Mohl by na to někdo kouknout ?

Zde je zmíněná část souboru functions_general.php z orignální instalace:
Citát:

// Check date
function zen_checkdate($date_to_check, $format_string, &$date_array) {
$separator_idx = -1;

$separators = array('-', ' ', '/', '.');
$month_abbr = array('jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec');
$no_of_days = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

$format_string = strtolower($format_string);

if (strlen($date_to_check) != strlen($format_string)) {
return false;
}

$size = sizeof($separators);
for ($i=0; $i<$size; $i++) {
$pos_separator = strpos($date_to_check, $separators[$i]);
if ($pos_separator != false) {
$date_separator_idx = $i;
break;
}
}

for ($i=0; $i<$size; $i++) {
$pos_separator = strpos($format_string, $separators[$i]);
if ($pos_separator != false) {
$format_separator_idx = $i;
break;
}
}

if ($date_separator_idx != $format_separator_idx) {
return false;
}

if ($date_separator_idx != -1) {
$format_string_array = explode( $separators[$date_separator_idx], $format_string );
if (sizeof($format_string_array) != 3) {
return false;
}

$date_to_check_array = explode( $separators[$date_separator_idx], $date_to_check );
if (sizeof($date_to_check_array) != 3) {
return false;
}

$size = sizeof($format_string_array);
for ($i=0; $i<$size; $i++) {
if ($format_string_array[$i] == 'mm' || $format_string_array[$i] == 'mmm') $month = $date_to_check_array[$i];
if ($format_string_array[$i] == 'dd') $day = $date_to_check_array[$i];
if ( ($format_string_array[$i] == 'yyyy') || ($format_string_array[$i] == 'aaaa') ) $year = $date_to_check_array[$i];
}
} else {
if (strlen($format_string) == 8 || strlen($format_string) == 9) {
$pos_month = strpos($format_string, 'mmm');
if ($pos_month != false) {
$month = substr( $date_to_check, $pos_month, 3 );
$size = sizeof($month_abbr);
for ($i=0; $i<$size; $i++) {
if ($month == $month_abbr[$i]) {
$month = $i;
break;
}
}
} else {
$month = substr($date_to_check, strpos($format_string, 'mm'), 2);
}
} else {
return false;
}

$day = substr($date_to_check, strpos($format_string, 'dd'), 2);
$year = substr($date_to_check, strpos($format_string, 'yyyy'), 4);
}

if (strlen($year) != 4) {
return false;
}

if (!settype($year, 'integer') || !settype($month, 'integer') || !settype($day, 'integer')) {
return false;
}

if ($month > 12 || $month < 1) {
return false;
}

if ($day < 1) {
return false;
}

if (zen_is_leap_year($year)) {
$no_of_days[1] = 29;
}

if ($day > $no_of_days[$month - 1]) {
return false;
}

$date_array = array($year, $month, $day);

return true;
}




A zde je zmíněná část souboru functions_general.php z instalace češtiny pro 1.3.7.:
Citát:

// Check date
function zen_checkdate($date_to_check, $format_string, &$date_array) {
$separator_idx = -1;

$separators = array('-', ' ', '/', '.');
$month_abbr = array('jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec');
$no_of_days = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

$format_string = strtolower($format_string);

if (strlen($date_to_check) != strlen($format_string)) {
return false;
}

$size = sizeof($separators);
for ($i=0; $i<$size; $i++) {
$pos_separator = strpos($date_to_check, $separators[$i]);
if ($pos_separator != false) {
$date_separator_idx = $i;
break;
}
}

for ($i=0; $i<$size; $i++) {
$pos_separator = strpos($format_string, $separators[$i]);
if ($pos_separator != false) {
$format_separator_idx = $i;
break;
}
}

if ($date_separator_idx != $format_separator_idx) {
return false;
}

if ($date_separator_idx != -1) {
$format_string_array = explode( $separators[$date_separator_idx], $format_string );
if (sizeof($format_string_array) != 3) {
return false;
}

$date_to_check_array = explode( $separators[$date_separator_idx], $date_to_check );
if (sizeof($date_to_check_array) != 3) {
return false;
}

$size = sizeof($format_string_array);
for ($i=0; $i<$size; $i++) {
if ($format_string_array[$i] == 'mm' || $format_string_array[$i] == 'mmm') $month = $date_to_check_array[$i];
if ($format_string_array[$i] == 'dd') $day = $date_to_check_array[$i];
if ( ($format_string_array[$i] == 'yyyy') || ($format_string_array[$i] == 'aaaa') ) $year = $date_to_check_array[$i];
}
} else {
if (strlen($format_string) == 8 || strlen($format_string) == 9) {
$pos_month = strpos($format_string, 'mmm');
if ($pos_month != false) {
$month = substr( $date_to_check, $pos_month, 3 );
$size = sizeof($month_abbr);
for ($i=0; $i<$size; $i++) {
if ($month == $month_abbr[$i]) {
$month = $i;
break;
}
}
} else {
$month = substr($date_to_check, strpos($format_string, 'mm'), 2);
}
} else {
return false;
}

$day = substr($date_to_check, strpos($format_string, 'dd'), 2);
$year = substr($date_to_check, strpos($format_string, 'yyyy'), 4);
}

if (strlen($year) != 4) {
return false;
}

if (!settype($year, 'integer') || !settype($month, 'integer') || !settype($day, 'integer')) {
return false;
}

if ($month > 12 || $month < 1) {
return false;
}

if ($day < 1) {
return false;
}

if (zen_is_leap_year($year)) {
$no_of_days[1] = 29;
}

if ($day > $no_of_days[$month - 1]) {
return false;
}

$date_array = array($year, $month, $day);

return true;
}


Zasláno: 18:07 24.5.2007
_________________
TomCZ - jednou je snad dodělám
www.rcshop.eu
www.hankashop.cz
www.detskeknizky.cz
www.hrackyahry.cz
Přenos příspěvku do ostatních aplikací Přenos


Re: Vyhledávání v ZC 1.3.7. - čeština
Guru
Členem od:
20:29 7.12.2005
Bydliště Plzeň
Skupina:
Registrovaní uživatelé
Vývojáři
Příspěvky: 990
Nepřipojen
TomCZ: To je od tebe hezký, že jsi nám sem poslal k porovnání 2x ten samý soubor

Trochu jsem se tomu podíval na zoubek a zdá se, že pro češtinu (a předpokládám taky pro slovenštinu a další jazyky) dostatečně funguje tohle řešení:

1. V souborech /includes/languages/czech.php a /admin/includes/languages/czech.php se používá zbytečně komplikovaná funkce zen_date_raw

Úplně postačí původní modifikovaná funkce v tomto znění:
////
// Return date in raw format
// $date should be in format dd.mm.yyyy
// raw date is in format YYYYMMDD, or DDMMYYYY
  if (!function_exists('zen_date_raw')) {
    function zen_date_raw($date, $reverse = false) {
      if ($reverse) {
        return substr($date, 0, 2) . substr($date, 3, 2) . substr($date, 6, 4);
      } else {
        return substr($date, 6, 4) . substr($date, 3, 2) . substr($date, 0, 2);
      }
    }
  }

Jediná změna je tam přehozené pořadí dnů a měsíců proti originální americké angličtině.

Tahle funkce nemá přímo vliv na vyhledávání, ale slouží pro převod ostatních zadávaných datumů v obchodě a administraci.

Funkci zen_date_raw v obou souborech czech.php z české instalace je možné smazat nebo přejmenovat (například na zen_date_raw_obsolette)

2. V souborech /includes/languages/czech.php a /admin/includes/languages/czech.php je definovaná konstanta DOB_FROMAT_STRING takto:

  define('DOB_FORMAT_STRING', 'dd.mm.rrrr');

Tahle konstanta slouží jednak k zobrazení formátu data ve formuláři stránky Advanced Search, ale taky k ověření zadaného data funkcí zen_checkdate v souboru /includes/functions/functions_general.php. V originálu tahle funkce předpokládá čistě anglické tvary formátů 'dd' pro den, 'mm' pro měsíc a 'yyyy' resp. 'aaaa' pro rok. Pro formát roku 'rrrr' z češtiny se tedy musela upravit.

Kromě toho se formát z konstanty DOB_FORMAT_STRING používá také k ověření data JavaScriptem (funkce IsValidDate) v souboru /includes/general.js a tenhle soubor je v české instalaci také upravený kvůli tomu 'rrrr'.

Tohle řešení má zásadní chybu - nefunguje pro další jazyky bez úpravy. Když budete chtít třeba přidat němčinu s formátem data 'TT.MM.JJJJ' (Tag, Monat, Jahr), musí se zase natvrdo upravit oba soubory.

3. Řešit se to dá podle mého elegantněji a univerzálněji: oddělit formát data pro interní porovnávání od formátu, který se vypisuje do formuláře jako návod k vyplnění, tedy:

3.1 V souboru /includes/languages/czech.php definovat formáty takto:
  define('DOB_FORMAT_STRING', 'dd.mm.yyyy');
  define('DOB_FORMAT_STRING_VISIBLE', 'DD.MM.RRRR');

DOB_FORMAT_STRING se použije jako interní formát pro kontrolu datumu a proto musí být ty zkratky anglicky.

DOB_FORMAT_STRING_VISIBLE se použije pro zobrazení formátu datumu ve formuláři a musí odpovídat jazykovým zvyklostem.

Pro němčinu tedy může být (Tag, Monat, Jahr):
  define('DOB_FORMAT_STRING', 'dd.mm.yyyy');
  define('DOB_FORMAT_STRING_VISIBLE', 'TT.MM.JJJJ');


a pro francouzštinu třeba (jour, mois, année):
  define('DOB_FORMAT_STRING', 'dd.mm.yyyy');
  define('DOB_FORMAT_STRING_VISIBLE', 'jj.mm.aaaa');


V souboru /admin/includes/languages/czech.php nejsou žádné úpravy třeba, protože konstanta DOB_FORMAT_STRING je tam sice definovaná, ale vůbec se nepoužívá.

3.2 Soubory includes/functions/functions_general.php a /includes/general.js se použijí z originální instalace.

Zato je třeba upravit soubory:
/includes/modules/pages/advanced_search/header_php.php
/includes/modules/pages/advanced_search/jscript_main.php
/includes/templates/template_default/templates/tpl_advanced_search_default.php

Úpravy tady uvádět nebudu, v příloze jsou tyto soubory upravené.

3.3 Tahle úprava neřeší zkratky měsíců, které jsou v kódu natvrdo v angličtině. Sice by to šlo, ale pro vyhledávání podle datumu to považuju za ztrátu času a k ničemu jinému se ty zkratky nepoužívají.

4. Abych to shrnul:

Pokud chcete použít toto řešení
- ZÁLOHUJTE!!!
- upravte si soubory czech.php podle bodů 1 a 3.1
- obnovte si soubory z originální instalace
  - /includes/functions/functions_general.php
  - /includes/general.js
- nakopírujte si z přiloženého zipu upravené soubory 
  - /includes/modules/pages/advanced_search/header_php.php
  - /includes/modules/pages/advanced_search/jscript_main.php
  - /includes/templates/template_default/templates/tpl_advanced_search_default.php
  tak jak jsou, nebo do příslušných adresářů vašeho templatu


5. Testováno v ZC v1.3.7, jazyky angličtina + čeština

6. Budu rád za jakékoli připomínky a VÝSLEDKY TESTOVÁNÍ.

Připojit soubor:


zip Multilanguage_advanced_search_fix.zip Velikost: 5.60 KB; Hits: 370

Zasláno: 2:44 25.5.2007
_________________
[col
Přenos příspěvku do ostatních aplikací Přenos


Re: Vyhledávání v ZC 1.3.7. - čeština
Guru
Členem od:
23:01 9.1.2006
Bydliště Liberec
Skupina:
Registrovaní uživatelé
Příspěvky: 657
Nepřipojen
<ot>
Tak Dědku..., už jsem Tě dlouho nepochválil, ale vždycky když si přečtu tvůj příspěvěk - mám pocit, že jsi napsal novou verzi zenu.

Kloubouk dolů, kdo umí - ten umí, kdo neumí - ten čumí.
</ot>

Zasláno: 3:00 25.5.2007
_________________
Váhy a zase Váhy ;)
Přenos příspěvku do ostatních aplikací Přenos


Re: Vyhledávání v ZC 1.3.7. - čeština
Guru
Členem od:
20:29 7.12.2005
Bydliště Plzeň
Skupina:
Registrovaní uživatelé
Vývojáři
Příspěvky: 990
Nepřipojen
No jo, mám pocit, že poslední dobou pořád řeším nějaký nedodělky v Zen Cartu. Kdyby oni ti anglofoni si občas taky připustili, že jsou i jiný jazyky než angličtina, bylo by líp.

Zrovna před chvílí jsem na zen-cart.com odpovídal jednomu takovýmu na dotaz, proč že si myslím, že anglický hlášky nadrátovaný přímo v kódu považuju za chybu. Von tyhle nedodělky prostě řešit nemusí, takže pro něj holt to chyba není. Ach jo...

Zasláno: 4:30 25.5.2007
_________________
[col
Přenos příspěvku do ostatních aplikací Přenos


Re: Vyhledávání v ZC 1.3.7. - čeština
Guru
Členem od:
22:45 13.12.2006
Skupina:
Registrovaní uživatelé
Příspěvky: 608
Nepřipojen
Dědku, díky, díky, díky, zatu chybu s vložením stejného kódu se omlouvám. Už jsem se v těchto, pro mne dost neznámých vodách, toulal moc dlouho a už mi z toho asi i lehce hráblo.

Včera jsem to celý problém nakonec vyřešil tak, že jsem použil čistě jen soubor functions_general.php z originální instalace a na první pohled se zdálo, že vše funguje dobře, ale je pravda, že jsem nezkusil adv.search s datumem a tam teď, ať vložím datom 2007.02.10 nebo 10.02.2007 to hází chybu, že je špatně zadané datum "od".

Večer to zkusím překutat na tu tvou verzi úpravy

Docele mne ale zaráží, že se s tím nikdo nesetkal dřív ?

Zasláno: 7:56 25.5.2007
_________________
TomCZ - jednou je snad dodělám
www.rcshop.eu
www.hankashop.cz
www.detskeknizky.cz
www.hrackyahry.cz
Přenos příspěvku do ostatních aplikací Přenos


Re: Vyhledávání v ZC 1.3.7. - čeština
Guru
Členem od:
20:29 7.12.2005
Bydliště Plzeň
Skupina:
Registrovaní uživatelé
Vývojáři
Příspěvky: 990
Nepřipojen
Doplněk k návodu uvedenému výše:

OBNOVTE SI Z ORIGINÁLNÍ INSTALACE TAKÉ SOUBOR
- /includes/modules/pages/advanced_search_result/header_php.php


Na ten jsem jaksi pozapomněl.

Zasláno: 8:42 25.5.2007
_________________
[col
Přenos příspěvku do ostatních aplikací Přenos


Re: Vyhledávání v ZC 1.3.7. - čeština

Členem od:
23:10 26.10.2006
Skupina:
Registrovaní uživatelé
Vývojáři
Příspěvky: 1002997
Nepřipojen
Citát:
Docele mne ale zaráží, že se s tím nikdo nesetkal dřív ?


setkal, psalo se o tom, ale každý to vysvětloval nějak jinak a svádělo se to na všechno možný. Prostě buďto to šlo anebo ne.

to Dědek: připájím se k Freemanovi....

ale: když zadám vyhledávání podle datumu a napíši
od: 01.05.2007
do:25.05.2007

tak to vyhodí chybovou hlášku, že datum do musí být větší anebo stejné jako datum od.

a další věc.
název zboží je např. Manowar - triko.
Když zadám jako klíčové slovo např. Manowar (nebo jinou kapelu, která je v názvu zboží, viz moje stránky), tak to nenajde nic, ale když zadám jen triko, tak se vypíšou všechny trika.

ZC 135

Zasláno: 14:35 25.5.2007

Editováno melodic ze dne 25. 5. 2007 15:19:51
Editováno melodic ze dne 25. 5. 2007 15:24:03
_________________
Save Water !
Drink Beer ...
Přenos příspěvku do ostatních aplikací Přenos


Re: Vyhledávání v ZC 1.3.7. - čeština
Guru
Členem od:
22:45 13.12.2006
Skupina:
Registrovaní uživatelé
Příspěvky: 608
Nepřipojen
Ahoj, tak jsem testoval na ZC 1.3.7 CZ a pak na ZC 1.3.7 CZ+ENG+GER a dospěl jsem k následujícímu:

Shop 1.3.7 CZ:

Při Advanced Search mi to hodí chybu "Spatné datum od" resp. "Špatné datum do" ať zkusím zadat datum ve formátu dd.mm.rrrr a nebo i původní formátu z ENG mm/dd/rrrr
Jinak všechno další vyhledávání funguje, jak normální, tak i rozšířené třeba dle ceny apod.

Shop 1.3.7 CZ+ENG+GER (www.rctomik.eu)

Stejný problém při Advanced Search v češtině, datumy nefungují.
Při hledání v Adv.Search v GER (použita stejná úprava v german.php dle Dědka jako pro soubor czech.php) vše funguje správně a vyhledávání podle datumů funguje správně při zadaném formátu dd.mm.rrrr.

V ENG opět vše funkčí s formátem mm/dd/rrrr.

do přílohy dávám své soubory czech.php a german.php pro případné porovnání. Např. v czech.php je navíc u funkce zen_date_raw jakási definice MONTH_ABBR, která v german.php není, ale nevím, jestli na to může mít vliv.

Připojit soubor:


zip languages.zip Velikost: 23.08 KB; Hits: 175

Zasláno: 10:33 26.5.2007
_________________
TomCZ - jednou je snad dodělám
www.rcshop.eu
www.hankashop.cz
www.detskeknizky.cz
www.hrackyahry.cz
Přenos příspěvku do ostatních aplikací Přenos


Re: Vyhledávání v ZC 1.3.7. - čeština
Guru
Členem od:
20:29 7.12.2005
Bydliště Plzeň
Skupina:
Registrovaní uživatelé
Vývojáři
Příspěvky: 990
Nepřipojen
TomCZ: Nefunguje ti datum v češtině, protože jsi v czech.php nechal funkci zen_date_raw z češtiny od JardyR. Tam musíš mít funkci zen_date_raw tak, jak jsem ji tady popisoval a jak ji máš v german.php. Proto ti němčina funguje a čeština ne.

Definice MONTH_ABBR se používá v úpravě od JardyR. V úpravě, kterou tady popisuji je zbytečná.

Melodic: Co se datumu týče, překontroluj si celý popsaný postup úpravy. Možná, že jsi něco zapomněl, ovšem nevylučuji, že jsem někde něco zapomněl já popsat.

Podle toho jak popisuješ problémy s vyhledáváním textu, bych se skoro vsadil, že máš nastavené nějaké case sensitive porovnávání v databázi - tedy buď cp1250_czech_cs nebo latin2_czech_cs. Obě jsou naprosto nevhodná. Pokud máš databázi cp1250, vyzkoušej porovnávání cp1250_general_ci. Nebude to fungovat korektně podle normy, ale mělo by se najít všechno. Pokud se najde, je třeba řešit znakovou sadu a porovnávání databáze. Jediná kombinace, která pro češtinu funguje korektně, je znaková sada utf8 a porovnávání utf8_czech_ci.

Zasláno: 9:52 28.5.2007
_________________
[col
Přenos příspěvku do ostatních aplikací Přenos


Re: Vyhledávání v ZC 1.3.7. - čeština
Guru
Členem od:
22:45 13.12.2006
Skupina:
Registrovaní uživatelé
Příspěvky: 608
Nepřipojen
Díky Dědku, nevím, co jsem vyváděl, ale teď už bych toměl mít celé. Hodil jsem si opět do Beyond Compare file czech.php a german.php a dal to nějak dohromady.

Když jsem totiž zakomentoval jen tu původní funkci zen_date_raw , nastavil ty dvě definice a přkopíroval novou zen_date_raw, tak mi to opět začalo padat do blank screen už na úvodní stránce shopu.

Při porovnání v Beyond Compare jsem pak zjistil ještě celkem dost velkou odlišnost pod funkcí zen_date_raw mezi czech.php a german.php. V czech.php přebýval tento kód:

Citát:

/* The second " " adds a value before MONTH_ABBR, so the first string in constant MONTH_ABBR starts at $month_abbr[1], and not $month_abbr[0] */
if ((defined('MONTH_ABBR'))AND(constant('MONTH_ABBR'))) {$month_abbr = explode(" ", " " . strtolower(MONTH_ABBR));}
else {for ($i=1; $i < 13; $i++) {$month_abbr[$i] = strtolower(strftime("%b",strtotime("$i/1/2004")));}}
for ($i=1; $i < 13; $i++) {$month_strpos[$i]=strpos($date, $month_abbr[$i]);
if (is_int($month_strpos[$i]) && !isset($first_case)) {$first_case=$month_strpos[$i]; $m=$i;};
if (is_int($month_strpos[$i]) && $month_strpos[$i] < $first_case) {$first_case=$month_strpos[$i]; $m=$i;};};
if (isset($m) && isset($first_case)) {$date = substr_replace($date, $m, $first_case, 0);};

/* Now, as we've converted any eventual month strings into a number, remove non-numeric characters. */
$date = ereg_replace("[^0-9]","", $date);
/* For the date format, remove all characters except d, m and y. */
$dformat = ereg_replace("[^dmy]","", strtolower(DATE_FORMAT));

/* Define regex for day, month and year. */
$dd="([0-2][1-9]|[1-3][0-1]|[1-9])";
if (isset($m) && isset($first_case)) {$mm="(" . $m . ")";} else {$mm="(0?[1-9]|1[0-2])";};
$yyyy="((19|20)?[0-9]{2})";
/* Look at the set date format, and create the entire regex line as well as set the location where day, month and year is to be found for later reference. */
if ($dformat=="dmy") {$regexp=$dd . $mm . $yyyy; $d="2"; $m="3"; $y="4";}
else if ($dformat=="mdy") {$regexp=$mm . $dd . $yyyy; $d="3"; $m="2"; $y="4";}
else if ($dformat=="ydm") {$regexp=$yyyy . $dd . $mm; $d="4"; $m="5"; $y="2";}
else {$regexp=$yyyy . $mm . $dd; $d="5"; $m="4"; $y="2";}
/* Do the magic or return false. */
if (!ereg("(^" . $regexp . "$)", $date, $regs)) {return false;};

/* If some values are too short, fix them. */
/* fix value of day */
if (strlen($regs[$d])=="1") {$regs[$d]="0" . $regs[$d];}
/* fix value of month */
if (strlen($regs[$m])=="1") {$regs[$m]="0" . $regs[$m];}
/* fix value of year. If year is less than or equal to the last 2 numbers of the current year, set century to 20. */
if (strlen($regs[$y])=="2") {if ($regs[$y] <= (date(y))) {$regs[$y]="20" . $regs[$y];} else {$regs[$y]="19" . $regs[$y];}}

/* Find maximum number of days in the current month, and make sure the day inserted is not higher. */
/* Is month one of january, march, may, july, august, october or december? */
if ($regs[$m]=="01" || $regs[$m]=="03" || $regs[$m]=="05" || $regs[$m]=="07" || $regs[$m]=="08" || $regs[$m]=="10" || $regs[$m]=="12") {$no_of_days = "31";}
/* Is month one of april, june, september or november? */
else if ($regs[$m]=="04" || $regs[$m]=="06" || $regs[$m]=="09" || $regs[$m]=="11") {$no_of_days = "30";}
/* So the month is february, but is it a leap year? */
else if (date("L", strtotime($regs[$y]."0101"))) {$no_of_days = "29";}
else {$no_of_days = "28";};
/* If the day is higher than what is allowed, it's obviously not a correct date. */
if ($regs[$d] > $no_of_days) {return false;};

/* Return date like ddmmyyyy (reverse) or the standard yyyymmdd? */
if ($reverse) {
$date=$regs[$d] . $regs[$m] . $regs[$y];
} else {
$date=$regs[$y] . $regs[$m] . $regs[$d];
}
return $date;
}


Sice nevím, co přesně dělá, ale zkusil jsem ho odstranit a zdá se, že to funguje. Doufám, že jsem nevyhodil nic důležitého.

Pro jistotu ještě přikládám svůj nový czech.php

Připojit soubor:


zip czech.zip Velikost: 11.17 KB; Hits: 177

Zasláno: 11:10 28.5.2007
_________________
TomCZ - jednou je snad dodělám
www.rcshop.eu
www.hankashop.cz
www.detskeknizky.cz
www.hrackyahry.cz
Přenos příspěvku do ostatních aplikací Přenos



(1) 2 »



Můžete prohlížet témata.
Nemůžete zakládat nová témata.
Nemůžete odpovídat na příspěvky.
Nemůžete editovat Vaše příspěvky.
Nemůžete mazat Vaše příspěvky.
Nemůžete přidávat nové ankety.
Můžete hlasovat v anketách.
Nemůžete připojovat soubory k příspěvkům.
Nemůžete přispívat bez schválení.

[Rozšířené hledání]


Odkazy



Zen-Cart ke stažení

Vyšel nový Zencart 1.5.0

Originální moduly můžete stahovat na
www.zen-cart.com

Reklama
Nejaktivnější autoři
1 Melodic
Melodic
1002997
2 Kozoroh
Kozoroh
2124
3 JardaR
JardaR
1888
4 garden
garden
1419
5 Nismo
Nismo
1389
6 hbxx 1131
7 jandik01
jandik01
1070
8 PeterB
PeterB
1017
9 Dedek
Dedek
990
10 bambulko
bambulko
775