lots of small bug fixes
This commit is contained in:
parent
d361711600
commit
03adaddb81
3 changed files with 859 additions and 846 deletions
|
|
@ -145,7 +145,17 @@ WebGUI::SQL->write("alter table EventsCalendar_event drop primary key");
|
||||||
WebGUI::SQL->write("alter table Navigation rename tempoldnav");
|
WebGUI::SQL->write("alter table Navigation rename tempoldnav");
|
||||||
WebGUI::SQL->write("create table Navigation (assetId varchar(22) not null primary key, assetsToInclude text, startType varchar(35), startPoint varchar(255), endPoint varchar(35), showSystemPages int not null default 0, showHiddenPages int not null default 0, showUnprivilegedPages int not null default 0, templateId varchar(22) not null)");
|
WebGUI::SQL->write("create table Navigation (assetId varchar(22) not null primary key, assetsToInclude text, startType varchar(35), startPoint varchar(255), endPoint varchar(35), showSystemPages int not null default 0, showHiddenPages int not null default 0, showUnprivilegedPages int not null default 0, templateId varchar(22) not null)");
|
||||||
my @wobjects = qw(SiteMap Article Poll Survey USS WSClient DataForm FileManager EventsCalendar HttpProxy IndexedSearch MessageBoard Product SQLReport SyndicatedContent WobjectProxy);
|
my @wobjects = qw(SiteMap Article Poll Survey USS WSClient DataForm FileManager EventsCalendar HttpProxy IndexedSearch MessageBoard Product SQLReport SyndicatedContent WobjectProxy);
|
||||||
my @otherWobjects = WebGUI::SQL->buildArray("select distinct(namespace) from wobject where namespace not in (".quoteAndJoin(\@wobjects).")");
|
my @otherWobjects = ();
|
||||||
|
my @temp = WebGUI::SQL->buildArray("select distinct(namespace) from wobject where namespace not in (".quoteAndJoin(\@wobjects).")");
|
||||||
|
foreach my $other (@temp) {
|
||||||
|
my $test = WebGUI::SQL->unconditionalRead("select * from $other");
|
||||||
|
if ($test->errorCode < 1) {
|
||||||
|
push(@otherWobjects,$other);
|
||||||
|
} else {
|
||||||
|
print "\t\t WARNING: A wobject instance of $other exists in your database without a namespace table.\n" unless ($quiet);
|
||||||
|
}
|
||||||
|
$test->finish;
|
||||||
|
}
|
||||||
my @allWobjects = (@wobjects,@otherWobjects);
|
my @allWobjects = (@wobjects,@otherWobjects);
|
||||||
foreach my $namespace (@allWobjects) {
|
foreach my $namespace (@allWobjects) {
|
||||||
WebGUI::SQL->write("alter table ".$namespace." add column assetId varchar(22) not null");
|
WebGUI::SQL->write("alter table ".$namespace." add column assetId varchar(22) not null");
|
||||||
|
|
@ -513,7 +523,7 @@ while (my $data = $sth->hashRef) {
|
||||||
my $url = fixUrl($collateralId,$data->{name});
|
my $url = fixUrl($collateralId,$data->{name});
|
||||||
$macroCache{$data->{name}} = $macroCache{$data->{collateralId}} = $url;
|
$macroCache{$data->{name}} = $macroCache{$data->{collateralId}} = $url;
|
||||||
WebGUI::SQL->write("insert into asset (assetId, parentId, lineage, className, state, title, menuTitle,
|
WebGUI::SQL->write("insert into asset (assetId, parentId, lineage, className, state, title, menuTitle,
|
||||||
url, ownerUserId, groupIdView, groupIdEdit, fileSize, lastUpdated) values (".
|
url, ownerUserId, groupIdView, groupIdEdit, assetSize, lastUpdated) values (".
|
||||||
quote($collateralId).", ".quote($parentId).", ".quote($baseLineage.sprintf("%06d",$rank)).",
|
quote($collateralId).", ".quote($parentId).", ".quote($baseLineage.sprintf("%06d",$rank)).",
|
||||||
'".$class."','published',".quote($data->{name}).", ".
|
'".$class."','published',".quote($data->{name}).", ".
|
||||||
quote($data->{name}).", ".quote($url).", ".quote($data->{userId}).",
|
quote($data->{name}).", ".quote($url).", ".quote($data->{userId}).",
|
||||||
|
|
@ -1382,20 +1392,20 @@ sub walkTree {
|
||||||
WebGUI::SQL->write("insert into asset (assetId, parentId, lineage, className, state, title, menuTitle, url, startDate,
|
WebGUI::SQL->write("insert into asset (assetId, parentId, lineage, className, state, title, menuTitle, url, startDate,
|
||||||
endDate, synopsis, newWindow, isHidden, ownerUserId, groupIdView, groupIdEdit, encryptPage, assetSize,
|
endDate, synopsis, newWindow, isHidden, ownerUserId, groupIdView, groupIdEdit, encryptPage, assetSize,
|
||||||
extraHeadTags ) values (".quote($pageId).",
|
extraHeadTags ) values (".quote($pageId).",
|
||||||
".quote($newParentId).", ".quote($pageLineage).", ".quote($className).",'published',".quote($page->{title}).",
|
".quote($newParentId).", ".quote($pageLineage).", ".quote($className).",'published',".quote($page->{title}||"Untitled").",
|
||||||
".quote($page->{menuTitle}).", ".quote($pageUrl).", ".quote($page->{startDate}).", ".quote($page->{endDate}).",
|
".quote($page->{menuTitle}||"Untitled").", ".quote($pageUrl).", ".quote($page->{startDate}).", ".quote($page->{endDate}).",
|
||||||
".quote($page->{synopsis}).", ".quote($page->{newWindow}).", ".quote($page->{hideFromNavigation}).", ".quote($page->{ownerId}).",
|
".quote($page->{synopsis}).", ".quote($page->{newWindow}).", ".quote($page->{hideFromNavigation}).", ".quote($page->{ownerId}||'3').",
|
||||||
".quote($page->{groupIdView}).", ".quote($page->{groupIdEdit}).", ".quote($page->{encryptPage}).",
|
".quote($page->{groupIdView}||'7').", ".quote($page->{groupIdEdit}.'3').", ".quote($page->{encryptPage}).",
|
||||||
".length($page->{title}.$page->{menuTitle}.$page->{synopsis}.$page->{urlizedTitle}).", ".quote($page->{metaTags}).")");
|
".length($page->{title}.$page->{menuTitle}.$page->{synopsis}.$page->{urlizedTitle}).", ".quote($page->{metaTags}).")");
|
||||||
if ($page->{redirectURL} ne "") {
|
if ($page->{redirectURL} ne "") {
|
||||||
WebGUI::SQL->write("insert into redirect (assetId, redirectUrl) values (".quote($pageId).",".quote($page->{redirectURL}).")");
|
WebGUI::SQL->write("insert into redirect (assetId, redirectUrl) values (".quote($pageId).",".quote($page->{redirectURL}).")");
|
||||||
} else {
|
} else {
|
||||||
WebGUI::SQL->write("insert into wobject (assetId, styleTemplateId, printableStyleTemplateId,
|
WebGUI::SQL->write("insert into wobject (assetId, styleTemplateId, printableStyleTemplateId,
|
||||||
cacheTimeout, cacheTimeoutVisitor, displayTitle, namespace) values (
|
cacheTimeout, cacheTimeoutVisitor, displayTitle, namespace) values (
|
||||||
".quote($pageId).", ".quote($page->{styleId}).",
|
".quote($pageId).", ".quote($page->{styleId}||'1').",
|
||||||
".quote($page->{printableStyleId}).", ".quote($page->{cacheTimeout}).",".quote($page->{cacheTimeoutVisitor}).",
|
".quote($page->{printableStyleId}||'1').", ".quote($page->{cacheTimeout}).",".quote($page->{cacheTimeoutVisitor}).",
|
||||||
0,'Layout')");
|
0,'Layout')");
|
||||||
WebGUI::SQL->write("insert into Layout (assetId,templateId) values (".quote($pageId).", ".quote($page->{templateId}).")");
|
WebGUI::SQL->write("insert into Layout (assetId,templateId) values (".quote($pageId).", ".quote($page->{templateId}||'1').")");
|
||||||
}
|
}
|
||||||
my $rank = 1;
|
my $rank = 1;
|
||||||
print "\t\tFinding wobjects on page ".$page->{pageId}."\n" unless ($quiet);
|
print "\t\tFinding wobjects on page ".$page->{pageId}."\n" unless ($quiet);
|
||||||
|
|
@ -1431,34 +1441,33 @@ sub walkTree {
|
||||||
print "\t\t\tMigrating attachments for Article ".$wobject->{wobjectId}."\n" unless ($quiet);
|
print "\t\t\tMigrating attachments for Article ".$wobject->{wobjectId}."\n" unless ($quiet);
|
||||||
if ($namespace->{attachment}) {
|
if ($namespace->{attachment}) {
|
||||||
my $attachmentId = WebGUI::Id::generate();
|
my $attachmentId = WebGUI::Id::generate();
|
||||||
|
my $storageId = copyFile($namespace->{attachment},$wobject->{wobjectId});
|
||||||
WebGUI::SQL->write("insert into asset (assetId, parentId, lineage, className, state, title, menuTitle,
|
WebGUI::SQL->write("insert into asset (assetId, parentId, lineage, className, state, title, menuTitle,
|
||||||
url, startDate, endDate, isHidden, ownerUserId, groupIdView, groupIdEdit) values (".
|
url, startDate, endDate, isHidden, ownerUserId, groupIdView, groupIdEdit,assetSize) values (".
|
||||||
quote($attachmentId).", ".quote($wobjectId).", ".quote($wobjectLineage.sprintf("%06d",1)).",
|
quote($attachmentId).", ".quote($wobjectId).", ".quote($wobjectLineage.sprintf("%06d",1)).",
|
||||||
'WebGUI::Asset::File','published',".quote($namespace->{attachment}).", ".
|
'WebGUI::Asset::File','published',".quote($namespace->{attachment}).", ".
|
||||||
quote($namespace->{attachment}).", ".quote(fixUrl($attachmentId,$wobjectUrl.'/'.$namespace->{attachment})).",
|
quote($namespace->{attachment}).", ".quote(fixUrl($attachmentId,$wobjectUrl.'/'.$namespace->{attachment})).",
|
||||||
".quote($wobject->{startDate}).", ".quote($wobject->{endDate}).", 1, ".quote($ownerId).",
|
".quote($wobject->{startDate}).", ".quote($wobject->{endDate}).", 1, ".quote($ownerId).",
|
||||||
".quote($groupIdView).", ".quote($groupIdEdit).")");
|
".quote($groupIdView).", ".quote($groupIdEdit).","
|
||||||
my $storageId = copyFile($namespace->{attachment},$wobject->{wobjectId});
|
.quote(getFileSize($storageId,$namespace->{attachment})).")");
|
||||||
WebGUI::SQL->write("insert into FileAsset (assetId, filename, storageId, fileSize) values (
|
WebGUI::SQL->write("insert into FileAsset (assetId, filename, storageId) values (
|
||||||
".quote($attachmentId).", ".quote($namespace->{attachment}).", ".quote($storageId).",
|
".quote($attachmentId).", ".quote($namespace->{attachment}).", ".quote($storageId).")");
|
||||||
".quote(getFileSize($storageId,$namespace->{attachment})).")");
|
|
||||||
}
|
}
|
||||||
if ($namespace->{image}) {
|
if ($namespace->{image}) {
|
||||||
my $rank = 1;
|
my $rank = 1;
|
||||||
$rank ++ if ($namespace->{attachment});
|
$rank ++ if ($namespace->{attachment});
|
||||||
my $imageId = WebGUI::Id::generate();
|
my $imageId = WebGUI::Id::generate();
|
||||||
|
my $storageId = copyFile($namespace->{image},$wobject->{wobjectId});
|
||||||
|
copyFile('thumb-'.$namespace->{image},$wobject->{wobjectId},$storageId);
|
||||||
WebGUI::SQL->write("insert into asset (assetId, parentId, lineage, className, state, title, menuTitle,
|
WebGUI::SQL->write("insert into asset (assetId, parentId, lineage, className, state, title, menuTitle,
|
||||||
url, startDate, endDate, isHidden, ownerUserId, groupIdView, groupIdEdit) values (".
|
url, startDate, endDate, isHidden, ownerUserId, groupIdView, groupIdEdit,assetSize) values (".
|
||||||
quote($imageId).", ".quote($wobjectId).", ".quote($wobjectLineage.sprintf("%06d",$rank)).",
|
quote($imageId).", ".quote($wobjectId).", ".quote($wobjectLineage.sprintf("%06d",$rank)).",
|
||||||
'WebGUI::Asset::File::Image','published',".quote($namespace->{image}).", ".
|
'WebGUI::Asset::File::Image','published',".quote($namespace->{image}).", ".
|
||||||
quote($namespace->{image}).", ".quote(fixUrl($imageId,$wobjectUrl.'/'.$namespace->{image})).",
|
quote($namespace->{image}).", ".quote(fixUrl($imageId,$wobjectUrl.'/'.$namespace->{image})).",
|
||||||
".quote($wobject->{startDate}).", ".quote($wobject->{endDate}).", 1, ".quote($ownerId).",
|
".quote($wobject->{startDate}).", ".quote($wobject->{endDate}).", 1, ".quote($ownerId).",
|
||||||
".quote($groupIdView).", ".quote($groupIdEdit).")");
|
".quote($groupIdView).", ".quote($groupIdEdit).",".quote(getFileSize($storageId,$namespace->{image})).")");
|
||||||
my $storageId = copyFile($namespace->{image},$wobject->{wobjectId});
|
WebGUI::SQL->write("insert into FileAsset (assetId, filename, storageId) values (
|
||||||
copyFile('thumb-'.$namespace->{image},$wobject->{wobjectId},$storageId);
|
".quote($imageId).", ".quote($namespace->{image}).", ".quote($storageId).")");
|
||||||
WebGUI::SQL->write("insert into FileAsset (assetId, filename, storageId, fileSize) values (
|
|
||||||
".quote($imageId).", ".quote($namespace->{image}).", ".quote($storageId).",
|
|
||||||
".quote(getFileSize($storageId,$namespace->{image})).")");
|
|
||||||
WebGUI::SQL->write("insert into ImageAsset (assetId, thumbnailSize) values (".quote($imageId).",
|
WebGUI::SQL->write("insert into ImageAsset (assetId, thumbnailSize) values (".quote($imageId).",
|
||||||
".quote($session{setting}{thumbnailSize}).")");
|
".quote($session{setting}{thumbnailSize}).")");
|
||||||
}
|
}
|
||||||
|
|
@ -1508,10 +1517,10 @@ sub walkTree {
|
||||||
} else {
|
} else {
|
||||||
$class = 'WebGUI::Asset::File';
|
$class = 'WebGUI::Asset::File';
|
||||||
}
|
}
|
||||||
WebGUI::SQL->write("insert into FileAsset (assetId, filename, storageId, fileSize) values (
|
WebGUI::SQL->write("insert into FileAsset (assetId, filename, storageId) values (
|
||||||
".quote($newId).", ".quote($data->{$field}).", ".quote($storageId).")");
|
".quote($newId).", ".quote($data->{$field}).", ".quote($storageId).")");
|
||||||
WebGUI::SQL->write("insert into asset (assetId, parentId, lineage, className, state, title, menuTitle,
|
WebGUI::SQL->write("insert into asset (assetId, parentId, lineage, className, state, title, menuTitle,
|
||||||
url, startDate, endDate, isHidden, ownerUserId, groupIdView, groupIdEdit, synopsis, fileSize
|
url, startDate, endDate, isHidden, ownerUserId, groupIdView, groupIdEdit, synopsis, assetSize
|
||||||
) values (".
|
) values (".
|
||||||
quote($newId).", ".quote($wobjectId).", ".quote($wobjectLineage.sprintf("%06d",1)).",
|
quote($newId).", ".quote($wobjectId).", ".quote($wobjectLineage.sprintf("%06d",1)).",
|
||||||
'".$class."','published',".quote($data->{fileTitle}).", ".
|
'".$class."','published',".quote($data->{fileTitle}).", ".
|
||||||
|
|
@ -2060,12 +2069,16 @@ sub copyFile {
|
||||||
mkdir($node);
|
mkdir($node);
|
||||||
$node .= $session{os}{slash}.$id;
|
$node .= $session{os}{slash}.$id;
|
||||||
mkdir($node);
|
mkdir($node);
|
||||||
print "Moving File".$session{config}{uploadsPath}.$session{os}{slash}.$oldPath.$session{os}{slash}.$filename."\n";
|
|
||||||
my $a = FileHandle->new($session{config}{uploadsPath}.$session{os}{slash}.$oldPath.$session{os}{slash}.$filename,"r");
|
my $a = FileHandle->new($session{config}{uploadsPath}.$session{os}{slash}.$oldPath.$session{os}{slash}.$filename,"r");
|
||||||
binmode($a);
|
if (defined $a) {
|
||||||
my $b = FileHandle->new(">".$node.$session{os}{slash}.$filename);
|
binmode($a);
|
||||||
binmode($b);
|
my $b = FileHandle->new(">".$node.$session{os}{slash}.$filename);
|
||||||
copy($a,$b);
|
if (defined $b) {
|
||||||
|
print "Moving File".$session{config}{uploadsPath}.$session{os}{slash}.$oldPath.$session{os}{slash}.$filename."\n";
|
||||||
|
binmode($b);
|
||||||
|
copy($a,$b);
|
||||||
|
}
|
||||||
|
}
|
||||||
return $id;
|
return $id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,247 +1,247 @@
|
||||||
package WebGUI::Asset::Event;
|
package WebGUI::Asset::Event;
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
# WebGUI is Copyright 2001-2005 Plain Black Corporation.
|
# WebGUI is Copyright 2001-2005 Plain Black Corporation.
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
# Please read the legal notices (docs/legal.txt) and the license
|
# Please read the legal notices (docs/legal.txt) and the license
|
||||||
# (docs/license.txt) that came with this distribution before using
|
# (docs/license.txt) that came with this distribution before using
|
||||||
# this software.
|
# this software.
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
# http://www.plainblack.com info@plainblack.com
|
# http://www.plainblack.com info@plainblack.com
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
use Tie::CPHash;
|
use Tie::CPHash;
|
||||||
use WebGUI::DateTime;
|
use WebGUI::DateTime;
|
||||||
use WebGUI::Grouping;
|
use WebGUI::Grouping;
|
||||||
use WebGUI::HTML;
|
use WebGUI::HTML;
|
||||||
use WebGUI::HTMLForm;
|
use WebGUI::HTMLForm;
|
||||||
use WebGUI::HTTP;
|
use WebGUI::HTTP;
|
||||||
use WebGUI::Icon;
|
use WebGUI::Icon;
|
||||||
use WebGUI::Id;
|
use WebGUI::Id;
|
||||||
use WebGUI::International;
|
use WebGUI::International;
|
||||||
use WebGUI::MessageLog;
|
use WebGUI::MessageLog;
|
||||||
use WebGUI::Operation;
|
use WebGUI::Operation;
|
||||||
use WebGUI::Paginator;
|
use WebGUI::Paginator;
|
||||||
use WebGUI::Privilege;
|
use WebGUI::Privilege;
|
||||||
use WebGUI::Session;
|
use WebGUI::Session;
|
||||||
use WebGUI::SQL;
|
use WebGUI::SQL;
|
||||||
use WebGUI::Style;
|
use WebGUI::Style;
|
||||||
use WebGUI::Asset::Template;
|
use WebGUI::Asset::Template;
|
||||||
use WebGUI::URL;
|
use WebGUI::URL;
|
||||||
use WebGUI::User;
|
use WebGUI::User;
|
||||||
use WebGUI::Utility;
|
use WebGUI::Utility;
|
||||||
use WebGUI::Asset;
|
use WebGUI::Asset;
|
||||||
use WebGUI::Asset::Wobject::EventsCalendar;
|
use WebGUI::Asset::Wobject::EventsCalendar;
|
||||||
|
|
||||||
our @ISA = qw(WebGUI::Asset);
|
our @ISA = qw(WebGUI::Asset);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub definition {
|
sub definition {
|
||||||
my $class = shift;
|
my $class = shift;
|
||||||
my $definition = shift;
|
my $definition = shift;
|
||||||
push(@{$definition}, {
|
push(@{$definition}, {
|
||||||
tableName=>'EventsCalendar_Event',
|
tableName=>'EventsCalendar_Event',
|
||||||
className=>'WebGUI::Asset::Event',
|
className=>'WebGUI::Asset::Event',
|
||||||
properties=>{
|
properties=>{
|
||||||
description => {
|
description => {
|
||||||
fieldType=>"HTMLArea",
|
fieldType=>"HTMLArea",
|
||||||
defaultValue=>undef
|
defaultValue=>undef
|
||||||
},
|
},
|
||||||
eventStartDate => {
|
eventStartDate => {
|
||||||
fieldType=>"dateTime",
|
fieldType=>"dateTime",
|
||||||
defaultValue=>time()
|
defaultValue=>time()
|
||||||
},
|
},
|
||||||
eventEndDate => {
|
eventEndDate => {
|
||||||
fieldType=>"dateTime",
|
fieldType=>"dateTime",
|
||||||
defaultValue=>time()
|
defaultValue=>time()
|
||||||
},
|
},
|
||||||
EventsCalendar_recurringId => {
|
EventsCalendar_recurringId => {
|
||||||
fieldType=>"hidden",
|
fieldType=>"hidden",
|
||||||
defaultValue=>undef
|
defaultValue=>undef
|
||||||
},
|
},
|
||||||
eventLocation => {
|
eventLocation => {
|
||||||
fieldType=>"text",
|
fieldType=>"text",
|
||||||
defaultValue=>undef
|
defaultValue=>undef
|
||||||
},
|
},
|
||||||
# allowRegistration => {
|
# allowRegistration => {
|
||||||
# fieldType=>"yesNo",
|
# fieldType=>"yesNo",
|
||||||
# defaultValue=>0
|
# defaultValue=>0
|
||||||
# },
|
# },
|
||||||
# allowUnregistration => {
|
# allowUnregistration => {
|
||||||
# fieldType=>"yesNo",
|
# fieldType=>"yesNo",
|
||||||
# defaultValue=>0
|
# defaultValue=>0
|
||||||
# },
|
# },
|
||||||
# regConfirm => {
|
# regConfirm => {
|
||||||
# fieldType=>"yesNo",
|
# fieldType=>"yesNo",
|
||||||
# defaultValue=>0
|
# defaultValue=>0
|
||||||
# },
|
# },
|
||||||
# regNotify => {
|
# regNotify => {
|
||||||
# fieldType=>"yesNo",
|
# fieldType=>"yesNo",
|
||||||
# defaultValue=>0
|
# defaultValue=>0
|
||||||
# },
|
# },
|
||||||
# regStartDate => {
|
# regStartDate => {
|
||||||
# fieldType=>"dateTime",
|
# fieldType=>"dateTime",
|
||||||
# defaultValue=>time()
|
# defaultValue=>time()
|
||||||
# },
|
# },
|
||||||
# regEndDate => {
|
# regEndDate => {
|
||||||
# fieldType=>"dateTime",
|
# fieldType=>"dateTime",
|
||||||
# defaultValue=>time()
|
# defaultValue=>time()
|
||||||
# },
|
# },
|
||||||
# allowReminders => {
|
# allowReminders => {
|
||||||
# fieldType=>"yesNo",
|
# fieldType=>"yesNo",
|
||||||
# defaultValue=>0
|
# defaultValue=>0
|
||||||
# },
|
# },
|
||||||
# reminderStartDate => {
|
# reminderStartDate => {
|
||||||
# fieldType=>"dateTime",
|
# fieldType=>"dateTime",
|
||||||
# defaultValue=>time()
|
# defaultValue=>time()
|
||||||
# },
|
# },
|
||||||
# reminderEndDate => {
|
# reminderEndDate => {
|
||||||
# fieldType=>"dateTime",
|
# fieldType=>"dateTime",
|
||||||
# defaultValue=>time()
|
# defaultValue=>time()
|
||||||
# },
|
# },
|
||||||
# reminderRecurs => {
|
# reminderRecurs => {
|
||||||
# fieldType=>"interval",
|
# fieldType=>"interval",
|
||||||
# defaultValue=>604800
|
# defaultValue=>604800
|
||||||
# },
|
# },
|
||||||
# chargeForEvent => {
|
# chargeForEvent => {
|
||||||
# fieldType=>"yesNo",
|
# fieldType=>"yesNo",
|
||||||
# defaultValue=>0
|
# defaultValue=>0
|
||||||
# },
|
# },
|
||||||
# firstAttendeeFee => {
|
# firstAttendeeFee => {
|
||||||
# fieldType=>"float",
|
# fieldType=>"float",
|
||||||
# defaultValue=>0
|
# defaultValue=>0
|
||||||
# },
|
# },
|
||||||
# secondAttendeeFee => {
|
# secondAttendeeFee => {
|
||||||
# fieldType=>"float",
|
# fieldType=>"float",
|
||||||
# defaultValue=>0
|
# defaultValue=>0
|
||||||
# },
|
# },
|
||||||
# availableSeats => {
|
# availableSeats => {
|
||||||
# fieldType=>"integer",
|
# fieldType=>"integer",
|
||||||
# defaultValue=>0
|
# defaultValue=>0
|
||||||
# },
|
# },
|
||||||
templateId => {
|
templateId => {
|
||||||
fieldType=>"template",
|
fieldType=>"template",
|
||||||
defaultValue=>'PBtmpl0000000000000023'
|
defaultValue=>'PBtmpl0000000000000023'
|
||||||
},
|
},
|
||||||
# regConfirmTemplateId => {
|
# regConfirmTemplateId => {
|
||||||
# fieldType=>"template",
|
# fieldType=>"template",
|
||||||
# defaultValue=>'MWtmplregConfirm000001'
|
# defaultValue=>'MWtmplregConfirm000001'
|
||||||
# },
|
# },
|
||||||
# regNotifyTemplateId => {
|
# regNotifyTemplateId => {
|
||||||
# fieldType=>"template",
|
# fieldType=>"template",
|
||||||
# defaultValue=>'MWtmplregNotify0000001'
|
# defaultValue=>'MWtmplregNotify0000001'
|
||||||
# },
|
# },
|
||||||
# reminderTemplateId => {
|
# reminderTemplateId => {
|
||||||
# fieldType=>"template",
|
# fieldType=>"template",
|
||||||
# defaultValue=>'MWtmplreminder00000001'
|
# defaultValue=>'MWtmplreminder00000001'
|
||||||
# },
|
# },
|
||||||
# groupCanRegister => {
|
# groupCanRegister => {
|
||||||
# fieldType=>"group",
|
# fieldType=>"group",
|
||||||
# defaultValue=>'2'
|
# defaultValue=>'2'
|
||||||
# },
|
# },
|
||||||
# groupCanReminder => {
|
# groupCanReminder => {
|
||||||
# fieldType=>"group",
|
# fieldType=>"group",
|
||||||
# defaultValue=>'2'
|
# defaultValue=>'2'
|
||||||
# },
|
# },
|
||||||
# groupRegNotify => {
|
# groupRegNotify => {
|
||||||
# fieldType=>"group",
|
# fieldType=>"group",
|
||||||
# defaultValue=>'3'
|
# defaultValue=>'3'
|
||||||
# }
|
# }
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return $class->SUPER::definition($definition);
|
return $class->SUPER::definition($definition);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub getEditForm {
|
sub getEditForm {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|
||||||
my $tabform = $self->SUPER::getEditForm();
|
my $tabform = $self->SUPER::getEditForm();
|
||||||
#return $tabform;
|
#return $tabform;
|
||||||
$tabform->getTab("properties")->HTMLArea(
|
$tabform->getTab("properties")->HTMLArea(
|
||||||
-name=>"description", -label=>WebGUI::International::get(512,"EventsCalendar"),
|
-name=>"description", -label=>WebGUI::International::get(512,"EventsCalendar"),
|
||||||
-value=>$self->getValue("description")
|
-value=>$self->getValue("description")
|
||||||
);
|
);
|
||||||
$tabform->getTab("properties")->dateTime(
|
$tabform->getTab("properties")->dateTime(
|
||||||
-name=>"eventStartDate", -label=>WebGUI::International::get(513,"EventsCalendar"),
|
-name=>"eventStartDate", -label=>WebGUI::International::get(513,"EventsCalendar"),
|
||||||
-extras=>'onBlur="this.form.eventEndDate.value=this.form.eventStartDate.value;this.form.until.value=this.form.eventStartDate.value;"',
|
-extras=>'onBlur="this.form.eventEndDate.value=this.form.eventStartDate.value;this.form.until.value=this.form.eventStartDate.value;"',
|
||||||
-value=>$self->getValue("eventStartDate")
|
-value=>$self->getValue("eventStartDate")
|
||||||
);
|
);
|
||||||
$tabform->getTab("properties")->dateTime(
|
$tabform->getTab("properties")->dateTime(
|
||||||
-name=>"eventEndDate", -label=>WebGUI::International::get(514,"EventsCalendar"),
|
-name=>"eventEndDate", -label=>WebGUI::International::get(514,"EventsCalendar"),
|
||||||
-extras=>'onBlur="this.form.until.value=this.form.eventEndDate.value;"',
|
-extras=>'onBlur="this.form.until.value=this.form.eventEndDate.value;"',
|
||||||
-value=>$self->getValue("eventEndDate")
|
-value=>$self->getValue("eventEndDate")
|
||||||
);
|
);
|
||||||
$tabform->getTab("properties")->text(
|
$tabform->getTab("properties")->text(
|
||||||
-name=>"eventLocation", -label=>WebGUI::International::get(515,"EventsCalendar"),
|
-name=>"eventLocation", -label=>WebGUI::International::get(515,"EventsCalendar"),
|
||||||
-value=>$self->getValue("eventLocation")
|
-value=>$self->getValue("eventLocation")
|
||||||
);
|
);
|
||||||
# $tabform->getTab("properties")->yesNo(
|
# $tabform->getTab("properties")->yesNo(
|
||||||
# -name=>"allowRegistration", -label=>WebGUI::International::get(516,"EventsCalendar"),
|
# -name=>"allowRegistration", -label=>WebGUI::International::get(516,"EventsCalendar"),
|
||||||
# -value=>$self->getValue("allowRegistration")
|
# -value=>$self->getValue("allowRegistration")
|
||||||
# );
|
# );
|
||||||
# $tabform->getTab("properties")->yesNo(
|
# $tabform->getTab("properties")->yesNo(
|
||||||
# -name=>"allowUnregistration", -label=>WebGUI::International::get(517,"EventsCalendar"),
|
# -name=>"allowUnregistration", -label=>WebGUI::International::get(517,"EventsCalendar"),
|
||||||
# -value=>$self->getValue("allowUnregistration")
|
# -value=>$self->getValue("allowUnregistration")
|
||||||
# );
|
# );
|
||||||
# $tabform->getTab("properties")->yesNo(
|
# $tabform->getTab("properties")->yesNo(
|
||||||
# -name=>"regConfirm", -label=>WebGUI::International::get(518,"EventsCalendar"),
|
# -name=>"regConfirm", -label=>WebGUI::International::get(518,"EventsCalendar"),
|
||||||
# -value=>$self->getValue("regConfirm")
|
# -value=>$self->getValue("regConfirm")
|
||||||
# );
|
# );
|
||||||
# $tabform->getTab("properties")->yesNo(
|
# $tabform->getTab("properties")->yesNo(
|
||||||
# -name=>"regNotify", -label=>WebGUI::International::get(519,"EventsCalendar"),
|
# -name=>"regNotify", -label=>WebGUI::International::get(519,"EventsCalendar"),
|
||||||
# -value=>$self->getValue("regNotify")
|
# -value=>$self->getValue("regNotify")
|
||||||
# );
|
# );
|
||||||
# $tabform->getTab("properties")->dateTime(
|
# $tabform->getTab("properties")->dateTime(
|
||||||
# -name=>"regStartDate", -label=>WebGUI::International::get(520,"EventsCalendar"),
|
# -name=>"regStartDate", -label=>WebGUI::International::get(520,"EventsCalendar"),
|
||||||
# -extras=>'onBlur="this.form.regEndDate.value=this.form.regStartDate.value;this.form.until.value=this.form.regStartDate.value;"',
|
# -extras=>'onBlur="this.form.regEndDate.value=this.form.regStartDate.value;this.form.until.value=this.form.regStartDate.value;"',
|
||||||
# -value=>$self->getValue("regStartDate")
|
# -value=>$self->getValue("regStartDate")
|
||||||
# );
|
# );
|
||||||
# $tabform->getTab("properties")->dateTime(
|
# $tabform->getTab("properties")->dateTime(
|
||||||
# -name=>"regEndDate", -label=>WebGUI::International::get(521,"EventsCalendar"),
|
# -name=>"regEndDate", -label=>WebGUI::International::get(521,"EventsCalendar"),
|
||||||
# -extras=>'onBlur="this.form.until.value=this.form.regEndDate.value;"',
|
# -extras=>'onBlur="this.form.until.value=this.form.regEndDate.value;"',
|
||||||
# -value=>$self->getValue("regEndDate")
|
# -value=>$self->getValue("regEndDate")
|
||||||
# );
|
# );
|
||||||
# $tabform->getTab("properties")->yesNo(
|
# $tabform->getTab("properties")->yesNo(
|
||||||
# -name=>"allowReminders", -label=>WebGUI::International::get(522,"EventsCalendar"),
|
# -name=>"allowReminders", -label=>WebGUI::International::get(522,"EventsCalendar"),
|
||||||
# -value=>$self->getValue("allowReminders")
|
# -value=>$self->getValue("allowReminders")
|
||||||
# );
|
# );
|
||||||
# $tabform->getTab("properties")->dateTime(
|
# $tabform->getTab("properties")->dateTime(
|
||||||
# -name=>"reminderStartDate", -label=>WebGUI::International::get(523,"EventsCalendar"),
|
# -name=>"reminderStartDate", -label=>WebGUI::International::get(523,"EventsCalendar"),
|
||||||
# -extras=>'onBlur="this.form.reminderEndDate.value=this.form.reminderStartDate.value;this.form.until.value=this.form.reminderStartDate.value;"',
|
# -extras=>'onBlur="this.form.reminderEndDate.value=this.form.reminderStartDate.value;this.form.until.value=this.form.reminderStartDate.value;"',
|
||||||
# -value=>$self->getValue("reminderStartDate")
|
# -value=>$self->getValue("reminderStartDate")
|
||||||
# );
|
# );
|
||||||
# $tabform->getTab("properties")->dateTime(
|
# $tabform->getTab("properties")->dateTime(
|
||||||
# -name=>"reminderEndDate", -label=>WebGUI::International::get(524,"EventsCalendar"),
|
# -name=>"reminderEndDate", -label=>WebGUI::International::get(524,"EventsCalendar"),
|
||||||
# -extras=>'onBlur="this.form.until.value=this.form.reminderEndDate.value;"',
|
# -extras=>'onBlur="this.form.until.value=this.form.reminderEndDate.value;"',
|
||||||
# -value=>$self->getValue("regEndDate")
|
# -value=>$self->getValue("regEndDate")
|
||||||
# );
|
# );
|
||||||
# $tabform->getTab("properties")->interval(
|
# $tabform->getTab("properties")->interval(
|
||||||
# -name=>"reminderRecurs",
|
# -name=>"reminderRecurs",
|
||||||
# -label=>WebGUI::International::get(524.5,"EventsCalendar"),
|
# -label=>WebGUI::International::get(524.5,"EventsCalendar"),
|
||||||
# -value=>$self->getValue("reminderRecurs")
|
# -value=>$self->getValue("reminderRecurs")
|
||||||
# );
|
# );
|
||||||
# Not quite implemented yet...
|
# Not quite implemented yet...
|
||||||
# $tabform->getTab("properties")->yesNo(
|
# $tabform->getTab("properties")->yesNo(
|
||||||
# -name=>"chargeForEvent", -label=>WebGUI::International::get(525,"EventsCalendar"),
|
# -name=>"chargeForEvent", -label=>WebGUI::International::get(525,"EventsCalendar"),
|
||||||
# -value=>$self->getValue("chargeForEvent")
|
# -value=>$self->getValue("chargeForEvent")
|
||||||
# );
|
# );
|
||||||
# $tabform->getTab("properties")->float(
|
# $tabform->getTab("properties")->float(
|
||||||
# -name=>"firstAttendeeFee", -label=>WebGUI::International::get(526,"EventsCalendar"),
|
# -name=>"firstAttendeeFee", -label=>WebGUI::International::get(526,"EventsCalendar"),
|
||||||
# -value=>$self->getValue("firstAttendeeFee")
|
# -value=>$self->getValue("firstAttendeeFee")
|
||||||
# );
|
# );
|
||||||
# $tabform->getTab("properties")->float(
|
# $tabform->getTab("properties")->float(
|
||||||
# -name=>"secondAttendeeFee", -label=>WebGUI::International::get(527,"EventsCalendar"),
|
# -name=>"secondAttendeeFee", -label=>WebGUI::International::get(527,"EventsCalendar"),
|
||||||
# -value=>$self->getValue("secondAttendeeFee")
|
# -value=>$self->getValue("secondAttendeeFee")
|
||||||
# );
|
# );
|
||||||
# $tabform->getTab("properties")->integer(
|
# $tabform->getTab("properties")->integer(
|
||||||
# -name=>"availableSeats", -label=>WebGUI::International::get(528,"EventsCalendar"),
|
# -name=>"availableSeats", -label=>WebGUI::International::get(528,"EventsCalendar"),
|
||||||
# -value=>$self->getValue("availableSeats")
|
# -value=>$self->getValue("availableSeats")
|
||||||
# );
|
# );
|
||||||
if (($session{form}{func} eq "addStyledEvent") || ($session{form}{func} eq "addEvent")) {
|
if (($session{form}{func} eq "addStyledEvent") || ($session{form}{func} eq "addEvent")) {
|
||||||
my %recursEvery;
|
my %recursEvery;
|
||||||
|
|
@ -261,98 +261,98 @@ sub getEditForm {
|
||||||
$tabform->getTab("properties")->raw('<tr><td class="formdescription" valign="top">'.WebGUI::International::get(9,"EventsCalendar").'</td><td class="tableData">');
|
$tabform->getTab("properties")->raw('<tr><td class="formdescription" valign="top">'.WebGUI::International::get(9,"EventsCalendar").'</td><td class="tableData">');
|
||||||
$tabform->getTab("properties")->date("until");
|
$tabform->getTab("properties")->date("until");
|
||||||
$tabform->getTab("properties")->raw("</td><tr>");
|
$tabform->getTab("properties")->raw("</td><tr>");
|
||||||
}
|
}
|
||||||
# $tabform->getTab("display")->template(
|
# $tabform->getTab("display")->template(
|
||||||
# -name=>"confirmationTemplateId",
|
# -name=>"confirmationTemplateId",
|
||||||
# -value=>$self->getValue("confirmationTemplateId"),
|
# -value=>$self->getValue("confirmationTemplateId"),
|
||||||
# -namespace=>"EventsCalendar/Event",
|
# -namespace=>"EventsCalendar/Event",
|
||||||
# -label=>WebGUI::International::get(529,"EventsCalendar"),
|
# -label=>WebGUI::International::get(529,"EventsCalendar"),
|
||||||
# -afterEdit=>'func=edit'
|
# -afterEdit=>'func=edit'
|
||||||
# );
|
# );
|
||||||
$tabform->getTab("display")->template(
|
$tabform->getTab("display")->template(
|
||||||
-name=>"templateId",
|
-name=>"templateId",
|
||||||
-value=>$self->getValue("templateId"),
|
-value=>$self->getValue("templateId"),
|
||||||
-namespace=>"EventsCalendar/Event",
|
-namespace=>"EventsCalendar/Event",
|
||||||
-label=>WebGUI::International::get(530,"EventsCalendar"),
|
-label=>WebGUI::International::get(530,"EventsCalendar"),
|
||||||
-afterEdit=>'func=edit&wid='.$self->get("wobjectId")
|
-afterEdit=>'func=edit&wid='.$self->get("wobjectId")
|
||||||
);
|
);
|
||||||
# $tabform->getTab("display")->template(
|
# $tabform->getTab("display")->template(
|
||||||
# -name=>"regNotifyTemplateId",
|
# -name=>"regNotifyTemplateId",
|
||||||
# -value=>$self->getValue("regNotifyTemplateId"),
|
# -value=>$self->getValue("regNotifyTemplateId"),
|
||||||
# -namespace=>"EventsCalendar/Event",
|
# -namespace=>"EventsCalendar/Event",
|
||||||
# -label=>WebGUI::International::get(531,"EventsCalendar"),
|
# -label=>WebGUI::International::get(531,"EventsCalendar"),
|
||||||
# -afterEdit=>'func=edit&wid='.$self->get("wobjectId")
|
# -afterEdit=>'func=edit&wid='.$self->get("wobjectId")
|
||||||
# );
|
# );
|
||||||
# $tabform->getTab("display")->template(
|
# $tabform->getTab("display")->template(
|
||||||
# -name=>"reminderTemplateId",
|
# -name=>"reminderTemplateId",
|
||||||
# -value=>$self->getValue("reminderTemplateId"),
|
# -value=>$self->getValue("reminderTemplateId"),
|
||||||
# -namespace=>"EventsCalendar/Event",
|
# -namespace=>"EventsCalendar/Event",
|
||||||
# -label=>WebGUI::International::get(532,"EventsCalendar"),
|
# -label=>WebGUI::International::get(532,"EventsCalendar"),
|
||||||
# -afterEdit=>'func=edit&wid='.$self->get("wobjectId")
|
# -afterEdit=>'func=edit&wid='.$self->get("wobjectId")
|
||||||
# );
|
# );
|
||||||
# $tabform->getTab("security")->group(
|
# $tabform->getTab("security")->group(
|
||||||
# -name=>"groupCanRegister", -label=>WebGUI::International::get(533,"EventsCalendar"),
|
# -name=>"groupCanRegister", -label=>WebGUI::International::get(533,"EventsCalendar"),
|
||||||
# -value=>[$self->getValue("groupCanRegister")]
|
# -value=>[$self->getValue("groupCanRegister")]
|
||||||
# );
|
# );
|
||||||
# $tabform->getTab("security")->group(
|
# $tabform->getTab("security")->group(
|
||||||
# -name=>"groupCanReminder", -label=>WebGUI::International::get(534,"EventsCalendar"),
|
# -name=>"groupCanReminder", -label=>WebGUI::International::get(534,"EventsCalendar"),
|
||||||
# -value=>[$self->getValue("groupCanReminder")]
|
# -value=>[$self->getValue("groupCanReminder")]
|
||||||
# );
|
# );
|
||||||
# $tabform->getTab("security")->group(
|
# $tabform->getTab("security")->group(
|
||||||
# -name=>"groupNotify", -label=>WebGUI::International::get(535,"EventsCalendar"),
|
# -name=>"groupNotify", -label=>WebGUI::International::get(535,"EventsCalendar"),
|
||||||
# -value=>[$self->getValue("regNotifyGroupId")]
|
# -value=>[$self->getValue("regNotifyGroupId")]
|
||||||
# );
|
# );
|
||||||
return $tabform;
|
return $tabform;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub getIcon {
|
sub getIcon {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $small = shift;
|
my $small = shift;
|
||||||
return $session{config}{extrasURL}.'/assets/small/calendar.gif' if ($small);
|
return $session{config}{extrasURL}.'/assets/small/calendar.gif' if ($small);
|
||||||
return $session{config}{extrasURL}.'/assets/calendar.gif';
|
return $session{config}{extrasURL}.'/assets/calendar.gif';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub getName {
|
sub getName {
|
||||||
return WebGUI::International::get(511,"EventsCalendar");
|
return WebGUI::International::get(511,"EventsCalendar");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub view {
|
sub view {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
return WebGUI::Privilege::noAccess() unless $self->canView;
|
return WebGUI::Privilege::noAccess() unless $self->canView;
|
||||||
$self->logView() if ($session{setting}{passiveProfilingEnabled});
|
$self->logView() if ($session{setting}{passiveProfilingEnabled});
|
||||||
my ($output, $event, %var, $id);
|
my ($output, $event, %var, $id);
|
||||||
$event = $self;
|
$event = $self;
|
||||||
$var{title} = $event->getValue("title");
|
$var{title} = $event->getValue("title");
|
||||||
$var{"start.label"} = WebGUI::International::get(14,"EventsCalendar");
|
$var{"start.label"} = WebGUI::International::get(14,"EventsCalendar");
|
||||||
$var{"start.date"} = epochToHuman($self->getValue("eventStartDate"),"%z");
|
$var{"start.date"} = epochToHuman($self->getValue("eventStartDate"),"%z");
|
||||||
$var{"start.time"} = epochToHuman($self->getValue("eventStartDate"),"%Z");
|
$var{"start.time"} = epochToHuman($self->getValue("eventStartDate"),"%Z");
|
||||||
$var{"end.label"} = WebGUI::International::get(15,"EventsCalendar");
|
$var{"end.label"} = WebGUI::International::get(15,"EventsCalendar");
|
||||||
$var{"end.date"} = epochToHuman($self->getValue("eventEndDate"),"%z");
|
$var{"end.date"} = epochToHuman($self->getValue("eventEndDate"),"%z");
|
||||||
$var{"end.time"} = epochToHuman($self->getValue("eventEndDate"),"%Z");
|
$var{"end.time"} = epochToHuman($self->getValue("eventEndDate"),"%Z");
|
||||||
$var{canEdit} = $self->canEdit;
|
$var{canEdit} = $self->canEdit;
|
||||||
$var{"edit.url"} = WebGUI::URL::page('func=edit');
|
$var{"edit.url"} = WebGUI::URL::page('func=edit');
|
||||||
$var{"edit.label"} = WebGUI::International::get(575);
|
$var{"edit.label"} = WebGUI::International::get(575);
|
||||||
$var{"delete.url"} = WebGUI::URL::page('func=deleteEvent&rid='.$self->getValue("EventsCalendar_recurringId"));
|
$var{"delete.url"} = WebGUI::URL::page('func=deleteEvent&rid='.$self->getValue("EventsCalendar_recurringId"));
|
||||||
$var{"delete.label"} = WebGUI::International::get(576);
|
$var{"delete.label"} = WebGUI::International::get(576);
|
||||||
# my $query = "select EventsCalendar_eventId from EventsCalendar_event where EventsCalendar_eventId<>".quote($event->getValue("EventsCalendar_eventId});
|
# my $query = "select EventsCalendar_eventId from EventsCalendar_event where EventsCalendar_eventId<>".quote($event->getValue("EventsCalendar_eventId});
|
||||||
# $query .= " and wobjectId=".quote($self->get("wobjectId")) unless ($self->get("isMaster"));
|
# $query .= " and wobjectId=".quote($self->get("wobjectId")) unless ($self->get("isMaster"));
|
||||||
# $query .= " and startDate<=$event->getValue("startDate} order by startDate desc, endDate desc";
|
# $query .= " and startDate<=$event->getValue("startDate} order by startDate desc, endDate desc";
|
||||||
# ($id) = WebGUI::SQL->quickArray($query,WebGUI::SQL->getSlave);
|
# ($id) = WebGUI::SQL->quickArray($query,WebGUI::SQL->getSlave);
|
||||||
# $var{"previous.label"} = '«'.WebGUI::International::get(92,"EventsCalendar");
|
# $var{"previous.label"} = '«'.WebGUI::International::get(92,"EventsCalendar");
|
||||||
# $var{"previous.url"} = WebGUI::URL::page("func=viewEvent&wid=".$self->get("wobjectId")."&eid=".$id) if ($id);
|
# $var{"previous.url"} = WebGUI::URL::page("func=viewEvent&wid=".$self->get("wobjectId")."&eid=".$id) if ($id);
|
||||||
# $query = "select EventsCalendar_eventId from EventsCalendar_event where EventsCalendar_eventId<>".quote($event->getValue("EventsCalendar_eventId});
|
# $query = "select EventsCalendar_eventId from EventsCalendar_event where EventsCalendar_eventId<>".quote($event->getValue("EventsCalendar_eventId});
|
||||||
# $query .= " and wobjectId=".quote($self->get("wobjectId")) unless ($self->get("isMaster"));
|
# $query .= " and wobjectId=".quote($self->get("wobjectId")) unless ($self->get("isMaster"));
|
||||||
# $query .= " and startDate>=$event->getValue("eventStartDate") order by startDate, endDate";
|
# $query .= " and startDate>=$event->getValue("eventStartDate") order by startDate, endDate";
|
||||||
# ($id) = WebGUI::SQL->quickArray($query,WebGUI::SQL->getSlave);
|
# ($id) = WebGUI::SQL->quickArray($query,WebGUI::SQL->getSlave);
|
||||||
# $var{"next.label"} = WebGUI::International::get(93,"EventsCalendar").'»';
|
# $var{"next.label"} = WebGUI::International::get(93,"EventsCalendar").'»';
|
||||||
# $var{"next.url"} = WebGUI::URL::page("func=viewEvent&wid=".$self->get("wobjectId")."&eid=".$id) if ($id);
|
# $var{"next.url"} = WebGUI::URL::page("func=viewEvent&wid=".$self->get("wobjectId")."&eid=".$id) if ($id);
|
||||||
$var{description} = $event->getValue("description");
|
$var{description} = $event->getValue("description");
|
||||||
# my $where = "eventscalendar.type=2";
|
# my $where = "eventscalendar.type=2";
|
||||||
# my $kiddos = $self->getLineage(["children"],{returnObjects=>1,joinClass=>"WebGUI::Asset::Wobject::EventsCalendar",whereClause=>$where});
|
# my $kiddos = $self->getLineage(["children"],{returnObjects=>1,joinClass=>"WebGUI::Asset::Wobject::EventsCalendar",whereClause=>$where});
|
||||||
|
|
@ -363,17 +363,17 @@ sub view {
|
||||||
# #These will be in order of lineage. Use the Asset Manager to change the order.
|
# #These will be in order of lineage. Use the Asset Manager to change the order.
|
||||||
# $tabform->getTab($agenda->getId)->raw($agenda->WebGUI::Asset::Wobject::EventsCalendar::view);
|
# $tabform->getTab($agenda->getId)->raw($agenda->WebGUI::Asset::Wobject::EventsCalendar::view);
|
||||||
# }
|
# }
|
||||||
# $var{agendas} = $tabform->print;
|
# $var{agendas} = $tabform->print;
|
||||||
my $vars = \%var;
|
my $vars = \%var;
|
||||||
#get parent so we can get the parent's style. Hopefully the parent is an EventsCalendar. If not, oh well.
|
#get parent so we can get the parent's style. Hopefully the parent is an EventsCalendar. If not, oh well.
|
||||||
my $parent = $self->getParent;
|
my $parent = $self->getParent;
|
||||||
return WebGUI::Style::process($self->processTemplate($vars,$self->getValue("templateId")),$parent->getValue("styleTemplateId"));
|
return WebGUI::Style::process($self->processTemplate($vars,$self->getValue("templateId")),$parent->getValue("styleTemplateId"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub www_deleteEvent {
|
sub www_deleteEvent {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
return WebGUI::Privilege::insufficient() unless ($self->canEdit);
|
return WebGUI::Privilege::insufficient() unless ($self->canEdit);
|
||||||
my ($output);
|
my ($output);
|
||||||
$output = '<h1>'.WebGUI::International::get(42).'</h1>';
|
$output = '<h1>'.WebGUI::International::get(42).'</h1>';
|
||||||
|
|
@ -389,7 +389,7 @@ sub www_deleteEvent {
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub www_deleteEventConfirm {
|
sub www_deleteEventConfirm {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
return WebGUI::Privilege::insufficient() unless ($self->canEdit);
|
return WebGUI::Privilege::insufficient() unless ($self->canEdit);
|
||||||
if ($session{form}{rid} ne "") {
|
if ($session{form}{rid} ne "") {
|
||||||
my $where = "EventsCalendar_Event.EventsCalendar_recurringId=".quote($session{form}{rid});
|
my $where = "EventsCalendar_Event.EventsCalendar_recurringId=".quote($session{form}{rid});
|
||||||
|
|
@ -404,13 +404,13 @@ sub www_deleteEventConfirm {
|
||||||
return $self->getParent->getContainer->www_view;;
|
return $self->getParent->getContainer->www_view;;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub www_edit {
|
sub www_edit {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
return WebGUI::Privilege::insufficient() unless $self->canEdit;
|
return WebGUI::Privilege::insufficient() unless $self->canEdit;
|
||||||
$self->getAdminConsole->setHelp("event add/edit");
|
$self->getAdminConsole->setHelp("event add/edit");
|
||||||
return $self->getAdminConsole->render($self->getEditForm->print,WebGUI::International::get('13', 'EventsCalendar'));
|
return $self->getAdminConsole->render($self->getEditForm->print,WebGUI::International::get('13', 'EventsCalendar'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -434,14 +434,14 @@ sub www_editSave {
|
||||||
return $self->getAdminConsole->render(WebGUI::Privilege::insufficient()) unless ($self->canEdit);
|
return $self->getAdminConsole->render(WebGUI::Privilege::insufficient()) unless ($self->canEdit);
|
||||||
my (@startDate, @endDate, @regStartDate, @regEndDate, @reminderStartDate,
|
my (@startDate, @endDate, @regStartDate, @regEndDate, @reminderStartDate,
|
||||||
@reminderEndDate, $until, @eventId, $i, $recurringEventId);
|
@reminderEndDate, $until, @eventId, $i, $recurringEventId);
|
||||||
$startDate[0] = WebGUI::DateTime::setToEpoch($session{form}{eventStartDate});
|
$startDate[0] = WebGUI::DateTime::setToEpoch($session{form}{eventStartDate});
|
||||||
$startDate[0] = time() unless ($startDate[0] > 0);
|
$startDate[0] = time() unless ($startDate[0] > 0);
|
||||||
$endDate[0] = WebGUI::DateTime::setToEpoch($session{form}{eventEndDate});
|
$endDate[0] = WebGUI::DateTime::setToEpoch($session{form}{eventEndDate});
|
||||||
$endDate[0] = $startDate[0] unless ($endDate[0] >= $startDate[0]);
|
$endDate[0] = $startDate[0] unless ($endDate[0] >= $startDate[0]);
|
||||||
# $regStartDate[0] = WebGUI::DateTime::setToEpoch($session{form}{regStartDate});
|
# $regStartDate[0] = WebGUI::DateTime::setToEpoch($session{form}{regStartDate});
|
||||||
# $regEndDate[0] = WebGUI::DateTime::setToEpoch($session{form}{regStartDate});
|
# $regEndDate[0] = WebGUI::DateTime::setToEpoch($session{form}{regStartDate});
|
||||||
# $regEndDate[0] = $regStartDate[0] unless ($regEndDate[0] >= $regStartDate[0]);
|
# $regEndDate[0] = $regStartDate[0] unless ($regEndDate[0] >= $regStartDate[0]);
|
||||||
# $reminderStartDate[0] = WebGUI::DateTime::setToEpoch($session{form}{reminderStartDate});
|
# $reminderStartDate[0] = WebGUI::DateTime::setToEpoch($session{form}{reminderStartDate});
|
||||||
# $reminderEndDate[0] = WebGUI::DateTime::setToEpoch($session{form}{reminderStartDate});
|
# $reminderEndDate[0] = WebGUI::DateTime::setToEpoch($session{form}{reminderStartDate});
|
||||||
# $reminderEndDate[0] = $reminderStartDate[0] unless ($reminderEndDate[0] >= $reminderStartDate[0]);
|
# $reminderEndDate[0] = $reminderStartDate[0] unless ($reminderEndDate[0] >= $reminderStartDate[0]);
|
||||||
$session{form}{title} = $session{form}{title} || WebGUI::International::get(557,"EventsCalendar");
|
$session{form}{title} = $session{form}{title} || WebGUI::International::get(557,"EventsCalendar");
|
||||||
|
|
@ -475,21 +475,21 @@ sub www_editSave {
|
||||||
$firstEvent->processPropertiesFromFormPost;
|
$firstEvent->processPropertiesFromFormPost;
|
||||||
$firstEvent->updateHistory("edited");
|
$firstEvent->updateHistory("edited");
|
||||||
$firstEvent->{_parent} = $self;
|
$firstEvent->{_parent} = $self;
|
||||||
while ($startDate[$i] < $until) {
|
while ($startDate[$i] < $until) {
|
||||||
$i++;
|
$i++;
|
||||||
$eventId[$i] = WebGUI::Id::generate();
|
$eventId[$i] = WebGUI::Id::generate();
|
||||||
if ($session{form}{recursEvery} eq "day") {
|
if ($session{form}{recursEvery} eq "day") {
|
||||||
$startDate[$i] = addToDate($startDate[0],0,0,($i*$session{form}{interval}));
|
$startDate[$i] = addToDate($startDate[0],0,0,($i*$session{form}{interval}));
|
||||||
$endDate[$i] = addToDate($endDate[0],0,0,($i*$session{form}{interval}));
|
$endDate[$i] = addToDate($endDate[0],0,0,($i*$session{form}{interval}));
|
||||||
} elsif ($session{form}{recursEvery} eq "week") {
|
} elsif ($session{form}{recursEvery} eq "week") {
|
||||||
$startDate[$i] = addToDate($startDate[0],0,0,(7*$i*$session{form}{interval}));
|
$startDate[$i] = addToDate($startDate[0],0,0,(7*$i*$session{form}{interval}));
|
||||||
$endDate[$i] = addToDate($endDate[0],0,0,(7*$i*$session{form}{interval}));
|
$endDate[$i] = addToDate($endDate[0],0,0,(7*$i*$session{form}{interval}));
|
||||||
} elsif ($session{form}{recursEvery} eq "month") {
|
} elsif ($session{form}{recursEvery} eq "month") {
|
||||||
$startDate[$i] = addToDate($startDate[0],0,($i*$session{form}{interval}),0);
|
$startDate[$i] = addToDate($startDate[0],0,($i*$session{form}{interval}),0);
|
||||||
$endDate[$i] = addToDate($endDate[0],0,($i*$session{form}{interval}),0);
|
$endDate[$i] = addToDate($endDate[0],0,($i*$session{form}{interval}),0);
|
||||||
} elsif ($session{form}{recursEvery} eq "year") {
|
} elsif ($session{form}{recursEvery} eq "year") {
|
||||||
$startDate[$i] = addToDate($startDate[0],($i*$session{form}{interval}),0,0);
|
$startDate[$i] = addToDate($startDate[0],($i*$session{form}{interval}),0,0);
|
||||||
$endDate[$i] = addToDate($endDate[0],($i*$session{form}{interval}),0,0);
|
$endDate[$i] = addToDate($endDate[0],($i*$session{form}{interval}),0,0);
|
||||||
}
|
}
|
||||||
my $newEvent = $self->duplicate($firstEvent);
|
my $newEvent = $self->duplicate($firstEvent);
|
||||||
$newEvent->update({
|
$newEvent->update({
|
||||||
|
|
@ -499,7 +499,7 @@ sub www_editSave {
|
||||||
print "\n$i\n";
|
print "\n$i\n";
|
||||||
$newEvent->fixUrl;
|
$newEvent->fixUrl;
|
||||||
$newEvent->updateHistory("edited");
|
$newEvent->updateHistory("edited");
|
||||||
$newEvent->{_parent} = $self;
|
$newEvent->{_parent} = $self;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -526,6 +526,6 @@ sub www_editSave {
|
||||||
# return WebGUI::Privilege::noAccess() unless (($parent->getValue("className") eq "WebGUI::Asset::Wobject::EventsCalendar") && #($parent->canEdit));
|
# return WebGUI::Privilege::noAccess() unless (($parent->getValue("className") eq "WebGUI::Asset::Wobject::EventsCalendar") && #($parent->canEdit));
|
||||||
# return WebGUI::Style::process($self->getEditForm->print,$parent->getValue("styleTemplateId"));
|
# return WebGUI::Style::process($self->getEditForm->print,$parent->getValue("styleTemplateId"));
|
||||||
#}
|
#}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,91 +1,91 @@
|
||||||
package WebGUI::Asset::Wobject::EventsCalendar;
|
package WebGUI::Asset::Wobject::EventsCalendar;
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
# WebGUI is Copyright 2001-2005 Plain Black Corporation.
|
# WebGUI is Copyright 2001-2005 Plain Black Corporation.
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
# Please read the legal notices (docs/legal.txt) and the license
|
# Please read the legal notices (docs/legal.txt) and the license
|
||||||
# (docs/license.txt) that came with this distribution before using
|
# (docs/license.txt) that came with this distribution before using
|
||||||
# this software.
|
# this software.
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
# http://www.plainblack.com info@plainblack.com
|
# http://www.plainblack.com info@plainblack.com
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
use Tie::CPHash;
|
use Tie::CPHash;
|
||||||
use WebGUI::DateTime;
|
use WebGUI::DateTime;
|
||||||
use WebGUI::ErrorHandler;
|
use WebGUI::ErrorHandler;
|
||||||
use WebGUI::International;
|
use WebGUI::International;
|
||||||
use WebGUI::Macro;
|
use WebGUI::Macro;
|
||||||
use WebGUI::Privilege;
|
use WebGUI::Privilege;
|
||||||
use WebGUI::Session;
|
use WebGUI::Session;
|
||||||
use WebGUI::SQL;
|
use WebGUI::SQL;
|
||||||
use WebGUI::URL;
|
use WebGUI::URL;
|
||||||
use WebGUI::Utility;
|
use WebGUI::Utility;
|
||||||
use WebGUI::Asset::Wobject;
|
use WebGUI::Asset::Wobject;
|
||||||
use WebGUI::Asset::Event;
|
use WebGUI::Asset::Event;
|
||||||
|
|
||||||
our @ISA = qw(WebGUI::Asset::Wobject);
|
our @ISA = qw(WebGUI::Asset::Wobject);
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
#sub canManage {
|
#sub canManage {
|
||||||
# my $self = shift;
|
# my $self = shift;
|
||||||
# my $userId = shift || $session{user}{userId};
|
# my $userId = shift || $session{user}{userId};
|
||||||
# if ($userId eq $self->getValue("ownerUserId")) {
|
# if ($userId eq $self->getValue("ownerUserId")) {
|
||||||
# return 1;
|
# return 1;
|
||||||
# }
|
# }
|
||||||
# return 0 unless $self->canView($userId);
|
# return 0 unless $self->canView($userId);
|
||||||
# return WebGUI::Grouping::isInGroup($self->getValue("groupIdManage"),$userId);
|
# return WebGUI::Grouping::isInGroup($self->getValue("groupIdManage"),$userId);
|
||||||
#}
|
#}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub definition {
|
sub definition {
|
||||||
my $class = shift;
|
my $class = shift;
|
||||||
my $definition = shift;
|
my $definition = shift;
|
||||||
push(@{$definition}, {
|
push(@{$definition}, {
|
||||||
tableName=>'eventscalendar',
|
tableName=>'EventsCalendar',
|
||||||
className=>'WebGUI::Asset::Wobject::EventsCalendar',
|
className=>'WebGUI::Asset::Wobject::EventsCalendar',
|
||||||
properties=>{
|
properties=>{
|
||||||
templateId =>{
|
templateId =>{
|
||||||
fieldType=>"template",
|
fieldType=>"template",
|
||||||
defaultValue=>'PBtmpl0000000000000022'
|
defaultValue=>'PBtmpl0000000000000022'
|
||||||
},
|
},
|
||||||
eventTemplateId =>{
|
eventTemplateId =>{
|
||||||
fieldType=>"template",
|
fieldType=>"template",
|
||||||
defaultValue=>'PBtmpl0000000000000023'
|
defaultValue=>'PBtmpl0000000000000023'
|
||||||
},
|
},
|
||||||
scope =>{
|
scope =>{
|
||||||
fieldType=>"selectList",
|
fieldType=>"selectList",
|
||||||
defaultValue=>'0'
|
defaultValue=>'0'
|
||||||
},
|
},
|
||||||
# type =>{
|
# type =>{
|
||||||
# fieldType=>"selectList",
|
# fieldType=>"selectList",
|
||||||
# defaultValue=>'0'
|
# defaultValue=>'0'
|
||||||
# },
|
# },
|
||||||
# groupIdManage =>{
|
# groupIdManage =>{
|
||||||
# fieldType=>"group",
|
# fieldType=>"group",
|
||||||
# defaultValue=>'4'
|
# defaultValue=>'4'
|
||||||
# },
|
# },
|
||||||
startMonth=>{
|
startMonth=>{
|
||||||
fieldType=>"selectList",
|
fieldType=>"selectList",
|
||||||
defaultValue=>"current"
|
defaultValue=>"current"
|
||||||
},
|
},
|
||||||
endMonth=>{
|
endMonth=>{
|
||||||
fieldType=>"selectList",
|
fieldType=>"selectList",
|
||||||
defaultValue=>"after12"
|
defaultValue=>"after12"
|
||||||
},
|
},
|
||||||
defaultMonth=>{
|
defaultMonth=>{
|
||||||
fieldType=>"selectList",
|
fieldType=>"selectList",
|
||||||
defaultValue=>"current"
|
defaultValue=>"current"
|
||||||
},
|
},
|
||||||
paginateAfter=>{
|
paginateAfter=>{
|
||||||
fieldType=>"integer",
|
fieldType=>"integer",
|
||||||
defaultValue=>1
|
defaultValue=>1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return $class->SUPER::definition($definition);
|
return $class->SUPER::definition($definition);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -96,118 +96,118 @@ sub duplicate {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub getEditForm {
|
sub getEditForm {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $tabform = $self->SUPER::getEditForm();
|
my $tabform = $self->SUPER::getEditForm();
|
||||||
# $tabform->getTab("properties")->selectList(
|
# $tabform->getTab("properties")->selectList(
|
||||||
# -name=>"type",
|
# -name=>"type",
|
||||||
# -label=>WebGUI::International::get(501,"EventsCalendar"),
|
# -label=>WebGUI::International::get(501,"EventsCalendar"),
|
||||||
# -value=>[$self->getValue("type")],
|
# -value=>[$self->getValue("type")],
|
||||||
# -options=>{
|
# -options=>{
|
||||||
# 0=>WebGUI::International::get(502,"EventsCalendar"),
|
# 0=>WebGUI::International::get(502,"EventsCalendar"),
|
||||||
# 1=>WebGUI::International::get(503,"EventsCalendar"),
|
# 1=>WebGUI::International::get(503,"EventsCalendar"),
|
||||||
# 2=>WebGUI::International::get(504,"EventsCalendar"),
|
# 2=>WebGUI::International::get(504,"EventsCalendar"),
|
||||||
# 3=>WebGUI::International::get(505,"EventsCalendar"),
|
# 3=>WebGUI::International::get(505,"EventsCalendar"),
|
||||||
# 4=>WebGUI::International::get(506,"EventsCalendar")
|
# 4=>WebGUI::International::get(506,"EventsCalendar")
|
||||||
# },
|
# },
|
||||||
# );
|
# );
|
||||||
$tabform->getTab("properties")->selectList(
|
$tabform->getTab("properties")->selectList(
|
||||||
-name=>"scope",
|
-name=>"scope",
|
||||||
-label=>WebGUI::International::get(507,"EventsCalendar"),
|
-label=>WebGUI::International::get(507,"EventsCalendar"),
|
||||||
-value=>[$self->getValue("scope")],
|
-value=>[$self->getValue("scope")],
|
||||||
-options=>{
|
-options=>{
|
||||||
0=>WebGUI::International::get(508,"EventsCalendar"),
|
0=>WebGUI::International::get(508,"EventsCalendar"),
|
||||||
1=>WebGUI::International::get(509,"EventsCalendar"),
|
1=>WebGUI::International::get(509,"EventsCalendar"),
|
||||||
2=>WebGUI::International::get(510,"EventsCalendar"),
|
2=>WebGUI::International::get(510,"EventsCalendar"),
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
$tabform->getTab("display")->template(
|
$tabform->getTab("display")->template(
|
||||||
-name=>"templateId",
|
-name=>"templateId",
|
||||||
-label=>WebGUI::International::get(94,"EventsCalendar"),
|
-label=>WebGUI::International::get(94,"EventsCalendar"),
|
||||||
-value=>$self->getValue('templateId'),
|
-value=>$self->getValue('templateId'),
|
||||||
-namespace=>"EventsCalendar"
|
-namespace=>"EventsCalendar"
|
||||||
);
|
);
|
||||||
$tabform->getTab("display")->template(
|
$tabform->getTab("display")->template(
|
||||||
-name=>"eventTemplateId",
|
-name=>"eventTemplateId",
|
||||||
-label=>WebGUI::International::get(80,"EventsCalendar"),
|
-label=>WebGUI::International::get(80,"EventsCalendar"),
|
||||||
-value=>$self->getValue('eventTemplateId'),
|
-value=>$self->getValue('eventTemplateId'),
|
||||||
-namespace=>"EventsCalendar/Event",
|
-namespace=>"EventsCalendar/Event",
|
||||||
-afterEdit=>'func=edit&wid='.$self->get("wobjectId")
|
-afterEdit=>'func=edit&wid='.$self->get("wobjectId")
|
||||||
);
|
);
|
||||||
$tabform->getTab("display")->selectList(
|
$tabform->getTab("display")->selectList(
|
||||||
-name=>"startMonth",
|
-name=>"startMonth",
|
||||||
-options=>{
|
-options=>{
|
||||||
"january"=>WebGUI::International::get(15),
|
"january"=>WebGUI::International::get(15),
|
||||||
"now"=>WebGUI::International::get(98,"EventsCalendar"),
|
"now"=>WebGUI::International::get(98,"EventsCalendar"),
|
||||||
"current"=>WebGUI::International::get(82,"EventsCalendar"),
|
"current"=>WebGUI::International::get(82,"EventsCalendar"),
|
||||||
"first"=>WebGUI::International::get(83,"EventsCalendar")
|
"first"=>WebGUI::International::get(83,"EventsCalendar")
|
||||||
},
|
},
|
||||||
-label=>WebGUI::International::get(81,"EventsCalendar"),
|
-label=>WebGUI::International::get(81,"EventsCalendar"),
|
||||||
-value=>[$self->getValue("startMonth")]
|
-value=>[$self->getValue("startMonth")]
|
||||||
);
|
);
|
||||||
my %options;
|
my %options;
|
||||||
tie %options, 'Tie::IxHash';
|
tie %options, 'Tie::IxHash';
|
||||||
%options = (
|
%options = (
|
||||||
"last"=>WebGUI::International::get(85,"EventsCalendar"),
|
"last"=>WebGUI::International::get(85,"EventsCalendar"),
|
||||||
"after12"=>WebGUI::International::get(86,"EventsCalendar"),
|
"after12"=>WebGUI::International::get(86,"EventsCalendar"),
|
||||||
"after9"=>WebGUI::International::get(87,"EventsCalendar"),
|
"after9"=>WebGUI::International::get(87,"EventsCalendar"),
|
||||||
"after6"=>WebGUI::International::get(88,"EventsCalendar"),
|
"after6"=>WebGUI::International::get(88,"EventsCalendar"),
|
||||||
"after3"=>WebGUI::International::get(89,"EventsCalendar"),
|
"after3"=>WebGUI::International::get(89,"EventsCalendar"),
|
||||||
"current"=>WebGUI::International::get(82,"EventsCalendar")
|
"current"=>WebGUI::International::get(82,"EventsCalendar")
|
||||||
);
|
);
|
||||||
$tabform->getTab("display")->selectList(
|
$tabform->getTab("display")->selectList(
|
||||||
-name=>"endMonth",
|
-name=>"endMonth",
|
||||||
-options=>\%options,
|
-options=>\%options,
|
||||||
-label=>WebGUI::International::get(84,"EventsCalendar"),
|
-label=>WebGUI::International::get(84,"EventsCalendar"),
|
||||||
-value=>[$self->getValue("endMonth")]
|
-value=>[$self->getValue("endMonth")]
|
||||||
);
|
);
|
||||||
$tabform->getTab("display")->selectList(
|
$tabform->getTab("display")->selectList(
|
||||||
-name=>"defaultMonth",
|
-name=>"defaultMonth",
|
||||||
-options=>{
|
-options=>{
|
||||||
"current"=>WebGUI::International::get(82,"EventsCalendar"),
|
"current"=>WebGUI::International::get(82,"EventsCalendar"),
|
||||||
"last"=>WebGUI::International::get(85,"EventsCalendar"),
|
"last"=>WebGUI::International::get(85,"EventsCalendar"),
|
||||||
"first"=>WebGUI::International::get(83,"EventsCalendar")
|
"first"=>WebGUI::International::get(83,"EventsCalendar")
|
||||||
},
|
},
|
||||||
-label=>WebGUI::International::get(90,"EventsCalendar"),
|
-label=>WebGUI::International::get(90,"EventsCalendar"),
|
||||||
-value=>[$self->getValue("defaultMonth")]
|
-value=>[$self->getValue("defaultMonth")]
|
||||||
);
|
);
|
||||||
$tabform->getTab("display")->integer(
|
$tabform->getTab("display")->integer(
|
||||||
-name=>"paginateAfter",
|
-name=>"paginateAfter",
|
||||||
-label=>WebGUI::International::get(19,"EventsCalendar"),
|
-label=>WebGUI::International::get(19,"EventsCalendar"),
|
||||||
-value=>$self->getValue("paginateAfter")
|
-value=>$self->getValue("paginateAfter")
|
||||||
);
|
);
|
||||||
# $tabform->getTab("security")->group(
|
# $tabform->getTab("security")->group(
|
||||||
# -name=>"groupIdManage",
|
# -name=>"groupIdManage",
|
||||||
# -label=>WebGUI::International::get(500,"EventsCalendar"),
|
# -label=>WebGUI::International::get(500,"EventsCalendar"),
|
||||||
# -value=>[$self->getValue("groupIdManage")],
|
# -value=>[$self->getValue("groupIdManage")],
|
||||||
# -uiLevel=>6
|
# -uiLevel=>6
|
||||||
# );
|
# );
|
||||||
return $tabform;
|
return $tabform;
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub getIcon {
|
sub getIcon {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $small = shift;
|
my $small = shift;
|
||||||
return $session{config}{extrasURL}.'/assets/small/calendar.gif' if ($small);
|
return $session{config}{extrasURL}.'/assets/small/calendar.gif' if ($small);
|
||||||
return $session{config}{extrasURL}.'/assets/calendar.gif';
|
return $session{config}{extrasURL}.'/assets/calendar.gif';
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub getName {
|
sub getName {
|
||||||
return WebGUI::International::get(2,"EventsCalendar");
|
return WebGUI::International::get(2,"EventsCalendar");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub getUiLevel {
|
sub getUiLevel {
|
||||||
return 9;
|
return 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub view {
|
sub view {
|
||||||
|
|
||||||
# All of this really needs to be redone like the old
|
# All of this really needs to be redone like the old
|
||||||
|
|
@ -216,253 +216,253 @@ sub view {
|
||||||
# needs to be re-enabled. Also, see the note below at line
|
# needs to be re-enabled. Also, see the note below at line
|
||||||
# 407 - each dayloop event array needs to be sorted by startTime.
|
# 407 - each dayloop event array needs to be sorted by startTime.
|
||||||
|
|
||||||
|
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
return WebGUI::Privilege::noAccess() unless $self->canView;
|
return WebGUI::Privilege::noAccess() unless $self->canView;
|
||||||
#define default view month range. Note that this could be different from
|
#define default view month range. Note that this could be different from
|
||||||
#the range a user is allowed to view - set by the events calendar limitations.
|
#the range a user is allowed to view - set by the events calendar limitations.
|
||||||
my $monthRangeLength = int($self->getValue("paginateAfter"));
|
my $monthRangeLength = int($self->getValue("paginateAfter"));
|
||||||
# Let's limit the range to 72 for now; later we can make it definable in the calendar itself.
|
# Let's limit the range to 72 for now; later we can make it definable in the calendar itself.
|
||||||
$monthRangeLength = 1 if ($monthRangeLength < 0);
|
$monthRangeLength = 1 if ($monthRangeLength < 0);
|
||||||
$monthRangeLength = 72 if ($monthRangeLength > 72);
|
$monthRangeLength = 72 if ($monthRangeLength > 72);
|
||||||
#monthRangeLength is the number of months the user wishes to view
|
#monthRangeLength is the number of months the user wishes to view
|
||||||
# or the default number of the months per page the wobject is set to display.
|
# or the default number of the months per page the wobject is set to display.
|
||||||
my $calMonthStart = $session{form}{calMonthStart} || 1;
|
my $calMonthStart = $session{form}{calMonthStart} || 1;
|
||||||
$calMonthStart = int($calMonthStart);
|
$calMonthStart = int($calMonthStart);
|
||||||
my $calMonthEnd = $session{form}{calMonthEnd} || ($calMonthStart + $monthRangeLength - 1);
|
my $calMonthEnd = $session{form}{calMonthEnd} || ($calMonthStart + $monthRangeLength - 1);
|
||||||
$calMonthEnd = int($calMonthEnd);
|
$calMonthEnd = int($calMonthEnd);
|
||||||
$calMonthStart = 1 if (($calMonthStart < 1) || ($calMonthStart > 72));
|
$calMonthStart = 1 if (($calMonthStart < 1) || ($calMonthStart > 72));
|
||||||
$calMonthEnd = 1 if (($calMonthEnd < 1) || ($calMonthEnd > 72));
|
$calMonthEnd = 1 if (($calMonthEnd < 1) || ($calMonthEnd > 72));
|
||||||
$calMonthEnd = $calMonthStart if ($calMonthEnd < $calMonthStart);
|
$calMonthEnd = $calMonthStart if ($calMonthEnd < $calMonthStart);
|
||||||
|
|
||||||
my ( $junk, $sameDate, $p, @list, $date, $flag, %previous, $maxDate, $minDate);
|
my ( $junk, $sameDate, $p, @list, $date, $flag, %previous, $maxDate, $minDate);
|
||||||
my $monthloop;
|
my $monthloop;
|
||||||
|
|
||||||
#had to disable caching because each event can have its own security.
|
#had to disable caching because each event can have its own security.
|
||||||
# It can be re-added, of course.
|
# It can be re-added, of course.
|
||||||
|
|
||||||
my $scope = $self->getValue("scope");
|
my $scope = $self->getValue("scope");
|
||||||
my $children;
|
my $children;
|
||||||
# get All My Children.
|
# get All My Children.
|
||||||
if ($scope == 0) { #calendar's scope is regular (immediate descendants)
|
if ($scope == 0) { #calendar's scope is regular (immediate descendants)
|
||||||
$children = $self->getLineage(["children"],{returnObjects=>1,
|
$children = $self->getLineage(["children"],{returnObjects=>1,
|
||||||
includeOnlyClasses=>["WebGUI::Asset::Event","WebGUI::Asset::Relation"]});
|
includeOnlyClasses=>["WebGUI::Asset::Event","WebGUI::Asset::Relation"]});
|
||||||
} elsif ($scope == 1) { #calendar is master
|
} elsif ($scope == 1) { #calendar is master
|
||||||
$children = $self->getLineage(["descendants"],{returnObjects=>1,
|
$children = $self->getLineage(["descendants"],{returnObjects=>1,
|
||||||
includeOnlyClasses=>["WebGUI::Asset::Event","WebGUI::Asset::Relation"]});
|
includeOnlyClasses=>["WebGUI::Asset::Event","WebGUI::Asset::Relation"]});
|
||||||
} elsif ($scope == 2) { #calendar is global
|
} elsif ($scope == 2) { #calendar is global
|
||||||
$children = WebGUI::Asset::getRoot()->getLineage(["descendants"],{returnObjects=>1,
|
$children = WebGUI::Asset::getRoot()->getLineage(["descendants"],{returnObjects=>1,
|
||||||
includeOnlyClasses=>["WebGUI::Asset::Event","WebGUI::Asset::Relation"]});
|
includeOnlyClasses=>["WebGUI::Asset::Event","WebGUI::Asset::Relation"]});
|
||||||
}
|
}
|
||||||
# get Type of Calendar
|
# get Type of Calendar
|
||||||
# my $calType = $self->getValue("type");
|
# my $calType = $self->getValue("type");
|
||||||
|
|
||||||
my $startMonth = $self->getValue("startMonth");
|
my $startMonth = $self->getValue("startMonth");
|
||||||
#define range of allowed months from the wobject settings.
|
#define range of allowed months from the wobject settings.
|
||||||
if ($startMonth eq "first") {
|
if ($startMonth eq "first") {
|
||||||
#Don't really do anything - leading months will not be pushed if there are no events.
|
#Don't really do anything - leading months will not be pushed if there are no events.
|
||||||
$minDate = WebGUI::DateTime::time();
|
$minDate = WebGUI::DateTime::time();
|
||||||
} elsif ($startMonth eq "january") {
|
} elsif ($startMonth eq "january") {
|
||||||
$minDate = WebGUI::DateTime::humanToEpoch(WebGUI::DateTime::epochToHuman("","%y")."-01-01 00:00:00");
|
$minDate = WebGUI::DateTime::humanToEpoch(WebGUI::DateTime::epochToHuman("","%y")."-01-01 00:00:00");
|
||||||
} else {
|
} else {
|
||||||
$minDate = WebGUI::DateTime::time();
|
$minDate = WebGUI::DateTime::time();
|
||||||
}
|
}
|
||||||
my $startsNow = 0;
|
my $startsNow = 0;
|
||||||
unless ($self->get("startMonth") eq "now") {
|
unless ($self->get("startMonth") eq "now") {
|
||||||
($minDate,$junk) = WebGUI::DateTime::monthStartEnd($minDate);
|
($minDate,$junk) = WebGUI::DateTime::monthStartEnd($minDate);
|
||||||
} else { $startsNow = 1;}
|
} else { $startsNow = 1;}
|
||||||
tie %previous, 'Tie::CPHash';
|
tie %previous, 'Tie::CPHash';
|
||||||
#This merely limits the months to publish. Month's processing is skipped if
|
#This merely limits the months to publish. Month's processing is skipped if
|
||||||
#the month is after the maxDate.
|
#the month is after the maxDate.
|
||||||
my $endMonth = $self->getValue("endMonth");
|
my $endMonth = $self->getValue("endMonth");
|
||||||
if ($endMonth eq "last") {
|
if ($endMonth eq "last") {
|
||||||
$maxDate = WebGUI::DateTime::addToDate($minDate,99,0,0);
|
$maxDate = WebGUI::DateTime::addToDate($minDate,99,0,0);
|
||||||
} elsif ($endMonth eq "after12") {
|
} elsif ($endMonth eq "after12") {
|
||||||
$maxDate = WebGUI::DateTime::addToDate($minDate,1,0,0);
|
$maxDate = WebGUI::DateTime::addToDate($minDate,1,0,0);
|
||||||
} elsif ($endMonth eq "after9") {
|
} elsif ($endMonth eq "after9") {
|
||||||
$maxDate = WebGUI::DateTime::addToDate($minDate,0,9,0);
|
$maxDate = WebGUI::DateTime::addToDate($minDate,0,9,0);
|
||||||
} elsif ($endMonth eq "after6") {
|
} elsif ($endMonth eq "after6") {
|
||||||
$maxDate = WebGUI::DateTime::addToDate($minDate,0,6,0);
|
$maxDate = WebGUI::DateTime::addToDate($minDate,0,6,0);
|
||||||
} elsif ($endMonth eq "after3") {
|
} elsif ($endMonth eq "after3") {
|
||||||
$maxDate = WebGUI::DateTime::addToDate($minDate,0,3,0);
|
$maxDate = WebGUI::DateTime::addToDate($minDate,0,3,0);
|
||||||
} elsif ($endMonth eq "current") {
|
} elsif ($endMonth eq "current") {
|
||||||
$maxDate = WebGUI::DateTime::addToDate($minDate,0,1,0);
|
$maxDate = WebGUI::DateTime::addToDate($minDate,0,1,0);
|
||||||
}
|
}
|
||||||
|
|
||||||
my @now = WebGUI::DateTime::epochToArray(WebGUI::DateTime::time());
|
my @now = WebGUI::DateTime::epochToArray(WebGUI::DateTime::time());
|
||||||
my $calHasEvent = 0;
|
my $calHasEvent = 0;
|
||||||
#monthcount minus i is the number of months remaining to be processed.
|
#monthcount minus i is the number of months remaining to be processed.
|
||||||
for (my $i=$calMonthStart;$i<=$calMonthEnd;$i++) {
|
for (my $i=$calMonthStart;$i<=$calMonthEnd;$i++) {
|
||||||
#for each month, do the following....
|
#for each month, do the following....
|
||||||
my $monthHasEvent = 0;
|
my $monthHasEvent = 0;
|
||||||
my $thisMonth = WebGUI::DateTime::addToDate($minDate,0,($i-1),0);
|
my $thisMonth = WebGUI::DateTime::addToDate($minDate,0,($i-1),0);
|
||||||
my ($monthStart, $monthEnd) = WebGUI::DateTime::monthStartEnd($thisMonth);
|
my ($monthStart, $monthEnd) = WebGUI::DateTime::monthStartEnd($thisMonth);
|
||||||
my @thisMonthDate = WebGUI::DateTime::epochToArray($thisMonth);
|
my @thisMonthDate = WebGUI::DateTime::epochToArray($thisMonth);
|
||||||
#Check month to see if it is in the allowed month range. End loop if it's not.
|
#Check month to see if it is in the allowed month range. End loop if it's not.
|
||||||
if ($thisMonth > $maxDate) {
|
if ($thisMonth > $maxDate) {
|
||||||
$i = $calMonthEnd;
|
$i = $calMonthEnd;
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
|
|
||||||
my %events;
|
my %events;
|
||||||
my %previous;
|
my %previous;
|
||||||
|
|
||||||
foreach my $event (@{$children}) {
|
foreach my $event (@{$children}) {
|
||||||
if (ref $event eq "WebGUI::Asset::Event") {
|
if (ref $event eq "WebGUI::Asset::Event") {
|
||||||
my $eventStartDate = $event->getValue("eventStartDate");
|
my $eventStartDate = $event->getValue("eventStartDate");
|
||||||
my $eventEndDate = $event->getValue("eventEndDate");
|
my $eventEndDate = $event->getValue("eventEndDate");
|
||||||
if ($eventStartDate > $eventEndDate) {
|
if ($eventStartDate > $eventEndDate) {
|
||||||
#Fix bad data. Everything that has a beginning must have an end [no earlier than its beginning].
|
#Fix bad data. Everything that has a beginning must have an end [no earlier than its beginning].
|
||||||
$event->update({ "eventEndDate"=>$eventStartDate });
|
$event->update({ "eventEndDate"=>$eventStartDate });
|
||||||
}
|
}
|
||||||
#Prune events that don't appear in this month.
|
#Prune events that don't appear in this month.
|
||||||
next if (($eventStartDate > $monthEnd) || ($eventEndDate < $monthStart));
|
next if (($eventStartDate > $monthEnd) || ($eventEndDate < $monthStart));
|
||||||
#Prune events that have already ended if $startsNow
|
#Prune events that have already ended if $startsNow
|
||||||
next if (($eventEndDate < $minDate) && $startsNow);
|
next if (($eventEndDate < $minDate) && $startsNow);
|
||||||
#Hide this event unless we are allowed to see it. Funny that each event has 4 date/time pairs.
|
#Hide this event unless we are allowed to see it. Funny that each event has 4 date/time pairs.
|
||||||
next unless $event->canView;
|
next unless $event->canView;
|
||||||
# only display events for this person's Personal Calendar, if it's so set.
|
# only display events for this person's Personal Calendar, if it's so set.
|
||||||
# next unless (($calType != 1) || ($event->isMyEvent()));
|
# next unless (($calType != 1) || ($event->isMyEvent()));
|
||||||
my $eventLength = WebGUI::DateTime::getDaysInInterval($eventStartDate,$eventEndDate);
|
my $eventLength = WebGUI::DateTime::getDaysInInterval($eventStartDate,$eventEndDate);
|
||||||
my ($startYear, $startMonth, $startDay, $startDate, $startTime) = split " ",
|
my ($startYear, $startMonth, $startDay, $startDate, $startTime) = split " ",
|
||||||
WebGUI::DateTime::epochToHuman($eventStartDate, "%y %c %D %z %Z");
|
WebGUI::DateTime::epochToHuman($eventStartDate, "%y %c %D %z %Z");
|
||||||
my ($endYear, $endMonth, $endDay, $endDate, $endTime) = split " ",
|
my ($endYear, $endMonth, $endDay, $endDate, $endTime) = split " ",
|
||||||
WebGUI::DateTime::epochToHuman($eventEndDate, "%y %c %D %z %Z");
|
WebGUI::DateTime::epochToHuman($eventEndDate, "%y %c %D %z %Z");
|
||||||
my $eventCycleStart = 0;
|
my $eventCycleStart = 0;
|
||||||
# Fast-Forward Event Cycle to this month (for events spanning multiple months)
|
# Fast-Forward Event Cycle to this month (for events spanning multiple months)
|
||||||
$eventCycleStart = (WebGUI::DateTime::getDaysInInterval($eventStartDate,$monthStart) - 1) if ($eventStartDate < $monthStart);
|
$eventCycleStart = (WebGUI::DateTime::getDaysInInterval($eventStartDate,$monthStart) - 1) if ($eventStartDate < $monthStart);
|
||||||
# also, skip leading days of this event if $startsNow is true. Doesn't work in Events List. Oh well.
|
# also, skip leading days of this event if $startsNow is true. Doesn't work in Events List. Oh well.
|
||||||
# $eventCycleStart = (WebGUI::DateTime::getDaysInInterval($eventStartDate,time)) if (($eventStartDate < time) && ($startsNow));
|
# $eventCycleStart = (WebGUI::DateTime::getDaysInInterval($eventStartDate,time)) if (($eventStartDate < time) && ($startsNow));
|
||||||
# by default, stop processing this event at the end of its length.
|
# by default, stop processing this event at the end of its length.
|
||||||
my $eventCycleStop = ($eventLength);
|
my $eventCycleStop = ($eventLength);
|
||||||
#cycle through each day in the event, pushing the event's day listing into the proper day.
|
#cycle through each day in the event, pushing the event's day listing into the proper day.
|
||||||
for (my $i=$eventCycleStart; $i<=$eventCycleStop; $i++) {
|
for (my $i=$eventCycleStart; $i<=$eventCycleStop; $i++) {
|
||||||
#create an array for the specific day in the event.
|
#create an array for the specific day in the event.
|
||||||
my @date = WebGUI::DateTime::epochToArray(WebGUI::DateTime::addToDate($eventStartDate,0,0,$i));
|
my @date = WebGUI::DateTime::epochToArray(WebGUI::DateTime::addToDate($eventStartDate,0,0,$i));
|
||||||
# if the event goes past the end of this month, halt the loop.
|
# if the event goes past the end of this month, halt the loop.
|
||||||
# No need to continue processing days that aren't in this month.
|
# No need to continue processing days that aren't in this month.
|
||||||
if ($monthEnd < (WebGUI::DateTime::addToDate($eventStartDate,0,0,$i) - 1)) {
|
if ($monthEnd < (WebGUI::DateTime::addToDate($eventStartDate,0,0,$i) - 1)) {
|
||||||
$i = ($eventCycleStop + 2);
|
$i = ($eventCycleStop + 2);
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
#this conditional used to only test if we are in the proper month...
|
#this conditional used to only test if we are in the proper month...
|
||||||
#Now also test to see if we're at the maxDate yet and after the minDate.
|
#Now also test to see if we're at the maxDate yet and after the minDate.
|
||||||
if (($date[1] == $thisMonthDate[1]) && (WebGUI::DateTime::addToDate($eventStartDate,0,0,$i) <= ($maxDate + 2678400))){
|
if (($date[1] == $thisMonthDate[1]) && (WebGUI::DateTime::addToDate($eventStartDate,0,0,$i) <= ($maxDate + 2678400))){
|
||||||
push(@{$events{$date[2]}}, {
|
push(@{$events{$date[2]}}, {
|
||||||
description=>$event->getValue("description"),
|
description=>$event->getValue("description"),
|
||||||
name=>$event->getValue("title"),
|
name=>$event->getValue("title"),
|
||||||
'start.date.human'=>$startDate,
|
'start.date.human'=>$startDate,
|
||||||
'start.time.human'=>$startTime,
|
'start.time.human'=>$startTime,
|
||||||
'start.date.epoch'=>$eventStartDate,
|
'start.date.epoch'=>$eventStartDate,
|
||||||
'start.year'=>$startYear,
|
'start.year'=>$startYear,
|
||||||
'start.month'=>$startMonth,
|
'start.month'=>$startMonth,
|
||||||
'start.day'=>$startDay,
|
'start.day'=>$startDay,
|
||||||
'end.date.human'=>$endDate,
|
'end.date.human'=>$endDate,
|
||||||
'end.time.human'=>$endTime,
|
'end.time.human'=>$endTime,
|
||||||
'end.date.epoch'=>$eventEndDate,
|
'end.date.epoch'=>$eventEndDate,
|
||||||
'end.year'=>$endYear,
|
'end.year'=>$endYear,
|
||||||
'end.month'=>$endMonth,
|
'end.month'=>$endMonth,
|
||||||
'end.day'=>$endDay,
|
'end.day'=>$endDay,
|
||||||
'startEndYearMatch'=>($startYear eq $endYear),
|
'startEndYearMatch'=>($startYear eq $endYear),
|
||||||
'startEndMonthMatch'=>($startMonth eq $endMonth),
|
'startEndMonthMatch'=>($startMonth eq $endMonth),
|
||||||
'startEndDayMatch'=>($startDay eq $endDay),
|
'startEndDayMatch'=>($startDay eq $endDay),
|
||||||
isFirstDayOfEvent=>($i == 0),
|
isFirstDayOfEvent=>($i == 0),
|
||||||
dateIsSameAsPrevious=>($startYear."-".$startMonth."-".$startDay eq $previous{start}
|
dateIsSameAsPrevious=>($startYear."-".$startMonth."-".$startDay eq $previous{start}
|
||||||
&& $endYear."-".$endMonth."-".$endDay eq $previous{end}),
|
&& $endYear."-".$endMonth."-".$endDay eq $previous{end}),
|
||||||
daysInEvent=>($eventLength+1),
|
daysInEvent=>($eventLength+1),
|
||||||
url=>$event->getUrl()
|
url=>$event->getUrl()
|
||||||
});
|
});
|
||||||
$monthHasEvent = 1;
|
$monthHasEvent = 1;
|
||||||
$calHasEvent = 1;
|
$calHasEvent = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$previous{start} = $startYear."-".$startMonth."-".$startDay;
|
$previous{start} = $startYear."-".$startMonth."-".$startDay;
|
||||||
$previous{end} = $endYear."-".$endMonth."-".$endDay;
|
$previous{end} = $endYear."-".$endMonth."-".$endDay;
|
||||||
} elsif (ref $event eq "WebGUI::Asset::Relation") {
|
} elsif (ref $event eq "WebGUI::Asset::Relation") {
|
||||||
print "\n";
|
print "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (($startsNow || ($startMonth eq "first")) && ($calHasEvent == 0)) {
|
if (($startsNow || ($startMonth eq "first")) && ($calHasEvent == 0)) {
|
||||||
#Let's process an extra month if this month had no events,
|
#Let's process an extra month if this month had no events,
|
||||||
#and if we're at the beginning of the calendar, and if
|
#and if we're at the beginning of the calendar, and if
|
||||||
#the calendar is supposed to start with the first event or now.
|
#the calendar is supposed to start with the first event or now.
|
||||||
$calMonthEnd++ unless $monthHasEvent;
|
$calMonthEnd++ unless $monthHasEvent;
|
||||||
next unless $monthHasEvent;
|
next unless $monthHasEvent;
|
||||||
}
|
}
|
||||||
my $dayOfWeekCounter = 1;
|
my $dayOfWeekCounter = 1;
|
||||||
my $firstDayInFirstWeek = WebGUI::DateTime::getFirstDayInMonthPosition($thisMonth);
|
my $firstDayInFirstWeek = WebGUI::DateTime::getFirstDayInMonthPosition($thisMonth);
|
||||||
my $daysInMonth = WebGUI::DateTime::getDaysInMonth($thisMonth);
|
my $daysInMonth = WebGUI::DateTime::getDaysInMonth($thisMonth);
|
||||||
my @prepad;
|
my @prepad;
|
||||||
while ($dayOfWeekCounter < $firstDayInFirstWeek) {
|
while ($dayOfWeekCounter < $firstDayInFirstWeek) {
|
||||||
push(@prepad,{
|
push(@prepad,{
|
||||||
count => $dayOfWeekCounter
|
count => $dayOfWeekCounter
|
||||||
});
|
});
|
||||||
$dayOfWeekCounter++;
|
$dayOfWeekCounter++;
|
||||||
}
|
}
|
||||||
my @date = WebGUI::DateTime::epochToArray($thisMonth);
|
my @date = WebGUI::DateTime::epochToArray($thisMonth);
|
||||||
my @dayloop;
|
my @dayloop;
|
||||||
for (my $dayCounter=1; $dayCounter <= $daysInMonth; $dayCounter++) {
|
for (my $dayCounter=1; $dayCounter <= $daysInMonth; $dayCounter++) {
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
#sort each day's events here - still needs to be done!
|
#sort each day's events here - still needs to be done!
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
push(@dayloop, {
|
push(@dayloop, {
|
||||||
dayOfWeek => $dayOfWeekCounter,
|
dayOfWeek => $dayOfWeekCounter,
|
||||||
day=>$dayCounter,
|
day=>$dayCounter,
|
||||||
isStartOfWeek=>($dayOfWeekCounter==1),
|
isStartOfWeek=>($dayOfWeekCounter==1),
|
||||||
isEndOfWeek=>($dayOfWeekCounter==7),
|
isEndOfWeek=>($dayOfWeekCounter==7),
|
||||||
isToday=>($date[0]."-".$date[1]."-".$dayCounter eq $now[0]."-".$now[1]."-".$now[2]),
|
isToday=>($date[0]."-".$date[1]."-".$dayCounter eq $now[0]."-".$now[1]."-".$now[2]),
|
||||||
event_loop=>\@{$events{$dayCounter}},
|
event_loop=>\@{$events{$dayCounter}},
|
||||||
url=>$events{$dayCounter}->[0]->{url}
|
url=>$events{$dayCounter}->[0]->{url}
|
||||||
});
|
});
|
||||||
if ($dayOfWeekCounter == 7) {
|
if ($dayOfWeekCounter == 7) {
|
||||||
$dayOfWeekCounter = 1;
|
$dayOfWeekCounter = 1;
|
||||||
} else {
|
} else {
|
||||||
$dayOfWeekCounter++;
|
$dayOfWeekCounter++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
my @postpad;
|
my @postpad;
|
||||||
while ($dayOfWeekCounter <= 7 && $dayOfWeekCounter > 1) {
|
while ($dayOfWeekCounter <= 7 && $dayOfWeekCounter > 1) {
|
||||||
push(@postpad,{
|
push(@postpad,{
|
||||||
count => $dayOfWeekCounter
|
count => $dayOfWeekCounter
|
||||||
});
|
});
|
||||||
$dayOfWeekCounter++;
|
$dayOfWeekCounter++;
|
||||||
}
|
}
|
||||||
push(@$monthloop, {
|
push(@$monthloop, {
|
||||||
'daysInMonth'=>$daysInMonth,
|
'daysInMonth'=>$daysInMonth,
|
||||||
'day_loop'=>\@dayloop,
|
'day_loop'=>\@dayloop,
|
||||||
'prepad_loop'=>\@prepad,
|
'prepad_loop'=>\@prepad,
|
||||||
'postpad_loop'=>\@postpad,
|
'postpad_loop'=>\@postpad,
|
||||||
'month'=>WebGUI::DateTime::getMonthName($date[1]),
|
'month'=>WebGUI::DateTime::getMonthName($date[1]),
|
||||||
'year'=>$date[0]
|
'year'=>$date[0]
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
my %var;
|
my %var;
|
||||||
$var{month_loop} = \@$monthloop;
|
$var{month_loop} = \@$monthloop;
|
||||||
# $var{"canManage"} = $self->canManage;
|
# $var{"canManage"} = $self->canManage;
|
||||||
$var{"addevent.url"} = $self->getUrl().'?func=addStyledEvent&class=WebGUI::Asset::Event';
|
$var{"addevent.url"} = $self->getUrl().'?func=addStyledEvent&class=WebGUI::Asset::Event';
|
||||||
$var{"addevent.label"} = WebGUI::International::get(20,"EventsCalendar");
|
$var{"addevent.label"} = WebGUI::International::get(20,"EventsCalendar");
|
||||||
$var{'sunday.label'} = WebGUI::DateTime::getDayName(7);
|
$var{'sunday.label'} = WebGUI::DateTime::getDayName(7);
|
||||||
$var{'monday.label'} = WebGUI::DateTime::getDayName(1);
|
$var{'monday.label'} = WebGUI::DateTime::getDayName(1);
|
||||||
$var{'tuesday.label'} = WebGUI::DateTime::getDayName(2);
|
$var{'tuesday.label'} = WebGUI::DateTime::getDayName(2);
|
||||||
$var{'wednesday.label'} = WebGUI::DateTime::getDayName(3);
|
$var{'wednesday.label'} = WebGUI::DateTime::getDayName(3);
|
||||||
$var{'thursday.label'} = WebGUI::DateTime::getDayName(4);
|
$var{'thursday.label'} = WebGUI::DateTime::getDayName(4);
|
||||||
$var{'friday.label'} = WebGUI::DateTime::getDayName(5);
|
$var{'friday.label'} = WebGUI::DateTime::getDayName(5);
|
||||||
$var{'saturday.label'} = WebGUI::DateTime::getDayName(6);
|
$var{'saturday.label'} = WebGUI::DateTime::getDayName(6);
|
||||||
$var{'sunday.label.short'} = substr(WebGUI::DateTime::getDayName(7),0,1);
|
$var{'sunday.label.short'} = substr(WebGUI::DateTime::getDayName(7),0,1);
|
||||||
$var{'monday.label.short'} = substr(WebGUI::DateTime::getDayName(1),0,1);
|
$var{'monday.label.short'} = substr(WebGUI::DateTime::getDayName(1),0,1);
|
||||||
$var{'tuesday.label.short'} = substr(WebGUI::DateTime::getDayName(2),0,1);
|
$var{'tuesday.label.short'} = substr(WebGUI::DateTime::getDayName(2),0,1);
|
||||||
$var{'wednesday.label.short'} = substr(WebGUI::DateTime::getDayName(3),0,1);
|
$var{'wednesday.label.short'} = substr(WebGUI::DateTime::getDayName(3),0,1);
|
||||||
$var{'thursday.label.short'} = substr(WebGUI::DateTime::getDayName(4),0,1);
|
$var{'thursday.label.short'} = substr(WebGUI::DateTime::getDayName(4),0,1);
|
||||||
$var{'friday.label.short'} = substr(WebGUI::DateTime::getDayName(5),0,1);
|
$var{'friday.label.short'} = substr(WebGUI::DateTime::getDayName(5),0,1);
|
||||||
$var{'saturday.label.short'} = substr(WebGUI::DateTime::getDayName(6),0,1);
|
$var{'saturday.label.short'} = substr(WebGUI::DateTime::getDayName(6),0,1);
|
||||||
#use Data::Dumper; return '<pre>'.Dumper(\%var).'</pre>';
|
#use Data::Dumper; return '<pre>'.Dumper(\%var).'</pre>';
|
||||||
my $vars = \%var;
|
my $vars = \%var;
|
||||||
return $self->processTemplate($vars,$self->get("templateId"));
|
return $self->processTemplate($vars,$self->get("templateId"));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
=head2 www_addStyledEvent ( )
|
=head2 www_addStyledEvent ( )
|
||||||
|
|
@ -495,15 +495,15 @@ sub www_addStyledEvent {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
|
||||||
sub www_edit {
|
|
||||||
my $self = shift;
|
|
||||||
return $self->getAdminConsole->render(WebGUI::Privilege::insufficient()) unless $self->canEdit;
|
|
||||||
$self->getAdminConsole->setHelp("events calendar add/edit");
|
|
||||||
return $self->getAdminConsole->render($self->getEditForm->print,WebGUI::International::get("12","EventsCalendar"));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------
|
||||||
1;
|
sub www_edit {
|
||||||
|
my $self = shift;
|
||||||
|
return $self->getAdminConsole->render(WebGUI::Privilege::insufficient()) unless $self->canEdit;
|
||||||
|
$self->getAdminConsole->setHelp("events calendar add/edit");
|
||||||
|
return $self->getAdminConsole->render($self->getEditForm->print,WebGUI::International::get("12","EventsCalendar"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
1;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue