Přihlásit
Partner a hosting webu
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 CRMPro efektivní komunikaci i vedení projektů doporučujeme eWay-CRM. IMacPotř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!
|
Prohlížení tohoto vlákna:
1 Anonymní uživatelé
|
Re: Datum – formát |
|
Začátečník
Členem od: 9:23 14.10.2005
Skupina:
Registrovaní uživatelé
|
english..., tak já si asi vezmu dovolenou, na výběr ale nemám. Díky.
Zasláno: 21:07 16.10.2005
|
|
|
Re: Datum – formát |
|
Začátečník
Členem od: 9:23 14.10.2005
Skupina:
Registrovaní uživatelé
|
...šmááárjáááá, dovolená asi nebude, vono to fachá. Jsem do smrti zauzlován, díky
Zasláno: 21:32 16.10.2005
|
|
|
Re: Datum – formát |
|
|
A jaký je teda řešení? Mužeš to sem hodit... thx
Zasláno: 21:36 16.10.2005
|
|
Návštěvník
|
Re: Datum – formát |
|
Návštěvník
|
Zasláno: 22:46 16.10.2005
|
|
|
Re: Datum – formát |
|
Začátečník
Členem od: 9:23 14.10.2005
Skupina:
Registrovaní uživatelé
|
-pro datum narození: 1. admin-> configuration-> minimum values-> date of birth nastavit na 4. 2. includes/languages/<language>.php nahradit následující: function zen_date_raw($date, $reverse = false) {
if ($reverse) {
return substr($date, 3, 2) . substr($date, 0, 2) . substr($date, 6, 4);
} else {
return substr($date, 6, 4) . substr($date, 0, 2) . substr($date, 3, 2);
}
}
tímto: /* If MONTH_ABBR is not set, the function will try to find the proper month names anyway, by looking at the set locale */
define('MONTH_ABBR', 'jan feb mar apr may jun jul aug sep oct nov dec');
// Heavily modified version of zen_date_raw() for language-specific date format etc.
function zen_date_raw($date, $reverse = false) {
$date = strtolower($date);
/* 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;
}
3. ve stejném souboru nastavit: define('DATE_FORMAT', 'd/m/Y');
Tolik pro datum narození. -pro rozšířené vyhledávání: 1. includes/modules/pages/advanced_search_result/header_php.php, nahradit řádku 61 if (!zen_checkdate($dfrom, DOB_FORMAT_STRING, $dfrom_array)) {
tímto: if (!zen_checkdate($dfrom, $dfrom_string)) {
řádku 70 if (!zen_checkdate($dto, DOB_FORMAT_STRING, $dto_array)) {
tímto: if (!zen_checkdate($dto, $dto_string)) {
řádku 79 if (mktime(0, 0, 0, $dfrom_array[1], $dfrom_array[2], $dfrom_array[0]) > mktime(0, 0, 0, $dto_array[1], $dto_array[2], $dto_array[0])) {
tímto: if ($dfrom_string > $dto_string) {
2. includes/functions/functions_general.php (začína někde kolem řádku 400) nahradit ////
// 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;
}
////
tímto: ////
// Check date
function zen_checkdate($date, &$date_string) {
$date = strtolower($date);
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);};
$date = ereg_replace("[^0-9]","", $date);
$dformat = ereg_replace("[^dmy]","", strtolower(DATE_FORMAT));
$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})";
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";}
if (!ereg("(^" . $regexp . "$)", $date, $regs)) {return false;};
if (strlen($regs[$d])=="1") {$regs[$d]="0" . $regs[$d];}
if (strlen($regs[$m])=="1") {$regs[$m]="0" . $regs[$m];}
if (strlen($regs[$y])=="2") {if ($regs[$y] <= (date(y))) {$regs[$y]="20" . $regs[$y];} else {$regs[$y]="19" . $regs[$y];}}
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";}
else if ($regs[$m]=="04" || $regs[$m]=="06" || $regs[$m]=="09" || $regs[$m]=="11") {$no_of_days = "30";}
else if (date("L", strtotime($regs[$y]."0101"))) {$no_of_days = "29";}
else {$no_of_days = "28";};
if ($regs[$d] > $no_of_days) {return false;};
$date_string = $regs[$y] . $regs[$m] . $regs[$d];
return true;
}
////
No a je vymalováno Jeden malinkatej zádrhel, který se mi nepodařilo vyřešit: Při vyhledávání se musí zadávat datum jako dd/mm/rrrr a musí to být nastaveno v jazykovém souboru: // text for date of birth example
define('DOB_FORMAT_STRING', 'dd/mm/yyyy');
Při nastavení a zadávání jako dd.mm.rrrr to prostě nefunguje. Po takové době nervového vypětí, co mě to stálo, tohle už prostě řešit nebudu Doufám, že bude spokojenost :hotovo:
Zasláno: 22:54 16.10.2005
|
|
Sepa
|
Re: Datum – formát |
|
Sepa
|
Citát: David napsal/a: -pro datum narození:
...
3. ve stejném souboru nastavit:
define('DATE_FORMAT', 'd/m/Y');
Tolik pro datum narození. ...
Dal bych v tom souboru respektive souborech (includes/languages/<language>.php) formát data na define('DATE_FORMAT', 'd.m.Y');
aby se to zobrazovalo opravdu česky.
Zasláno: 2:20 6.1.2006
|
|
|
Re: Datum – formát |
|
Webmaster
Členem od: 21:08 29.8.2005
Bydliště Louny
Skupina:
Registrovaní uživatelé
|
Podařilo se někomu vyřešit to rozšířené hledání? Aplikoval jsem výše uvedené úpravy do další verze překladu (bude v 1.6) zencartu 1.3.0. Všechno funguje, až na uvedené hledání, kde to píše stále špatný formát. Nějak už to vzdávám.
Zasláno: 23:19 10.4.2006
|
|
|
Re: Datum – formát |
|
Webmaster
Členem od: 21:08 29.8.2005
Bydliště Louny
Skupina:
Registrovaní uživatelé
|
Citát: JardaR napsal/a: Podařilo se někomu vyřešit to rozšířené hledání? Aplikoval jsem výše uvedené úpravy do další verze překladu (bude v 1.6) zencartu 1.3.0. Všechno funguje, až na uvedené hledání, kde to píše stále špatný formát. Nějak už to vzdávám.
HELP PLEASEEEEEE !! Jde o češtinu pro všechny
Zasláno: 12:50 11.4.2006
|
|
|
Re: Datum – formát |
|
Webmaster
Členem od: 21:08 29.8.2005
Bydliště Louny
Skupina:
Registrovaní uživatelé
|
Se připomínám.
Zasláno: 13:24 12.4.2006
|
|
|
Re: Datum – formát |
|
Guru
Členem od: 1:02 11.10.2005
Bydliště Hronov
Skupina:
Registrovaní uživatelé Vývojáři
|
Citát: JardaR napsal/a: Podařilo se někomu vyřešit to rozšířené hledání? Aplikoval jsem výše uvedené úpravy do další verze překladu (bude v 1.6) zencartu 1.3.0. Všechno funguje, až na uvedené hledání, kde to píše stále špatný formát. Nějak už to vzdávám.
no ja sem upravil v czech.php: define('DOB_FORMAT_STRING', 'dd.mm.rrrr'); define('ENTRY_DATE_OF_BIRTH_ERROR', 'Je Vaše datum narození správně? Náš systém vyžaduje datum ve formátu: dd.mm.rrrr (např. 21.05.1970)'); define('ENTRY_DATE_OF_BIRTH_TEXT', '* (např. 21.05.1970)'); atp. pak lze pouzit tecku, ale kontrola datumu pak neproleze pres 1.1.1900, musi byt 01.01.1900 ... ale to snad uz tak nevadi, nebo jo??? jinak by to slo jiste opravit upravou toho javascriptu na kontrolu ...
Zasláno: 9:05 16.4.2006
|
|
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í.
|
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
|
|