From 5c63593efced93f0f07f032cbfd9efb227eb7076 Mon Sep 17 00:00:00 2001 From: JT Smith Date: Fri, 14 Jun 2002 01:36:51 +0000 Subject: [PATCH] Preparing for 4.0.3 bugfix cycle. --- docs/create.sql | 2 +- docs/previousVersion.sql | 4 ++-- docs/upgrades/upgrade_4.0.2-4.0.3.sql | 2 ++ lib/WebGUI.pm | 2 +- 4 files changed, 6 insertions(+), 4 deletions(-) create mode 100644 docs/upgrades/upgrade_4.0.2-4.0.3.sql diff --git a/docs/create.sql b/docs/create.sql index 9dd3dd736..8f9509086 100644 --- a/docs/create.sql +++ b/docs/create.sql @@ -4498,7 +4498,7 @@ CREATE TABLE webguiVersion ( -- -INSERT INTO webguiVersion VALUES ('4.0.2','intitial install',unix_timestamp()); +INSERT INTO webguiVersion VALUES ('4.0.3','intitial install',unix_timestamp()); -- -- Table structure for table 'wobject' diff --git a/docs/previousVersion.sql b/docs/previousVersion.sql index 802335b4f..9dd3dd736 100644 --- a/docs/previousVersion.sql +++ b/docs/previousVersion.sql @@ -532,7 +532,6 @@ INSERT INTO help VALUES (27,'WebGUI','English','Add/Edit','Wobject','You can add 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\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 wobject:\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\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\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\n\r\nDepth To Traverse
\r\nHow many levels deep of navigation should the Site Map show? If 0 (zero) is specified, it will show as many levels as there are.\r\n

\r\n\r\nIndent\r\nHow many characters should indent each level?\r\n

\r\n\r\nBullet
\r\nSpecify what bullet should be used before each line item. You can leave this blank if you want to. You can also specify HTML bullets like · and ». You can even use images from the image manager by specifying a macro like this ^I(bullet);.\r\n

\r\n\r\nLine Spacing
\r\nSpecify how many carriage returns should go between each item in the Site Map. This should be set to 1 or higher.\r\n

','1,2,3,4,5'); INSERT INTO help VALUES (1,'SQLReport','English','Add/Edit','SQL Report','SQL Reports are perhaps the most powerful wobject 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\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. You can make your queries more dynamic by using the ^FormParam(); macro.\r\n

\r\n\r\nReport Template
\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. There is an additional macro, ^rownum; that counts the rows of the query starting at 1 for use where the lines of the output need to be numbered.\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 (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\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\nNotes: You can also use the special case ^a(linkonly); to return only the URL to the account page and nothing more. Also, the .myAccountLink style sheet class is tied to this macro.\r\n

\r\n\r\n^AdminBar;
\r\nPlaces the administrative tool bar on the page. This is a required element in the \"body\" segment of the Style Manager.\r\n

\r\n\r\n^AdminToggle;
\r\nPlaces a link on the page which is only visible to content managers and adminstrators. The link toggles on/off admin mode.\r\n

\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\nNote: The .crumbTrail style sheet class is tied to this macro.\r\n

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

\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\r\n^e; - Company Email Address
\r\nThe email address for your company specified in the settings by your Administrator.\r\n

\r\n\r\n^Env()
\r\nCan be used to display a web server environment variable on a page. The environment variables available on each server are different, but you can find out which ones your web server has by going to: http://www.yourwebguisite.com/env.pl\r\n

\r\nThe macro should be specified like this ^Env(\"REMOTE_ADDR\");\r\n

\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\r\n^Extras;
\r\nReturns the path to the WebGUI \"extras\" folder, which contains things like WebGUI icons.\r\n

\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\r\n^FormParam();
\r\nThis macro is mainly used in generating dynamic queries in SQL Reports. Using this macro you can pull the value of any form field simply by specifing the name of the form field, like this: ^FormParam(\"phoneNumber\");\r\n

\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\nNotes: You can also use the special case ^H(linkonly); to return only the URL to the home page and nothing more. Also, the .homeLink style sheet class is tied to this macro.\r\n

\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\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\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\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\nNote: The .loginBox style sheet class is tied to this macro.\r\n

\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\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\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\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\r\n^Page();
\r\nThis can be used to retrieve information about the current page. For instance it could be used to get the page URL like this ^Page(\"urlizedTitle\"); or to get the menu title like this ^Page(\"menuTitle\");.\r\n

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

\r\nNote: If you begin using admin functions or the indepth functions of any wobject, the page title will become a link that will quickly bring you back to the page.\r\n

\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\nBy default, when this link is clicked, the current page\'s style is replaced with the \"Make Page Printable\" style in the Style Manager. However, that can be overridden by specifying the name of another style as the second parameter, like this: ^r(\"Print!\",\"WebGUI\");\r\n

\r\nNotes: You can also use the special case ^r(linkonly); to return only the URL to the make printable page and nothing more. Also, the .makePrintableLink style sheet class is tied to this macro.\r\n

\r\n\r\n^RootTitle;
\r\nReturns the title of the root of the current page. For instance, the main root in WebGUI is the \"Home\" page. Many advanced sites have many roots and thus need a way to display to the user which root they are in.\r\n

\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\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\r\n^Synopsis; or ^Synopsis(); Menu
\r\nThis macro allows you to get the submenu of a page along with the synopsis of each link. You may specify an integer to specify how many levels deep to traverse the page tree.\r\n

\r\nNotes: The .synopsis_sub, .synopsis_summary, and .synopsis_title style sheet classes are tied to this macro.\r\n

\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\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\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\r\n^ThumbnailLinker();
\r\nThis is a good way to create a quick and dirty screenshots page or a simple photo gallery. Simply specify the name of an image in the Image Manager like this: ^ThumbnailLinker(\"My Grandmother\"); and this macro will create a thumnail image with a title under it that links to the full size version of the image.\r\n

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

\r\n\r\n^URLEncode();
\r\nThis macro is mainly useful in SQL reports, but it could be useful elsewhere as well. It takes the input of a string and URL Encodes it so that the string can be passed through a URL. It\'s syntax looks like this: ^URLEncode(\"Is this my string?\");\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\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\r\n^@; - Username
\r\nThe username of the currently logged in user.\r\n

\r\n\r\n^?; - Search
\r\nAdd a search box to the page. The search box is tied to WebGUI\'s built-in search engine.\r\n

\r\nNote: The .searchBox style sheet class is tied to this macro.\r\n

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

\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\r\n^-;,^0;,^1;,^2;,^3;, etc.
\r\nThese macros are reserved for system/wobject-specific functions as in the SQL Report wobject and the Body in the Style Manager.\r\n','0'); 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.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.horizontalMenu
\r\nThe horizontal menu (if you use a horizontal menu macro).\r\n

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

\r\n\r\n.selectedMenuItem
\r\nUse this class to highlight the current page in any of the menu macros.\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 vertical menu macro).\r\n

\r\n\r\nNote: Some wobjects and macros have their own unique styles sheet classes, which are documented in their individual help files.\r\n\r\n','0'); 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.\r\n\r\nExpire After
\r\nThe time (in seconds) that a user will belong to this group before s/he is expired (or removed) from it. This is very useful for membership sites where users have certain privileges for a specific period of time. Note that this can be overridden on a per-user basis.','0'); INSERT INTO help VALUES (2,'WebGUI','English','Edit','User Settings','Session 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\nAlert on new user?
\r\nShould someone be alerted when a new user registers anonymously?\r\n

\r\n\r\nGroup To Alert On New User\r\nWhat group should be alerted when a new user registers?\r\n

\r\n\r\nAnonymous Registration
\r\nDo you wish visitors to your site to be able to register themselves?\r\n

\r\nAuthentication Method (default)
\r\nWhat should the default authentication method be for new accounts that are created? The two available options are WebGUI and LDAP. WebGUI authentication means that the users will authenticate against the username and password stored in the WebGUI database. LDAP authentication means that users will authenticate against an external LDAP server.\r\n

\r\nNote: Authentication settings can be customized on a per user basis.\r\n

\r\nUsername Binding
\r\nBind the WebGUI username to the LDAP Identity. This requires the user to have the same username in WebGUI as they specified during the Anonymous Registration process. It also means that they won\'t be able to change their username later. This only in effect if the user is authenticating against LDAP.\r\n

\r\nLDAP URL (default)
\r\nThe default url to your LDAP server. The LDAP URL takes the form of ldap://[server]:[port]/[base DN]. Example: ldap://ldap.mycompany.com:389/o=MyCompany.\r\n

\r\nLDAP Identity
\r\nThe LDAP Identity is the unique identifier in the LDAP server that the user will be identified against. Often this field is shortname, which takes the form of first initial + last name. Example: jdoe. Therefore if you specify the LDAP identity to be shortname then Jon Doe would enter jdoe during the registration process.\r\n

\r\nLDAP Identity Name
\r\nThe label used to describe the LDAP Identity to the user. For instance, some companies use an LDAP server for their proxy server users to authenticate against. In the documentation or training already provided to their users, the LDAP identity is known as their Web Username. So you could enter that label here for consitency.\r\n

\r\nLDAP Password Name
\r\nJust as the LDAP Identity Name is a label, so is the LDAP Password Name. Use this label as you would LDAP Identity Name.\r\n\r\n','6'); @@ -4499,7 +4498,7 @@ CREATE TABLE webguiVersion ( -- -INSERT INTO webguiVersion VALUES ('4.0.1','intitial install',unix_timestamp()); +INSERT INTO webguiVersion VALUES ('4.0.2','intitial install',unix_timestamp()); -- -- Table structure for table 'wobject' @@ -4534,4 +4533,5 @@ INSERT INTO wobject VALUES (-1,4,'SiteMap',0,'Page Not Found',1,'The page you we INSERT INTO wobject VALUES (-2,1,'Article',1,'Welcome to WebGUI!',1,'

\r\n

If you’re reading this message it means that you’ve got WebGUI up and running. Good job! The installation is not trivial.

\r\n

 

\r\n

In order to do anything useful with your new installation you’ll need to log in as the default administrator account. Follow these steps to get started:

\r\n

 

\r\n
    \r\n
  1. Click here to log in. (username: Admin password: 123qwe) \r\n
  2. Click here to turn the administrative interface on.
\r\n

 Now that you’re in as the administrator, you should change your password so no one else can log in and mess with your site. You might also want to create another account for yourself with Administrative privileges in case you can\'t log in with the Admin account for some reason.

\r\n

 

\r\n

You’ll notice three menus at the top of your screen. Those are your administrative menus. Going from left to right they are Content, Clipboard, and Admin. The content menu allows you to add new pages and content to your site. The clipboard menu is currently empty, but if you cut or copy anything from any of your pages, it will end up there. The admin menu controls things like system settings and users.

\r\n

 

\r\n

For more information about how to administer WebGUI consider getting a copy of Ruling WebGUI. Plain Black Software also provides several Support Programs for WebGUI if you run into trouble.

\r\n

 

Enjoy your new WebGUI site!\r\n
',1,1023555430,3,1023555630,3,0,1023512400,1338872400); INSERT INTO Article VALUES (-2,NULL,'','',NULL,0,'right',0,7,4,1); +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\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\nNotes: You can also use the special case ^a(linkonly); to return only the URL to the account page and nothing more. Also, the .myAccountLink style sheet class is tied to this macro.\r\n

\r\n\r\n^AdminBar;
\r\nPlaces the administrative tool bar on the page. This is a required element in the \"body\" segment of the Style Manager.\r\n

\r\n\r\n^AdminToggle;
\r\nPlaces a link on the page which is only visible to content managers and adminstrators. The link toggles on/off admin mode.\r\n

\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\nNote: The .crumbTrail style sheet class is tied to this macro.\r\n

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

\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\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
%zuser preference date format
%Zuser preference time format
\r\n

\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\r\n^Env()
\r\nCan be used to display a web server environment variable on a page. The environment variables available on each server are different, but you can find out which ones your web server has by going to: http://www.yourwebguisite.com/env.pl\r\n

\r\nThe macro should be specified like this ^Env(\"REMOTE_ADDR\");\r\n

\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\r\n^Extras;
\r\nReturns the path to the WebGUI \"extras\" folder, which contains things like WebGUI icons.\r\n

\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\r\n^FormParam();
\r\nThis macro is mainly used in generating dynamic queries in SQL Reports. Using this macro you can pull the value of any form field simply by specifing the name of the form field, like this: ^FormParam(\"phoneNumber\");\r\n

\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\nNotes: You can also use the special case ^H(linkonly); to return only the URL to the home page and nothing more. Also, the .homeLink style sheet class is tied to this macro.\r\n

\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\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\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\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\nNote: The .loginBox style sheet class is tied to this macro.\r\n

\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\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\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\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\r\n^Page();
\r\nThis can be used to retrieve information about the current page. For instance it could be used to get the page URL like this ^Page(\"urlizedTitle\"); or to get the menu title like this ^Page(\"menuTitle\");.\r\n

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

\r\nNote: If you begin using admin functions or the indepth functions of any wobject, the page title will become a link that will quickly bring you back to the page.\r\n

\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\nBy default, when this link is clicked, the current page\'s style is replaced with the \"Make Page Printable\" style in the Style Manager. However, that can be overridden by specifying the name of another style as the second parameter, like this: ^r(\"Print!\",\"WebGUI\");\r\n

\r\nNotes: You can also use the special case ^r(linkonly); to return only the URL to the make printable page and nothing more. Also, the .makePrintableLink style sheet class is tied to this macro.\r\n

\r\n\r\n^RootTitle;
\r\nReturns the title of the root of the current page. For instance, the main root in WebGUI is the \"Home\" page. Many advanced sites have many roots and thus need a way to display to the user which root they are in.\r\n

\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\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\r\n^Synopsis; or ^Synopsis(); Menu
\r\nThis macro allows you to get the submenu of a page along with the synopsis of each link. You may specify an integer to specify how many levels deep to traverse the page tree.\r\n

\r\nNotes: The .synopsis_sub, .synopsis_summary, and .synopsis_title style sheet classes are tied to this macro.\r\n

\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\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\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\r\n^ThumbnailLinker();
\r\nThis is a good way to create a quick and dirty screenshots page or a simple photo gallery. Simply specify the name of an image in the Image Manager like this: ^ThumbnailLinker(\"My Grandmother\"); and this macro will create a thumnail image with a title under it that links to the full size version of the image.\r\n

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

\r\n\r\n^URLEncode();
\r\nThis macro is mainly useful in SQL reports, but it could be useful elsewhere as well. It takes the input of a string and URL Encodes it so that the string can be passed through a URL. It\'s syntax looks like this: ^URLEncode(\"Is this my string?\");

\r\n\r\n^/; - System URL
\r\nThe URL to the gateway script (example: /index.pl/).\r\n

\r\n\r\n^\\; - Page URL
\r\nThe URL to the current page (example: /index.pl/pagename).\r\n

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

\r\n\r\n^?; - Search
\r\nAdd a search box to the page. The search box is tied to WebGUI\'s built-in search engine.\r\n

\r\nNote: The .searchBox style sheet class is tied to this macro.\r\n

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

\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\r\n^-;,^0;,^1;,^2;,^3;, etc.
\r\nThese macros are reserved for system/wobject-specific functions as in the SQL Report wobject and the Body in the Style Manager.\r\n','0'); diff --git a/docs/upgrades/upgrade_4.0.2-4.0.3.sql b/docs/upgrades/upgrade_4.0.2-4.0.3.sql new file mode 100644 index 000000000..1969cff1e --- /dev/null +++ b/docs/upgrades/upgrade_4.0.2-4.0.3.sql @@ -0,0 +1,2 @@ +insert into webguiVersion values ('4.0.3','upgrade',unix_timestamp()); + diff --git a/lib/WebGUI.pm b/lib/WebGUI.pm index 462143c8a..0d0284bf6 100644 --- a/lib/WebGUI.pm +++ b/lib/WebGUI.pm @@ -1,5 +1,5 @@ package WebGUI; -our $VERSION = "4.0.2"; +our $VERSION = "4.0.3"; #------------------------------------------------------------------- # WebGUI is Copyright 2001-2002 Plain Black Software.