diff --git a/lib/WebGUI/DateTime.pm b/lib/WebGUI/DateTime.pm index a31ba10a6..519d7e9dd 100644 --- a/lib/WebGUI/DateTime.pm +++ b/lib/WebGUI/DateTime.pm @@ -77,10 +77,7 @@ sub epochToHuman { $offset = $offset*3600; $temp = $_[0] || time(); $temp = $temp+$offset; - @date = localtime($temp); - $date[4]++; # offset the months starting from 0 - $date[5] += 1900; # original value is Year-1900 - $date[6]++; # offset for weekdays starting from 0 + @date = &localtime($temp); $output = $_[1] || "%z %Z"; #---dealing with percent symbol $output =~ s/\%\%/\%/g; @@ -91,27 +88,27 @@ sub epochToHuman { $temp = $session{user}{timeFormat} || '%H:%n %p'; $output =~ s/\%Z/$temp/g; #---year stuff - $output =~ s/\%y/$date[5]/g; - $value = substr($date[5],2,2); + $output =~ s/\%y/$date[0]/g; + $value = substr($date[0],2,2); $output =~ s/\%Y/$value/g; #---month stuff - $value = sprintf("%02d",$date[4]); + $value = sprintf("%02d",$date[1]); $output =~ s/\%m/$value/g; - $output =~ s/\%M/$date[4]/g; + $output =~ s/\%M/$date[1]/g; if ($output =~ /\%c/) { %month = _getMonth(); - $output =~ s/\%c/$month{$date[4]}/g; + $output =~ s/\%c/$month{$date[1]}/g; } #---day stuff - $value = sprintf("%02d",$date[3]); + $value = sprintf("%02d",$date[2]); $output =~ s/\%d/$value/g; - $output =~ s/\%D/$date[3]/g; + $output =~ s/\%D/$date[2]/g; if ($output =~ /\%w/) { %weekday = _getWeekday(); $output =~ s/\%w/$weekday{$date[6]}/g; } #---hour stuff - $hour12 = $date[2]; + $hour12 = $date[3]; if ($hour12 > 12) { $hour12 = $hour12 - 12; if ($hour12 == 0) { @@ -121,10 +118,10 @@ sub epochToHuman { $value = sprintf("%02d",$hour12); $output =~ s/\%h/$value/g; $output =~ s/\%H/$hour12/g; - $value = sprintf("%02d",$date[2]); + $value = sprintf("%02d",$date[3]); $output =~ s/\%j/$value/g; - $output =~ s/\%J/$date[2]/g; - if ($date[2] > 11) { + $output =~ s/\%J/$date[3]/g; + if ($date[3] > 11) { $output =~ s/\%p/pm/g; $output =~ s/\%P/PM/g; } else { @@ -132,10 +129,10 @@ sub epochToHuman { $output =~ s/\%P/AM/g; } #---minute stuff - $value = sprintf("%02d",$date[1]); + $value = sprintf("%02d",$date[4]); $output =~ s/\%n/$value/g; #---second stuff - $value = sprintf("%02d",$date[0]); + $value = sprintf("%02d",$date[5]); $output =~ s/\%s/$value/g; return $output; } @@ -179,7 +176,7 @@ sub monthStartEnd { #------------------------------------------------------------------- sub setToEpoch { - my @date = localtime(time()); + my @date = &localtime(time()); my ($month, $day, $year) = split(/\//,$_[0]); if (int($year) < 2038 && int($year) > 1900) { $year = int($year); diff --git a/lib/WebGUI/Operation/Page.pm b/lib/WebGUI/Operation/Page.pm index 193370a81..dd24e74ff 100644 --- a/lib/WebGUI/Operation/Page.pm +++ b/lib/WebGUI/Operation/Page.pm @@ -159,7 +159,7 @@ sub www_editPage { } else { %page = %{$session{page}}; } - $page{endDate} = (time()+315360000) if ($page{endDate} < 0); + $page{endDate} = (addToDate(time(),10)) if ($page{endDate} < 0); $output = helpIcon(1); $output .= '

'.WebGUI::International::get(102).'

'; $f->hidden("pageId",$page{pageId}); @@ -225,7 +225,7 @@ sub www_editPageSave { $session{form}{urlizedTitle} = $session{form}{menuTitle} if ($session{form}{urlizedTitle} eq ""); $session{form}{urlizedTitle} = WebGUI::URL::makeUnique(WebGUI::URL::urlize($session{form}{urlizedTitle}),$session{form}{pageId}); $session{form}{startDate} = setToEpoch($session{form}{startDate}) || setToEpoch(time()); - $session{form}{endDate} = setToEpoch($session{form}{endDate}) || setToEpoch(time()+315360000); + $session{form}{endDate} = setToEpoch($session{form}{endDate}) || setToEpoch(addToDate(time(),10)); WebGUI::SQL->write("update page set title=".quote($session{form}{title}).", styleId=$session{form}{styleId}, diff --git a/lib/WebGUI/Wobject.pm b/lib/WebGUI/Wobject.pm index f0630f6f8..e6882a424 100644 --- a/lib/WebGUI/Wobject.pm +++ b/lib/WebGUI/Wobject.pm @@ -422,7 +422,7 @@ sub www_deleteConfirm { =cut sub www_edit { - my ($f, $displayTitle, $title, $templatePosition, $endDate); + my ($f, $startDate, $displayTitle, $title, $templatePosition, $endDate); if ($_[0]->get("wobjectId") eq "new") { $displayTitle = 1; } else { @@ -430,7 +430,8 @@ sub www_edit { } $title = $_[0]->get("title") || $_[0]->get("namespace"); $templatePosition = $_[0]->get("templatePosition") || '0'; - $endDate = $_[0]->get("endDate") || (time()+315360000); + $startDate = $_[0]->get("startDate") || $session{page}{startDate}; + $endDate = $_[0]->get("endDate") || $session{page}{endDate}; $f = WebGUI::HTMLForm->new; $f->hidden("wid",$_[0]->get("wobjectId")); $f->hidden("namespace",$_[0]->get("namespace")) if ($_[0]->get("wobjectId") eq "new"); @@ -441,7 +442,7 @@ sub www_edit { $f->yesNo("displayTitle",WebGUI::International::get(174),$displayTitle); $f->yesNo("processMacros",WebGUI::International::get(175),$_[0]->get("processMacros")); $f->select("templatePosition",WebGUI::Template::getPositions($session{page}{templateId}),WebGUI::International::get(363),[$templatePosition]); - $f->date("startDate",WebGUI::International::get(497),$_[0]->get("startDate")); + $f->date("startDate",WebGUI::International::get(497),$startDate); $f->date("endDate",WebGUI::International::get(498),$endDate); $f->HTMLArea("description",WebGUI::International::get(85),$_[0]->get("description")); $f->raw($_[1]); @@ -463,8 +464,8 @@ sub www_editSave { my ($title, $templatePosition, $startDate, $endDate); $title = $session{form}{title} || $_[0]->get("namespace"); $templatePosition = $session{form}{templatePosition} || '0'; - $startDate = setToEpoch($session{form}{startDate}) || setToEpoch(time()); - $endDate = setToEpoch($session{form}{endDate}) || setToEpoch(time()+315360000); + $startDate = setToEpoch($session{form}{startDate}) || $session{page}{startDate}; + $endDate = setToEpoch($session{form}{endDate}) || $session{page}{endDate}; $session{form}{description} = WebGUI::HTML::cleanSegment($session{form}{description}); $_[0]->set({ title=>$title, diff --git a/lib/WebGUI/Wobject/EventsCalendar.pm b/lib/WebGUI/Wobject/EventsCalendar.pm index 617fa1e04..c8c5afaa9 100644 --- a/lib/WebGUI/Wobject/EventsCalendar.pm +++ b/lib/WebGUI/Wobject/EventsCalendar.pm @@ -176,7 +176,7 @@ sub www_edit { $f = WebGUI::HTMLForm->new; %hash = (list => WebGUI::International::get(17,$namespace), calendarMonth => WebGUI::International::get(18,$namespace), - calendarMonthSmall => WebGUI::International::get(74,$namespace); + calendarMonthSmall => WebGUI::International::get(74,$namespace)); $f->select("calendarLayout",\%hash,WebGUI::International::get(16,$namespace),[$_[0]->get("calendarLayout")]); $f->integer("paginateAfter",WebGUI::International::get(19,$namespace),$paginateAfter); $f->yesNo("proceed",WebGUI::International::get(21,$namespace),$proceed); diff --git a/lib/WebGUI/Wobject/ExtraColumn.pm b/lib/WebGUI/Wobject/ExtraColumn.pm index 55a6cfb04..34f574ea4 100644 --- a/lib/WebGUI/Wobject/ExtraColumn.pm +++ b/lib/WebGUI/Wobject/ExtraColumn.pm @@ -12,6 +12,7 @@ package WebGUI::Wobject::ExtraColumn; use strict; use Tie::CPHash; +use WebGUI::DateTime; use WebGUI::HTMLForm; use WebGUI::Icon; use WebGUI::International; @@ -63,7 +64,7 @@ sub www_copy { #------------------------------------------------------------------- sub www_edit { - my ($output, $f, $endDate, $width, $class, $spacer); + my ($output, $f, $endDate, $width, $class, $spacer,$startDate); if (WebGUI::Privilege::canEditPage()) { $output = helpIcon(1,$namespace); $output .= '

'.WebGUI::International::get(6,$namespace).'

'; @@ -75,7 +76,8 @@ sub www_edit { $spacer = $_[0]->get("spacer"); } $class = $_[0]->get("class") || "content"; - $endDate = $_[0]->get("endDate") || (time()+315360000); + $startDate = $_[0]->get("startDate") || $session{page}{startDate}; + $endDate = $_[0]->get("endDate") || $session{page}{endDate}; $f = WebGUI::HTMLForm->new; $f->hidden("wid",$_[0]->get("wobjectId")); $f->hidden("namespace",$_[0]->get("namespace")) if ($_[0]->get("wobjectId") eq "new"); @@ -85,7 +87,7 @@ sub www_edit { $f->hidden("displayTitle",0); $f->hidden("processMacros",0); $f->hidden("templatePosition",0); - $f->date("startDate",WebGUI::International::get(497),$_[0]->get("startDate")); + $f->date("startDate",WebGUI::International::get(497),$startDate); $f->date("endDate",WebGUI::International::get(498),$endDate); $f->integer("spacer",WebGUI::International::get(3,$namespace),$spacer); $f->integer("width",WebGUI::International::get(4,$namespace),$width); diff --git a/lib/WebGUI/Wobject/WobjectProxy.pm b/lib/WebGUI/Wobject/WobjectProxy.pm index 1f536d156..b399d1c6c 100644 --- a/lib/WebGUI/Wobject/WobjectProxy.pm +++ b/lib/WebGUI/Wobject/WobjectProxy.pm @@ -12,6 +12,7 @@ package WebGUI::Wobject::WobjectProxy; use strict; use Tie::CPHash; +use WebGUI::DateTime; use WebGUI::HTMLForm; use WebGUI::Icon; use WebGUI::International; @@ -61,7 +62,7 @@ sub www_copy { #------------------------------------------------------------------- sub www_edit { - my ($output, $f, $endDate, $templatePosition,%wobjects, %page, %wobject, $a, $b); + my ($output, $f, $startDate, $endDate, $templatePosition,%wobjects, %page, %wobject, $a, $b); tie %wobject, 'Tie::CPHash'; tie %page, 'Tie::CPHash'; tie %wobjects, 'Tie::IxHash'; @@ -69,7 +70,8 @@ sub www_edit { $output = helpIcon(1,$namespace); $output .= '

'.WebGUI::International::get(2,$namespace).'

'; $templatePosition = $_[0]->get("templatePosition") || '0'; - $endDate = $_[0]->get("endDate") || (time()+315360000); + $startDate = $_[0]->get("startDate") || $session{page}{startDate}; + $endDate = $_[0]->get("endDate") || $session{page}{endDate}; $f = WebGUI::HTMLForm->new; $f->hidden("wid",$_[0]->get("wobjectId")); $f->hidden("namespace",$_[0]->get("namespace")) if ($_[0]->get("wobjectId") eq "new"); @@ -79,7 +81,7 @@ sub www_edit { $f->hidden("displayTitle",0); $f->hidden("processMacros",0); $f->select("templatePosition",WebGUI::Template::getPositions($session{page}{templateId}),WebGUI::International::get(363),[$templatePosition]); - $f->date("startDate",WebGUI::International::get(497),$_[0]->get("startDate")); + $f->date("startDate",WebGUI::International::get(497),$startDate); $f->date("endDate",WebGUI::International::get(498),$endDate); $a = WebGUI::SQL->read("select pageId,menuTitle from page where pageId<2 or pageId>25 order by title"); while (%page = $a->hash) { diff --git a/sbin/preload.perl b/sbin/preload.perl index c6326c3e5..b210b2ece 100644 --- a/sbin/preload.perl +++ b/sbin/preload.perl @@ -93,6 +93,7 @@ use WebGUI::Wobject (); print "[ OK ]"; + 1;