additional template variables

This commit is contained in:
JT Smith 2003-05-21 04:27:39 +00:00
parent 8c9159a582
commit 1cf73bc1b3
3 changed files with 21 additions and 1 deletions

View file

@ -557,4 +557,12 @@ delete from settings where name='proxiedClientAddress';
insert into settings(name,value) values('proxiedClientAddress', '0');
delete from international where languageId=1 and namespace='WebGUI' and internationalId=973;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (973,1,'WebGUI','If proxied, use real client IP address?', 1053459227);
delete from international where languageId=1 and namespace='Article' and internationalId=73;
insert into international (internationalId,languageId,namespace,message,lastUpdated,context) values (73,1,'Article','The following template variables are available for article templates.\r\n<p/>\r\n\r\n<b>description.full</b><br>\r\nThe full description without any pagination. (For the paginated description use "description" instead.)\r\n<p>\r\n\r\n<b>description.first.100characters</b><br>\r\nThe first 100 characters of the description.\r\n<p>\r\n\r\n<b>description.first.20words</b><br>\r\nThe first 20 words of the description. Words are defined as characters separated by whitespace, so HTML entities and tags count as words.\r\n<p>\r\n\r\n<b>description.first.paragraph</b><br>\r\nThe first paragraph of the description. The first paragraph is determined by the first carriage return found in the text.\r\n<p>\r\n\r\n<b>attachment.box</b><br/>\r\nOutputs a standard WebGUI attachment box including icon, filename, and attachment indicator.\r\n<p/>\r\n\r\n<b>attachment.icon</b><br/>\r\nThe URL to the icon image for this attachment type.\r\n<p/>\r\n\r\n<b>attachment.name</b><br/>\r\nThe filename for this attachment.\r\n<p/>\r\n\r\n<b>attachment.url</b><br/>\r\nThe URL to download this attachment.\r\n<p/>\r\n\r\n<b>image.thumbnail</b><br/>\r\nThe URL to the thumbnail for the attached image.\r\n<p/>\r\n\r\n<b>image.url</b><br/>\r\nThe URL to the attached image.\r\n<p/>\r\n\r\n<b>post.label</b><br/>\r\nThe translated label to add a comment to this article.\r\n<p/>\r\n\r\n\r\n<b>post.URL</b><br/>\r\nThe URL to add a comment to this article.\r\n<p/>\r\n\r\n<b>replies.count</b><br/>\r\nThe number of comments attached to this article.\r\n<p/>\r\n\r\n<b>replies.label</b><br/>\r\nThe translated text indicating that you can view the replies.\r\n<p/>\r\n\r\n<b>replies.url</b><br/>\r\nThe URL to view the replies to this article.\r\n<p/>\r\n\r\n\r\n<b>firstPage</b><br/>\r\nA link to the first page in the paginator.\r\n<p/>\r\n\r\n<b>lastPage</b><br/>\r\nA link to the last page in the paginator.\r\n<p/>\r\n\r\n<b>nextPage</b><br/>\r\nA link to the next page forward in the paginator.\r\n<p/>\r\n\r\n<b>previousPage</b><br/>\r\nA link to the next page backward in the paginator.\r\n<p/>\r\n\r\n<b>pageList</b><br/>\r\nA list of links to all the pages in the paginator.\r\n<p/>\r\n\r\n<b>multiplePages</b><br/>\r\nA conditional indicating whether there is more than one page in the paginator.\r\n<p/>\r\n\r\n<b>isFirstPage</b><br/>\r\nA conditional indicating whether the visitor is viewing the first page.\r\n<p/>\r\n\r\n<b>isLastPage</b><br/>\r\nA conditional indicating whether the visitor is viewing the last page.\r\n<p/>\r\n\r\n', 1053469941,NULL);
delete from international where languageId=1 and namespace='WebGUI' and internationalId=828;
insert into international (internationalId,languageId,namespace,message,lastUpdated,context) values (828,1,'WebGUI','Most wobjects have templates that allow you to change the layout of the wobject\'s user interface. Those wobjects that do have templates all have a common set of template variables that you can use for layout, as well as their own custom variables. The following is a list of the common template variables shared among all wobjects.\r\n<p/>\r\n<b>title</b><br/>\r\nThe title for this wobject.\r\n<p/>\r\n\r\n<b>displayTitle</b><br/>\r\nA conditional variable for whether or not the title should be displayed.\r\n<p/>\r\n\r\n<b>description</b><br/>\r\nThe description of this wobject.\r\n<p/>\r\n\r\n<b>wobjectId</b><br/>\r\nThe unique identifier that WebGUI uses to control this wobject.\r\n<p/>\r\n\r\n<b>isShortcut</b><br />\r\nA conditional indicating if this wobject is a shortcut to an original wobject.\r\n<p />\r\n\r\n<b>originalURL</b><br />\r\nIf this wobject is a shortcut, then this URL will direct you to the original wobject.\r\n<p />', 1053469640,NULL);

View file

@ -801,6 +801,11 @@ sub processTemplate {
%{$_[0]->{_property}},
%{$_[2]}
);
if (defined $_[0]->get("_WobjectProxy")) {
$vars{isShortcut} = 1;
my ($originalPageURL) = WebGUI::SQL->quickArray("select urlizedTitle from page where pageId=".$_[0]->get("pageId"));
$vars{originalURL} = WebGUI::URL::gateway($originalPageURL."#".$_[0]->get("wobjectId"));
}
my $namespace = $_[3] || $_[0]->get("namespace");
return WebGUI::Template::process(WebGUI::Template::get($_[1],$namespace), \%vars);
}

View file

@ -131,8 +131,15 @@ sub www_view {
}
$var{description} = $_[0]->get("description");
if ($_[0]->get("convertCarriageReturns")) {
$var{description} =~ s/\n/\<br\>/g;
$var{description} =~ s/\n/\<br\>\n/g;
}
$var{"description.full"} = $var{description};
$var{"description.full"} =~ s/\^\-\;//g;
$var{"description.first.100characters"} = substr($var{"description.full"},0,100);
$var{"description.first.20words"} = $var{"description.full"};
$var{"description.first.20words"} =~ s/(((\S+)\s+){20}).*/$1/s;
$var{"description.first.paragraph"} = $var{"description.full"};
$var{"description.first.paragraph"} =~ s/^(.*?)\n.*/$1/s;
if ($session{form}{makePrintable}) {
$var{description} =~ s/\^\-\;//g;
$var{isFirstPage} = 1;