patch from Adrian Oldham: add metaDescription and metaKeywords article
authorTony Cook <tony@develop-help.com>
Thu, 1 Dec 2005 03:12:14 +0000 (03:12 +0000)
committertony <tony@45cb6cf1-00bc-42d2-bb5a-07f51df49f94>
Thu, 1 Dec 2005 03:12:14 +0000 (03:12 +0000)
fields.

patch from Adrian Oldham: fix quotes around template tag attributes,
and valueless tags.

update t/t20gen.t and t/t21gencat.t to allow for the new fields

fix shell syntax problem in Makefile

14 files changed:
Makefile
schema/bse.sql
site/cgi-bin/modules/Article.pm
site/cgi-bin/modules/BSE/DB/Mysql.pm
site/cgi-bin/modules/BSE/Edit/Article.pm
site/docs/bse.pod
site/templates/admin/edit_1.tmpl
site/templates/admin/edit_catalog.tmpl
site/templates/admin/edit_product.tmpl
site/templates/admin/edit_seminar.tmpl
site/util/initial.pl
t/t20gen.t
t/t21gencat.t
test.cfg

index 07b55c7..8947a93 100755 (executable)
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,7 @@ WEBBASE=/home/httpd/html/bse
 
 help:
        @echo make dist - build the tar.gz file and copy to distribution directory
-       @echo make archive - build the tar.gz (in the parent directory)
+       @echo make 'archive - build the tar.gz (in the parent directory)'
        @echo make clean - delete generated files
        @echo make distdir - build distribution directory
        @echo make docs - build documentation
