diff --git a/docs/create.sql b/docs/create.sql index 77b33fc72..ade13aa0c 100644 --- a/docs/create.sql +++ b/docs/create.sql @@ -1,3 +1,10 @@ +create table webguiVersion ( +webguiVersion varchar(10), +versionType varchar(30), +dateApplied int +); +insert into webguiVersion values ('3.5.1','intitial install',unix_timestamp()); + # MySQL dump 8.14 # # Host: localhost Database: WebGUI diff --git a/docs/previousVersion.sql b/docs/previousVersion.sql index 87d9a7f44..77b33fc72 100644 --- a/docs/previousVersion.sql +++ b/docs/previousVersion.sql @@ -1,8 +1,8 @@ -# MySQL dump 8.13 +# MySQL dump 8.14 # # Host: localhost Database: WebGUI #-------------------------------------------------------- -# Server version 3.23.36 +# Server version 3.23.41 # # Table structure for table 'Article' @@ -19,6 +19,10 @@ CREATE TABLE Article ( attachment varchar(255) default NULL, convertCarriageReturns int(11) NOT NULL default '0', alignImage varchar(30) NOT NULL default 'left', + allowDiscussion int(11) NOT NULL default '0', + groupToPost int(11) NOT NULL default '2', + groupToModerate int(11) NOT NULL default '4', + editTimeout int(11) NOT NULL default '1', PRIMARY KEY (widgetId) ) TYPE=MyISAM; @@ -311,6 +315,7 @@ CREATE TABLE SiteMap ( indent int(11) NOT NULL default '5', bullet varchar(30) NOT NULL default '·', lineSpacing int(11) NOT NULL default '1', + displaySynopsis int(11) NOT NULL default '0', PRIMARY KEY (widgetId) ) TYPE=MyISAM; @@ -318,7 +323,7 @@ CREATE TABLE SiteMap ( # Dumping data for table 'SiteMap' # -INSERT INTO SiteMap VALUES (-1,0,0,5,'·',1); +INSERT INTO SiteMap VALUES (-1,0,0,5,'·',1,1); # # Table structure for table 'SyndicatedContent' @@ -486,7 +491,7 @@ CREATE TABLE help ( # Dumping data for table 'help' # -INSERT INTO help VALUES (1,'WebGUI','English','Add/Edit','Page','Think of pages as containers for content. For instance, if you want to write a letter to the editor of your favorite magazine you\'d get out a notepad (or open a word processor) and start filling it with your thoughts. The same is true with WebGUI. Create a page, then add your content to the page.\r\n

\r\nTitle
\r\nThe title of the page is what your users will use to navigate through the site. Titles should be descriptive, but not very long.\r\n

\r\nPage URL
\r\nWhen you create a page a URL for the page is generated based on the page title. If you are unhappy with the URL that was chosen, you can change it here.\r\n

\r\nTemplate
\r\nBy default, WebGUI has one big content area to place widgets. However, by specifying a template other than the default you can sub-divide the content area into several sections.\r\n\r\n

\r\nMeta Tags
\r\nMeta tags are used by some search engines to associate key words to a particular page. There is a great site called Meta Tag Builder that will help you build meta tags if you\'ve never done it before.\r\n

\r\nAdvanced Users: If you have other things (like JavaScript) you usually put in the <head> area of your pages, you may put them here as well.\r\n

\r\nUse default meta tags?
\r\nIf you don\'t wish to specify meta tags yourself, WebGUI can generate meta tags based on the page title and your company\'s name. Check this box to enable the WebGUI-generated meta tags.\r\n

\r\nStyle
\r\nBy default, when you create a page, it inherits a few traits from its parent. One of those traits is style. Choose from the list of styles if you would like to change the appearance of this page. See Add Style for more details.\r\n

\r\nIf you check the box below the style pull-down menu, all of the pages below this page will take on the style you\'ve chosen for this page.\r\n

\r\nOwner
\r\nThe owner of a page is usually the person who created the page.\r\n

\r\nOwner can view?
\r\nCan the owner view the page or not?\r\n

\r\nOwner can edit?
\r\nCan the owner edit the page or not? Be careful, if you decide that the owner cannot edit the page and you do not belong to the page group, then you\'ll lose the ability to edit this page.\r\n

\r\nGroup
\r\nA group is assigned to every page for additional privilege control. Pick a group from the pull-down menu.\r\n

\r\nGroup can view?
\r\nCan members of this group view this page?\r\n

\r\nGroup can edit?
\r\nCan members of this group edit this page?\r\n

\r\nAnybody can view?
\r\nCan any visitor or member regardless of the group and owner view this page?\r\n

\r\nAnybody can edit?
\r\nCan any visitor or member regardless of the group and owner edit this page?\r\n

\r\nYou can optionally give these privileges to all pages under this page.\r\n','0'); +INSERT INTO help VALUES (1,'WebGUI','English','Add/Edit','Page','Think of pages as containers for content. For instance, if you want to write a letter to the editor of your favorite magazine you\'d get out a notepad (or open a word processor) and start filling it with your thoughts. The same is true with WebGUI. Create a page, then add your content to the page.\r\n

\r\nTitle
\r\nThe title of the page is what your users will use to navigate through the site. Titles should be descriptive, but not very long.\r\n

\r\nMenu Title
\r\nA shorter or altered title to appear in navigation. If left blank this will default to Title.\r\n

\r\nPage URL
\r\nWhen you create a page a URL for the page is generated based on the page title. If you are unhappy with the URL that was chosen, you can change it here.\r\n

\r\nTemplate
\r\nBy default, WebGUI has one big content area to place widgets. However, by specifying a template other than the default you can sub-divide the content area into several sections.\r\n

\r\nSynopsis
\r\nA short description of a page. It is used to populate default descriptive meta tags as well as to provide descriptions on Site Maps.\r\n

\r\nMeta Tags
\r\nMeta tags are used by some search engines to associate key words to a particular page. There is a great site called Meta Tag Builder that will help you build meta tags if you\'ve never done it before.\r\n

\r\nAdvanced Users: If you have other things (like JavaScript) you usually put in the <head> area of your pages, you may put them here as well.\r\n

\r\nUse default meta tags?
\r\nIf you don\'t wish to specify meta tags yourself, WebGUI can generate meta tags based on the page title and your company\'s name. Check this box to enable the WebGUI-generated meta tags.\r\n

\r\nStyle
\r\nBy default, when you create a page, it inherits a few traits from its parent. One of those traits is style. Choose from the list of styles if you would like to change the appearance of this page. See Add Style for more details.\r\n

\r\nIf you check the box below the style pull-down menu, all of the pages below this page will take on the style you\'ve chosen for this page.\r\n

\r\nOwner
\r\nThe owner of a page is usually the person who created the page.\r\n

\r\nOwner can view?
\r\nCan the owner view the page or not?\r\n

\r\nOwner can edit?
\r\nCan the owner edit the page or not? Be careful, if you decide that the owner cannot edit the page and you do not belong to the page group, then you\'ll lose the ability to edit this page.\r\n

\r\nGroup
\r\nA group is assigned to every page for additional privilege control. Pick a group from the pull-down menu.\r\n

\r\nGroup can view?
\r\nCan members of this group view this page?\r\n

\r\nGroup can edit?
\r\nCan members of this group edit this page?\r\n

\r\nAnybody can view?
\r\nCan any visitor or member regardless of the group and owner view this page?\r\n

\r\nAnybody can edit?
\r\nCan any visitor or member regardless of the group and owner edit this page?\r\n

\r\nYou can optionally give these privileges to all pages under this page.\r\n','0'); INSERT INTO help VALUES (3,'WebGUI','English','Delete','Page','Deleting a page can create a big mess if you are uncertain about what you are doing. When you delete a page you are also deleting the content it contains, all sub-pages connected to this page, and all the content they contain. Be certain that you have already moved all the content you wish to keep before you delete a page.\r\n

