diff --git a/docs/create.sql b/docs/create.sql index 1c1698f4d..64eb23053 100644 --- a/docs/create.sql +++ b/docs/create.sql @@ -2999,5 +2999,6 @@ CREATE 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,1016077239,3,'A'); +insert into international values (438,'WebGUI','English','Your Name'); -insert into webguiVersion values ('3.6.0','intitial install',unix_timestamp()); +insert into webguiVersion values ('3.6.1','intitial install',unix_timestamp()); diff --git a/docs/previousVersion.sql b/docs/previousVersion.sql index def8a54c7..1c1698f4d 100644 --- a/docs/previousVersion.sql +++ b/docs/previousVersion.sql @@ -1,5 +1,3 @@ -insert into webguiVersion values ('3.5.2','intitial install',unix_timestamp()); - # MySQL dump 8.14 # # Host: localhost Database: WebGUI @@ -506,7 +504,7 @@ INSERT INTO help VALUES (14,'WebGUI','English','Delete','Widget','This function INSERT INTO help VALUES (15,'WebGUI','English','Delete','Group','As the function suggests you\'ll be deleting a group and removing all users from the group. Be careful not to orphan users from pages they should have access to by deleting a group that is in use.\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.','0'); INSERT INTO help VALUES (16,'WebGUI','English','Add/Edit','Style','Styles are WebGUI macro enabled. See Using Macros for more information.\r\n

\r\n\r\nStyle Name
\r\nA unique name to describe what this style looks like at a glance. The name has no effect on the actual look of the style.\r\n

\r\n\r\nHeader
\r\nThe header is the start of the look of your site. It is helpful to look at your design and cut it into three pieces. The top and left of your design is the header. The center part is the content, and the right and bottom is the footer. Cut the HTML from your header and paste it in the space provided.\r\n

\r\n\r\nIf you are in need of assistance for creating a look for your site, or if you need help cutting apart your design, Plain Black Software provides support services for a small fee.\r\n

\r\n\r\nMany people will add WebGUI macros to their header for automated navigation, and other features.\r\n

\r\n\r\nFooter
\r\nThe footer is the end of the look for your site. It is the right and bottom portion of your design. You may also place WebGUI macros in your footer.\r\n

\r\n\r\nStyle Sheet
\r\nPlace your style sheet entries here. Style sheets are used to control colors, sizes, and other properties of the elements on your site. See Using Style Sheets for more information.\r\n

\r\n\r\nAdvanced Users: for greater performance create your stylesheet on the file system (call it something like webgui.css) and add an entry like this to this area: \r\n<link href=\"/webgui.css\" rel=\"stylesheet\" rev=\"stylesheet\" type=\"text/css\">','4,5'); 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 (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.\r\n\r\n\r\n

\r\nOn Critical Error
\r\nWhat do you want WebGUI to do if a critical error occurs. It can be a security risk to show debugging information, but you may want to show it if you are in development.\r\n\r\n