index 2c5bfd0..e75a416 100644 (file)
@@ -84,6 +84,9 @@ CREATE TABLE article (
   cached_dynamic integer not null default 0,
   inherit_siteuser_rights integer not null default 1,
 
+  metaDescription varchar(255) default '' not null,
+  metaKeywords varchar(255) default '' not null,
+
   PRIMARY KEY (id),
 
   -- if we keep id in the indexes MySQL will sometimes be able to
index 8202599..971ab2f 100644 (file)
@@ -14,7 +14,8 @@ sub columns {
     customDate1 customDate2 customStr1 customStr2
     customInt1 customInt2 customInt3 customInt4 
     lastModifiedBy created createdBy author pageTitle
-    force_dynamic cached_dynamic inherit_siteuser_rights/;
+    force_dynamic cached_dynamic inherit_siteuser_rights
+    metaDescription metaKeywords/;
 }
 
 sub numeric {
index e305a4e..7721523 100644 (file)
@@ -18,9 +18,9 @@ my %statements =
   (
    Articles => 'select * from article',
    replaceArticle =>
-     'replace article values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)',
+     'replace article values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)',
    addArticle =>  
-     'insert article values (null, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)',
+     'insert article values (null, ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)',
    deleteArticle => 'delete from article where id = ?',
    getArticleByPkey => 'select * from article where id = ?',
    
index 8a97d00..6bfaa72 100644 (file)
@@ -1418,10 +1418,17 @@ sub save_new {
   $data{createdBy} = $user ? $user->{logon} : '';
   $data{lastModifiedBy} = $user ? $user->{logon} : '';
   $data{created} =  now_sqldatetime();
+# end adrian
+
   $data{force_dynamic} = 0;
   $data{cached_dynamic} = 0;
   $data{inherit_siteuser_rights} = 1;
 
+# Added by adrian
+  $data{metaDescription} = '' unless defined $data{metaDescription};
+  $data{metaKeywords} = '' unless defined $data{metaKeywords};
+# end adrian
+
   $self->fill_new_data($req, \%data, $articles);
   for my $col (qw(titleImage imagePos template keyword)) {
     defined $data{$col} 
index 30f8d35..35b1add 100644 (file)
@@ -46,6 +46,24 @@ I<permission>
 
 added some debugging output to the ifUserCan tag handler
 
+=item *
+
+patch from Adrian Oldham: add metaDescription and metaKeywords article
+fields.
+
+=item *
+
+patch from Adrian Oldham: fix quotes around template tag attributes,
+and valueless tags.
+
+=item *
+
+update t/t20gen.t and t/t21gencat.t to allow for the new fields
+
+=item *
+
+fix shell syntax problem in Makefile
+
 =back
 
 =head2 0.15_30
index 7248359..a38036b 100644 (file)
@@ -19,7 +19,7 @@
 <:ifNew:><:or:>
 <:if Or [iadminuser_count] [iadmingroup_count]:>
       <form action="/cgi-bin/admin/adminusers.pl" name="access">
-  <input type=hidden name=id value="<: article id:>" />
+  <input type="hidden" name="id" value="<: article id:>" />
   <table border="0" cellspacing="0" cellpadding="0" bgcolor="#000000" class="table">
   <tr>
     <td>
           <tr>
             <th nowrap="nowrap">
 
-        <font size=2>Manage access:</font>
+        <font size="2">Manage access:</font>
         </th>
             <td bgcolor="#FFFFFF">
-              <select name=adminid>
+              <select name="adminid">
 <:iterator begin adminusers:>
-<option value=<:iadminuser id:>>User <:iadminuser logon:>
-<:iterator end adminusers:>
+<option value="<:iadminuser id:>">User <:iadminuser logon:>
+</option><:iterator end adminusers:>
 <:iterator begin admingroups:>
-<option value=<:iadmingroup id:>>Group <:iadmingroup name:>
-<:iterator end admingroups:>
+<option value="<:iadmingroup id:>">Group <:iadmingroup name:>
+</option><:iterator end admingroups:>
               </select>
-              <input type=submit name="a_showobjectart" value="Manage" />
+              <input type="submit" name="a_showobjectart" value="Manage" />
       </td>
             <td bgcolor="#FFFFFF"><:help access manage:>
         </td>
           <tr>
             <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Page title:</th>
             <td width="100%" bgcolor="#FFFFFF">
-              <:ifFieldPerm pageTitle:><input type="text" name="pageTitle" value='<:old pageTitle article pageTitle:>' size="60" maxlength="255" tabindex="7" /> (alternate title)<:or:><:article pageTitle:><:eif:>
+              <:ifFieldPerm pageTitle:><input type="text" name="pageTitle" value='<:old pageTitle article pageTitle:>' size="60" maxlength="255" /> (alternate title)<:or:><:article pageTitle:><:eif:>
             </td>
            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help edit pageTitle:> <:error_img pageTitle:></td>
           </tr>
           <tr>
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Meta description:</th>
+            <td width="100%" bgcolor="#FFFFFF">
+              <:ifFieldPerm metaDescription:><input type="text" name="metaDescription" value='<:old metaDescription article metaDescription:>' size="60" maxlength="255" /><:or:><:article metaDescription:><:eif:>
+            </td>
+           <td nowrap="nowrap" bgcolor="#FFFFFF"><:help edit metaDescription:> <:error_img metaDescription:></td>
+          </tr>
+          <tr>
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Meta keywords:</th>
+            <td width="100%" bgcolor="#FFFFFF">
+              <:ifFieldPerm metaKeywords:><input type="text" name="metaKeywords" value='<:old metaKeywords article metaKeywords:>' size="60" maxlength="255" /> (comma separated)<:or:><:article metaKeywords:><:eif:>
+            </td>
+           <td nowrap="nowrap" bgcolor="#FFFFFF"><:help edit metaKeywords:> <:error_img metaKeywords:></td>
+          </tr>
+                 <tr>
             <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Author name:</th>
             <td width="100%" bgcolor="#FFFFFF" >
-              <:if FieldPerm author:><input type="text" name="author" value='<:ifCfg editor auto_author:><:old author adminuser name:><:or:><:old author:><:eif:>' size="40" maxlength="255" tabindex="7" /><:or FieldPerm:><:article author:><:eif FieldPerm:>
+              <:if FieldPerm author:><input type="text" name="author" value='<:ifCfg editor auto_author:><:old author adminuser name:><:or:><:old author:><:eif:>' size="40" maxlength="255" /><:or FieldPerm:><:article author:><:eif FieldPerm:>
             </td>
             <td nowrap="nowrap" bgcolor="#FFFFFF" ><:help edit author:> <:error_img author:></td>
           </tr>
               <:ifFieldPerm thumbImage:>
               <input type="file" name="thumbnail" /><:or:><:eif:>
               <:ifArticle thumbImage:><img src="/images/<:article thumbImage:>"> 
-              <:if FieldPerm thumbImage:><input type=checkbox name="remove_thumb" />
+              <:if FieldPerm thumbImage:><input type="checkbox" name="remove_thumb" />
             Remove<:or FieldPerm:><:eif FieldPerm:><:or:><:eif:></td>
             <td valign="top" nowrap="nowrap" bgcolor="#FFFFFF"><:help edit thumb:> <:error_img
             thumbImage:></td>
                         <td><:file displayName:></td>
                         <td align="center"><:kb file sizeInBytes:></td>
                         <td><:file contentType:></td>
-                        <td align=center><:ifFile download:>Yes<:or:>No<:eif:></td>
-                        <td align=center><:ifFile forSale:>Yes<:or:>No<:eif:></td>
-                        <td align=center><:ifFile requireUser:>Yes<:or:>No<:eif:></td>
+                        <td align="center"><:ifFile download:>Yes<:or:>No<:eif:></td>
+                        <td align="center"><:ifFile forSale:>Yes<:or:>No<:eif:></td>
+                        <td align="center"><:ifFile requireUser:>Yes<:or:>No<:eif:></td>
                       </tr>
                       <:iterator end files:> 
                     </table>
 </table>
 
   <p><: ifNew :>
-    <input type="submit" name="save" value="  Add New <: articleType:>  " />
+    <input type="submit" name="save" value="Add New <: articleType:>" />
    <:or:>
-  <:if UserCan edit_save:article:><input type="submit" name="save" value="  Update <: articleType:>  " /><:or UserCan:><:eif UserCan:>
+  <:if UserCan edit_save:article:><input type="submit" name="save" value="Update <: articleType:>" /><:or UserCan:><:eif UserCan:>
    <:eif:></p>
   </form>
 <:if children:> <:ifEq [article id] [cfg articles shop]:> 
index fe89870..cc1449d 100644 (file)
 <:ifNew:><:or:>
 <:if Or [iadminuser_count] [iadmingroup_count]:>
       <form action="/cgi-bin/admin/adminusers.pl">
-  <input type=hidden name=id value="<: article id:>">
+  <input type="hidden" name="id" value="<: article id:>" />
   <table border="0" cellspacing="0" cellpadding="0" bgcolor="#000000" class="table">
   <tr>
     <td>
         <table cellpadding="6" cellspacing="1" border="0" width="100%">
           <tr>
-            <th nowrap>
+            <th nowrap="nowrap">
 
-        <font size=2>Manage access:</font>
+        <font size="2">Manage access:</font>
         </th>
             <td bgcolor="#FFFFFF">
-              <select name=adminid>
+              <select name="adminid">
 <:iterator begin adminusers:>
-<option value=<:iadminuser id:>>User <:iadminuser logon:>
-<:iterator end adminusers:>
+<option value="<:iadminuser id:>">User <:iadminuser logon:>
+</option><:iterator end adminusers:>
 <:iterator begin admingroups:>
-<option value=<:iadmingroup id:>>Group <:iadmingroup name:>
-<:iterator end admingroups:>
+<option value="<:iadmingroup id:>">Group <:iadmingroup name:>
+</option><:iterator end admingroups:>
               </select>
-              <input type=submit name="a_showobjectart" value="Manage">
+              <input type="submit" name="a_showobjectart" value="Manage">
       </td>
             <td bgcolor="#FFFFFF"><:help access manage:>
         </td>
       <td>
         <table cellpadding="6" border="0" cellspacing="1" width="100%">
           <tr> 
-            <th bgcolor="#FFFFFF" nowrap align="left"> Parent: </th>
+            <th bgcolor="#FFFFFF" nowrap="nowrap" align="left"> Parent: </th>
             <td bgcolor="#FFFFFF" width="100%"> 
               <:if FieldPerm parentid:><select name="parentid">
-                <option value="">Please Select a <: parentType :> <: list subsections :> 
+                <option value="">Please Select a <: parentType :></option> <: list subsections :> 
               </select><:or FieldPerm:><:parent title:> (<:parent id:>)<:eif FieldPerm:>
             </td>
-            <td nowrap bgcolor="#FFFFFF"><:help catalog parent:> <:error_img parentid:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help catalog parent:> <:error_img parentid:></td>
           </tr>
           <tr> 
-            <th bgcolor="#FFFFFF" nowrap align="left"> Catalog title: </th>
+            <th bgcolor="#FFFFFF" nowrap="nowrap" align="left"> Catalog title: </th>
             <td bgcolor="#FFFFFF" width="100%"> 
               <:ifFieldPerm title:><input type="text" name="title" maxlength="64" size="64" value="<: old title default title :>"><:or:><:default title:><:eif:>
             </td>
-            <td nowrap bgcolor="#FFFFFF"><:help catalog title:> <:error_img title:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help catalog title:> <:error_img title:></td>
           </tr>
           <tr> 
-            <th valign="top" bgcolor="#FFFFFF" nowrap align="left"> Body:</th>
+            <th valign="top" bgcolor="#FFFFFF" nowrap="nowrap" align="left"> Body:</th>
             <td bgcolor="#FFFFFF" width="100%"> 
               <:ifFieldPerm body:><textarea name="body" rows="10" cols="60" wrap="virtual"><: old body default body :></textarea><:or:><:bodytext article body:><:eif:>
             </td>
-            <td valign="top" nowrap bgcolor="#FFFFFF"><:help body body:> <:error_img
+            <td valign="top" nowrap="nowrap" bgcolor="#FFFFFF"><:help body body:> <:error_img
             body:></td>
           </tr>
                  <tr> 
-            <th bgcolor="#FFFFFF" nowrap align="left"> Template: </th>
+            <th bgcolor="#FFFFFF" nowrap="nowrap" align="left"> Template: </th>
             <td bgcolor="#FFFFFF" width="100%"> <:ifFieldPerm titleImage:><:templates:><:or:><:article titleImage:><:eif:> </td>
-            <td nowrap bgcolor="#FFFFFF"><:help catalog template:> <:error_img template:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help catalog template:> <:error_img template:></td>
           </tr>
                  <tr> 
-            <th bgcolor="#FFFFFF" nowrap align="left">List article:</th>
+            <th bgcolor="#FFFFFF" nowrap="nowrap" align="left">List article:</th>
             <td bgcolor="#FFFFFF" width="100%"> <:if FieldPerm listed:><:list listed:><:or FieldPerm:><:if Article listed:><:ifEq [article listed] "1":>Yes<:or:>In Sections, but not menu<:eif:><:or Article:>No<:eif Article:><:eif FieldPerm:> </td>
-            <td nowrap bgcolor="#FFFFFF"><:help catalog list:> <:error_img listed:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help catalog list:> <:error_img listed:></td>
           </tr>
                  <tr>
-            <th nowrap bgcolor="#FFFFFF" align="left">Flags:</th>
+            <th nowrap="nowrap" bgcolor="#FFFFFF" align="left">Flags:</th>
             <td bgcolor="#FFFFFF" width="100%"><:iterator begin flags:><:if FieldPerm flags:>
-              <input type=checkbox name=flags value="<:flag id:>" <:ifFlagSet [flag id]:>checked<:or:>
-              <:eif:>><:or FieldPerm:><:ifFlagSet [flag id]:>Yes<:or:>No<:eif:>
+              <input type="checkbox" name="flags" value="<:flag id:>" <:ifFlagSet [flag id]:>checked<:or:>
+              <:eif:> /><:or FieldPerm:><:ifFlagSet [flag id]:>Yes<:or:>No<:eif:>
               <:eif FieldPerm:><:flag desc:><:iterator separator flags:><br /><:iterator end flags:></td>
-            <td nowrap bgcolor="#FFFFFF"><:help edit flags:> <:error_img flags:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help edit flags:> <:error_img flags:></td>
           </tr>
           <tr>
             <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Page title:</th>
             <td width="100%" bgcolor="#FFFFFF">
-              <:ifFieldPerm pageTitle:><input type="text" name="pageTitle" value='<:old pageTitle article pageTitle:>' size="60" maxlength="255" tabindex="7" /> (alternate title)<:or:><:article pageTitle:><:eif:>
+              <:ifFieldPerm pageTitle:><input type="text" name="pageTitle" value='<:old pageTitle article pageTitle:>' size="60" maxlength="255" /> (alternate title)<:or:><:article pageTitle:><:eif:>
             </td>
            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help edit pageTitle:> <:error_img pageTitle:></td>
           </tr>
+          <tr>
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Meta description:</th>
+            <td width="100%" bgcolor="#FFFFFF">
+              <:ifFieldPerm metaDescription:><input type="text" name="metaDescription" value='<:old metaDescription article metaDescription:>' size="60" maxlength="255" /><:or:><:article metaDescription:><:eif:>
+            </td>
+           <td nowrap="nowrap" bgcolor="#FFFFFF"><:help edit metaDescription:> <:error_img metaDescription:></td>
+          </tr>
+          <tr>
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Meta keywords:</th>
+            <td width="100%" bgcolor="#FFFFFF">
+              <:ifFieldPerm metaKeywords:><input type="text" name="metaKeywords" value='<:old metaKeywords article metaKeywords:>' size="60" maxlength="255" /> (comma separated)<:or:><:article metaKeywords:><:eif:>
+            </td>
+           <td nowrap="nowrap" bgcolor="#FFFFFF"><:help edit metaKeywords:> <:error_img metaKeywords:></td>
+          </tr>
           <tr>
             <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Author name:</th>
             <td width="100%" bgcolor="#FFFFFF" >
-              <:if FieldPerm author:><input type="text" name="author" value='<:ifCfg editor auto_author:><:old author adminuser name:><:or:><:old author:><:eif:>' size="40" maxlength="255" tabindex="7" /><:or FieldPerm:><:article author:><:eif FieldPerm:>
+              <:if FieldPerm author:><input type="text" name="author" value='<:ifCfg editor auto_author:><:old author adminuser name:><:or:><:old author:><:eif:>' size="40" maxlength="255" /><:or FieldPerm:><:article author:><:eif FieldPerm:>
             </td>
             <td nowrap="nowrap" bgcolor="#FFFFFF" ><:help edit author:> <:error_img author:></td>
           </tr>
           <tr> 
-            <th bgcolor="#FFFFFF" nowrap align="left"> Release date: </th>
+            <th bgcolor="#FFFFFF" nowrap="nowrap" align="left"> Release date: </th>
             <td bgcolor="#FFFFFF" width="100%"> 
               <:if FieldPerm release:><input type="text" name="release" value="<: old release date "%d/%m/%Y" default release :>" size="10" maxlength="10">
               (dd/mm/yyyy<: ifNew :> - default is today<: or :><: eif :>)<:or FieldPerm:><: date "%d/%m/%Y" article release :><:eif FieldPerm:></td>
-            <td nowrap bgcolor="#FFFFFF"><:help catalog release:> <:error_img release:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help catalog release:> <:error_img release:></td>
           </tr>
           <tr> 
-            <th bgcolor="#FFFFFF" nowrap align="left"> Expiry date: </th>
+            <th bgcolor="#FFFFFF" nowrap="nowrap" align="left"> Expiry date: </th>
             <td bgcolor="#FFFFFF" width="100%"> 
               <:if FieldPerm expire:><input type="text" name="expire" value="<: old expire date "%d/%m/%Y" default expire :>" size="10" maxlength="10">
               (dd/mm/yyyy - <: ifNew :>default is never, <: or :><: eif :>blank 
               for never expires)<:or FieldPerm:><: date "%d/%m/%Y" article expire :><:eif FieldPerm:></td>
-            <td nowrap bgcolor="#FFFFFF"><:help catalog expire:> <:error_img expire:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help catalog expire:> <:error_img expire:></td>
           </tr>
           <tr> 
-            <th bgcolor="#FFFFFF" nowrap align="left"> Summary length: </th>
+            <th bgcolor="#FFFFFF" nowrap="nowrap" align="left"> Summary length: </th>
             <td bgcolor="#FFFFFF" width="100%"> 
               <:if FieldPerm summaryLength:><input type="text" name="summaryLength" size="10" maxlength="10" value="<: old summaryLength default summaryLength :>">
               (in characters - default inherited from parent catalog or shop, zero 
               for no summary)<:or FieldPerm:><: article summaryLength :><:eif FieldPerm:></td>
-            <td nowrap bgcolor="#FFFFFF"><:help catalog summary:> <:error_img summaryLength:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help catalog summary:> <:error_img summaryLength:></td>
           </tr>
           <tr> 
-            <th bgcolor="#FFFFFF" nowrap align="left"> Display threshold: </th>
+            <th bgcolor="#FFFFFF" nowrap="nowrap" align="left"> Display threshold: </th>
             <td bgcolor="#FFFFFF" width="100%"> 
               <:ifFieldPerm threshold:><input type="text" name="threshold" size="10" maxlength="10" value="<: old threshold default threshold :>"><:or:><: article threshold :><:eif:>
             </td>
-            <td nowrap bgcolor="#FFFFFF"><:help catalog threshold:> <:error_img threshold:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help catalog threshold:> <:error_img threshold:></td>
           </tr>
           <tr> 
-            <th bgcolor="#FFFFFF" nowrap align="left"> Keywords: </th>
+            <th bgcolor="#FFFFFF" nowrap="nowrap" align="left"> Keywords: </th>
             <td bgcolor="#FFFFFF" width="100%"> 
               <:ifFieldPerm keyword:><input type="text" name="keyword" maxlength="255" size="60" value="<: old keyword default keyword :>"><:or:><: article threshold :><:eif:>
               (comma separated) </td>
-            <td nowrap bgcolor="#FFFFFF"><:help catalog keywords:> <:error_img keyword:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help catalog keywords:> <:error_img keyword:></td>
           </tr>
           <tr> 
             <th nowrap="nowrap" bgcolor="#FFFFFF" align="left">Always Dynamic:</th>
           </tr>
 <:include admin/catalog_custom.tmpl optional:>
           <tr> 
-            <th bgcolor="#FFFFFF" nowrap align="left" valign="top">Thumbnail image:</th>
+            <th bgcolor="#FFFFFF" nowrap="nowrap" align="left" valign="top">Thumbnail image:</th>
             <td width="100%" valign="top" bgcolor="#FFFFFF"> 
               <:ifFieldPerm thumbImage:>
-              <input type=file name=thumbnail><:or:><:eif:>
+              <input type="file" name="thumbnail" /><:or:><:eif:>
               <:ifArticle thumbImage:><img src="/images/<:article thumbImage:>"> 
-              <:if FieldPerm thumbImage:><input type=checkbox name="remove_thumb">
+              <:if FieldPerm thumbImage:><input type="checkbox" name="remove_thumb">
             Remove<:or FieldPerm:><:eif FieldPerm:><:or:><:eif:></td>
-            <td valign="top" nowrap bgcolor="#FFFFFF"><:help catalog thumb:> <:error_img
+            <td valign="top" nowrap="nowrap" bgcolor="#FFFFFF"><:help catalog thumb:> <:error_img
             thumbImage:></td>
           </tr>
           <:if Article id:> 
           <tr> 
-            <th nowrap bgcolor="#FFFFFF" align="left" valign="top"><a name="files"></a>Files:</th>
-            <td nowrap bgcolor="#FFFFFF" width="100%"> <:if Files:> 
+            <th nowrap="nowrap" bgcolor="#FFFFFF" align="left" valign="top"><a name="files"></a>Files:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF" width="100%"> <:if Files:> 
               <table cellpadding="0" cellspacing="0" border="0" bgcolor="#333333">
                 <tr><td> 
                     <table cellpadding="5" cellspacing="1" border="0">
                         <td><:file displayName:></td>
                         <td align="center"><:kb file sizeInBytes:></td>
                         <td><:file contentType:></td>
-                        <td align=center><:ifFile download:>Yes<:or:>No<:eif:></td>
-                        <td align=center><:ifFile forSale:>Yes<:or:>No<:eif:></td>
-                        <td align=center><:ifFile requireUser:>Yes<:or:>No<:eif:></td>
+                        <td align="center"><:ifFile download:>Yes<:or:>No<:eif:></td>
+                        <td align="center"><:ifFile forSale:>Yes<:or:>No<:eif:></td>
+                        <td align="center"><:ifFile requireUser:>Yes<:or:>No<:eif:></td>
                       </tr>
                       <:iterator end files:> 
                     </table>
               <:or Files:>
               <p>No files are attached to this article. <a href="<:script:>?filelist=1&id=<:article id:>"><b>Manage Files</b></a></p><:eif Files:>
             </td>
-            <td nowrap bgcolor="#FFFFFF" valign="top"><:help edit files:> <:error_img
+            <td nowrap="nowrap" bgcolor="#FFFFFF" valign="top"><:help edit files:> <:error_img
             files:></td>
           </tr>
           <tr> 
-            <th valign="top" bgcolor="#FFFFFF" nowrap align="left"> Images: 
+            <th valign="top" bgcolor="#FFFFFF" nowrap="nowrap" align="left"> Images: 
             </th>
             <td align="center" bgcolor="#FFFFFF" width="100%"> <:if Images:> <:iterator begin 
               images:> <img src="/images/<: image image :>" alt="<:image alt :>" width= 
              <:or Images:><p align="left">No images are attached to this article.  <a href="<:script:>?id=<:article id:>&showimages=1"><b>Manage Images</b></a></p>
              <:eif Images:>
            </td>
-            <td valign="top" nowrap bgcolor="#FFFFFF"><:help catalog images:> <:error_img
+            <td valign="top" nowrap="nowrap" bgcolor="#FFFFFF"><:help catalog images:> <:error_img
             images:></td>
           <:or Article:><:eif Article:> 
         </table>
   </table>
 
   <p><: ifNew :>
-    <input type="submit" name="save"
-           value="  Add Catalog  ">
+    <input type="submit" name="save" value="Add Catalog" />
      <: or :>
-    <:if UserCan edit_save:article:><input type="submit" name="save"
-           value="  Update Catalog  "><:or UserCan:><:eif UserCan:><:eif:></p>
+    <:if UserCan edit_save:article:><input type="submit" name="save" value="Update Catalog" /><:or UserCan:><:eif UserCan:><:eif:></p>
   </form>
 <:if children:>
 <h2>Products / Sub-catalogs</h2>
           <th width="30%">Title</th>
           <th width="70%">Summary</th>
           <th>Listed</th>
-          <th nowrap>Modify</th>
-                 <th nowrap>Move</th>
+          <th nowrap="nowrap">Modify</th>
+                 <th nowrap="nowrap">Move</th>
         </tr>
 <:if UserCan edit_reorder_children:article:>
         <tr> 
           <td width="30%"><a href="<:child admin:>"><:child title:></a></td>
           <td width="70%"><: summary child body :></td>
           <td align="center"><: is child listed :></td>
-          <td nowrap> <: edit child Edit :> <:if UserCan edit_delete_article:child:><a href="/cgi-bin/admin/add.pl?id=<:child id:>&remove=1" onClick="return window.confirm('Are you sure you want to delete this <:ifMatch [child generator] "Product":>Product<:or:>Sub-catalog<:eif:>')">Delete</a><:or UserCan:><:eif UserCan:></td>
-             <td nowrap><:movechild:></td>
+          <td nowrap="nowrap"> <: edit child Edit :> <:if UserCan edit_delete_article:child:><a href="/cgi-bin/admin/add.pl?id=<:child id:>&remove=1" onClick="return window.confirm('Are you sure you want to delete this <:ifMatch [child generator] "Product":>Product<:or:>Sub-catalog<:eif:>')">Delete</a><:or UserCan:><:eif UserCan:></td>
+             <td nowrap="nowrap"><:movechild:></td>
         </tr>
         <:iterator separator children:> <:iterator end children:> 
       </table>
 <:if UserCan edit_add_child:article:>
 <p>
 <form action="/cgi-bin/admin/add.pl" method="get">
-<input type=hidden name="parentid" value="<:article id:>">
-<input type=hidden name="type" value="Catalog">
+<input type="hidden" name="parentid" value="<:article id:>" />
+<input type="hidden" name="type" value="Catalog" />
 
-    <input type=submit value="Add Sub-catalog">
+    <input type="submit" value="Add Sub-catalog">
 </form>
 <form action="/cgi-bin/admin/add.pl" method="get">
-<input type=hidden name="parentid" value="<:article id:>">
-<input type=hidden name="type" value="Product">
-    <input type=submit value="Add Product">
+<input type="hidden" name="parentid" value="<:article id:>" />
+<input type="hidden" name="type" value="Product" />
+    <input type="submit" value="Add Product" />
 </form>
 <form action="/cgi-bin/admin/add.pl" method="get">
-<input type="hidden" name="parentid" value="<:article id:>">
-<input type="hidden" name="type" value="Seminar">
-    <input type=submit value="Add Seminar">
+<input type="hidden" name="parentid" value="<:article id:>" />
+<input type="hidden" name="type" value="Seminar" />
+    <input type="submit" value="Add Seminar" />
 </form><:or UserCan:><:eif UserCan:></p>
 <:eif New:> <:or HaveChildType:> <:eif HaveChildType:> 
 <p><font size="-1">BSE Release <:release:></font></p>
index 6446df0..daa310c 100644 (file)
   <h2>Product Details</h2>
 <:ifNew:><:or:><:if Or [iadminuser_count] [iadmingroup_count]:>
       <form action="/cgi-bin/admin/adminusers.pl">
-  <input type=hidden name=id value="<: article id:>">
+  <input type="hidden" name="id" value="<: article id:>" />
   <table border="0" cellspacing="0" cellpadding="0" bgcolor="#000000" class="table">
   <tr>
     <td>
         <table cellpadding="6" cellspacing="1" border="0" width="100%">
           <tr>
-            <th nowrap>
+            <th nowrap="nowrap">
 
-        <font size=2>Manage access:</font>
+        <font size="2">Manage access:</font>
         </th>
             <td bgcolor="#FFFFFF">
-              <select name=adminid>
+              <select name="adminid">
 <:iterator begin adminusers:>
-<option value=<:iadminuser id:>>User <:iadminuser logon:>
-<:iterator end adminusers:>
+<option value="<:iadminuser id:>">User <:iadminuser logon:>
+</option><:iterator end adminusers:>
 <:iterator begin admingroups:>
-<option value=<:iadmingroup id:>>Group <:iadmingroup name:>
-<:iterator end admingroups:>
+<option value="<:iadmingroup id:>">Group <:iadmingroup name:>
+</option><:iterator end admingroups:>
               </select>
-              <input type=submit name="a_showobjectart" value="Manage">
+              <input type="submit" name="a_showobjectart" value="Manage" />
       </td>
             <td bgcolor="#FFFFFF"><:help access manage:>
         </td>
             <th align="left" bgcolor="#FFFFFF">Catalog:</th>
             <td bgcolor="#FFFFFF">
 <:ifFieldPerm parentid:><select name="parentid"><:list:></select><:or:><:parent title:> (<:parent id:>)<:eif:></td>
-            <td nowrap bgcolor="#FFFFFF"><:help product catalog:> <:error_img
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product catalog:> <:error_img
               parentid:></td>
           </tr>
                  <tr> 
             <th align="left" bgcolor="#FFFFFF">Title*:</th>
             <td bgcolor="#FFFFFF"><:ifFieldPerm title:><input type="text" name="title" value="<:old title default title:>" size="60"><:or:><:product title:><:eif:> </td>
-            <td nowrap bgcolor="#FFFFFF"><:help product title:> <:error_img title:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product title:> <:error_img title:></td>
           </tr>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF">Summary*:</th>
-            <td nowrap bgcolor="#FFFFFF"><:ifFieldPerm summary:><input type="text" name="summary" value="<:old summary default summary:>" size=60><:or:><:product summary:><:eif:> </td>
-            <td nowrap bgcolor="#FFFFFF"><:help product summary:> <:error_img
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Summary*:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:ifFieldPerm summary:><input type="text" name="summary" value="<:old summary default summary:>" size=60><:or:><:product summary:><:eif:> </td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product summary:> <:error_img
             summary:></td>
           </tr>
           <tr> 
             <th align="left" bgcolor="#FFFFFF" valign="top"> Body:</th>
             <td bgcolor="#FFFFFF"> 
-              <:ifFieldPerm body:><textarea name=body rows=15 cols=60 wrap=virtual><:old body default body:></textarea><:or:><:bodytext product body:><:eif:>
+              <:ifFieldPerm body:><textarea name="body" rows="15" cols="60" wrap="virtual"><:old body default body:></textarea><:or:><:bodytext product body:><:eif:>
             </td>
-            <td nowrap bgcolor="#FFFFFF" valign="top"><:help body body:> <:error_img
+            <td nowrap="nowrap" bgcolor="#FFFFFF" valign="top"><:help body body:> <:error_img
             body:></td>
           </tr>
                  <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF">Template:</th>
-            <td nowrap bgcolor="#FFFFFF"><:ifFieldPerm template:><:templates:><:or:><:product template:><:eif:></td>
-            <td nowrap bgcolor="#FFFFFF"><:help product template:> <:error_img
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Template:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:ifFieldPerm template:><:templates:><:or:><:product template:><:eif:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product template:> <:error_img
             template:></td>
           </tr>
                  <tr> 
-            <th nowrap bgcolor="#FFFFFF" align="left">List article:</th>
+            <th nowrap="nowrap" bgcolor="#FFFFFF" align="left">List article:</th>
             <td bgcolor="#FFFFFF" width="100%"> <:if FieldPerm listed:><:list listed:><:or FieldPerm:><:if Article listed:><:ifEq [article listed] "1":>Yes<:or:>In Sections, but not menu<:eif:><:or Article:>No<:eif Article:><:eif FieldPerm:> </td>
             <td bgcolor="#FFFFFF"><:help edit listed:> <:error_img listed:></td>
           </tr>
                  <tr>
-            <th nowrap bgcolor="#FFFFFF" align="left">Flags:</th>
+            <th nowrap="nowrap" bgcolor="#FFFFFF" align="left">Flags:</th>
             <td bgcolor="#FFFFFF" width="100%"><:iterator begin flags:><:if FieldPerm flags:>
-              <input type=checkbox name=flags value="<:flag id:>" <:ifFlagSet [flag id]:>checked<:or:>
-              <:eif:>><:or FieldPerm:><:ifFlagSet [flag id]:>Yes<:or:>No<:eif:>
+              <input type="checkbox" name="flags" value="<:flag id:>" <:ifFlagSet [flag id]:>checked<:or:>
+              <:eif:> /><:or FieldPerm:><:ifFlagSet [flag id]:>Yes<:or:>No<:eif:>
               <:eif FieldPerm:><:flag desc:><:iterator separator flags:><br /><:iterator end flags:></td>
             <td bgcolor="#FFFFFF"><:help edit flags:> <:error_img flags:></td>
           </tr>
           <tr>
             <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Page title:</th>
             <td width="100%" bgcolor="#FFFFFF">
-              <:ifFieldPerm pageTitle:><input type="text" name="pageTitle" value='<:old pageTitle article pageTitle:>' size="60" maxlength="255" tabindex="7" /> (alternate title)<:or:><:article pageTitle:><:eif:>
+              <:ifFieldPerm pageTitle:><input type="text" name="pageTitle" value='<:old pageTitle article pageTitle:>' size="60" maxlength="255" /> (alternate title)<:or:><:article pageTitle:><:eif:>
             </td>
            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help edit pageTitle:> <:error_img pageTitle:></td>
           </tr>
+          <tr>
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Meta description:</th>
+            <td width="100%" bgcolor="#FFFFFF">
+              <:ifFieldPerm metaDescription:><input type="text" name="metaDescription" value='<:old metaDescription article metaDescription:>' size="60" maxlength="255" /><:or:><:article metaDescription:><:eif:>
+            </td>
+           <td nowrap="nowrap" bgcolor="#FFFFFF"><:help edit metaDescription:> <:error_img metaDescription:></td>
+          </tr>
+          <tr>
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Meta keywords:</th>
+            <td width="100%" bgcolor="#FFFFFF">
+              <:ifFieldPerm metaKeywords:><input type="text" name="metaKeywords" value='<:old metaKeywords article metaKeywords:>' size="60" maxlength="255" /> (comma separated)<:or:><:article metaKeywords:><:eif:>
+            </td>
+           <td nowrap="nowrap" bgcolor="#FFFFFF"><:help edit metaKeywords:> <:error_img metaKeywords:></td>
+          </tr>
           <tr>
             <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Author name:</th>
             <td width="100%" bgcolor="#FFFFFF" >
-              <:if FieldPerm author:><input type="text" name="author" value='<:ifCfg editor auto_author:><:old author adminuser name:><:or:><:old author:><:eif:>' size="40" maxlength="255" tabindex="7" /><:or FieldPerm:><:article author:><:eif FieldPerm:>
+              <:if FieldPerm author:><input type="text" name="author" value='<:ifCfg editor auto_author:><:old author adminuser name:><:or:><:old author:><:eif:>' size="40" maxlength="255" /><:or FieldPerm:><:article author:><:eif FieldPerm:>
             </td>
             <td nowrap="nowrap" bgcolor="#FFFFFF" ><:help edit author:> <:error_img author:></td>
           </tr>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF">Lead time:</th>
-            <td nowrap bgcolor="#FFFFFF"> 
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Lead time:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"> 
               <:ifFieldPerm leadTime:>
-              <input type="text" name="leadTime" value="<:old leadTime default leadTime:>" size=5><:or:><:product leadTime:><:eif:>
+              <input type="text" name="leadTime" value="<:old leadTime default leadTime:>" size="5" /><:or:><:product leadTime:><:eif:>
               days</td>
-            <td nowrap bgcolor="#FFFFFF"><:help product leadtime:> <:error_img
-            leadTime:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product leadtime:> <:error_img leadTime:></td>
           </tr>
           <tr> 
             <th align="left" bgcolor="#FFFFFF"><:cfg "product fields" retailPrice "Retail price":>:</th>
             <td bgcolor="#FFFFFF">$ 
-              <:ifFieldPerm retailPrice:><input type="text" name="retailPrice" value="<:old retailPrice money default retailPrice:>" size=7>
+              <:ifFieldPerm retailPrice:><input type="text" name="retailPrice" value="<:old retailPrice money default retailPrice:>" size="7" />
               (0.00)<:or:><:money product retailPrice:><:eif:> </td>
-            <td nowrap bgcolor="#FFFFFF"><:help product retail:> <:error_img retailPrice:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product retail:> <:error_img retailPrice:></td>
           </tr>
           <tr> 
             <th align="left" bgcolor="#FFFFFF">Wholesale price:</th>
             <td bgcolor="#FFFFFF">$ 
-              <:ifFieldPerm wholesalePrice:><input type="text" name="wholesalePrice" value="<:old wholesalePrice money default wholesalePrice:>" size=7>
+              <:ifFieldPerm wholesalePrice:><input type="text" name="wholesalePrice" value="<:old wholesalePrice money default wholesalePrice:>" size="7" />
               (0.00)<:or:><:money product wholesalePrice:><:eif:></td>
-            <td nowrap bgcolor="#FFFFFF"><:help product wholesale:> <:error_img wholesalePrice:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product wholesale:> <:error_img wholesalePrice:></td>
           </tr>
           <tr> 
             <th align="left" bgcolor="#FFFFFF">GST:</th>
             <td bgcolor="#FFFFFF">$ 
-              <:ifFieldPerm gst:><input type="text" name="gst" value="<:old gst money default gst:>" size=7>
+              <:ifFieldPerm gst:><input type="text" name="gst" value="<:old gst money default gst:>" size="7" />
               (0.00)<:or:><:money product gst:><:eif:></td>
-            <td nowrap bgcolor="#FFFFFF"><:help product gst:> <:error_img gst:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product gst:> <:error_img gst:></td>
           </tr>
           <tr> 
             <th align="left" bgcolor="#FFFFFF">Release date:</th>
             <td bgcolor="#FFFFFF"> 
-              <:ifFieldPerm release:><input type="text" name="release" value="<:old release date "%d/%m/%Y" default release:>" size=11>
+              <:ifFieldPerm release:><input type="text" name="release" value="<:old release date "%d/%m/%Y" default release:>" size="11" />
               (dd/mm/yyyy)<:or:><:date "%d/%m/%Y" product release:><:eif:></td>
-            <td nowrap bgcolor="#FFFFFF"><:help product release:> <:error_img
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product release:> <:error_img
             release:></td>
           </tr>
           <tr> 
             <th align="left" bgcolor="#FFFFFF">Expiry date:</th>
             <td bgcolor="#FFFFFF"> 
-              <:ifFieldPerm expire:><input type="text" name="expire" value="<:old expire date "%d/%m/%Y" default expire:>" size=11>
+              <:ifFieldPerm expire:><input type="text" name="expire" value="<:old expire date "%d/%m/%Y" default expire:>" size="11" />
               (dd/mm/yyyy)<:or:><:date "%d/%m/%Y" product expire:><:eif:></td>
-            <td nowrap bgcolor="#FFFFFF"><:help product expire:> <:error_img
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product expire:> <:error_img
             expire:></td>
           </tr>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF">Summary length:</th>
-            <td nowrap bgcolor="#FFFFFF"> 
-              <:ifFieldPerm summaryLength:><input type="text" name="summaryLength" size="10" maxlength="10" value="<:old summaryLength default summaryLength:>"><:or:><:product summaryLength:><:eif:>
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Summary length:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"> 
+              <:ifFieldPerm summaryLength:><input type="text" name="summaryLength" size="10" maxlength="10" value="<:old summaryLength default summaryLength:>" /><:or:><:product summaryLength:><:eif:>
             </td>
-            <td nowrap bgcolor="#FFFFFF"><:help product summary:> <:error_img
-            summaryLength:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product summary:> <:error_img summaryLength:></td>
           </tr>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF">Display threshold:</th>
-            <td nowrap bgcolor="#FFFFFF"> 
-              <:ifFieldPerm threshold:><input type="text" name="threshold" size=10 maxlength=10 value="<:old threshold default threshold:>"><:or:><:product threshold:><:eif:>
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Display threshold:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"> 
+              <:ifFieldPerm threshold:><input type="text" name="threshold" size="10" maxlength="10" value="<:old threshold default threshold:>" /><:or:><:product threshold:><:eif:>
             </td>
-            <td nowrap bgcolor="#FFFFFF"><:help product threshold:> <:error_img
-            threshold:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product threshold:> <:error_img threshold:></td>
           </tr>
           <tr> 
-            <th bgcolor="#FFFFFF" nowrap align="left"> Keywords: </th>
+            <th bgcolor="#FFFFFF" nowrap="nowrap" align="left"> Keywords: </th>
             <td bgcolor="#FFFFFF" width="100%"> 
-              <:ifFieldPerm keyword:><input type="text" name="keyword" maxlength="255" size="60" value="<: old keyword default keyword :>"><:or:><: article threshold :><:eif:>
+              <:ifFieldPerm keyword:><input type="text" name="keyword" maxlength="255" size="60" value="<: old keyword default keyword :>" /><:or:><: article threshold :><:eif:>
               (comma separated) </td>
-            <td nowrap bgcolor="#FFFFFF"><:help catalog keywords:> <:error_img keyword:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help catalog keywords:> <:error_img keyword:></td>
           </tr>
           <tr> 
             <th nowrap="nowrap" bgcolor="#FFFFFF" align="left">Always Dynamic:</th>
           <tr> 
             <th align="left" bgcolor="#FFFFFF">Options:</th>
             <td bgcolor="#FFFFFF"> 
-              <:ifFieldPerm options:><input type="text" name="options" value="<:old options default options:>" size=30>
+              <:ifFieldPerm options:><input type="text" name="options" value="<:old options default options:>" size="30" />
               (<:alloptions:>)<:or:><:product options:><:eif:> </td>
             <td bgcolor="#FFFFFF"><:help product options:> <:error_img options:></td>
           </tr>
 <:include admin/product_custom.tmpl optional:>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF" valign="top">Thumbnail image:</th>
-            <td nowrap bgcolor="#FFFFFF"> 
-              <:ifFieldPerm thumbImage:><input type="file" name="thumbnail"><:or:><:eif:>
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF" valign="top">Thumbnail image:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"> 
+              <:ifFieldPerm thumbImage:><input type="file" name="thumbnail" /><:or:><:eif:>
               <:ifProduct thumbImage:><img src="/images/<:product thumbImage:>"> 
-              <:if FieldPerm thumbImage:><input type=checkbox name="remove_thumb">
+              <:if FieldPerm thumbImage:><input type="checkbox" name="remove_thumb" />
               Remove<:or FieldPerm:><:eif FieldPerm:><:or:><:eif:> </td>
-            <td nowrap bgcolor="#FFFFFF" valign="top"><:help product thumb:> <:error_img
+            <td nowrap="nowrap" bgcolor="#FFFFFF" valign="top"><:help product thumb:> <:error_img
             thumbImage:></td>
           </tr>
                  <:if Article id:>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF" valign="top"><a name="files"></a>Files:</th>
-            <td nowrap bgcolor="#FFFFFF"> <:if Files:> 
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF" valign="top"><a name="files"></a>Files:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"> <:if Files:> 
               <table cellpadding="0" cellspacing="0" border="0" bgcolor="#333333">
                 <tr> 
                   <td> 
                         <td><:file displayName:></td>
                         <td align="center"><:kb file sizeInBytes:></td>
                         <td><:file contentType:></td>
-                        <td align=center><:ifFile download:>Yes<:or:>No<:eif:></td>
-                        <td align=center><:ifFile forSale:>Yes<:or:>No<:eif:></td>
-                        <td align=center><:ifFile requireUser:>Yes<:or:>No<:eif:></td>
+                        <td align="center"><:ifFile download:>Yes<:or:>No<:eif:></td>
+                        <td align="center"><:ifFile forSale:>Yes<:or:>No<:eif:></td>
+                        <td align="center"><:ifFile requireUser:>Yes<:or:>No<:eif:></td>
                       </tr>
                       <:iterator end files:> 
                     </table>
               <:or Files:>
               <p>No files are attached to this article. <a href="<:script:>?filelist=1&id=<:article id:>"><b>Manage Files</b></a></p><:eif Files:>
             </td>
-            <td nowrap bgcolor="#FFFFFF" valign="top"><:help product 
+            <td nowrap="nowrap" bgcolor="#FFFFFF" valign="top"><:help product 
               files:> <:error_img files:></td>
           </tr>
           <tr> 
-            <th valign="top" nowrap bgcolor="#FFFFFF" align="left"> Images: 
+            <th valign="top" nowrap="nowrap" bgcolor="#FFFFFF" align="left"> Images: 
             </th>
             <td align="center" bgcolor="#FFFFFF"> <:if Images:> <:iterator begin 
               images:> <img src="/images/<: image image :>" alt="<:image alt :>" width= 
           </tr>
                  <:or Article:><:eif Article:>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF">Purchase subscribes to:</th>
-            <td nowrap bgcolor="#FFFFFF"> 
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Purchase subscribes to:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"> 
              <select name="subscription_id">
                 <option value="-1"<:ifEq [old subscription_id] "-1":> selected="selected"<:or:><:eif:>>(nothing)</option>
 <:iterator begin subscriptions:>
 <:iterator end subscriptions:>
              </select> for <input type="text" name="subscription_period" value="<:ifEq [old subscription_period] "":><:default subscription_period:><:or:><:old subscription_period:><:eif:>" size="3" /><:error_img subscription_period:> months.
             </td>
-            <td nowrap bgcolor="#FFFFFF"><:help product subscription_id:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product subscription_id:></td>
           </tr>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF">Can be used to:</th>
-            <td nowrap bgcolor="#FFFFFF"> 
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Can be used to:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"> 
              <select name="subscription_usage">
                 <option value="3"<:ifEq [old subscription_usage] "3":> selected="selected"<:or:><:eif:>>Start or renew a subscription</option>
                 <option value="1"<:ifEq [old subscription_usage] "1":> selected="selected"<:or:><:eif:>>Start a subscription only</option>
                 <option value="2"<:ifEq [old subscription_usage] "2":> selected="selected"<:or:><:eif:>>Renew a subscription only</option>
              </select>
             </td>
-            <td nowrap bgcolor="#FFFFFF"><:help product subscription_usage:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product subscription_usage:></td>
           </tr>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF">User must be subscribed to:</th>
-            <td nowrap bgcolor="#FFFFFF"> 
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">User must be subscribed to:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"> 
              <select name="subscription_required">
                 <option value="-1"<:ifEq [old subscription_required] "-1":> selected="selected"<:or:><:eif:>>(nothing)</option>
 <:iterator begin subscriptions:>
 <:iterator end subscriptions:>
              </select> to purchase this product
             </td>
-            <td nowrap bgcolor="#FFFFFF"><:help product subscription_id:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product subscription_id:></td>
           </tr>
         </table>
       </td>
       included in an order.</font></p>
   <:if UserCan edit_save:article:>
   <p>
-    <:ifNew:><input type=submit name="save" value="Add Product"><:or:><input type=submit name="save" value="Update Product"><:eif:>
+    <:ifNew:><input type="submit" name="save" value="Add Product" /><:or:><input type="submit" name="save" value="Update Product" /><:eif:>
   </p><:or UserCan:><:eif UserCan:>
 </form>
 
index 0b780b0..bba316f 100644 (file)
   <h2>Seminar Details</h2>
 <:ifNew:><:or:><:if Or [iadminuser_count] [iadmingroup_count]:>
       <form action="/cgi-bin/admin/adminusers.pl">
-  <input type="hidden" name=id value="<: article id:>" />
+  <input type="hidden" name="id" value="<: article id:>" />
   <table border="0" cellspacing="0" cellpadding="0" bgcolor="#000000" class="table">
   <tr>
     <td>
         <table cellpadding="6" cellspacing="1" border="0" width="100%">
           <tr>
-            <th nowrap>
+            <th nowrap="nowrap">
 
-        <font size=2>Manage access:</font>
+        <font size="2">Manage access:</font>
         </th>
             <td bgcolor="#FFFFFF">
-              <select name=adminid>
+              <select name="adminid">
 <:iterator begin adminusers:>
-<option value=<:iadminuser id:>>User <:iadminuser logon:>
-<:iterator end adminusers:>
+<option value="<:iadminuser id:>">User <:iadminuser logon:>
+</option><:iterator end adminusers:>
 <:iterator begin admingroups:>
-<option value=<:iadmingroup id:>>Group <:iadmingroup name:>
-<:iterator end admingroups:>
+<option value="<:iadmingroup id:>">Group <:iadmingroup name:>
+</option><:iterator end admingroups:>
               </select>
-              <input type=submit name="a_showobjectart" value="Manage">
+              <input type="submit" name="a_showobjectart" value="Manage">
       </td>
             <td bgcolor="#FFFFFF"><:help access manage:>
         </td>
             <th align="left" bgcolor="#FFFFFF">Catalog:</th>
             <td bgcolor="#FFFFFF">
 <:ifFieldPerm parentid:><select name="parentid"><:list:></select><:or:><:parent title:> (<:parent id:>)<:eif:></td>
-            <td nowrap bgcolor="#FFFFFF"><:help product catalog:> <:error_img
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product catalog:> <:error_img
               parentid:></td>
           </tr>
                  <tr> 
             <th align="left" bgcolor="#FFFFFF">Title*:</th>
-            <td bgcolor="#FFFFFF"><:ifFieldPerm title:><input type="text" name="title" value="<:old title default title:>" size="60"><:or:><:seminar title:><:eif:> </td>
-            <td nowrap bgcolor="#FFFFFF"><:help product title:> <:error_img title:></td>
+            <td bgcolor="#FFFFFF"><:ifFieldPerm title:><input type="text" name="title" value="<:old title default title:>" size="60" /><:or:><:seminar title:><:eif:> </td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product title:> <:error_img title:></td>
           </tr>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF">Summary*:</th>
-            <td nowrap bgcolor="#FFFFFF"><:ifFieldPerm summary:><input type="text" name="summary" value="<:old summary default summary:>" size=60><:or:><:seminar summary:><:eif:> </td>
-            <td nowrap bgcolor="#FFFFFF"><:help product summary:> <:error_img
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Summary*:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:ifFieldPerm summary:><input type="text" name="summary" value="<:old summary default summary:>" size="60" /><:or:><:seminar summary:><:eif:> </td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product summary:> <:error_img
             summary:></td>
           </tr>
           <tr> 
             <th align="left" bgcolor="#FFFFFF" valign="top"> Body:</th>
             <td bgcolor="#FFFFFF"> 
-              <:ifFieldPerm body:><textarea name=body rows=15 cols=60 wrap=virtual><:old body default body:></textarea><:or:><:bodytext seminar body:><:eif:>
+              <:ifFieldPerm body:><textarea name="body" rows="15" cols="60" wrap="virtual"><:old body default body:></textarea><:or:><:bodytext seminar body:><:eif:>
             </td>
-            <td nowrap bgcolor="#FFFFFF" valign="top"><:help body body:> <:error_img
-            body:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF" valign="top"><:help body body:> <:error_img body:></td>
           </tr>
                  <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF"><:cfg "seminar fields" duration "Duration":>:</th>
-            <td nowrap bgcolor="#FFFFFF"><:ifFieldPerm duration:><input type="text" name="duration" value="<:old duration default duration:>" size="10" /> minutes<:or:><:seminar duration:><:eif:></td>
-            <td nowrap bgcolor="#FFFFFF"><:help product duration:> <:error_img
-            duration:></td>
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF"><:cfg "seminar fields" duration "Duration":>:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:ifFieldPerm duration:><input type="text" name="duration" value="<:old duration default duration:>" size="10" /> minutes<:or:><:seminar duration:><:eif:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product duration:> <:error_img duration:></td>
           </tr>
                  <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF">Template:</th>
-            <td nowrap bgcolor="#FFFFFF"><:ifFieldPerm template:><:templates:><:or:><:seminar template:><:eif:></td>
-            <td nowrap bgcolor="#FFFFFF"><:help product template:> <:error_img
-            template:></td>
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Template:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:ifFieldPerm template:><:templates:><:or:><:seminar template:><:eif:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product template:> <:error_img template:></td>
           </tr>
                  <tr> 
-            <th nowrap bgcolor="#FFFFFF" align="left">List article:</th>
+            <th nowrap="nowrap" bgcolor="#FFFFFF" align="left">List article:</th>
             <td bgcolor="#FFFFFF" width="100%"> <:if FieldPerm listed:><:list listed:><:or FieldPerm:><:if Article listed:><:ifEq [article listed] "1":>Yes<:or:>In Sections, but not menu<:eif:><:or Article:>No<:eif Article:><:eif FieldPerm:> </td>
             <td bgcolor="#FFFFFF"><:help edit listed:> <:error_img listed:></td>
           </tr>
                  <tr>
-            <th nowrap bgcolor="#FFFFFF" align="left">Flags:</th>
+            <th nowrap="nowrap" bgcolor="#FFFFFF" align="left">Flags:</th>
             <td bgcolor="#FFFFFF" width="100%"><:iterator begin flags:><:if FieldPerm flags:>
-              <input type=checkbox name=flags value="<:flag id:>" <:ifFlagSet [flag id]:>checked<:or:>
-              <:eif:>><:or FieldPerm:><:ifFlagSet [flag id]:>Yes<:or:>No<:eif:>
+              <input type="checkbox" name="flags" value="<:flag id:>" <:ifFlagSet [flag id]:>checked<:or:>
+              <:eif:> /><:or FieldPerm:><:ifFlagSet [flag id]:>Yes<:or:>No<:eif:>
               <:eif FieldPerm:><:flag desc:><:iterator separator flags:><br /><:iterator end flags:></td>
             <td bgcolor="#FFFFFF"><:help edit flags:> <:error_img flags:></td>
           </tr>
           <tr>
             <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Page title:</th>
             <td width="100%" bgcolor="#FFFFFF">
-              <:ifFieldPerm pageTitle:><input type="text" name="pageTitle" value='<:old pageTitle article pageTitle:>' size="60" maxlength="255" tabindex="7" /> (alternate title)<:or:><:article pageTitle:><:eif:>
+              <:ifFieldPerm pageTitle:><input type="text" name="pageTitle" value='<:old pageTitle article pageTitle:>' size="60" maxlength="255" /> (alternate title)<:or:><:article pageTitle:><:eif:>
             </td>
            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help edit pageTitle:> <:error_img pageTitle:></td>
           </tr>
+          <tr>
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Meta description:</th>
+            <td width="100%" bgcolor="#FFFFFF">
+              <:ifFieldPerm metaDescription:><input type="text" name="metaDescription" value='<:old metaDescription article metaDescription:>' size="60" maxlength="255" /><:or:><:article metaDescription:><:eif:>
+            </td>
+           <td nowrap="nowrap" bgcolor="#FFFFFF"><:help edit metaDescription:> <:error_img metaDescription:></td>
+          </tr>
+          <tr>
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Meta keywords:</th>
+            <td width="100%" bgcolor="#FFFFFF">
+              <:ifFieldPerm metaKeywords:><input type="text" name="metaKeywords" value='<:old metaKeywords article metaKeywords:>' size="60" maxlength="255" /> (comma separated)<:or:><:article metaKeywords:><:eif:>
+            </td>
+           <td nowrap="nowrap" bgcolor="#FFFFFF"><:help edit metaKeywords:> <:error_img metaKeywords:></td>
+          </tr>
           <tr>
             <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Author name:</th>
             <td width="100%" bgcolor="#FFFFFF" >
-              <:if FieldPerm author:><input type="text" name="author" value='<:ifCfg editor auto_author:><:old author adminuser name:><:or:><:old author:><:eif:>' size="40" maxlength="255" tabindex="7" /><:or FieldPerm:><:article author:><:eif FieldPerm:>
+              <:if FieldPerm author:><input type="text" name="author" value='<:ifCfg editor auto_author:><:old author adminuser name:><:or:><:old author:><:eif:>' size="40" maxlength="255" /><:or FieldPerm:><:article author:><:eif FieldPerm:>
             </td>
             <td nowrap="nowrap" bgcolor="#FFFFFF" ><:help edit author:> <:error_img author:></td>
           </tr>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF">Lead time:</th>
-            <td nowrap bgcolor="#FFFFFF"> 
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Lead time:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"> 
               <:ifFieldPerm leadTime:>
-              <input type="text" name="leadTime" value="<:old leadTime default leadTime:>" size=5><:or:><:seminar leadTime:><:eif:>
+              <input type="text" name="leadTime" value="<:old leadTime default leadTime:>" size="5"><:or:><:seminar leadTime:><:eif:>
               days</td>
-            <td nowrap bgcolor="#FFFFFF"><:help product leadtime:> <:error_img
-            leadTime:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product leadtime:> <:error_img leadTime:></td>
           </tr>
           <tr> 
             <th align="left" bgcolor="#FFFFFF"><:cfg "product fields" retailPrice "Retail price":>:</th>
             <td bgcolor="#FFFFFF">$ 
-              <:ifFieldPerm retailPrice:><input type="text" name="retailPrice" value="<:old retailPrice money default retailPrice:>" size=7>
+              <:ifFieldPerm retailPrice:><input type="text" name="retailPrice" value="<:old retailPrice money default retailPrice:>" size="7">
               (0.00)<:or:><:money seminar retailPrice:><:eif:> </td>
-            <td nowrap bgcolor="#FFFFFF"><:help product retail:> <:error_img retailPrice:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product retail:> <:error_img retailPrice:></td>
           </tr>
           <tr> 
             <th align="left" bgcolor="#FFFFFF">Wholesale price:</th>
             <td bgcolor="#FFFFFF">$ 
-              <:ifFieldPerm wholesalePrice:><input type="text" name="wholesalePrice" value="<:old wholesalePrice money default wholesalePrice:>" size=7>
+              <:ifFieldPerm wholesalePrice:><input type="text" name="wholesalePrice" value="<:old wholesalePrice money default wholesalePrice:>" size="7">
               (0.00)<:or:><:money seminar wholesalePrice:><:eif:></td>
-            <td nowrap bgcolor="#FFFFFF"><:help product wholesale:> <:error_img wholesalePrice:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product wholesale:> <:error_img wholesalePrice:></td>
           </tr>
           <tr> 
             <th align="left" bgcolor="#FFFFFF">GST:</th>
             <td bgcolor="#FFFFFF">$ 
-              <:ifFieldPerm gst:><input type="text" name="gst" value="<:old gst money default gst:>" size=7>
+              <:ifFieldPerm gst:><input type="text" name="gst" value="<:old gst money default gst:>" size="7" />
               (0.00)<:or:><:money seminar gst:><:eif:></td>
-            <td nowrap bgcolor="#FFFFFF"><:help product gst:> <:error_img gst:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product gst:> <:error_img gst:></td>
           </tr>
           <tr> 
             <th align="left" bgcolor="#FFFFFF">Release date:</th>
             <td bgcolor="#FFFFFF"> 
-              <:ifFieldPerm release:><input type="text" name="release" value="<:old release date "%d/%m/%Y" default release:>" size=11>
+              <:ifFieldPerm release:><input type="text" name="release" value="<:old release date "%d/%m/%Y" default release:>" size="11" />
               (dd/mm/yyyy)<:or:><:date "%d/%m/%Y" seminar release:><:eif:></td>
-            <td nowrap bgcolor="#FFFFFF"><:help product release:> <:error_img
-            release:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product release:> <:error_img release:></td>
           </tr>
           <tr> 
             <th align="left" bgcolor="#FFFFFF">Expiry date:</th>
             <td bgcolor="#FFFFFF"> 
-              <:ifFieldPerm expire:><input type="text" name="expire" value="<:old expire date "%d/%m/%Y" default expire:>" size=11>
+              <:ifFieldPerm expire:><input type="text" name="expire" value="<:old expire date "%d/%m/%Y" default expire:>" size="11" />
               (dd/mm/yyyy)<:or:><:date "%d/%m/%Y" seminar expire:><:eif:></td>
-            <td nowrap bgcolor="#FFFFFF"><:help product expire:> <:error_img
-            expire:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product expire:> <:error_img expire:></td>
           </tr>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF">Summary length:</th>
-            <td nowrap bgcolor="#FFFFFF"> 
-              <:ifFieldPerm summaryLength:><input type="text" name="summaryLength" size="10" maxlength="10" value="<:old summaryLength default summaryLength:>"><:or:><:seminar summaryLength:><:eif:>
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Summary length:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"> 
+              <:ifFieldPerm summaryLength:><input type="text" name="summaryLength" size="10" maxlength="10" value="<:old summaryLength default summaryLength:>" /><:or:><:seminar summaryLength:><:eif:>
             </td>
-            <td nowrap bgcolor="#FFFFFF"><:help product summary:> <:error_img
-            summaryLength:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product summary:> <:error_img summaryLength:></td>
           </tr>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF">Display threshold:</th>
-            <td nowrap bgcolor="#FFFFFF"> 
-              <:ifFieldPerm threshold:><input type="text" name="threshold" size=10 maxlength=10 value="<:old threshold default threshold:>"><:or:><:seminar threshold:><:eif:>
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Display threshold:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"> 
+              <:ifFieldPerm threshold:><input type="text" name="threshold" size="10" maxlength="10" value="<:old threshold default threshold:>" /><:or:><:seminar threshold:><:eif:>
             </td>
-            <td nowrap bgcolor="#FFFFFF"><:help product threshold:> <:error_img
-            threshold:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product threshold:> <:error_img threshold:></td>
           </tr>
           <tr> 
             <th align="left" bgcolor="#FFFFFF">Options:</th>
             <td bgcolor="#FFFFFF"> 
-              <:ifFieldPerm options:><input type="text" name="options" value="<:old options default options:>" size=30>
+              <:ifFieldPerm options:><input type="text" name="options" value="<:old options default options:>" size="30">
               (<:alloptions:>)<:or:><:seminar options:><:eif:> </td>
             <td bgcolor="#FFFFFF"><:help product options:> <:error_img options:></td>
           </tr>
           <tr> 
-            <th bgcolor="#FFFFFF" nowrap align="left"> Keywords: </th>
+            <th bgcolor="#FFFFFF" nowrap="nowrap" align="left"> Keywords: </th>
             <td bgcolor="#FFFFFF" width="100%"> 
               <:ifFieldPerm keyword:><input type="text" name="keyword" maxlength="255" size="60" value="<: old keyword default keyword :>"><:or:><: article threshold :><:eif:>
               (comma separated) </td>
-            <td nowrap bgcolor="#FFFFFF"><:help catalog keywords:> <:error_img keyword:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help catalog keywords:> <:error_img keyword:></td>
           </tr>
           <tr> 
             <th nowrap="nowrap" bgcolor="#FFFFFF" align="left">Always Dynamic:</th>
           </tr>
 <:include admin/seminar_custom.tmpl optional:>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF" valign="top">Thumbnail image:</th>
-            <td nowrap bgcolor="#FFFFFF"> 
-              <:ifFieldPerm thumbImage:><input type="file" name="thumbnail"><:or:><:eif:>
-              <:ifSeminar thumbImage:><img src="/images/<:seminar thumbImage:>"> 
-              <:if FieldPerm thumbImage:><input type=checkbox name="remove_thumb">
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF" valign="top">Thumbnail image:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"> 
+              <:ifFieldPerm thumbImage:><input type="file" name="thumbnail" /><:or:><:eif:>
+              <:ifSeminar thumbImage:><img src="/images/<:seminar thumbImage:>" /
+              <:if FieldPerm thumbImage:><input type="checkbox" name="remove_thumb" />
               Remove<:or FieldPerm:><:eif FieldPerm:><:or:><:eif:> </td>
-            <td nowrap bgcolor="#FFFFFF" valign="top"><:help product thumb:> <:error_img
+            <td nowrap="nowrap" bgcolor="#FFFFFF" valign="top"><:help product thumb:> <:error_img
             thumbImage:></td>
           </tr>
                  <:if Article id:>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF" valign="top"><a name="files"></a>Files:</th>
-            <td nowrap bgcolor="#FFFFFF"> <:if Files:> 
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF" valign="top"><a name="files"></a>Files:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"> <:if Files:> 
               <table cellpadding="0" cellspacing="0" border="0" bgcolor="#333333">
                 <tr> 
                   <td> 
                         <td><:file displayName:></td>
                         <td align="center"><:kb file sizeInBytes:></td>
                         <td><:file contentType:></td>
-                        <td align=center><:ifFile download:>Yes<:or:>No<:eif:></td>
-                        <td align=center><:ifFile forSale:>Yes<:or:>No<:eif:></td>
-                        <td align=center><:ifFile requireUser:>Yes<:or:>No<:eif:></td>
+                        <td align="center"><:ifFile download:>Yes<:or:>No<:eif:></td>
+                        <td align="center"><:ifFile forSale:>Yes<:or:>No<:eif:></td>
+                        <td align="center"><:ifFile requireUser:>Yes<:or:>No<:eif:></td>
                       </tr>
                       <:iterator end files:> 
                     </table>
               <:or Files:>
               <p>No files are attached to this article. <a href="<:script:>?filelist=1&id=<:article id:>"><b>Manage Files</b></a></p><:eif Files:>
             </td>
-            <td nowrap bgcolor="#FFFFFF" valign="top"><:help product 
+            <td nowrap="nowrap" bgcolor="#FFFFFF" valign="top"><:help product 
               files:> <:error_img files:></td>
           </tr>
           <tr> 
-            <th valign="top" nowrap bgcolor="#FFFFFF" align="left"> Images: 
+            <th valign="top" nowrap="nowrap" bgcolor="#FFFFFF" align="left"> Images: 
             </th>
             <td align="center" bgcolor="#FFFFFF"> <:if Images:> <:iterator begin 
               images:> <img src="/images/<: image image :>" alt="<:image alt :>" width= 
           </tr>
                  <:or Article:><:eif Article:>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF">Purchase subscribes to:</th>
-            <td nowrap bgcolor="#FFFFFF"> 
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Purchase subscribes to:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"> 
              <select name="subscription_id">
                 <option value="-1"<:ifEq [old subscription_id] "-1":> selected="selected"<:or:><:eif:>>(nothing)</option>
 <:iterator begin subscriptions:>
 <:iterator end subscriptions:>
              </select> for <input type="text" name="subscription_period" value="<:ifEq [old subscription_period] "":><:default subscription_period:><:or:><:old subscription_period:><:eif:>" size="3" /><:error_img subscription_period:> months.
             </td>
-            <td nowrap bgcolor="#FFFFFF"><:help product subscription_id:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product subscription_id:></td>
           </tr>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF">Can be used to:</th>
-            <td nowrap bgcolor="#FFFFFF"> 
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">Can be used to:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"> 
              <select name="subscription_usage">
                 <option value="3"<:ifEq [old subscription_usage] "3":> selected="selected"<:or:><:eif:>>Start or renew a subscription</option>
                 <option value="1"<:ifEq [old subscription_usage] "1":> selected="selected"<:or:><:eif:>>Start a subscription only</option>
                 <option value="2"<:ifEq [old subscription_usage] "2":> selected="selected"<:or:><:eif:>>Renew a subscription only</option>
              </select>
             </td>
-            <td nowrap bgcolor="#FFFFFF"><:help product subscription_usage:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product subscription_usage:></td>
           </tr>
           <tr> 
-            <th nowrap align="left" bgcolor="#FFFFFF">User must be subscribed to:</th>
-            <td nowrap bgcolor="#FFFFFF"> 
+            <th nowrap="nowrap" align="left" bgcolor="#FFFFFF">User must be subscribed to:</th>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"> 
              <select name="subscription_required">
                 <option value="-1"<:ifEq [old subscription_required] "-1":> selected="selected"<:or:><:eif:>>(nothing)</option>
 <:iterator begin subscriptions:>
 <:iterator end subscriptions:>
              </select> to purchase this product
             </td>
-            <td nowrap bgcolor="#FFFFFF"><:help product subscription_id:></td>
+            <td nowrap="nowrap" bgcolor="#FFFFFF"><:help product subscription_id:></td>
           </tr>
         </table>
       </td>
       included in an order.</font></p>
   <:if UserCan edit_save:article:>
   <p>
-    <:ifNew:><input type=submit name="save" value="Add Seminar"><:or:><input type=submit name="save" value="Update Seminar"><:eif:>
+    <:ifNew:><input type="submit" name="save" value="Add Seminar" /><:or:><input type="submit" name="save" value="Update Seminar" /><:eif:>
   </p><:or UserCan:><:eif UserCan:>
 </form>
 
index 61bbc39..e9c6bef 100644 (file)
@@ -52,6 +52,8 @@ my @prebuilt =
     force_dynamic => 0,
     cached_dynamic => 0,
     inherit_siteuser_rights => 1,
+    metaDescription=>'',
+    metaKeywords=>'',
    },
    {
     # the invisible subsection for what's hot
@@ -86,6 +88,8 @@ my @prebuilt =
     force_dynamic => 0,
     cached_dynamic => 0,
     inherit_siteuser_rights => 1,
+    metaDescription=>'',
+    metaKeywords=>'',
    },
    {
     id=>3,
@@ -119,6 +123,8 @@ my @prebuilt =
     force_dynamic => 0,
     cached_dynamic => 0,
     inherit_siteuser_rights => 1,
+    metaDescription=>'',
+    metaKeywords=>'',
    },
    {
     id=>4,
@@ -152,6 +158,8 @@ my @prebuilt =
     force_dynamic => 0,
     cached_dynamic => 0,
     inherit_siteuser_rights => 1,
+    metaDescription=>'',
+    metaKeywords=>'',
    },
    {
     id=>5,
@@ -185,6 +193,8 @@ my @prebuilt =
     force_dynamic => 0,
     cached_dynamic => 0,
     inherit_siteuser_rights => 1,
+    metaDescription=>'',
+    metaKeywords=>'',
    },
    {
     id=>6,
@@ -448,6 +458,8 @@ EOS
     force_dynamic => 0,
     cached_dynamic => 0,
     inherit_siteuser_rights => 1,
+    metaDescription=>'',
+    metaKeywords=>'',
    },
    {
     id=>7,
@@ -485,6 +497,8 @@ EOS
     force_dynamic => 0,
     cached_dynamic => 0,
     inherit_siteuser_rights => 1,
+    metaDescription=>'',
+    metaKeywords=>'',
    },
    {
     id=>8,
@@ -522,6 +536,8 @@ EOS
     force_dynamic => 0,
     cached_dynamic => 0,
     inherit_siteuser_rights => 1,
+    metaDescription=>'',
+    metaKeywords=>'',
    },
   );
 
index 13fff52..e6dd57f 100644 (file)
@@ -264,6 +264,7 @@ sub add_article {
      lastModifiedBy=>'t20gen', created=>sql_datetime(time),
      createdBy=>'t20gen', author=>'', pageTitle=>'',
      cached_dynamic => 0, force_dynamic=>0, inherit_siteuser_rights => 1,
+     metaDescription => '',  metaKeywords => '',
     );
   for my $key (%defaults) {
     unless (exists $parms{$key}) {
index ebaabee..b3a1234 100644 (file)
@@ -273,6 +273,7 @@ sub add_article {
      lastModifiedBy=>'t21gencat', created=>sql_datetime(time),
      createdBy=>'t21gencat', author=>'', pageTitle=>'',
      cached_dynamic => 0, force_dynamic=>0, inherit_siteuser_rights => 1,
+     metaDescription => '',  metaKeywords => '',
     );
   for my $key (%defaults) {
     unless (exists $parms{$key}) {
index b542838..02a1f2e 100644 (file)
--- a/test.cfg
+++ b/test.cfg
@@ -185,4 +185,4 @@ shop.free_products=1
 
 body class.link=
 
-body class.p=bsep
\ No newline at end of file
+#body class.p=bsep
\ No newline at end of file