\r\nAs with any delete operation, you are prompted to be sure you wish to proceed with the delete. If you answer yes, the delete will proceed and there is no recovery possible. If you answer no you\'ll be returned to the prior screen.','0'); INSERT INTO help VALUES (4,'WebGUI','English','Delete','Style','When you delete a style all pages using that style will be reverted to the fail safe (default) style. To ensure uninterrupted viewing, you should be sure that no pages are using a style before you delete it.\r\n

\r\n\r\nAs with any delete operation, you are prompted to be sure you wish to proceed with the delete. If you answer yes, the delete will proceed and there is no recovery possible. If you answer no you\'ll be returned to the prior screen.','4,5'); INSERT INTO help VALUES (5,'WebGUI','English','Add/Edit','User','See Manage Users for additional details.\r\n

\r\n\r\nUsername
\r\nUsername is a unique identifier for a user. Sometimes called a handle, it is also how the user will be known on the site. (Note: Administrators have unlimited power in the WebGUI system. This also means they are capable of breaking the system. If you rename or create a user, be careful not to use a username already in existance.)\r\n

\r\n\r\nPassword
\r\nA password is used to ensure that the user is who s/he says s/he is.\r\n

\r\n\r\nAuthentication Method
\r\nSee Edit Settings for details.\r\n

\r\n\r\nLDAP URL
\r\nSee Edit Settings for details.\r\n

\r\n\r\nConnect DN
\r\nThe Connect DN is the cn (or common name) of a given user in your LDAP database. It should be specified as cn=John Doe. This is, in effect, the username that will be used to authenticate this user against your LDAP server.\r\n

\r\n\r\nEmail Address
\r\nThe user\'s email address. This must only be specified if the user will partake in functions that require email.\r\n

\r\n\r\nGroups
\r\nGroups displays which groups the user is in. Groups that are highlighted are groups that the user is assigned to. Those that are not highlighted are other groups that can be assigned. Note that you must hold down CTRL to select multiple groups.\r\n

\r\n\r\nLanguage
\r\nWhat language should be used to display system related messages.\r\n

\r\n\r\nICQ UIN
\r\nThe ICQ UIN is the \"User ID Number\" on the ICQ network. ICQ is a very popular instant messaging platform.\r\n\r\n','0'); @@ -501,14 +506,14 @@ INSERT INTO help VALUES (16,'WebGUI','English','Add/Edit','Style','Styles are We INSERT INTO help VALUES (17,'WebGUI','English','Add/Edit','Group','See Manage Group for a description of grouping functions and the default groups.\r\n

\r\n\r\nGroup Name
\r\nA name for the group. It is best if the name is descriptive so you know what it is at a glance.\r\n

\r\n\r\nDescription
\r\nA longer description of the group so that other admins and content managers (or you if you forget) will know what the purpose of this group is.','0'); INSERT INTO help VALUES (24,'WebGUI','English','Edit','Miscellaneous Settings','Not Found Page
\r\nIf a page that a user requests is not found in the system, the user can be redirected to the home page or to an error page where they can attempt to find what they were looking for. You decide which is better for your users.\r\n

\r\n\r\nSession Timeout
\r\nThe time (in seconds) that a user session remains active (before needing to log in again). This timeout is reset each time a visitor hits a page. Therefore if you set the timeout for 8 hours, a user would have to log in again if s/he hadn\'t visited the site for 8 hours.\r\n

\r\n\r\n1800 = half hour
\r\n3600 = 1 hour
\r\n28000 = 8 hours
\r\n86400 = 1 day
\r\n604800 = 1 week
\r\n1209600 = 2 weeks
\r\n\r\n

\r\nDocument Type Declaration
\r\nThis setting allows you to specify what type of HTML you\'re generating with WebGUI. This is usually useful for HTML validation or for gaining special functionality in certain browsers. Most people should leave this at the default setting.\r\n\r\n

\r\nPrevent Proxy Caching
\r\nSome companies have proxy servers that cause problems with WebGUI. If you\'re experiencing problems with WebGUI, and you have a proxy server, you may want to set this setting to Yes. Beware that WebGUI\'s URLs will not be as user-friendly after this feature is turned on.','6'); INSERT INTO help VALUES (18,'WebGUI','English','Using','Style Sheets','Cascading Style Sheets (CSS) are a great way to manage the look and feel of any web site. They are used extensively in WebGUI.\r\n

\r\n\r\nIf you are unfamiliar with how to use CSS, Plain Black Software provides training classes on XHTML and CSS. Alternatively, Bradsoft makes an excellent CSS editor called Top Style.\r\n

\r\n\r\nThe following is a list of classes used to control the look of WebGUI:\r\n

\r\n\r\nA
\r\nThe links throughout the style.\r\n

\r\n\r\nBODY
\r\nThe default setup of all pages within a style.\r\n

\r\n\r\nH1
\r\nThe headers on every page.\r\n

\r\n\r\n.accountOptions
\r\nThe links that appear under the login and account update forms.\r\n

\r\n\r\n.adminBar
\r\nThe bar that appears at the top of the page when you\'re in admin mode.\r\n

\r\n\r\n.content
\r\nThe main content area on all pages of the style.\r\n

\r\n\r\n.crumbTrail
\r\nThe crumb trail (if you\'re using that macro).\r\n

\r\n\r\n.formDescription
\r\nThe tags on all forms next to the form elements. \r\n

\r\n\r\n.formSubtext
\r\nThe tags below some form elements.\r\n

\r\n\r\n.highlight
\r\nDenotes a highlighted item, such as which message you are viewing within a list.\r\n

\r\n\r\n.homeLink
\r\nUsed by the my home (^H;) macro.\r\n

\r\n\r\n.horizontalMenu
\r\nThe horizontal menu (if you use a horizontal menu macro).\r\n

\r\n\r\n.loginBox
\r\nThe login box (^L;) macro.\r\n

\r\n\r\n.makePrintableLink
\r\nUsed by the make printable (^r;) macro.\r\n

\r\n\r\n.myAccountLink
\r\nUsed by the my account (^a;) macro.\r\n

\r\n\r\n.pagination
\r\nThe Previous and Next links on pages with pagination.\r\n

\r\n\r\n.searchBox
\r\nUsed by the search (^?;) macro.\r\n

\r\n\r\n.selectedMenuItem
\r\nUsed by the FlexMenu (^FlexMenu;) macro.\r\n

\r\n\r\n.tableData
\r\nThe data rows on things like message boards and user contributions.\r\n

\r\n\r\n.tableHeader
\r\nThe headings of columns on things like message boards and user contributions.\r\n

\r\n\r\n.tableMenu
\r\nThe menu on things like message boards and user submissions.\r\n

\r\n\r\n.verticalMenu
\r\nThe vertical menu (if you use a verticall menu macro).\r\n

\r\n\r\nNote: Some widgets have their own unique styles.\r\n\r\n','0'); -INSERT INTO help VALUES (19,'WebGUI','English','Using','Macros','WebGUI macros are used to create dynamic content within otherwise static content. For instance, you may wish to show which user is logged in on every page, or you may wish to have a dynamically built menu or crumb trail. \r\n

\r\nMacros always begin with a carat (^) and follow with at least one other character and ended with w semicolon (;). Some macros can be extended/configured by taking the format of ^x(\"config text\");. The following is a description of all the macros in the WebGUI system.\r\n

\r\n^a; or ^a(); - My Account Link
\r\nA link to your account information. In addition you can change the link text by creating a macro like this ^a(\"Account Info\");.\r\n

\r\n^C; or ^C(); - Crumb Trail
\r\nA dynamically generated crumb trail to the current page. You can optionally specify a delimeter to be used between page names by using ^C(::);. The default delimeter is >.\r\n

\r\n^c; - Company Name
\r\nThe name of your company specified in the settings by your Administrator.\r\n

\r\n^D; or ^D(); - Date
\r\nThe current date and time.\r\n

\r\nYou can configure the date by using date formatting symbols. For instance, if you created a macro like this ^D(\"%c %D, %y\"); it would output September 26, 2001. The following are the available date formatting symbols:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
%%%
%y4 digit year
%Y2 digit year
%m2 digit month
%Mvariable digit month
%cmonth name
%d2 digit day of month
%Dvariable digit day of month
%wday of week name
%h2 digit base 12 hour
%Hvariable digit base 12 hour
%j2 digit base 24 hour
%Jvariable digit base 24 hour
%plower case am/pm
%Pupper case AM/PM
\r\n

\r\n^e; - Company Email Address
\r\nThe email address for your company specified in the settings by your Administrator.\r\n

\r\n^Execute();
\r\nAllows a content manager or administrator to execute an external program. Takes the format of ^Execute(\"/this/file.sh\");.\r\n

\r\n^FlexMenu;
\r\nThis menu macro creates a top-level menu that expands as the user selects each menu item.\r\n

\r\n^H; or ^H(); - Home Link
\r\nA link to the home page of this site. In addition you can change the link text by creating a macro like this ^H(\"Go Home\");.\r\n

\r\n^I(); - Image Manager Image with Tag
\r\nThis macro returns an image tag with the parameters for an image defined in the image manager. Specify the name of the image using a tag like this ^I(\"imageName\");.\r\n

\r\n^i(); - Image Manager Image Path
\r\nThis macro returns the path of an image uploaded using the Image Manager. Specify the name of the image using a tag like this ^i(\"imageName\");.\r\n

\r\n^Include();
\r\nAllows a content manager or administrator to include a file from the local filesystem. Takes the format of ^Include(\"/this/file.html\");\r\n

\r\n^L; or ^L(); - Login
\r\nA small login form. You can also configure this macro. You can set the width of the login box like this ^L(20);. You can also set the message displayed after the user is logged in like this ^L(20,Hi ^a(^@;);. Click %here% if you wanna log out!)\r\n

\r\n^M; or ^M(); - Current Menu (Vertical)
\r\nA vertical menu containing the sub-pages at the current level. In addition, you may configure this macro by specifying how many levels deep the menu should go. By default it will show only the first level. To go three levels deep create a macro like this ^M(3);. If you set the macro to \"0\" it will track the entire site tree.\r\n

\r\n^m; - Current Menu (Horizontal)
\r\nA horizontal menu containing the sub-pages at the current level. You can optionally specify a delimeter to be used between page names by using ^m(:--:);. The default delimeter is ·.\r\n

\r\n^P; or ^P(); - Previous Menu (Vertical)
\r\nA vertical menu containing the sub-pages at the previous level. In addition, you may configure this macro by specifying how many levels deep the menu should go. By default it will show only the first level. To go three levels deep create a macro like this ^P(3);. If you set the macro to \"0\" it will track the entire site tree.\r\n

\r\n^p; - Previous Menu (Horizontal)
\r\nA horizontal menu containing the sub-pages at the previous level. You can optionally specify a delimeter to be used between page names by using ^p(:--:);. The default delimeter is ·.\r\n

\r\n^PageTitle;
\r\nDisplays the title of the current page.\r\n

\r\n^r; or ^r(); - Make Page Printable
\r\nCreates a link to remove the style from a page to make it printable. In addition, you can change the link text by creating a macro like this ^r(\"Print Me!\");.\r\n

\r\n^S(); - Specific SubMenu (Vertical)
\r\nThis macro allows you to get the submenu of any page, starting with the page you specified. For instance, you could get the home page submenu by creating a macro that looks like this ^S(\"home\",0);. The first value is the urlized title of the page and the second value is the depth you\'d like the menu to go. By default it will show only the first level. To go three levels deep create a macro like this ^S(\"home\",3);.\r\n

\r\n^s(); - Specific SubMenu (Horizontal)
\r\nThis macro allows you to get the submenu of any page, starting with the page you specified. For instance, you could get the home page submenu by creating a macro that looks like this ^s(\"home\");. The value is the urlized title of the page. You can optionally specify a delimeter to be used between page names by using ^s(\"home\",\":--:\");. The default delimeter is ·.\r\n

\r\n^T; or ^T(); - Top Level Menu (Vertical)
\r\nA vertical menu containing the main pages of the site (aka the sub-pages from the home page). In addition, you may configure this macro by specifying how many levels deep the menu should go. By default it will show only the first level. To go three levels deep create a macro like this ^T(3);. If you set the macro to \"0\" it will track the entire site tree.\r\n

\r\n^t; - Top Level Menu (Horizontal)
\r\nA vertical menu containing the main pages of the site (aka the sub-pages from the home page). You can optionally specify a delimeter to be used between page names by using ^t(:--:);. The default delimeter is ·.\r\n

\r\n^Thumbnail();
\r\nReturns the URL of a thumbnail for an image from the image manager. Specify the name of the image like this ^Thumbnail(\"imageName\");.\r\n

\r\n^u; - Company URL
\r\nThe URL for your company specified in the settings by your Administrator.\r\n

\r\n^/; - System URL
\r\nThe URL to the gateway script (including the domain for this site). This is often used within pages so that if your development server is on a domain different than your production server that your URLs will still worked when moved.\r\n

\r\n^\\; - Page URL
\r\nThe URL to the current page (including the domain for this site). This is often used within pages so that if your development server is on a domain different than your production server that your URLs will still worked when moved.\r\n

\r\n^@; - Username
\r\nThe username of the currently logged in user.\r\n

\r\n^?; - Search
\r\nAdd a search box.\r\n

\r\n^#; - User ID
\r\nThe user id of the currently logged in user.\r\n

\r\n^*; or ^*(); - Random Number
\r\nA randomly generated number. This is often used on images (such as banner ads) that you want to ensure do not cache. In addition, you may configure this macro like this ^*(100); to create a random number between 0 and 100.\r\n

\r\n^-;,^0;,^1;,^2;,^3;, etc.
\r\nThese macros are reserved for widget-specific functions as in the SQL Report widget.\r\n','0'); +INSERT INTO help VALUES (19,'WebGUI','English','Using','Macros','WebGUI macros are used to create dynamic content within otherwise static content. For instance, you may wish to show which user is logged in on every page, or you may wish to have a dynamically built menu or crumb trail. \r\n

\r\nMacros always begin with a carat (^) and follow with at least one other character and ended with w semicolon (;). Some macros can be extended/configured by taking the format of ^x(\"config text\");. The following is a description of all the macros in the WebGUI system.\r\n

\r\n^a; or ^a(); - My Account Link
\r\nA link to your account information. In addition you can change the link text by creating a macro like this ^a(\"Account Info\");. \r\n

\r\nNote: You can also use the special case ^a(linkonly); to return only the URL to the account page and nothing more.\r\n

\r\n^C; or ^C(); - Crumb Trail
\r\nA dynamically generated crumb trail to the current page. You can optionally specify a delimeter to be used between page names by using ^C(::);. The default delimeter is >.\r\n

\r\n^c; - Company Name
\r\nThe name of your company specified in the settings by your Administrator.\r\n

\r\n^D; or ^D(); - Date
\r\nThe current date and time.\r\n

\r\nYou can configure the date by using date formatting symbols. For instance, if you created a macro like this ^D(\"%c %D, %y\"); it would output September 26, 2001. The following are the available date formatting symbols:\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
%%%
%y4 digit year
%Y2 digit year
%m2 digit month
%Mvariable digit month
%cmonth name
%d2 digit day of month
%Dvariable digit day of month
%wday of week name
%h2 digit base 12 hour
%Hvariable digit base 12 hour
%j2 digit base 24 hour
%Jvariable digit base 24 hour
%plower case am/pm
%Pupper case AM/PM
\r\n

\r\n^e; - Company Email Address
\r\nThe email address for your company specified in the settings by your Administrator.\r\n

\r\n^Execute();
\r\nAllows a content manager or administrator to execute an external program. Takes the format of ^Execute(\"/this/file.sh\");.\r\n

\r\n^FlexMenu;
\r\nThis menu macro creates a top-level menu that expands as the user selects each menu item.\r\n

\r\n^H; or ^H(); - Home Link
\r\nA link to the home page of this site. In addition you can change the link text by creating a macro like this ^H(\"Go Home\");.\r\n

\r\nNote: You can also use the special case ^H(linkonly); to return only the URL to the home page and nothing more.\r\n

\r\n^I(); - Image Manager Image with Tag
\r\nThis macro returns an image tag with the parameters for an image defined in the image manager. Specify the name of the image using a tag like this ^I(\"imageName\");.\r\n

\r\n^i(); - Image Manager Image Path
\r\nThis macro returns the path of an image uploaded using the Image Manager. Specify the name of the image using a tag like this ^i(\"imageName\");.\r\n

\r\n^Include();
\r\nAllows a content manager or administrator to include a file from the local filesystem. Takes the format of ^Include(\"/this/file.html\");\r\n

\r\n^L; or ^L(); - Login
\r\nA small login form. You can also configure this macro. You can set the width of the login box like this ^L(20);. You can also set the message displayed after the user is logged in like this ^L(20,Hi ^a(^@;);. Click %here% if you wanna log out!)\r\n

\r\n^M; or ^M(); - Current Menu (Vertical)
\r\nA vertical menu containing the sub-pages at the current level. In addition, you may configure this macro by specifying how many levels deep the menu should go. By default it will show only the first level. To go three levels deep create a macro like this ^M(3);. If you set the macro to \"0\" it will track the entire site tree.\r\n

\r\n^m; - Current Menu (Horizontal)
\r\nA horizontal menu containing the sub-pages at the current level. You can optionally specify a delimeter to be used between page names by using ^m(:--:);. The default delimeter is ·.\r\n

\r\n^P; or ^P(); - Previous Menu (Vertical)
\r\nA vertical menu containing the sub-pages at the previous level. In addition, you may configure this macro by specifying how many levels deep the menu should go. By default it will show only the first level. To go three levels deep create a macro like this ^P(3);. If you set the macro to \"0\" it will track the entire site tree.\r\n

\r\n^p; - Previous Menu (Horizontal)
\r\nA horizontal menu containing the sub-pages at the previous level. You can optionally specify a delimeter to be used between page names by using ^p(:--:);. The default delimeter is ·.\r\n

\r\n^PageTitle;
\r\nDisplays the title of the current page.\r\n

\r\n^r; or ^r(); - Make Page Printable
\r\nCreates a link to remove the style from a page to make it printable. In addition, you can change the link text by creating a macro like this ^r(\"Print Me!\");.\r\n

\r\nNote: You can also use the special case ^r(linkonly); to return only the URL to the make printable page and nothing more.\r\n

\r\n^S(); - Specific SubMenu (Vertical)
\r\nThis macro allows you to get the submenu of any page, starting with the page you specified. For instance, you could get the home page submenu by creating a macro that looks like this ^S(\"home\",0);. The first value is the urlized title of the page and the second value is the depth you\'d like the menu to go. By default it will show only the first level. To go three levels deep create a macro like this ^S(\"home\",3);.\r\n

\r\n^s(); - Specific SubMenu (Horizontal)
\r\nThis macro allows you to get the submenu of any page, starting with the page you specified. For instance, you could get the home page submenu by creating a macro that looks like this ^s(\"home\");. The value is the urlized title of the page. You can optionally specify a delimeter to be used between page names by using ^s(\"home\",\":--:\");. The default delimeter is ·.\r\n

\r\n^T; or ^T(); - Top Level Menu (Vertical)
\r\nA vertical menu containing the main pages of the site (aka the sub-pages from the home page). In addition, you may configure this macro by specifying how many levels deep the menu should go. By default it will show only the first level. To go three levels deep create a macro like this ^T(3);. If you set the macro to \"0\" it will track the entire site tree.\r\n

\r\n^t; - Top Level Menu (Horizontal)
\r\nA vertical menu containing the main pages of the site (aka the sub-pages from the home page). You can optionally specify a delimeter to be used between page names by using ^t(:--:);. The default delimeter is ·.\r\n

\r\n^Thumbnail();
\r\nReturns the URL of a thumbnail for an image from the image manager. Specify the name of the image like this ^Thumbnail(\"imageName\");.\r\n

\r\n^u; - Company URL
\r\nThe URL for your company specified in the settings by your Administrator.\r\n

\r\n^/; - System URL
\r\nThe URL to the gateway script (including the domain for this site). This is often used within pages so that if your development server is on a domain different than your production server that your URLs will still worked when moved.\r\n

\r\n^\\; - Page URL
\r\nThe URL to the current page (including the domain for this site). This is often used within pages so that if your development server is on a domain different than your production server that your URLs will still worked when moved.\r\n

\r\n^@; - Username
\r\nThe username of the currently logged in user.\r\n

\r\n^?; - Search
\r\nAdd a search box.\r\n

\r\n^#; - User ID
\r\nThe user id of the currently logged in user.\r\n

\r\n^*; or ^*(); - Random Number
\r\nA randomly generated number. This is often used on images (such as banner ads) that you want to ensure do not cache. In addition, you may configure this macro like this ^*(100); to create a random number between 0 and 100.\r\n

\r\n^-;,^0;,^1;,^2;,^3;, etc.
\r\nThese macros are reserved for widget-specific functions as in the SQL Report widget.\r\n','0'); INSERT INTO help VALUES (1,'SQLReport','English','Add/Edit','SQL Report','SQL Reports are perhaps the most powerful widget in the WebGUI arsenal. They allow a user to query data from any database that they have access to. This is great for getting sales figures from your Accounting database or even summarizing all the message boards on your web site.\r\n

\r\n\r\nTitle
\r\nThe title of this report.\r\n

\r\n\r\nDisplay the title?
\r\nDo you wish to disply the title?\r\n

\r\n\r\nProcess macros?
\r\nDo you wish to process WebGUI macros? Unchecking this box will not process macros and will speed up page execution.\r\n

\r\n\r\nPosition
\r\nSelect the position in the current page template where this widget should be placed.\r\n

\r\n\r\nDescription
\r\nDescribe the content of this report so your users will better understand what the report is all about.\r\n

\r\n\r\nPreprocess macros on query?
\r\nIf you\'re using WebGUI macros in your query you\'ll want to check this box.\r\n

\r\n\r\nDebug?
\r\nIf you want to display debugging and error messages on the page, check this box.\r\n

\r\n\r\nQuery
\r\nThis is a standard SQL query. If you are unfamiliar with SQL, Plain Black Software provides training courses in SQL and database management.\r\n

\r\n\r\nTemplate
\r\nLayout a template of how this report should look. Usually you\'ll use HTML tables to generate a report. An example is included below. If you leave this field blank a template will be generated based on your result set.\r\n

\r\n\r\nThere are special macro characters used in generating SQL Reports. They are ^-;, ^0;, ^1;, ^2;, ^3;, etc. These macros will be processed regardless of whether you checked the process macros box above. The ^- macro represents split points in the document where the report will begin and end looping. The numeric macros represent the data fields that will be returned from your query.\r\n

\r\n

\r\nSample Template:\r\n<table>\r\n<tr><th>Employee Name</th><th>Employee #</th><th>Vacation Days Remaining</th><th>Monthly Salary</th></tr>\r\n^-;\r\n<tr><td>^0;</td><td>^1;</td><td>^2;</td><td>^3;</td></tr>\r\n^-;\r\n</table>\r\n
\r\nDSN
\r\nData Source Name is the unique identifier that Perl uses to describe the location of your database. It takes the format of DBI:[driver]:[database name]:[host]. \r\n

\r\n\r\nExample: DBI:mysql:WebGUI:localhost\r\n

\r\n\r\nDatabase User\r\nThe username you use to connect to the DSN.\r\n

\r\n\r\nDatabase Password\r\nThe password you use to connect to the DSN.\r\n

\r\n\r\nPaginate After\r\nHow many rows should be displayed before splitting the results into separate pages? In other words, how many rows should be displayed per page?\r\n

\r\n\r\nConvert carriage returns?\r\nDo you wish to convert the carriage returns in the resultant data to HTML breaks (<br>).\r\n','1,2,3,4,5'); INSERT INTO help VALUES (21,'WebGUI','English','Using','Widget','Widgets are the true power of WebGUI. Widgets are tiny pluggable applications built to run under WebGUI. Message boards and polls are examples of widgets.\r\n

\r\nTo add a widget to a page, first go to that page, then select Add Content... from the upper left corner of your screen. Each widget has it\'s own help so be sure to read the help if you\'re not sure how to use a widget.\r\n','0'); -INSERT INTO help VALUES (1,'Article','English','Add/Edit','Article','Articles are the Swiss Army knife of WebGUI. Most pieces of static content can be added via the Article widget.\r\n

\r\nTitle
\r\nWhat\'s the title for this content? Even if you don\'t wish the title to appear, it\'s a good idea to title your content so that if it is ever copied to the clipboard it will have a name.\r\n

\r\nDisplay the title?
\r\nDo you wish to display the title?\r\n

\r\nProcess macros?
\r\nDo you wish to process WebGUI macros on this article? Unchecking this box will not process macros and will speed up page execution.\r\n

\r\nPosition
\r\nSelect the position in the current page template where this widget should be placed.\r\n

\r\nStart Date
\r\nWhat date do you want this article to appear on the site? Dates are in the format of MM/DD/YYYY. You can use the JavaScript wizard to choose your date from a calendar by clicking on the set date button. By default the date is set to 01/01/2000.\r\n

\r\nEnd Date
\r\nWhat date do you want this article to be removed from the site? By default the date is set to 100 years in the future, 01/01/2100.\r\n

\r\nBody
\r\nThe body of the article is where all content is placed. You may feel free to add HTML tags as necessary to format your content. Be sure to put a <p> between paragraphs to add white space to your content.\r\n

\r\nImage
\r\nChoose an image (.jpg, .gif, .png) file from your hard drive. This file will be uploaded to the server and displayed in the upper-right corner of your article.\r\n

\r\nLink Title
\r\nIf you wish to add a link to your article, enter the title of the link in this field. \r\n

\r\nExample: Google\r\n

\r\nLink URL
\r\nIf you added a link title, now add the URL (uniform resource locator) here. \r\n

\r\nExample: http://www.google.com\r\n

\r\nAttachment
\r\nIf you wish to attach a word processor file, a zip file, or any other file for download by your users, then choose it from your hard drive.\r\n

\r\nConvert carriage returns?
\r\nIf you\'re publishing HTML there\'s generally no need to check this option, but if you aren\'t using HTML and you want a carriage return every place you hit your \"Enter\" key, then check this option.\r\n','1,2,3,4,5'); +INSERT INTO help VALUES (1,'Article','English','Add/Edit','Article','Articles are the Swiss Army knife of WebGUI. Most pieces of static content can be added via the Article widget.\r\n

\r\nTitle
\r\nWhat\'s the title for this content? Even if you don\'t wish the title to appear, it\'s a good idea to title your content so that if it is ever copied to the clipboard it will have a name.\r\n

\r\nDisplay the title?
\r\nDo you wish to display the title?\r\n

\r\nProcess macros?
\r\nDo you wish to process WebGUI macros on this article? Unchecking this box will not process macros and will speed up page execution.\r\n

\r\nPosition
\r\nSelect the position in the current page template where this widget should be placed.\r\n

\r\nStart Date
\r\nWhat date do you want this article to appear on the site? Dates are in the format of MM/DD/YYYY. You can use the JavaScript wizard to choose your date from a calendar by clicking on the set date button. By default the date is set to 01/01/2000.\r\n

\r\nEnd Date
\r\nWhat date do you want this article to be removed from the site? By default the date is set to 100 years in the future, 01/01/2100.\r\n

\r\nBody
\r\nThe body of the article is where all content is placed. You may feel free to add HTML tags as necessary to format your content. Be sure to put a <p> between paragraphs to add white space to your content.\r\n

\r\nImage
\r\nChoose an image (.jpg, .gif, .png) file from your hard drive. This file will be uploaded to the server and displayed in the upper-right corner of your article.\r\n

\r\nLink Title
\r\nIf you wish to add a link to your article, enter the title of the link in this field. \r\n

\r\nExample: Google\r\n

\r\nLink URL
\r\nIf you added a link title, now add the URL (uniform resource locator) here. \r\n

\r\nExample: http://www.google.com\r\n

\r\nAttachment
\r\nIf you wish to attach a word processor file, a zip file, or any other file for download by your users, then choose it from your hard drive.\r\n

\r\nConvert carriage returns?
\r\nIf you\'re publishing HTML there\'s generally no need to check this option, but if you aren\'t using HTML and you want a carriage return every place you hit your \"Enter\" key, then check this option.\r\n

\r\nAllow discussion?
\r\nChecking this box will enable responses to your article much like Articles on Slashdot.org.\r\n

\r\nWho can post?
\r\nSelect the group that is allowed to respond to this article. By default it is registered users.\r\n

\r\nWho can moderate?
\r\nSelect the group that is allowed to moderate the responses to this article. By default it is content managers.\r\n

\r\nEdit Timeout
\r\nHow long (in hours) should a user be able to edit their response before editing is locked to them?\r\n','1,2,3,4,5'); INSERT INTO help VALUES (1,'ExtraColumn','English','Add/Edit','Extra Column','Extra columns allow you to change the layout of your page for one page only. If you wish to have multiple columns on all your pages. Perhaps you should consider altering the style applied to your pages. \r\n

\r\nColumns are always added from left to right. Therefore any existing content will be on the left of the new column.\r\n

\r\nPosition
\r\nSelect the position in the current page template where this widget should be placed.\r\n

\r\nSpacer
\r\nSpacer is the amount of space between your existing content and your new column. It is measured in pixels.\r\n

\r\nWidth
\r\nWidth is the actual width of the new column to be added. Width is measured in pixels.\r\n

\r\nStyleSheet Class
\r\nBy default the content style (which is the style the body of your site should be using) that is applied to all columns. However, if you\'ve created a style specifically for columns, then feel free to modify this class.\r\n','1,2,3,4,5'); INSERT INTO help VALUES (27,'WebGUI','English','Add/Edit','Widget','You can add widgets by selecting from the Add Content pulldown menu. You can edit them by clicking on the \"Edit\" button that appears directly above an instance of a particular widget.','0'); INSERT INTO help VALUES (1,'Poll','English','Add/Edit','Poll','Polls can be used to get the impressions of your users on various topics.\r\n

\r\nTitle
\r\nThe title of the Poll. Even if you don\'t wish to display the title you should fill out this field so this poll will have a name if it is ever placed in the clipboard.\r\n

\r\nDisplay the title?
\r\nDo you wish to display the title?\r\n

\r\nProcess macros?
\r\nDo you wish to process WebGUI macros? Unchecking this box will not process macros and will speed up page execution.\r\n

\r\nPosition
\r\nSelect the position in the current page template where this widget should be placed.\r\n

\r\nDescription
\r\nYou may provide a description for this Poll, or give the user some background information.\r\n

\r\nActive
\r\nIf this box is checked, then users will be able to vote. Otherwise they\'ll only be able to see the results of the poll.\r\n

\r\nWho can vote?
\r\nChoose a group that can vote on this Poll.\r\n

\r\nGraph Width
\r\nThe width of the poll results graph. The width is measured in pixels.\r\n

\r\nQuestion
\r\nWhat is the question you\'d like to ask your users?\r\n

\r\nAnswers
\r\nEnter the possible answers to your question. Enter only one answer per line. Polls are only capable of 20 possible answers.\r\n

\r\nReset votes.
\r\nReset the votes on this Poll.\r\n

\r\n


\r\nNote: The following style sheet entries are custom to the Poll widget:\r\n

\r\n.pollAnswer
\r\nAn answer on a poll.\r\n

\r\n.pollColor \r\nThe color of the percentage bar on a poll.\r\n

\r\n.pollQuestion \r\nThe question on a poll.\r\n\r\n','1,2,3,4,5'); -INSERT INTO help VALUES (1,'SiteMap','English','Add/Edit','Site Map','Site maps are used to provide additional navigation in WebGUI. You could set up a traditional site map that would display a hierarchical view of all the pages in the site. On the other hand, you could use site maps to provide extra navigation at certain levels in your site.\r\n

\r\nTitle
\r\nWhat title would you give to this Site Map? You should fill this field out even if you don\'t wish it to be displayed.\r\n

\r\nDisplay the title?
\r\nDo you wish to display the title?\r\n

\r\nProcess macros?
\r\nDo you wish to process WebGUI macros? Unchecking this box will not process macros and will speed up page execution.\r\n

\r\nPosition
\r\nSelect the position in the current page template where this widget should be placed.\r\n

\r\nDescription
\r\nEnter a description as to why this Site Map is here and what purpose it serves.\r\n

\r\nStarting from this level?
\r\nIf the Site Map should display the page tree starting from this level, then check this box. If you wish the Site Map to start from the home page then uncheck it.\r\n

\r\nShow only one level?
\r\nShould the Site Map display only the current level of pages or all pages from this point forward? \r\n','1,2,3,4,5'); +INSERT INTO help VALUES (1,'SiteMap','English','Add/Edit','Site Map','Site maps are used to provide additional navigation in WebGUI. You could set up a traditional site map that would display a hierarchical view of all the pages in the site. On the other hand, you could use site maps to provide extra navigation at certain levels in your site.\r\n

\r\nTitle
\r\nWhat title would you give to this Site Map? You should fill this field out even if you don\'t wish it to be displayed.\r\n

\r\nDisplay the title?
\r\nDo you wish to display the title?\r\n

\r\nProcess macros?
\r\nDo you wish to process WebGUI macros? Unchecking this box will not process macros and will speed up page execution.\r\n

\r\nPosition
\r\nSelect the position in the current page template where this widget should be placed.\r\n

\r\nDescription
\r\nEnter a description as to why this Site Map is here and what purpose it serves.\r\n

\r\nDisplay synopsis?
\r\nDo you wish to display page sysnopsis along-side the links to each page? Note that in order for this option to be valid, pages must have synopsis defined.\r\n

\r\nStarting from this level?
\r\nIf the Site Map should display the page tree starting from this level, then check this box. If you wish the Site Map to start from the home page then uncheck it.\r\n

\r\nShow only one level?
\r\nShould the Site Map display only the current level of pages or all pages from this point forward? \r\n','1,2,3,4,5'); INSERT INTO help VALUES (1,'MessageBoard','English','Add/Edit','Message Board','Message boards, also called Forums and/or Discussions, are a great way to add community to any site or intranet. Many companies use message boards internally to collaborate on projects.\r\n

\r\nTitle
\r\nThe name of this Message Board.\r\n

\r\nDisplay the title?
\r\nDo you wish to display the title?\r\n

\r\nProcess macros?
\r\nDo you wish to process WebGUI macros? Unchecking this box will not process macros and will speed up page execution.\r\n

\r\nPosition
\r\nSelect the position in the current page template where this widget should be placed.\r\n

\r\nDescription
\r\nBriefly describe what should be displayed on this Message Board.\r\n

\r\nWho can post?
\r\nWhat group can post to this Message Board?\r\n

\r\nMessages Per Page
\r\nWhen a visitor first comes to a message board s/he will be presented with a listing of all the topics (a.k.a. threads) of the Message Board. If a board is popular, it will quickly have many topics. The Messages Per Page attribute allows you to specify how many topics should be shown on one page.\r\n

\r\nEdit Timeout
\r\nEdit Timeout specifies how long a user\'s message will be available for him/her to edit. Timeout is measured in hours.\r\n

\r\nNote: Don\'t set this limit too high. One of the great things about message boards is that they are an accurate record of a discussion. If you allow editing for a long time, then a user has a chance to go back and change his/her mind a long time after the original statement was made.\r\n','1,2,3,4,5'); INSERT INTO help VALUES (1,'LinkList','English','Add/Edit','Link List','Link Lists are just what they sound like, a list of links. Many sites have a links section, and this widget just automates the process.\r\n

\r\nTitle
\r\nWhat is the title of this Link List?\r\n

\r\nDisplay the title?
\r\nDo you wish to display the title?\r\n

\r\nProcess macros?
\r\nDo you wish to process WebGUI macros? Unchecking this box will not process macros and will speed up page execution.\r\n

\r\nPosition
\r\nSelect the position in the current page template where this widget should be placed.\r\n

\r\nDescription
\r\nDescribe the purpose of the links in this list.\r\n

\r\nProceed to add link?
\r\nLeave this checked if you want to add links to the Link List directly after creating it.\r\n

\r\nAdd / Edit Links
\r\nYou\'ll notice at the bottom of the Edit screen that there are some options to add, edit, delete and reorder the links in your link lists. This process works exactly as the process for doing the same with widgets and pages. The three properties of links are Name, URL, and Description.\r\n

\r\nStyle
\r\nAn extra StyleSheet class has been added to this widget: linkTitle. Use this to bold, colorize, or otheriwise manipulate the title of each link.','1,2,3,4,5'); INSERT INTO help VALUES (13,'WebGUI','English','Edit','Mail Settings','Recover Password Message
\r\nThe message that gets sent to a user when they use the \"recover password\" function.\r\n

\r\nSMTP Server
\r\nThis is the address of your local mail server. It is needed for all features that use the Internet email system (such as password recovery).\r\n\r\n','6'); @@ -1055,7 +1060,7 @@ INSERT INTO international VALUES (9,'Poll','Espa INSERT INTO international VALUES (9,'Poll','Português','Modificar sondagem'); INSERT INTO international VALUES (2,'Poll','Deutsch','Abstimmung hinzufügen'); INSERT INTO international VALUES (9,'SQLReport','Dutch','Fout: De ingevoerde DSN is van een verkeerd formaat.'); -INSERT INTO international VALUES (9,'SQLReport','English','Error: The DSN specified is of an improper format.'); +INSERT INTO international VALUES (9,'SQLReport','English','Debug: Error: The DSN specified is of an improper format.'); INSERT INTO international VALUES (9,'SQLReport','Español','Error: El DSN especificado está en un formato incorrecto.'); INSERT INTO international VALUES (9,'SQLReport','Português','Erro: O DSN especificado tem um formato impróprio.'); INSERT INTO international VALUES (2,'MessageBoard','Deutsch','Diskussionsforum'); @@ -1097,7 +1102,7 @@ INSERT INTO international VALUES (10,'Poll','English','Reset votes.'); INSERT INTO international VALUES (10,'Poll','Português','Reinicializar os votos.'); INSERT INTO international VALUES (2,'DownloadManager','Deutsch','Download Manager hinzufügen'); INSERT INTO international VALUES (10,'SQLReport','Dutch','Fout: De ingevoerde SQL instructie is van een verkeerd formaat.'); -INSERT INTO international VALUES (10,'SQLReport','English','Error: The SQL specified is of an improper format.'); +INSERT INTO international VALUES (10,'SQLReport','English','Debug: Error: The SQL specified is of an improper format.'); INSERT INTO international VALUES (10,'SQLReport','Español','Error: El SQL especificado está en un formato incorrecto.'); INSERT INTO international VALUES (10,'SQLReport','Português','Erro: O SQL especificado tem um formato impróprio.'); INSERT INTO international VALUES (2,'Article','Deutsch','Artikel hinzufügen'); @@ -1132,7 +1137,7 @@ INSERT INTO international VALUES (11,'MessageBoard','Espa INSERT INTO international VALUES (11,'MessageBoard','Português','Voltar á lista de mensagens'); INSERT INTO international VALUES (27,'UserSubmission','Deutsch','Bearbeiten'); INSERT INTO international VALUES (11,'SQLReport','Dutch','Fout: Er was een probleem met de query'); -INSERT INTO international VALUES (11,'SQLReport','English','Error: There was a problem with the query.'); +INSERT INTO international VALUES (11,'SQLReport','English','Debug: Error: There was a problem with the query.'); INSERT INTO international VALUES (11,'SQLReport','Español','Error: Hay un problema con la consulta.'); INSERT INTO international VALUES (11,'SQLReport','Português','Erro: Houve um problema com a query.'); INSERT INTO international VALUES (26,'WebGUI','Deutsch','Dezember'); @@ -1166,7 +1171,7 @@ INSERT INTO international VALUES (12,'MessageBoard','Portugu INSERT INTO international VALUES (24,'UserSubmission','Deutsch','Erlauben'); INSERT INTO international VALUES (24,'WebGUI','Deutsch','Oktober'); INSERT INTO international VALUES (12,'SQLReport','Dutch','Fout: Kon niet met de database verbinden.'); -INSERT INTO international VALUES (12,'SQLReport','English','Error: Could not connect to the database.'); +INSERT INTO international VALUES (12,'SQLReport','English','Debug: Error: Could not connect to the database.'); INSERT INTO international VALUES (12,'SQLReport','Español','Error: No se puede conectar a la base de datos.'); INSERT INTO international VALUES (12,'SQLReport','Português','Erro: Não é possível ligar á base de dados.'); INSERT INTO international VALUES (244,'WebGUI','Deutsch','Autor'); @@ -2640,6 +2645,20 @@ INSERT INTO international VALUES (9,'WebGUI','Deutsch','Zwischenablage anschauen INSERT INTO international VALUES (408,'WebGUI','English','Manage Roots'); INSERT INTO international VALUES (409,'WebGUI','English','Add a new root.'); INSERT INTO international VALUES (410,'WebGUI','English','Manage roots.'); +INSERT INTO international VALUES (411,'WebGUI','English','Menu Title'); +INSERT INTO international VALUES (412,'WebGUI','English','Synopsis'); +INSERT INTO international VALUES (9,'SiteMap','English','Display synopsis?'); +INSERT INTO international VALUES (18,'Article','English','Allow discussion?'); +INSERT INTO international VALUES (19,'Article','English','Who can post?'); +INSERT INTO international VALUES (20,'Article','English','Who can moderate?'); +INSERT INTO international VALUES (21,'Article','English','Edit Timeout'); +INSERT INTO international VALUES (22,'Article','English','Author'); +INSERT INTO international VALUES (23,'Article','English','Date'); +INSERT INTO international VALUES (24,'Article','English','Post Response'); +INSERT INTO international VALUES (25,'Article','English','Edit Response'); +INSERT INTO international VALUES (26,'Article','English','Delete Response'); +INSERT INTO international VALUES (27,'Article','English','Back To Article'); +INSERT INTO international VALUES (28,'Article','English','View Responses'); # # Table structure for table 'messageLog' @@ -2681,6 +2700,8 @@ CREATE TABLE page ( urlizedTitle varchar(255) default NULL, defaultMetaTags int(11) NOT NULL default '0', template varchar(30) NOT NULL default 'Default', + menuTitle varchar(128) default NULL, + synopsis text, PRIMARY KEY (pageId) ) TYPE=MyISAM; @@ -2688,31 +2709,31 @@ CREATE TABLE page ( # Dumping data for table 'page' # -INSERT INTO page VALUES (1,0,'Home',-3,3,1,1,1,1,0,1,0,1,'','home',1,'Default'); -INSERT INTO page VALUES (6,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (7,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (8,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (9,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (10,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (11,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (12,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (13,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (14,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (15,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (16,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (17,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (18,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (19,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (20,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (21,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (22,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (23,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (24,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (25,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default'); -INSERT INTO page VALUES (4,0,'Page Not Found',-3,3,1,1,1,1,0,1,0,1,'','page_not_found',0,'Default'); -INSERT INTO page VALUES (3,0,'Trash',5,3,1,1,3,1,1,0,0,1,'','trash',0,'Default'); -INSERT INTO page VALUES (2,0,'Clipboard',4,3,1,1,4,1,1,0,0,1,'','clipboard',0,'Default'); -INSERT INTO page VALUES (5,0,'Packages',1,3,0,0,6,1,1,0,0,1,'','packages',0,'Default'); +INSERT INTO page VALUES (1,0,'Home',-3,3,1,1,1,1,0,1,0,0,'','home',1,'Default','Home',NULL); +INSERT INTO page VALUES (6,0,'Reserved',0,0,1,1,NULL,1,0,1,0,1,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (7,0,'Reserved',0,0,1,1,NULL,1,0,1,0,2,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (8,0,'Reserved',0,0,1,1,NULL,1,0,1,0,3,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (9,0,'Reserved',0,0,1,1,NULL,1,0,1,0,4,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (10,0,'Reserved',0,0,1,1,NULL,1,0,1,0,5,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (11,0,'Reserved',0,0,1,1,NULL,1,0,1,0,6,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (12,0,'Reserved',0,0,1,1,NULL,1,0,1,0,7,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (13,0,'Reserved',0,0,1,1,NULL,1,0,1,0,8,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (14,0,'Reserved',0,0,1,1,NULL,1,0,1,0,9,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (15,0,'Reserved',0,0,1,1,NULL,1,0,1,0,10,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (16,0,'Reserved',0,0,1,1,NULL,1,0,1,0,11,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (17,0,'Reserved',0,0,1,1,NULL,1,0,1,0,12,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (18,0,'Reserved',0,0,1,1,NULL,1,0,1,0,13,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (19,0,'Reserved',0,0,1,1,NULL,1,0,1,0,14,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (20,0,'Reserved',0,0,1,1,NULL,1,0,1,0,15,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (21,0,'Reserved',0,0,1,1,NULL,1,0,1,0,16,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (22,0,'Reserved',0,0,1,1,NULL,1,0,1,0,17,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (23,0,'Reserved',0,0,1,1,NULL,1,0,1,0,18,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (24,0,'Reserved',0,0,1,1,NULL,1,0,1,0,19,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (25,0,'Reserved',0,0,1,1,NULL,1,0,1,0,20,NULL,NULL,0,'Default','Reserved',NULL); +INSERT INTO page VALUES (4,0,'Page Not Found',-3,3,1,1,1,1,0,1,0,21,'','page_not_found',0,'Default','Page Not Found',NULL); +INSERT INTO page VALUES (3,0,'Trash',5,3,1,1,3,1,1,0,0,22,'','trash',0,'Default','Trash',NULL); +INSERT INTO page VALUES (2,0,'Clipboard',4,3,1,1,4,1,1,0,0,23,'','clipboard',0,'Default','Clipboard',NULL); +INSERT INTO page VALUES (5,0,'Packages',1,3,0,0,6,1,1,0,0,24,'','packages',0,'Default','Packages',NULL); # # Table structure for table 'settings' @@ -2772,10 +2793,9 @@ CREATE TABLE style ( # Dumping data for table 'style' # -INSERT INTO style VALUES (1,'Packages','\r\n
PACKAGES
^FlexMenu;
CONTENT
','
\r\n
\r\n^H; / ^a;\r\n',''); INSERT INTO style VALUES (-3,'WebGUI','\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n
^FlexMenu;
\r\n^L;\r\n
\r\n\r\n','
\r\n

\r\n

\r\n
\r\n©2001-2002 Plain Black Software
\r\n
\r\n',''); INSERT INTO style VALUES (2,'Fail Safe','\r\n^H; / ^t; / ^m; / ^a;\r\n
','
\r\n^H; / ^t; / ^m; / ^a;\r\n',''); -INSERT INTO style VALUES (-2,'Plain Black Software (black)','\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
\"Plain\"User:\" ^@;\"My\"|\"\"Download\"\"|\"\"Home\"
^C;^D(\"%c %D, %y\");
\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n\r\n
^T(2);','

\"\"

\r\n\r\n\r\n \r\n \r\n\r\n
\"Copyright^r(\'\"Make\');
\r\n\r\n',''); +INSERT INTO style VALUES (-2,'Plain Black Software (black)','\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
\"Plain\"User:\" ^@;\"My\"|\"\"Download\"\"|\"\"Home\"
^C;^D(\"%c %D, %y\");
\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n\r\n
^T(2);','

\"\"

\r\n\r\n\r\n \r\n \r\n\r\n
\"Copyright\"Make
\r\n\r\n',''); INSERT INTO style VALUES (4,'Clipboard','\r\n\r\n\r\n\r\n\r\n
Clipboard\r\n^H; / ^a;
\r\n
PAGES
^M(0);
CONTENT
','
\r\n\r\n\r\n
\r\n^H; / ^a;\r\n',''); INSERT INTO style VALUES (6,'Reserved','','',NULL); INSERT INTO style VALUES (7,'Reserved','','',NULL); @@ -2800,8 +2820,9 @@ INSERT INTO style VALUES (-1,'Yahoo!','Yahoo!\r\n\r\n\r\n\r\n \r\n \r\n \r\n

Your Company Name Here

Address: 1903 Sunrise St. City, State 65977
\r\nTel: 915.888.8888
\r\nEmail: service@company.com
\r\n\r\n \r\n \r\n \r\n \r\n
^t;
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n^M;\r\n
\r\n

\r\n \r\n \r\n
\r\n ','
\r\n
\r\n\r\n\r\n
^H; · ^a;
\r\n\r\n\r\n\r\n',''); INSERT INTO style VALUES (3,'Make Page Printable','\r\n
','
© 2001-2002 Plain Black Software
\r\n',''); INSERT INTO style VALUES (25,'Reserved',NULL,NULL,NULL); -INSERT INTO style VALUES (-5,'Plain Black Software (white)','\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
\"Plain\"User:\" ^@;\"My\"|\"\"Download\"\"|\"\"Home\"
^C;^D(\"%c %D, %y\");
\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n\r\n
^T(2);','

\"\"

\r\n\r\n\r\n \r\n \r\n\r\n
\"Copyright^r(\'\"Make\');
\r\n\r\n',''); +INSERT INTO style VALUES (-5,'Plain Black Software (white)','\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n
\"Plain\"User:\" ^@;\"My\"|\"\"Download\"\"|\"\"Home\"
^C;^D(\"%c %D, %y\");
\r\n\r\n\r\n \r\n \r\n\r\n\r\n \r\n\r\n
^T(2);','

\"\"

\r\n\r\n\r\n \r\n \r\n\r\n
\"Copyright\"Make
\r\n\r\n',''); INSERT INTO style VALUES (5,'Trash','\r\n\r\n\r\n\r\n\r\n
Trash\r\n^H; / ^a; / Empty Trash
\r\n
PAGES
^M(0);
CONTENT
','
\r\n\r\n\r\n
\r\n^H; / ^a; / Empty Trash\r\n',''); +INSERT INTO style VALUES (1,'Packages','\r\n\r\n\r\n\r\n\r\n
Packages\r\n^H; / ^a;
\r\n
PACKAGES
^M(0);
CONTENT
','
\r\n\r\n\r\n
\r\n^H; / ^a;\r\n',''); # # Table structure for table 'userSession' @@ -2917,5 +2938,5 @@ CREATE TABLE widget ( # Dumping data for table 'widget' # -INSERT INTO widget VALUES (-1,4,'SiteMap',0,'Page Not Found',1,'The page you were looking for could not be found on this system. Perhaps it has been deleted or renamed. The following list is a site map of this site. If you don\'t find what you\'re looking for on the site map, you can always start from the Home Page.',1,1001744792,3,1013215663,3,'A'); +INSERT INTO widget VALUES (-1,4,'SiteMap',0,'Page Not Found',1,'The page you were looking for could not be found on this system. Perhaps it has been deleted or renamed. The following list is a site map of this site. If you don\'t find what you\'re looking for on the site map, you can always start from the Home Page.',1,1001744792,3,1016077239,3,'A'); diff --git a/docs/upgrades/upgrade_3.5.0-3.5.1.sql b/docs/upgrades/upgrade_3.5.0-3.5.1.sql new file mode 100644 index 000000000..646db1d87 --- /dev/null +++ b/docs/upgrades/upgrade_3.5.0-3.5.1.sql @@ -0,0 +1,6 @@ +create table webguiVersion ( +webguiVersion varchar(10), +versionType varchar(30), +dateApplied int +); +insert into webguiVersion values ('3.5.1','upgrade',unix_timestamp()); diff --git a/lib/WebGUI.pm b/lib/WebGUI.pm index d35a62b6f..21ab8e7d7 100644 --- a/lib/WebGUI.pm +++ b/lib/WebGUI.pm @@ -1,5 +1,5 @@ package WebGUI; -our $VERSION = "3.5.0"; +our $VERSION = "3.5.1"; #------------------------------------------------------------------- # WebGUI is Copyright 2001-2002 Plain Black Software. diff --git a/lib/WebGUI/Attachment.pm b/lib/WebGUI/Attachment.pm index e4e86776a..2f4bff6d4 100644 --- a/lib/WebGUI/Attachment.pm +++ b/lib/WebGUI/Attachment.pm @@ -98,11 +98,16 @@ sub copy { $newNode = WebGUI::Node->new($_[1],$_[2]); $a = FileHandle->new($_[0]->getPath,"r"); $b = FileHandle->new(">".$newNode->getPath.'/'.$_[0]->getFilename); - binmode($a); - binmode($b); - cp($a,$b); - $a->close; - $b->close; + if (defined $a) { + binmode($a); + $b = FileHandle->new(">".$newNode->getPath.'/'.$_[0]->getFilename); + if (defined $b) { + binmode($b); + cp($a,$b); + $b->close; + } + $a->close; + } } diff --git a/lib/WebGUI/Macro/C_crumbTrail.pm b/lib/WebGUI/Macro/C_crumbTrail.pm index ac904c7d5..8954bd7ee 100644 --- a/lib/WebGUI/Macro/C_crumbTrail.pm +++ b/lib/WebGUI/Macro/C_crumbTrail.pm @@ -25,7 +25,7 @@ sub _recurseCrumbTrail { if ($data{pageId} > 1) { $output .= _recurseCrumbTrail($data{parentId},$_[1]); } - if ($data{title} ne "") { + if ($data{menuTitle} ne "") { $output .= ''.$data{menuTitle}.''.$_[1]; } @@ -42,7 +42,7 @@ sub _replacement { $delimeter = " ".$param[0]." "; } $temp = ''._recurseCrumbTrail($session{page}{parentId},$delimeter). - ''.$session{page}{title}.''; + ''.$session{page}{menuTitle}.''; return $temp; } diff --git a/lib/WebGUI/Style.pm b/lib/WebGUI/Style.pm index 61b4b3f9c..2c2b4500e 100644 --- a/lib/WebGUI/Style.pm +++ b/lib/WebGUI/Style.pm @@ -22,7 +22,7 @@ sub getStyle { if ($session{form}{makePrintable}) { %style = WebGUI::SQL->quickHash("select header,footer,styleSheet from style where styleId=3"); $header = ''."\n"; - $header .= ''.$session{page}{title}.''; + $header .= ''.$session{page}{title}.' - '.$session{setting}{companyName}.''; $header .= $style{styleSheet}.''.$style{header}; $footer = $style{footer}.''; } else { @@ -32,11 +32,7 @@ sub getStyle { '; - if ($session{page}{pageId} == 1) { - $header .= $session{setting}{companyName}.' - '.$session{page}{title}; - } else { - $header .= $session{page}{title}; - } + $header .= $session{page}{title}.' - '.$session{setting}{companyName}; $header .= '' .$style{styleSheet} .$session{page}{metaTags}; diff --git a/lib/WebGUI/Widget/DownloadManager.pm b/lib/WebGUI/Widget/DownloadManager.pm index a3286f03d..4f73a8eca 100644 --- a/lib/WebGUI/Widget/DownloadManager.pm +++ b/lib/WebGUI/Widget/DownloadManager.pm @@ -542,7 +542,7 @@ sub www_moveDownloadUp { #------------------------------------------------------------------- sub www_view { - my ($url, @row, $i, $p, $search, %data, @test, $file, $alt1, $alt2, $output, $sth, + my ($url, @row, $head, $searchForm, $i, $p, $search, %data, @test, $file, $alt1, $alt2, $output, $sth, %download, $flag, $sort, $sortDirection); tie %download, 'Tie::CPHash'; tie %data, 'Tie::CPHash'; @@ -555,11 +555,11 @@ sub www_view { if ($data{description} ne "") { $output .= $data{description}.'

'; } - $output .= formHeader(); - $output .= WebGUI::Form::text("keyword",20,50); - $output .= WebGUI::Form::submit(WebGUI::International::get(170)); - $output .= ''; - $output .= ''; + $searchForm = formHeader(); + $searchForm .= WebGUI::Form::text("keyword",20,50); + $searchForm .= WebGUI::Form::submit(WebGUI::International::get(170)); + $searchForm .= ''; + $head = '
'; if ($session{form}{keyword} ne "") { $search = " and (fileTitle like '%".$session{form}{keyword}. "%' or downloadFile like '%".$session{form}{keyword}. @@ -578,7 +578,7 @@ sub www_view { $sortDirection = $session{form}{sortDirection}; $url = WebGUI::URL::append($url,"sortDirection=".$session{form}{sortDirection}); } - $output .= ''; } $p = WebGUI::Paginator->new($url,\@row,$data{paginateAfter}); + $output .= $searchForm if ($p->getNumberOfPages > 1); + $output .= $head; $output .= $p->getPage($session{form}{pn}); $output .= '
'. + $head .= '
'. sortByColumn("fileTitle",WebGUI::International::get(14,$namespace)). ''. sortByColumn("briefSynopsis",WebGUI::International::get(15,$namespace)). @@ -633,6 +633,8 @@ sub www_view { WebGUI::International::get(19,$namespace).'
'; $output .= $p->getBarTraditional($session{form}{pn}); diff --git a/lib/WebGUI/Widget/SiteMap.pm b/lib/WebGUI/Widget/SiteMap.pm index 602ff7c6b..937ddebe2 100644 --- a/lib/WebGUI/Widget/SiteMap.pm +++ b/lib/WebGUI/Widget/SiteMap.pm @@ -117,7 +117,7 @@ sub www_addSave { my ($widgetId, $displayTitle, $image, $attachment); if (WebGUI::Privilege::canEditPage()) { $widgetId = create($session{page}{pageId},$session{form}{widget},$session{form}{title},$session{form}{displayTitle},$session{form}{description},$session{form}{processMacros},$session{form}{templatePosition}); - WebGUI::SQL->write("insert into SiteMap values ($widgetId, '$session{form}{startAtThisLevel}', '$session{form}{depth}', '$session{form}{indent}', ".quote($session{form}{bullet}).", '$session{form}{lineSpacing}', '$session{form}{displaySynopsis})"); + WebGUI::SQL->write("insert into SiteMap values ($widgetId, '$session{form}{startAtThisLevel}', '$session{form}{depth}', '$session{form}{indent}', ".quote($session{form}{bullet}).", '$session{form}{lineSpacing}', '$session{form}{displaySynopsis}')"); return ""; } else { return WebGUI::Privilege::insufficient();