\r\nFilter Contributed HTML
\r\nChoose a setting that represents what you\'d like to do with user contributed HTML like that found in Message Boards and User Submission Systems. Note that it can be a security risk to not filter the HTML at all.\r\n','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\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'); @@ -1754,7 +1752,7 @@ INSERT INTO international VALUES (100,'WebGUI','English','Meta Tags'); INSERT INTO international VALUES (100,'WebGUI','Español','Meta Tags'); INSERT INTO international VALUES (100,'WebGUI','Português','Meta Tags'); INSERT INTO international VALUES (147,'WebGUI','Deutsch','sichtbare Seiten'); -INSERT INTO international VALUES (148,'WebGUI','Deutsch','sichtbare Widgets'); +INSERT INTO international VALUES (148,'WebGUI','Deutsch','Widgets'); INSERT INTO international VALUES (101,'WebGUI','Dutch','Weet u zeker dat u deze pagina wilt verwijderen en alle inhoud en objecten erachter?'); INSERT INTO international VALUES (101,'WebGUI','English','Are you certain that you wish to delete this page, its content, and all items under it?'); INSERT INTO international VALUES (101,'WebGUI','Español','Está seguro de querer eliminar ésta página'); @@ -1970,14 +1968,14 @@ INSERT INTO international VALUES (146,'WebGUI','Dutch','Aktieve sessies'); INSERT INTO international VALUES (146,'WebGUI','English','Active Sessions'); INSERT INTO international VALUES (146,'WebGUI','Español','Sesiones activas'); INSERT INTO international VALUES (146,'WebGUI','Português','Sessões activas'); -INSERT INTO international VALUES (147,'WebGUI','Dutch','Zichtbare pagina\'s'); -INSERT INTO international VALUES (147,'WebGUI','English','Viewable Pages'); -INSERT INTO international VALUES (147,'WebGUI','Español','Páginas Visibles'); -INSERT INTO international VALUES (147,'WebGUI','Português','páginas visiveis'); -INSERT INTO international VALUES (148,'WebGUI','Dutch','Zichtbare widgets'); -INSERT INTO international VALUES (148,'WebGUI','English','Viewable Widgets'); -INSERT INTO international VALUES (148,'WebGUI','Español','Widgets Visibles'); -INSERT INTO international VALUES (148,'WebGUI','Português','Widgets visiveis'); +INSERT INTO international VALUES (147,'WebGUI','Dutch','Pagina\'s'); +INSERT INTO international VALUES (147,'WebGUI','English','Pages'); +INSERT INTO international VALUES (147,'WebGUI','Español','Páginas'); +INSERT INTO international VALUES (147,'WebGUI','Português','Páginas'); +INSERT INTO international VALUES (148,'WebGUI','Dutch','Widgets'); +INSERT INTO international VALUES (148,'WebGUI','English','Widgets'); +INSERT INTO international VALUES (148,'WebGUI','Español','Widgets'); +INSERT INTO international VALUES (148,'WebGUI','Português','Widgets'); INSERT INTO international VALUES (12,'DownloadManager','Deutsch','Sind Sie sicher, dass Sie diesen Download löschen möchten?'); INSERT INTO international VALUES (149,'WebGUI','Dutch','Gebruikers'); INSERT INTO international VALUES (149,'WebGUI','English','Users'); @@ -2660,7 +2658,32 @@ 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 (413,'WebGUI','English','On Critical Error'); INSERT INTO international VALUES (28,'Article','English','View Responses'); +INSERT INTO international VALUES (414,'WebGUI','English','Display debugging information.'); +INSERT INTO international VALUES (415,'WebGUI','English','Display a friendly message.'); +INSERT INTO international VALUES (416,'WebGUI','English','

Problem With Request

\r\nWe have encountered a problem with your request. Please use your back button and try again. If this problem persists, please contact us with what you were trying to do and the time and date of the problem.'); +INSERT INTO international VALUES (417,'WebGUI','English','

Security Violation

\r\nYou attempted to access a widget not associated with this page. This incident has been reported.'); +INSERT INTO international VALUES (418,'WebGUI','English','Filter Contributed HTML'); +INSERT INTO international VALUES (419,'WebGUI','English','Remove all tags.'); +INSERT INTO international VALUES (420,'WebGUI','English','Leave as is.'); +INSERT INTO international VALUES (421,'WebGUI','English','Remove all but basic formating.'); +INSERT INTO international VALUES (422,'WebGUI','English','

Login Failed

\r\nThe information supplied does not match the account.'); +INSERT INTO international VALUES (423,'WebGUI','English','View active sessions.'); +INSERT INTO international VALUES (424,'WebGUI','English','View login history.'); +INSERT INTO international VALUES (425,'WebGUI','English','Active Sessions'); +INSERT INTO international VALUES (426,'WebGUI','English','Login History'); +INSERT INTO international VALUES (427,'WebGUI','English','Styles'); +INSERT INTO international VALUES (428,'WebGUI','English','User (ID)'); +INSERT INTO international VALUES (429,'WebGUI','English','Login Time'); +INSERT INTO international VALUES (430,'WebGUI','English','Last Page View'); +INSERT INTO international VALUES (431,'WebGUI','English','IP Address'); +INSERT INTO international VALUES (432,'WebGUI','English','Expires'); +INSERT INTO international VALUES (433,'WebGUI','English','User Agent'); +INSERT INTO international VALUES (434,'WebGUI','English','Status'); +INSERT INTO international VALUES (435,'WebGUI','English','Session Signature'); +INSERT INTO international VALUES (436,'WebGUI','English','Kill Session'); +INSERT INTO international VALUES (437,'WebGUI','English','Statistics'); # # Table structure for table 'messageLog' @@ -2777,6 +2800,8 @@ INSERT INTO settings VALUES ('profileWork','0'); INSERT INTO settings VALUES ('docTypeDec',''); INSERT INTO settings VALUES ('preventProxyCache','0'); INSERT INTO settings VALUES ('thumbnailSize','50'); +INSERT INTO settings VALUES ('onCriticalError','friendly'); +INSERT INTO settings VALUES ('filterContributedHTML','most'); # # Table structure for table 'style' @@ -2826,6 +2851,23 @@ INSERT INTO style VALUES (-5,'Plain Black Software (white)','\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 'userLoginLog' +# + +CREATE TABLE userLoginLog ( + userId int(11) default NULL, + status varchar(30) default NULL, + timeStamp int(11) default NULL, + ipAddress varchar(128) default NULL, + userAgent text +) TYPE=MyISAM; + +# +# Dumping data for table 'userLoginLog' +# + + # # Table structure for table 'userSession' # @@ -2915,6 +2957,21 @@ INSERT INTO users VALUES (23,'Reserved','No Login',NULL,'WebGUI',NULL,NULL,'Engl INSERT INTO users VALUES (24,'Reserved','No Login',NULL,'WebGUI',NULL,NULL,'English',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL); INSERT INTO users VALUES (25,'Reserved','No Login',NULL,'WebGUI',NULL,NULL,'English',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'',NULL,NULL); +# +# Table structure for table 'webguiVersion' +# + +CREATE TABLE webguiVersion ( + webguiVersion varchar(10) default NULL, + versionType varchar(30) default NULL, + dateApplied int(11) default NULL +) TYPE=MyISAM; + +# +# Dumping data for table 'webguiVersion' +# + + # # Table structure for table 'widget' # @@ -2942,3 +2999,5 @@ CREATE 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,1016077239,3,'A'); + +insert into webguiVersion values ('3.6.0','intitial install',unix_timestamp()); diff --git a/docs/upgrades/upgrade_3.6.0-3.6.1.sql b/docs/upgrades/upgrade_3.6.0-3.6.1.sql new file mode 100644 index 000000000..c5f2c8441 --- /dev/null +++ b/docs/upgrades/upgrade_3.6.0-3.6.1.sql @@ -0,0 +1,3 @@ +insert into webguiVersion values ('3.6.1','upgrade',unix_timestamp()); +insert into international values (438,'WebGUI','English','Your Name'); + diff --git a/lib/WebGUI.pm b/lib/WebGUI.pm index 04348251e..e2eb71def 100644 --- a/lib/WebGUI.pm +++ b/lib/WebGUI.pm @@ -1,5 +1,5 @@ package WebGUI; -our $VERSION = "3.6.0"; +our $VERSION = "3.6.1"; #------------------------------------------------------------------- # WebGUI is Copyright 2001-2002 Plain Black Software. @@ -163,7 +163,7 @@ sub page { ($widgetType,$widgetPage) = WebGUI::SQL->quickArray("select namespace,pageId from widget where widgetId='$session{form}{wid}'"); } if ($widgetType ne "") { - if ($widgetPage != $session{page}{pageId}) { + if ($widgetPage != $session{page}{pageId} && $widgetPage != 2) { $functionOutput = WebGUI::International::get(417); WebGUI::ErrorHandler::warn($session{user}{username}." [".$session{user}{userId}."] attempted to access widget [".$session{form}{wid}."] on page '".$session{page}{title}."' [".$session{page}{pageId}."]."); } else { diff --git a/lib/WebGUI/Discussion.pm b/lib/WebGUI/Discussion.pm index d212902f3..3846a2bc8 100644 --- a/lib/WebGUI/Discussion.pm +++ b/lib/WebGUI/Discussion.pm @@ -140,6 +140,9 @@ sub postNewMessage { $html .= WebGUI::Form::hidden("func","postNewMessageSave"); $html .= WebGUI::Form::hidden("wid",$session{form}{wid}); $html .= WebGUI::Form::hidden("sid",$session{form}{sid}); + if ($session{user}{userId} == 1) { + $html .= tableFormRow(WebGUI::International::get(438),WebGUI::Form::text("visitorName",30,35)); + } $html .= ''.WebGUI::International::get(229).''.WebGUI::Form::text("subject",30,255).''; $html .= ''.WebGUI::International::get(230).''.WebGUI::Form::textArea("message",'',50,6,1).''; $html .= ''.WebGUI::Form::submit(WebGUI::International::get(62)).''; @@ -149,15 +152,20 @@ sub postNewMessage { #------------------------------------------------------------------- sub postNewMessageSave { - my ($mid); + my ($mid, $visitor); if ($session{form}{subject} eq "") { $session{form}{subject} = WebGUI::International::get(232); } if ($session{form}{message} eq "") { $session{form}{subject} .= ' '.WebGUI::International::get(233); } + if ($session{form}{visitorName} eq "") { + $visitor = $session{user}{username}; + } else { + $visitor = $session{form}{visitorName}; + } $mid = getNextId("messageId"); - WebGUI::SQL->write("insert into discussion values ($mid, $mid, $session{form}{wid}, 0, $session{user}{userId}, ".quote($session{user}{username}).", ".quote($session{form}{subject}).", ".quote($session{form}{message}).", ".time().", '$session{form}{sid}')"); + WebGUI::SQL->write("insert into discussion values ($mid, $mid, $session{form}{wid}, 0, $session{user}{userId}, ".quote($visitor).", ".quote($session{form}{subject}).", ".quote($session{form}{message}).", ".time().", '$session{form}{sid}')"); return ""; } @@ -172,6 +180,9 @@ sub postReply { $html .= WebGUI::Form::hidden("wid",$session{form}{wid}); $html .= WebGUI::Form::hidden("sid",$session{form}{sid}); $html .= WebGUI::Form::hidden("mid",$session{form}{mid}); + if ($session{user}{userId} == 1) { + $html .= tableFormRow(WebGUI::International::get(438),WebGUI::Form::text("visitorName",30,35)); + } $html .= ''.WebGUI::International::get(229).''.WebGUI::Form::text("subject",30,255,$subject).''; $html .= ''.WebGUI::International::get(230).''.WebGUI::Form::textArea("message",'',50,6,1).''; $html .= ''.WebGUI::Form::submit(WebGUI::International::get(62)).''; @@ -182,16 +193,21 @@ sub postReply { #------------------------------------------------------------------- sub postReplySave { - my ($rid, $mid); + my ($rid, $mid, $visitor); if ($session{form}{subject} eq "") { $session{form}{subject} = WebGUI::International::get(232); } if ($session{form}{message} eq "") { $session{form}{subject} .= ' '.WebGUI::International::get(233); } + if ($session{form}{visitorName} eq "") { + $visitor = $session{user}{username}; + } else { + $visitor = $session{form}{visitorName}; + } $mid = getNextId("messageId"); ($rid) = WebGUI::SQL->quickArray("select rid from discussion where messageId=$session{form}{mid}"); - WebGUI::SQL->write("insert into discussion values ($mid, $rid, $session{form}{wid}, $session{form}{mid}, $session{user}{userId}, ".quote($session{user}{username}).", ".quote($session{form}{subject}).", ".quote($session{form}{message}).", ".time().", '$session{form}{sid}')"); + WebGUI::SQL->write("insert into discussion values ($mid, $rid, $session{form}{wid}, $session{form}{mid}, $session{user}{userId}, ".quote($visitor).", ".quote($session{form}{subject}).", ".quote($session{form}{message}).", ".time().", '$session{form}{sid}')"); return ""; } diff --git a/lib/WebGUI/Operation/Statistics.pm b/lib/WebGUI/Operation/Statistics.pm index 55314c472..03c2d89ad 100644 --- a/lib/WebGUI/Operation/Statistics.pm +++ b/lib/WebGUI/Operation/Statistics.pm @@ -49,8 +49,7 @@ sub www_viewActiveSessions { $row[$i] .= ''.epochToHuman($data{expires},"%H:%n%p %M/%D/%y").''; $row[$i] .= ''.epochToHuman($data{lastPageView},"%H:%n%p %M/%D/%y").''; $row[$i] .= ''.$data{lastIP}.''; - $row[$i] .= ''. - ''; + $row[$i] .= ''.''; $i++; } $sth->finish; diff --git a/lib/WebGUI/Session.pm b/lib/WebGUI/Session.pm index 3fe0503a2..0caf8f1e5 100644 --- a/lib/WebGUI/Session.pm +++ b/lib/WebGUI/Session.pm @@ -88,7 +88,9 @@ sub close { #------------------------------------------------------------------- sub end { WebGUI::SQL->write("delete from userSession where sessionId='$_[0]'",$session{dbh}); - refreshSessionVars(); + if ($_[0] eq $session{var}{sessionId}) { + refreshSessionVars(); + } } #-------------------------------------------------------------------