Commit 8ebd7a6a authored by Frank Bergmann's avatar Frank Bergmann

- Upgrade to V4.0

parent cfd6370e
......@@ -2,20 +2,19 @@
<!-- Generated by the OpenACS Package Manager -->
<package key="acs-templating" url="http://openacs.org/repository/apm/packages/acs-templating/" type="apm_service">
<license>GPL V2.0 or any later version</license>
<package-name>Templating</package-name>
<pretty-plural>Templating Services</pretty-plural>
<initial-install-p>t</initial-install-p>
<singleton-p>t</singleton-p>
<implements-subsite-p>f</implements-subsite-p>
<inherit-templates-p>t</inherit-templates-p>
<version name="5.1.5" url="http://openacs.org/repository/download/apm/acs-templating-5.1.5.apm">
<version name="5.6.0" url="http://openacs.org/repository/download/apm/acs-templating-5.6.0.apm">
<owner url="http://openacs.org">OpenACS</owner>
<summary>Templating library.</summary>
<release-date>2004-02-28</release-date>
<maturity>3</maturity>
<release-date>2010-06-17</release-date>
<vendor url="http://openacs.org">OpenACS</vendor>
<description format="text/html">
The templating system provides the tag library and support routines
<description format="text/html">The templating system provides the tag library and support routines
that allow developers and graphic designers to work
independently. Templates specify the layout of the page seperately
from the contents of the page. Graphic designers work primarily on the
......@@ -25,28 +24,53 @@ primarily a script that generates the the content part of the template
single layout specification for many physical pages, so the overall
layout of a site can be more easily administered.
</description>
<license>GPL version 2</license>
<maturity>3</maturity>
<provides url="acs-templating" version="5.1.4"/>
<requires url="acs-kernel" version="5.0.0"/>
<provides url="acs-templating" version="5.6.0"/>
<requires url="acs-kernel" version="5.6.0"/>
<callbacks>
<callback type="before-upgrade" proc="template::apm::before_upgrade"/>
</callbacks>
<parameters>
<parameter datatype="string" min_n_values="1" max_n_values="1" name="DefaultFormStyle" default="standard" description="The default form template to use if a particular form does not explicitly specify the form style to use."/>
<parameter datatype="string" min_n_values="1" max_n_values="1" name="DefaultListFilterStyle" default="filters" description="The default list filter template to use if a particular listfilter tag does not explicitly specify the list filter style to use."/>
<parameter datatype="string" min_n_values="1" max_n_values="1" name="DefaultListStyle" default="table" description="The default list template to use if a particular list does not explicitly specify the list style to use."/>
<parameter datatype="string" min_n_values="1" max_n_values="1" name="RefreshCache" default="as needed" description="When to re-translate templates. Specal values: 'as_needed' "/>
<parameter datatype="number" min_n_values="1" max_n_values="1" name="ShowCompiledTemplatesP" default="0" description="Show the compiled template (for debugging) at .cmp URL"/>
<parameter datatype="string" min_n_values="1" max_n_values="1" name="DefaultFormStyle" default="standard" description="The default form template to use if a particular form does not explicitly specify the form style to use. &lt;br&gt; Relative to [acs_root_dir]/packages/acs-templating/resources/forms. If it starts with '/' then it is relative to [acs_root_dir]"/>
<parameter datatype="string" min_n_values="1" max_n_values="1" name="DefaultListFilterStyle" default="filters" description="The default list filter template to use if a particular listfilter tag does not explicitly specify the list filter style to use. &lt;br&gt; Relative to [acs_root_dir]/packages/acs-templating/resources/lists. If it starts with '/' then it is relative to [acs_root_dir]"/>
<parameter datatype="string" min_n_values="1" max_n_values="1" name="DefaultListStyle" default="table" description="The default list template to use if a particular list does not explicitly specify the list style to use. &lt;br&gt; Relative to [acs_root_dir]/packages/acs-templating/resources/lists. If it starts with '/' then it is relative to [acs_root_dir]"/>
<parameter datatype="string" min_n_values="1" max_n_values="1" name="RefreshCache" default="as needed" description="When to re-translate templates. Values: never, as needed, always."/>
<parameter datatype="string" min_n_values="1" max_n_values="1" name="RichTextEditor" default="xinha" description="Use the specified javascript text editor when UseHtmlAreaForRichtextP is activated. Valid arguments are &quot;xinha&quot; and &quot;tinymce&quot;."/>
<parameter datatype="number" min_n_values="1" max_n_values="1" name="ShowCompiledTemplatesP" default="0" description="Show thecompiled template (for debugging) at .cmp URL"/>
<parameter datatype="number" min_n_values="1" max_n_values="1" name="ShowDataDictionariesP" default="0" description="Offer data dictionaries on .dat/.fmt URL."/>
<parameter datatype="number" min_n_values="1" max_n_values="1" name="SpellcheckDialectsP" default="0" description="Do you care about dialects or not? If this is set to '1' all available dictionary dialects for all available languages will appear as choices in the pull-down menu. If the param is set to '0', only the base-language(s) will be shown. However, it only works with aspell - on ispell you'll simply get a 'yes' and 'no' option, no matter how this param is set, where 'yes' will use ispell's default dictionary. NOTE! You'll need to restart the server for this param to take effect."/>
<parameter datatype="string" min_n_values="1" max_n_values="1" name="SpellcheckFormWidgets" default="textarea 0 richtext 0" description="The widgets that you specify here will be spellcheck enabled in all forms (that use ad_form / form builder). Adding a 'nospell' flag to a form element overrides this parameter and disables spellchecking of that element. The format of this parameter is such: 'widget 1 widget 0 ...', where 'widget' stands for one of the form widgets that are possible to spellcheck enable: text, textarea, richtext. '1' after 'widget' indicates that the default should be to spellcheck; '0' means the user has to manually state that spellchecking should be performed on the form element. In order to enable spellchecking via this parameter either the aspell or ispell binary (or both, in which case aspell takes precedence) must be installed on the server. The path to the binary is auto-detected on server startup. If the parameter is left blank, spellchecking will be disabled altogether."/>
<parameter datatype="number" min_n_values="1" max_n_values="1" name="UseHtmlAreaForRichtextP" default="0" description="Should the richtext widget use the htmlArea widget for richtext editing. 1 = yes, 0 = no."/>
<parameter datatype="string" min_n_values="1" max_n_values="1" name="SpellcheckUseDictsP" default="0" description="If set to 1 (i.e. true) the dictionaries returned by aspell will be displayed in the spell check drop down."/>
<parameter datatype="text" min_n_values="1" max_n_values="1" name="TinyMCEDefaultConfig" default="{mode &quot;exact&quot;}
{relative_urls &quot;false&quot;}
{height &quot;450px&quot;}
{width &quot;100%&quot;}
{plugins &quot;style,layer,table,save,iespell,preview,media,searchreplace,print,contextmenu,paste,fullscreen,noneditable,visualchars,xhtmlxtras&quot;}
{browsers &quot;msie,gecko,safari,opera&quot;}
{apply_source_formatting &quot;true&quot;}
{paste_auto_cleanup_on_paste true}
{paste_convert_headers_to_strong true}
{fix_list_elements true}
{fix_table_elements true}
{theme &quot;openacs&quot;}
{theme_openacs_toolbar_location &quot;top&quot;}
{theme_openacs_toolbar_align &quot;left&quot;}
{theme_openacs_statusbar_location &quot;bottom&quot;}
{theme_openacs_resizing true}
{theme_openacs_disable &quot;styleselect&quot;}
{theme_openacs_buttons1_add_before &quot;save,separator&quot;}
{theme_openacs_buttons2_add &quot;separator,preview,separator,forecolor,backcolor&quot;}
{theme_openacs_buttons2_add_before &quot;cut,copy,paste,pastetext,pasteword,separator,search,replace,separator&quot;}
{theme_openacs_buttons3_add_before &quot;tablecontrols,separator&quot;}
{theme_openacs_buttons3_add &quot;iespell,media,separator,print,separator,fullscreen&quot;}
{extended_valid_elements &quot;img[id|class|style|title|lang|onmouseover|onmouseout|src|alt|name|width|height],hr[id|class|style|title],span[id|class|style|title|lang]&quot;}
{element_format &quot;html&quot;}" description="This is a tcl list of default tinymce config options as found in http://wiki.moxiecode.com/index.php/TinyMCE:Configuration "/>
<parameter datatype="number" min_n_values="1" max_n_values="1" name="UseHtmlAreaForRichtextP" default="0" description="Should the richtext widget use the htmlArea widget for richtext editing. 1 = yes, 0 = no. We will also check the browser's User-Agent header to find out if htmlArea works with the given browser."/>
<parameter datatype="string" min_n_values="1" max_n_values="1" name="XinhaDefaultPlugins" default="GetHtml CharacterMap ContextMenu ListType TableOperations EditTag LangMarks Abbreviation" description="When xinha is specified as richtext editor (see parameter RichTextEditor) then use the following xinha plugins per default."/>
</parameters>
</version>
</package>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-templating" package_version="5.1.5" locale="ar_LB" charset="utf-8">
<message_catalog package_key="acs-templating" locale="ar_LB" charset="utf-8">
<msg key="12-Hour">12 ساعة</msg>
<msg key="24-Hour">24 ساعة</msg>
......
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-templating" package_version="5.1.5" locale="ca_ES" charset="ISO-8859-1">
<message_catalog package_key="acs-templating" locale="ca_ES" charset="ISO-8859-1">
<msg key="12-Hour">12-Hores</msg>
<msg key="24-Hour">24-Hores</msg>
<msg key="12-Hour">12 hores</msg>
<msg key="24-Hour">24 hores</msg>
<msg key="Day">Dia</msg>
<msg key="Element_is_required">s obligatori %label% </msg>
<msg key="Element_is_too_long_Plural">%label% s %excess_no_bytes% carcters massa llarg. </msg>
......@@ -28,6 +28,6 @@
<msg key="Sort_order">Ordre de classificaci</msg>
<msg key="Spellcheck">Revisor ortogrfic</msg>
<msg key="Tag_handler_invalid_number_of_args">El nombre d'arguments per al gestor d'etiquetes no s vlid </msg>
<msg key="Template_parser_error_in_parameter_list">Errada en la llista de parmetres </msg>
<msg key="Template_parser_error_in_parameter_list">Error en la llista de parmetres </msg>
<msg key="Year">Any</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-templating" package_version="5.1.0" locale="ch_zh" charset="utf-8">
<message_catalog package_key="acs-templating" locale="ch_zh" charset="utf-8">
<msg key="Invalid_choice">无效选择</msg>
<msg key="Invalid_currency">无效货币</msg>
......
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-templating" package_version="5.1.2" locale="da_DK" charset="ISO-8859-1">
<message_catalog package_key="acs-templating" locale="da_DK" charset="ISO-8859-1">
<msg key="12-Hour">12 Timer</msg>
<msg key="24-Hour">24 Timer</msg>
......
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-templating" package_version="5.1.5" locale="de_DE" charset="ISO-8859-1">
<message_catalog package_key="acs-templating" locale="de_DE" charset="ISO-8859-1">
<msg key="12-Hour">12-stndig</msg>
<msg key="24-Hour">24-stndig</msg>
<msg key="CSV">CSV</msg>
<msg key="data">Daten</msg>
<msg key="Day">Tag</msg>
<msg key="day">Tag</msg>
<msg key="Element_is_required">%label% muss ausgefllt werden</msg>
<msg key="Element_is_too_long_Plural">%label% ist um %excess_no_bytes% Zeichen zu lang.</msg>
<msg key="Element_is_too_long_Singular">%label% ist um 1 Zeichen zu lang.</msg>
<msg key="Formats">Formate</msg>
<msg key="hours">Stunden</msg>
<msg key="Hours_must_be_between_0_and_23">Stunden mssen zwischen 0 und 23 liegen</msg>
<msg key="HTMLArea_action_cancel">Abbrechen</msg>
<msg key="HTMLArea_ImageAlignment">Ausrichtung</msg>
<msg key="HTMLArea_ImageAlignmentLeft">Linksbndig</msg>
<msg key="HTMLArea_ImageAlignmentMiddle">Zentriert</msg>
<msg key="HTMLArea_ImageAlignmentRight">Rechtsbndig</msg>
<msg key="HTMLArea_ImageAlternateText">Alternativtext fr Bild</msg>
<msg key="HTMLArea_ImageBorderSize">Rand</msg>
<msg key="HTMLArea_ImageBorderSizeToolTip">Randbreite</msg>
<msg key="HTMLArea_ImageSpacing">Abstand</msg>
<msg key="HTMLArea_ImageSpacingVerticalToolTip">Vertikaler Abstand</msg>
<msg key="HTMLArea_ImageURL">URL</msg>
<msg key="HTMLArea_ImageURLToolTip">Bild-URL</msg>
<msg key="HTMLArea_InsertImageTitle">Bild einfgen</msg>
<msg key="HTMLArea_InsertModifyLink">Link einfgen/ndern</msg>
<msg key="HTMLArea_NoAltText">Kein Alternativtext angegeben. Bitte fgen Sie einen Alternativtext hinzu, um die Nutzbarkeit zu verbessern.</msg>
<msg key="HTMLArea_NoURL">Kein URL fr das Bild angegeben</msg>
<msg key="HTMLArea_OpenFileStorage">Ordner ffnen</msg>
<msg key="HTMLArea_SelectFile">Bitte whlen Sie eine Datei</msg>
<msg key="HTMLArea_SelectFileTitle">Datei whlen</msg>
<msg key="HTMLArea_SelectFileUploadTitle">Datei hochladen</msg>
<msg key="HTMLArea_SelectImage">Bitte whlen Sie ein Bild</msg>
<msg key="HTMLArea_SelectImageNothingSelected">Nichts ausgewhlt</msg>
<msg key="HTMLArea_SelectImagePreview">Vorschau</msg>
<msg key="HTMLArea_SelectImageTitle">Bild whlen</msg>
<msg key="HTMLArea_SelectImageUploadNoImage">Bild whlen oder Datei hochladen</msg>
<msg key="HTMLArea_SelectImageUploadTitle">Bild hochladen</msg>
<msg key="HTMLArea_SpecifyUploadFilename">Datei zum Hochladen whlen</msg>
<msg key="Invalid_choice">Ungltige Auswahl</msg>
<msg key="Invalid_currency">Ungltige Whrung</msg>
<msg key="Invalid_decimal_number">Ungltige Dezimalzahl</msg>
......@@ -17,17 +49,35 @@
<msg key="Invalid_keyword">Ungltiges Schlsselwort</msg>
<msg key="Invalid_natural_number">Ungltiger natrlicher Zahlenwert</msg>
<msg key="Invalid_url">Ungltige URL</msg>
<msg key="lt_Checkuncheck_all_rows">Markieren aller Reihen/ Markierung aller Reihen entfernen</msg>
<msg key="lt_Checkuncheck_this_row">Markieren Sie diese Spalte/ Entfernen Sie die Markierung und whlen Sie unten eine Aktion die durchgefhrt werden soll</msg>
<msg key="lt_Dates_must_be_formatted_">Datumsangaben mssen als %format% formatiert sein</msg>
<msg key="lt_day_between_for_month_pretty">Fr den Monat %month_pretty% muss der Tag zwischen 1 und %maxdays% liegen</msg>
<msg key="lt_No_value_supplied_for_-field_pretty-">Kein Wert fr %field_pretty% angegeben</msg>
<msg key="lt_The_-field_pretty-_must_be_non_negative">Das Feld %field_pretty% muss eine positive Zahl beinhalten</msg>
<msg key="lt_When_specifying_a_non">When Sie eine 'page_size' ungleich 0 spezifizieren mssen sie auch entweder 'page_query' oder 'page_query_name' spezifizieren</msg>
<msg key="Meridian">Lngengrad</msg>
<msg key="Minutes">Minuten</msg>
<msg key="minutes">Minuten</msg>
<msg key="Minutes_must_be_between_0_and_59">Minuten mssen zwischen 0 und 59 liegen</msg>
<msg key="Month">Monat</msg>
<msg key="month">Monat</msg>
<msg key="Month_must_be_between_1_and_12">Monat muss zwischen 1 und 12 liegen</msg>
<msg key="Next_with_arrow">Weiter &gt;&gt;</msg>
<msg key="No_row_pretty_plural">Keine %row_pretty_plural% vorhanden</msg>
<msg key="Page">Seite</msg>
<msg key="Page_Size">Gre der Liste</msg>
<msg key="Previous_with_arrow">&lt;&lt; Zurck</msg>
<msg key="required">Angabe erforderlich</msg>
<msg key="Seconds">Sekunden</msg>
<msg key="seconds">Sekunden</msg>
<msg key="Seconds_must_be_between_0_and_59">Sekunden mssen zwischen 0 und 59 liegen</msg>
<msg key="Sort_order">Sortierreihenfolge</msg>
<msg key="Spellcheck">Rechtschreibprfung</msg>
<msg key="Table">Tabelle</msg>
<msg key="Tag_handler_invalid_number_of_args">Ungltige Anzahl von Argumenten fr das Tag-Steuerungsprogramm</msg>
<msg key="Template_parser_error_in_parameter_list">Fehler in der Liste der Parameter</msg>
<msg key="Year">Jahr</msg>
<msg key="year">Jahr</msg>
<msg key="Year_must_be_positive">Jahr muss positiv sein</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-templating" package_version="5.1.2" locale="en_AU" charset="ISO-8859-1">
<message_catalog package_key="acs-templating" locale="en_AU" charset="ISO-8859-1">
<msg key="12-Hour">12-Hour</msg>
<msg key="24-Hour">24-Hour</msg>
......
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-templating" package_version="5.1.5" locale="en_US" charset="ISO-8859-1">
<message_catalog package_key="acs-templating" locale="en_US" charset="ISO-8859-1">
<msg key="12-Hour">12-Hour</msg>
<msg key="24-Hour">24-Hour</msg>
<msg key="Add_the_selected_file">Add the selected file</msg>
<msg key="Add_the_selected_image">Add the selected image</msg>
<msg key="Anyone_on_the_internet">Anyone on the Internet</msg>
<msg key="Anyone_on_this_system">Anyone on this system</msg>
<msg key="ascending_order">ascending order</msg>
<msg key="Attach_File_Choose_a_file">Please choose a file to attach.</msg>
<msg key="Choose_File">Choose File</msg>
<msg key="Choose_Image">Choose Image</msg>
<msg key="CSV">CSV</msg>
<msg key="data">data</msg>
<msg key="Day">Day</msg>
<msg key="day">day</msg>
<msg key="DefaultSummary">Data for %list_name%</msg>
<msg key="descending_order">descending order</msg>
<msg key="Element_is_required">%label% is required</msg>
<msg key="Element_is_too_long_Plural">%label% is %excess_no_bytes% characters too long.</msg>
<msg key="Element_is_too_long_Singular">%label% is one character too long.</msg>
<msg key="Enhanced_Text">Enhanced Text
</msg>
<msg key="Enter_your_search_text">Enter your search text here</msg>
<msg key="Fixed_width_Text">Fixed-width Text</msg>
<msg key="Format">Format
</msg>
<msg key="Formats">Formats</msg>
<msg key="hours">hours</msg>
<msg key="Hours_must_be_between_0_and_23">Hours must be between 0 and 23</msg>
<msg key="HTML">HTML</msg>
<msg key="HTMLArea_action_cancel">Cancel</msg>
<msg key="HTMLArea_ImageAlignment">Alignment</msg>
<msg key="HTMLArea_ImageAlignmentBottom">Bottom</msg>
<msg key="HTMLArea_ImageAlignmentLeft">Align Left</msg>
<msg key="HTMLArea_ImageAlignmentMiddle">Middle</msg>
<msg key="HTMLArea_ImageAlignmentRight">Align Right</msg>
<msg key="HTMLArea_ImageAlignmentTop">Top</msg>
<msg key="HTMLArea_ImageAlternateText">Alternate Text for Image</msg>
<msg key="HTMLArea_ImageAlternateTextToolTip">Specify alternate Text for Image</msg>
<msg key="HTMLArea_ImageBorderSize">Border</msg>
<msg key="HTMLArea_ImageBorderSizeToolTip">Border Width</msg>
<msg key="HTMLArea_ImageSpacing">Spacing</msg>
<msg key="HTMLArea_ImageSpacingHorizontal">Horizontal</msg>
<msg key="HTMLArea_ImageSpacingHorizontalToolTip">Horizontal Spacing</msg>
<msg key="HTMLArea_ImageSpacingVertical">Vertical</msg>
<msg key="HTMLArea_ImageSpacingVerticalToolTip">Vertical Spacing</msg>
<msg key="HTMLArea_ImageURL">URL</msg>
<msg key="HTMLArea_ImageURLToolTip">Image URL</msg>
<msg key="HTMLArea_InsertImageTitle">Insert Image</msg>
<msg key="HTMLArea_InsertModifyLink">Insert/Modify Link</msg>
<msg key="HTMLArea_InsertWikiLink">Insert Wiki Link</msg>
<msg key="HTMLArea_NoAltText">No alternate text specified. Please add one to increase accessability.</msg>
<msg key="HTMLArea_NoURL">No URL for Image specified.</msg>
<msg key="HTMLArea_OpenFileStorage">Open Folder</msg>
<msg key="HTMLArea_SelectFile">Please Select File</msg>
<msg key="HTMLArea_SelectFileTitle">Select File</msg>
<msg key="HTMLArea_SelectFileUploadTitle">Upload File</msg>
<msg key="HTMLArea_SelectImage">Please select an image</msg>
<msg key="HTMLArea_SelectImageNothingSelected">Nothing Selected</msg>
<msg key="HTMLArea_SelectImagePreview">Preview</msg>
<msg key="HTMLArea_SelectImageTitle">Select Image</msg>
<msg key="HTMLArea_SelectImageUploadNoImage">Select Image or Upload File</msg>
<msg key="HTMLArea_SelectImageUploadTitle">Upload Image</msg>
<msg key="HTMLArea_SelectUploadBtn">Upload</msg>
<msg key="HTMLArea_SpecifyUploadFilename">Specify a File for Upload</msg>
<msg key="Invalid_choice">Invalid choice</msg>
<msg key="Invalid_currency">Invalid currency</msg>
<msg key="Invalid_decimal_number">Invalid decimal number</msg>
......@@ -17,17 +74,48 @@
<msg key="Invalid_keyword">Invalid keyword</msg>
<msg key="Invalid_natural_number">Invalid natural number </msg>
<msg key="Invalid_url">Invalid url</msg>
<msg key="Link_Title">Link Title</msg>
<msg key="lt_Checkuncheck_all_rows">Check/uncheck all rows</msg>
<msg key="lt_Checkuncheck_this_row">Check/uncheck this row, and select an action to perform below</msg>
<msg key="lt_Dates_must_be_formatted_">Dates must be formatted as: %format%</msg>
<msg key="lt_day_between_for_month_pretty">The day must be between 1 and %maxdays% for the month of %month_pretty%</msg>
<msg key="lt_No_value_supplied_for_-field_pretty-">No value supplied for %field_pretty%</msg>
<msg key="lt_The_-field_pretty-_must_be_non_negative">The %field_pretty% must be a non-negative integer</msg>
<msg key="lt_When_specifying_a_non">When specifying a non-zero page_size, you must also provide either page_query or page_query_name</msg>
<msg key="Meridian">Meridian</msg>
<msg key="Minutes">Minutes</msg>
<msg key="minutes">minutes</msg>
<msg key="Minutes_must_be_between_0_and_59">Minutes must be between 0 and 59</msg>
<msg key="Month">Month</msg>
<msg key="month">month</msg>
<msg key="Month_must_be_between_1_and_12">Month must be between 1 and 12</msg>
<msg key="Next_with_arrow">Next &gt;&gt;</msg>
<msg key="No_row_pretty_plural">No %row_pretty_plural%.</msg>
<msg key="not_ordered">not ordered</msg>
<msg key="Only_myself">Only myself</msg>
<msg key="Page">Page</msg>
<msg key="Page_Size">Page Size</msg>
<msg key="Plain_Text">Plain Text</msg>
<msg key="Previous_with_arrow">&lt;&lt; Previous</msg>
<msg key="required">required</msg>
<msg key="reverse_sort_order_of_label">Reverse the sort order of %label%</msg>
<msg key="Seconds">Seconds</msg>
<msg key="seconds">seconds</msg>
<msg key="Seconds_must_be_between_0_and_59">Seconds must be between 0 and 59</msg>
<msg key="Sort_order">Sort order</msg>
<msg key="sort_the_list_by_label">Sort the list by %label%</msg>
<msg key="Spellcheck">Spellcheck</msg>
<msg key="Table">Table</msg>
<msg key="Tag_handler_invalid_number_of_args">Invalid number of arguments to tag handler.</msg>
<msg key="Template_parser_error_in_parameter_list">Error in parameter list</msg>
<msg key="This_file_can_be_reused_by">This file can be reused by</msg>
<msg key="This_file_can_be_reused_help">This allows the file to be used in other contexts</msg>
<msg key="This_Group">This group</msg>
<msg key="This_image_can_be_reused_by">This image can be reused by</msg>
<msg key="This_image_can_be_reused_help">This allows your image to be used in other contexts</msg>
<msg key="Upload_a_New_File">Upload a New File</msg>
<msg key="Upload_a_New_Image">Upload a New Image</msg>
<msg key="Year">Year</msg>
<msg key="year">year</msg>
<msg key="Year_must_be_positive">Year must be positive</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-templating" package_version="5.1.2" locale="es_CO" charset="ISO-8859-1">
<message_catalog package_key="acs-templating" locale="es_CO" charset="ISO-8859-1">
<msg key="12-Hour">12-Horas</msg>
<msg key="24-Hour">24-Horas</msg>
......
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-templating" package_version="5.1.5" locale="es_ES" charset="ISO-8859-1">
<message_catalog package_key="acs-templating" locale="es_ES" charset="ISO-8859-1">
<msg key="12-Hour">12-Horas</msg>
<msg key="24-Hour">24-Horas</msg>
<msg key="Add_the_selected_file">Aadir archivo seleccionado</msg>
<msg key="Add_the_selected_image">Aadir imagen seleccionada</msg>
<msg key="Anyone_on_the_internet">Cualquiera en Internet</msg>
<msg key="Anyone_on_this_system">Cualquiera de este sistema</msg>
<msg key="ascending_order">Orden ascendente</msg>
<msg key="Attach_File_Choose_a_file">Seleccione el fichero a adjuntar.</msg>
<msg key="Choose_File">Elija un archivo</msg>
<msg key="Choose_Image">Elija imagen</msg>
<msg key="CSV">CSV</msg>
<msg key="data">dato</msg>
<msg key="Day">Da </msg>
<msg key="Element_is_required">%label% obligatorio/a</msg>
<msg key="day">da</msg>
<msg key="DefaultSummary">Datos para %list_name%</msg>
<msg key="descending_order">Orden descendiente</msg>
<msg key="Element_is_required">%label% es obligatorio</msg>
<msg key="Element_is_too_long_Plural">%label% es %excess_no_bytes% caracteres demasiado largo.</msg>
<msg key="Element_is_too_long_Singular">%label% excede de un carcter la longitud permitida.</msg>
<msg key="Element_is_too_long_Singular">%label% es un caracater muy largo.</msg>
<msg key="Enhanced_Text">Texto Enriquecido</msg>
<msg key="Enter_your_search_text">Introduzca el texto a buscar</msg>
<msg key="Fixed_width_Text">Preformateado
</msg>
<msg key="Format">Formato
</msg>
<msg key="Formats">Formatos</msg>
<msg key="hours">horas</msg>
<msg key="Hours_must_be_between_0_and_23">La hora debe estar comprendida entre 0 y 23</msg>
<msg key="HTML">HTML
</msg>
<msg key="HTMLArea_action_cancel">Cancelar</msg>
<msg key="HTMLArea_ImageAlignment">Alineacin</msg>
<msg key="HTMLArea_ImageAlignmentBottom">Inferior</msg>
<msg key="HTMLArea_ImageAlignmentLeft">Alinear a la izquierda</msg>
<msg key="HTMLArea_ImageAlignmentMiddle">Centro</msg>
<msg key="HTMLArea_ImageAlignmentRight">Alinear a la derecha</msg>
<msg key="HTMLArea_ImageAlignmentTop">Superior</msg>
<msg key="HTMLArea_ImageAlternateText">Texto Alternativo para la Imagen</msg>
<msg key="HTMLArea_ImageAlternateTextToolTip">Especifique un texto alternativo para la imagen</msg>
<msg key="HTMLArea_ImageBorderSize">Borde</msg>
<msg key="HTMLArea_ImageBorderSizeToolTip">Ancho del Borde</msg>
<msg key="HTMLArea_ImageSpacing">Espaciado</msg>
<msg key="HTMLArea_ImageSpacingHorizontal">Horizontal</msg>
<msg key="HTMLArea_ImageSpacingHorizontalToolTip">Espaciado Horizontal</msg>
<msg key="HTMLArea_ImageSpacingVertical">Vertical</msg>
<msg key="HTMLArea_ImageSpacingVerticalToolTip">Espaciado Vertical</msg>
<msg key="HTMLArea_ImageURL">URL</msg>
<msg key="HTMLArea_ImageURLToolTip">URL de la imagen</msg>
<msg key="HTMLArea_InsertImageTitle">Insertar una imagen</msg>
<msg key="HTMLArea_InsertModifyLink">Insertar/Modificar un enlace</msg>
<msg key="HTMLArea_InsertWikiLink">Insertar enlace a Wiki</msg>
<msg key="HTMLArea_NoAltText">No se especific texto alternativo. Por favor, indique uno para mejorar la accesibilidad.</msg>
<msg key="HTMLArea_NoURL">No se especific la URL de la imagen.</msg>
<msg key="HTMLArea_OpenFileStorage">Abrir carpeta</msg>
<msg key="HTMLArea_SelectFile">Seleccione un archivo</msg>
<msg key="HTMLArea_SelectFileTitle">Seleccionar archivo</msg>
<msg key="HTMLArea_SelectFileUploadTitle">Subir un archivo</msg>
<msg key="HTMLArea_SelectImage">Seleccione una imagen</msg>
<msg key="HTMLArea_SelectImageNothingSelected">Ninguna seleccin</msg>
<msg key="HTMLArea_SelectImagePreview">Vista Previa</msg>
<msg key="HTMLArea_SelectImageTitle">Seleccionar Imagen</msg>
<msg key="HTMLArea_SelectImageUploadNoImage">Seleccionar imagen o Subir archivo</msg>
<msg key="HTMLArea_SelectImageUploadTitle">Subir Imagen</msg>
<msg key="HTMLArea_SelectUploadBtn">Subir</msg>
<msg key="HTMLArea_SpecifyUploadFilename">Especifique un archivo a subir</msg>
<msg key="Invalid_choice">Eleccin incorrecta</msg>
<msg key="Invalid_currency">Moneda incorrecta</msg>
<msg key="Invalid_decimal_number">Nmero decimal incorrecto</msg>
......@@ -17,17 +75,48 @@
<msg key="Invalid_keyword">Palabra clave incorrecta</msg>
<msg key="Invalid_natural_number">Nmero natural incorrecto</msg>
<msg key="Invalid_url">URL incorrecta</msg>
<msg key="Link_Title">Ttulo del enlace</msg>
<msg key="lt_Checkuncheck_all_rows">Seleccionar/deseleccionar todas las filas</msg>
<msg key="lt_Checkuncheck_this_row">Seleccionar/deseleccionar esta fila, y elegir una accin a realizar sobre ella</msg>
<msg key="lt_Dates_must_be_formatted_">Las fechas deben tener el siguiente formato: %format%</msg>
<msg key="lt_day_between_for_month_pretty">El da debe estar comprendido entre 1 y %maxdays% para el mes de %month_pretty%</msg>
<msg key="lt_No_value_supplied_for_-field_pretty-">Falta especificar el valor de %field_pretty%</msg>
<msg key="lt_The_-field_pretty-_must_be_non_negative">%field_pretty% debe ser un entero no negativo</msg>
<msg key="lt_When_specifying_a_non">Al especificar un page_size distinto de 0, debe especificar tambin el page_query o page_query_name</msg>
<msg key="Meridian">Meridiano</msg>
<msg key="Minutes">Minutos</msg>
<msg key="minutes">minutos</msg>
<msg key="Minutes_must_be_between_0_and_59">Los minutos deben estar comprendidos entre 0 y 59</msg>
<msg key="Month">Mes</msg>
<msg key="month">mes</msg>
<msg key="Month_must_be_between_1_and_12">El mes debe estar comprendido entre 1 y 12</msg>
<msg key="Next_with_arrow">Siguiente &gt;&gt;</msg>
<msg key="No_row_pretty_plural">No hay %row_pretty_plural%.</msg>
<msg key="No_row_pretty_plural">Ningn %row_pretty_plural%.</msg>
<msg key="not_ordered">No ordenado</msg>
<msg key="Only_myself">Slo yo</msg>
<msg key="Page">Pgina</msg>
<msg key="Page_Size">Tamao de Pgina</msg>
<msg key="Plain_Text">Texto Plano</msg>
<msg key="Previous_with_arrow">&lt;&lt; Anterior</msg>
<msg key="required">obligatorio</msg>
<msg key="reverse_sort_order_of_label">Invertir el orden de %label%</msg>
<msg key="Seconds">Segundos</msg>
<msg key="seconds">segundos</msg>
<msg key="Seconds_must_be_between_0_and_59">Los segundos deben estar comprendidos entre 0 y 59</msg>
<msg key="Sort_order">Orden de clasificacin</msg>
<msg key="sort_the_list_by_label">Ordenar la lista por %label%</msg>
<msg key="Spellcheck">Correccin ortogrfica</msg>
<msg key="Table">Tabla</msg>
<msg key="Tag_handler_invalid_number_of_args">Nmero incorrecto de argumentos para el gestor de etiquetas</msg>
<msg key="Template_parser_error_in_parameter_list">Error en la lista de parmetros</msg>
<msg key="This_file_can_be_reused_by">Este archivo puede ser reutilizado por</msg>
<msg key="This_file_can_be_reused_help">Esto permitir que el archivo sea utilizado en otros contextos</msg>
<msg key="This_Group">Este grupo</msg>
<msg key="This_image_can_be_reused_by">La imagen puede ser reutilizada por</msg>
<msg key="This_image_can_be_reused_help">Esto permitir que su imagen pueda ser utilizada en otros contextos</msg>
<msg key="Upload_a_New_File">Subir un nuevo archivo</msg>
<msg key="Upload_a_New_Image">Subir una nueva imagen</msg>
<msg key="Year">Ao</msg>
<msg key="year">ao</msg>
<msg key="Year_must_be_positive">El ao debe ser un nmero positivo</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-templating" package_version="5.1.2" locale="es_GT" charset="ISO-8859-1">
<message_catalog package_key="acs-templating" locale="es_GT" charset="ISO-8859-1">
<msg key="12-Hour">12-Horas</msg>
<msg key="24-Hour">24-Horas</msg>
......
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-templating" package_version="5.1.2" locale="eu_ES" charset="ISO-8859-1">
<message_catalog package_key="acs-templating" locale="eu_ES" charset="ISO-8859-1">
<msg key="12-Hour">12-Ordu</msg>
<msg key="24-Hour">24-Ordu</msg>
<msg key="Day">Eguna</msg>
<msg key="Element_is_required">%label% beharrezkoa da</msg>
<msg key="Element_is_too_long_Plural">%label% gehiegizko %excess_no_bytes% karaktere ditu.</msg>
......@@ -25,5 +27,7 @@
<msg key="Seconds">Segunduak</msg>
<msg key="Sort_order">ordena</msg>
<msg key="Spellcheck">Ortografia zuzenketa</msg>
<msg key="Tag_handler_invalid_number_of_args">&quot;tag handler&quot;i argumentu kopuru okerra pasatu zaizkio</msg>
<msg key="Template_parser_error_in_parameter_list">Errorea parametro zerrendan</msg>
<msg key="Year">Urtea</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-templating" package_version="5.1.2" locale="fi_FI" charset="utf-8">
<message_catalog package_key="acs-templating" locale="fi_FI" charset="utf-8">
<msg key="required">pakollinen kenttä</msg>
<msg key="Spellcheck">Tarkista oikeinkirjoitus?</msg>
......
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-templating" package_version="5.1.5" locale="fr_FR" charset="ISO-8859-1">
<message_catalog package_key="acs-templating" locale="fr_FR" charset="ISO-8859-1">
<msg key="12-Hour">12 heures</msg>
<msg key="24-Hour">24 heures</msg>
......@@ -27,8 +27,6 @@
<msg key="Seconds">Secondes</msg>
<msg key="Sort_order">Ordre de tri</msg>
<msg key="Spellcheck">Orthographe</msg>
<msg key="Tag_handler_invalid_number_of_args">Nombre d'arguments incorrect pour etiquetter le gestionnaire.
</msg>
<msg key="Template_parser_error_in_parameter_list">Erreur dans la liste de paramtres</msg>
<msg key="Year">Anne</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-templating" package_version="5.1.2" locale="hu_HU" charset="utf-8">
<message_catalog package_key="acs-templating" locale="hu_HU" charset="utf-8">
<msg key="No_row_pretty_plural">Nincsenek %row_pretty_plural%.</msg>
<msg key="required">kötelező megadni</msg>
......
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-templating" package_version="5.1.5" locale="it_IT" charset="ISO-8859-1">
<message_catalog package_key="acs-templating" locale="it_IT" charset="ISO-8859-1">
<msg key="12-Hour">12 ore</msg>
<msg key="24-Hour">24 ore</msg>
<msg key="Day">Giorno</msg>
<msg key="Element_is_required">%label% obbligatorio</msg>
<msg key="Element_is_required"> necessario impostare %label%</msg>
<msg key="Element_is_too_long_Plural">%label% ha %excess_no_bytes% caratteri di troppo.</msg>
<msg key="Element_is_too_long_Singular">%label% ha un carattere di troppo.</msg>
<msg key="Formats">Formati</msg>
<msg key="Invalid_choice">Scelta non valida</msg>
<msg key="Invalid_currency">Valuta non valida</msg>
<msg key="Invalid_decimal_number">Errore nella parte decimale</msg>
<msg key="Invalid_email_format">Formato e-mail non valido</msg>
<msg key="Invalid_email_format">Formato email non valido</msg>
<msg key="Invalid_filename">Nome del file non valido</msg>
<msg key="Invalid_integer">Intero non valido</msg>
<msg key="Invalid_keyword">Parola chiave non valida</msg>
......@@ -20,9 +20,9 @@
<msg key="Meridian">Meridiano</msg>
<msg key="Minutes">Minuti</msg>
<msg key="Month">Mese</msg>
<msg key="Next_with_arrow">Avanti &gt;&gt;</msg>
<msg key="No_row_pretty_plural">No %row_pretty_plural%.</msg>
<msg key="Previous_with_arrow">&lt;&lt; Indietro</msg>
<msg key="Next_with_arrow">Successivo &gt;&gt;</msg>
<msg key="No_row_pretty_plural">righe</msg>
<msg key="Previous_with_arrow">&lt;&lt; Precedente</msg>
<msg key="required">obbligatorio</msg>
<msg key="Seconds">Secondi</msg>
<msg key="Sort_order">Ordine</msg>
......
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-templating" package_version="5.1.5" locale="ko_KR" charset="utf-8">
<message_catalog package_key="acs-templating" locale="ko_KR" charset="utf-8">
<msg key="Invalid_choice">부적합한 선택</msg>
<msg key="Invalid_currency">부적합한 통화</msg>
......
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-templating" package_version="5.1.2" locale="ms_MY" charset="utf-8">
<message_catalog package_key="acs-templating" locale="ms_MY" charset="utf-8">
<msg key="12-Hour">Jam ke 12</msg>
<msg key="24-Hour">24-Jam</msg>
......
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-templating" package_version="5.1.5" locale="nl_NL" charset="ISO-8859-1">
<message_catalog package_key="acs-templating" locale="nl_NL" charset="ISO-8859-1">
<msg key="12-Hour">12-uur</msg>
<msg key="24-Hour">24-uur</msg>
<msg key="CSV">CSV</msg>
<msg key="data">gegevens</msg>
<msg key="Day">Dag</msg>
<msg key="day">dag</msg>
<msg key="Element_is_required">%label% is verplicht</msg>
<msg key="Element_is_too_long_Plural">%label% is %excess_no_bytes% karakters te lang.</msg>
<msg key="Element_is_too_long_Singular">%label% is n karakter te lang.</msg>
<msg key="Formats">Indelingen</msg>
<msg key="hours">uren</msg>
<msg key="Hours_must_be_between_0_and_23">Uren moeten tussen 0 en 23 liggen.</msg>
<msg key="HTMLArea_action_cancel">Annuleren</msg>
<msg key="HTMLArea_ImageAlignment">Uitlijning</msg>
<msg key="HTMLArea_ImageAlignmentBottom">Bodem</msg>
<msg key="HTMLArea_ImageAlignmentLeft">Lijn links uit</msg>
<msg key="HTMLArea_ImageAlignmentMiddle">Midden</msg>
<msg key="HTMLArea_ImageAlignmentRight">Lijn rechts uit</msg>
<msg key="HTMLArea_ImageAlignmentTop">Bovenkant</msg>
<msg key="HTMLArea_ImageAlternateText">Alternatieve tekst voor afbeelding</msg>
<msg key="HTMLArea_ImageAlternateTextToolTip">Geef alternatieve tekst voor afbeelding</msg>
<msg key="HTMLArea_ImageBorderSize">Rand</msg>
<msg key="HTMLArea_ImageBorderSizeToolTip">Randbreedte</msg>
<msg key="HTMLArea_ImageSpacing">Afbeeldingsmarges</msg>
<msg key="HTMLArea_ImageSpacingHorizontal">Horizontaal</msg>
<msg key="HTMLArea_ImageSpacingHorizontalToolTip">Horizontale marge</msg>
<msg key="HTMLArea_ImageSpacingVertical">Verticaal</msg>
<msg key="HTMLArea_ImageSpacingVerticalToolTip">Verticale marge</msg>
<msg key="HTMLArea_ImageURL">URL</msg>
<msg key="HTMLArea_ImageURLToolTip">Afbeeldings-URL</msg>
<msg key="HTMLArea_InsertImageTitle">Afbeelding invoegen</msg>
<msg key="HTMLArea_InsertModifyLink">Koppeling invoegen of wijzigen</msg>
<msg key="HTMLArea_NoAltText">Geen alternatieve tekst opgegeven. Voer er alstublieft n in om de toegangkelijkheid te vergroten.</msg>
<msg key="HTMLArea_NoURL">Geen URL voor afbeelding opgegeven.</msg>
<msg key="HTMLArea_OpenFileStorage">Map openen.</msg>
<msg key="HTMLArea_SelectFile">Selecteer alstublieft een bestand</msg>
<msg key="HTMLArea_SelectFileTitle">Selecteer bestand</msg>
<msg key="HTMLArea_SelectFileUploadTitle">Bestand opladen</msg>
<msg key="HTMLArea_SelectImage">Selecteer alstublieft een afbeelding</msg>
<msg key="HTMLArea_SelectImageNothingSelected">Niets geselecteeerd</msg>
<msg key="HTMLArea_SelectImagePreview">Voorbeeld</msg>
<msg key="HTMLArea_SelectImageTitle">Selecteer afbeelding</msg>
<msg key="HTMLArea_SelectImageUploadNoImage">Selecteer op te laden afbeelding of bestand</msg>
<msg key="HTMLArea_SelectImageUploadTitle">Afbeelding opladen</msg>
<msg key="HTMLArea_SelectUploadBtn">Opladen</msg>
<msg key="HTMLArea_SpecifyUploadFilename">Geef een bestand op om te opladen</msg>
<msg key="Invalid_choice">Ongeldige keuze</msg>
<msg key="Invalid_currency">Ongeldige valuta</msg>
<msg key="Invalid_decimal_number">Ongeldig decimaal getal</msg>
......@@ -17,17 +56,35 @@
<msg key="Invalid_keyword">Ongeldig sleutelwoord</msg>
<msg key="Invalid_natural_number">Ongeldig natuurlijk getal</msg>
<msg key="Invalid_url">Ongeldige url</msg>
<msg key="lt_Checkuncheck_all_rows">Selecteer/deselecteer alle rijen</msg>
<msg key="lt_Checkuncheck_this_row">Selecteer/deselecteer deze rij en kies hieronder een aktie om uit te voeren</msg>
<msg key="lt_Dates_must_be_formatted_">Datum moet ingegeven worden volgens: %format%</msg>
<msg key="lt_day_between_for_month_pretty">De dag moet tussen 1 en %maxdays% liggen voor de maand %month_pretty%.</msg>
<msg key="lt_No_value_supplied_for_-field_pretty-">Geen waarde opgegeven voor %field_pretty%</msg>
<msg key="lt_The_-field_pretty-_must_be_non_negative">De %field_pretty% moet een niet-negatieve integer zijn.</msg>
<msg key="lt_When_specifying_a_non">Indien u een page_size ongelijk aan nul opgeeft, dan moet u ook page_query of page_query_name opgeven</msg>
<msg key="Meridian">Meridiaan</msg>
<msg key="Minutes">Minuten</msg>
<msg key="minutes">minuten</msg>
<msg key="Minutes_must_be_between_0_and_59">Minuten moeten liggen tussen 0 en 59.</msg>
<msg key="Month">Maand</msg>
<msg key="month">maand</msg>
<msg key="Month_must_be_between_1_and_12">Maand moet tussen 1 en 12 liggen</msg>
<msg key="Next_with_arrow">Volgende &gt;&gt;</msg>
<msg key="No_row_pretty_plural">Geen %row_pretty_plural% beschikbaar</msg>
<msg key="Page">Pagina</msg>
<msg key="Page_Size">Paginagrootte</msg>
<msg key="Previous_with_arrow">&lt;&lt; Vorige</msg>
<msg key="required">verplicht</msg>
<msg key="Seconds">Seconden</msg>
<msg key="seconds">seconden</msg>
<msg key="Seconds_must_be_between_0_and_59">Seconden moeten tussen 0 en 59 liggen</msg>
<msg key="Sort_order">Sortering</msg>
<msg key="Spellcheck">Spellingscontrole</msg>
<msg key="Table">Tabel</msg>
<msg key="Tag_handler_invalid_number_of_args">Ongeldig aantal argumenten meegegeven aan de afhandelingsroutine voor deze tag.</msg>
<msg key="Template_parser_error_in_parameter_list">Fout in parameterlijst</msg>
<msg key="Year">Jaar</msg>
<msg key="year">jaar</msg>
<msg key="Year_must_be_positive">Jaar moet positief zijn</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-templating" package_version="5.1.5" locale="nn_NO" charset="ISO-8859-1">
<message_catalog package_key="acs-templating" locale="nn_NO" charset="ISO-8859-1">
<msg key="12-Hour">12-timar</msg>
<msg key="24-Hour">24-timar</msg>
<msg key="Day">Dag</msg>
<msg key="Element_is_required">%label% m vere med</msg>
<msg key="Element_is_too_long_Plural">%label% er %excess_no_bytes% teikn for lang.</msg>
<msg key="Element_is_too_long_Singular">%label% er eit teikn for lang.</msg>
<msg key="Formats">Format</msg>
<msg key="Invalid_choice">Ugyldig val</msg>
<msg key="Invalid_currency">Ugyldig mynteining</msg>
<msg key="Invalid_decimal_number">Ugyldig desimaltal</msg>
......@@ -10,11 +17,17 @@
<msg key="Invalid_keyword">Ugyldig nkkel</msg>
<msg key="Invalid_natural_number">Ugyldig naturleg tal</msg>
<msg key="Invalid_url">Ugyldig url</msg>
<msg key="Meridian">Meridian</msg>
<msg key="Minutes">Minutter</msg>
<msg key="Month">Mnad</msg>
<msg key="Next_with_arrow">Neste &gt;&gt;</msg>
<msg key="No_row_pretty_plural">Ingen %row_pretty_plural%</msg>
<msg key="Previous_with_arrow">&lt;&lt; Frre</msg>
<msg key="required">m vere med</msg>
<msg key="Seconds">Sekund</msg>
<msg key="Sort_order">Sorteringsorden</msg>
<msg key="Spellcheck">Stavesjekk</msg>
<msg key="Tag_handler_invalid_number_of_args">Ugyldig antal argument til tag handler.</msg>
<msg key="Template_parser_error_in_parameter_list">Feil i parameterlista</msg>
<msg key="Year">r</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-templating" package_version="5.1.5" locale="no_NO" charset="ISO-8859-1">
<message_catalog package_key="acs-templating" locale="no_NO" charset="ISO-8859-1">
<msg key="12-Hour">12-timers</msg>
<msg key="24-Hour">24-timers</msg>
<msg key="12-Hour">12-timar</msg>
<msg key="24-Hour">24-timar</msg>
<msg key="Day">Dag</msg>
<msg key="Element_is_required">%label% er pkrevd</msg>
<msg key="Element_is_too_long_Plural">%label% er %excess_no_bytes% tegn for langt.</msg>
<msg key="Element_is_too_long_Singular">%label er et tegn for langt.</msg>
<msg key="Element_is_required">%label% m vere med</msg>
<msg key="Element_is_too_long_Plural">%label% er %excess_no_bytes% tegn for lang.</msg>
<msg key="Element_is_too_long_Singular">%label% et tegn for lang</msg>
<msg key="Formats">Formater</msg>
<msg key="Invalid_choice">ugyldig valg</msg>
<msg key="Invalid_currency">Ugyldig myntenhet</msg>
<msg key="Invalid_decimal_number">Ugyldig desimaltall</msg>
<msg key="Invalid_email_format">Ugyldig e-postformat</msg>
<msg key="Invalid_filename">Ugyldig filnavn</msg>
<msg key="Invalid_integer">Ugyldig heltall</msg>
<msg key="Invalid_keyword">Ugyldig nkkel</msg>
<msg key="Invalid_natural_number">Ugyldig naturlig tall</msg>
<msg key="Invalid_url">Ugyldig url</msg>
<msg key="Meridian">Meridian</msg>
<msg key="Minutes">Minutter</msg>
<msg key="Month">Mned</msg>
<msg key="Next_with_arrow">Neste &gt;&gt;</msg>
<msg key="No_row_pretty_plural">Ingen %row_pretty_plural%.</msg>
<msg key="Previous_with_arrow">&lt;&lt; Forrige</msg>
<msg key="required">m vre med</msg>
<msg key="Seconds">Sekunder</msg>
<msg key="Sort_order">Sorteringsrekkeflge</msg>
<msg key="Spellcheck">Stavesjekk</msg>
<msg key="Tag_handler_invalid_number_of_args">Ugyldig antall argumenter til tag handler.</msg>
<msg key="Template_parser_error_in_parameter_list">Feil i parameterlisten</msg>
<msg key="Year">r</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-templating" package_version="5.1.5" locale="pt_BR" charset="ISO-8859-1">
<message_catalog package_key="acs-templating" locale="pt_BR" charset="ISO-8859-1">
<msg key="12-Hour">12-Horas</msg>
<msg key="24-Hour">24-Horas</msg>
<msg key="CSV">CSV</msg>
<msg key="data">dados</msg>
<msg key="Day">Dia</msg>
<msg key="day">dia</msg>
<msg key="Element_is_required">%label% requerido</msg>
<msg key="Element_is_too_long_Plural">%label% tem %excess_no_bytes% caracteres alm do permitido.</msg>
<msg key="Element_is_too_long_Singular">%label% tem um caracter alm do permitido.</msg>
<msg key="Formats">Formatos</msg>
<msg key="hours">horas</msg>
<msg key="Hours_must_be_between_0_and_23">As horas precisam estar entre 0 e 23</msg>
<msg key="HTMLArea_action_cancel">Cancelar</msg>
<msg key="HTMLArea_ImageAlignment">Alinhamento</msg>
<msg key="HTMLArea_ImageAlignmentBottom">Fundo</msg>
<msg key="HTMLArea_ImageAlignmentLeft">Alinhar esquerda</msg>
<msg key="HTMLArea_ImageAlignmentMiddle">Meio</msg>
<msg key="HTMLArea_ImageAlignmentRight">Alinhar Direita</msg>
<msg key="HTMLArea_ImageAlignmentTop">Alto</msg>
<msg key="HTMLArea_ImageAlternateText">Texto Alternativo para a Imagem</msg>
<msg key="HTMLArea_ImageAlternateTextToolTip">Specificar Texto alternativo para a Imagem</msg>
<msg key="HTMLArea_ImageBorderSize">Borda</msg>
<msg key="HTMLArea_ImageBorderSizeToolTip">Tamanho da Borda</msg>
<msg key="HTMLArea_ImageSpacing">Espaamento</msg>
<msg key="HTMLArea_ImageSpacingHorizontal">Horizontal</msg>
<msg key="HTMLArea_ImageSpacingHorizontalToolTip">Espaamento Horizontal</msg>
<msg key="HTMLArea_ImageSpacingVertical">Vertical</msg>
<msg key="HTMLArea_ImageSpacingVerticalToolTip">Espaamento Vertical</msg>
<msg key="HTMLArea_ImageURL">URL</msg>
<msg key="HTMLArea_ImageURLToolTip">URL da Imagem</msg>
<msg key="HTMLArea_InsertImageTitle">Inserir Imagem</msg>
<msg key="HTMLArea_InsertModifyLink">Inserir/Modificar Link</msg>
<msg key="HTMLArea_NoAltText">Nenhum texto alternativo foi especificado. Por favor adicione um para aumentar a acessibilidade.</msg>
<msg key="HTMLArea_NoURL">Nenhum URL para a Imagem foi especificado</msg>
<msg key="HTMLArea_OpenFileStorage">Abrir Pasta</msg>
<msg key="HTMLArea_SelectFile">Por Favor Selecione um Arquivo</msg>
<msg key="HTMLArea_SelectFileTitle">Selecionar Arquivo</msg>
<msg key="HTMLArea_SelectFileUploadTitle">Enviar Arquivo</msg>
<msg key="HTMLArea_SelectImage">Por favor selecione uma imagem</msg>
<msg key="HTMLArea_SelectImageNothingSelected">Nada Selecionado</msg>
<msg key="HTMLArea_SelectImagePreview">Prever</msg>
<msg key="HTMLArea_SelectImageTitle">Selecionar Imagem</msg>
<msg key="HTMLArea_SelectImageUploadNoImage">Selecionar Imagem ou Enviar Arquivo</msg>
<msg key="HTMLArea_SelectImageUploadTitle">Enviar Imagem</msg>
<msg key="HTMLArea_SelectUploadBtn">Enviar</msg>
<msg key="HTMLArea_SpecifyUploadFilename">Especifique um Arquivo para Enviar</msg>
<msg key="Invalid_choice">Escolha invlida</msg>
<msg key="Invalid_currency">Moeda corrente invlida</msg>
<msg key="Invalid_decimal_number">Nmero decimal invlido</msg>
......@@ -17,17 +56,35 @@
<msg key="Invalid_keyword">Palavra chave invlida</msg>
<msg key="Invalid_natural_number">Nmero natural invlido</msg>
<msg key="Invalid_url">URL invlida</msg>
<msg key="lt_Checkuncheck_all_rows">Marcar/Desmarcar todos as fileiras</msg>
<msg key="lt_Checkuncheck_this_row">Marque/Desmarque essa fileira e selecione uma ao para executar abaixo</msg>
<msg key="lt_Dates_must_be_formatted_">As datas devem ter o formato: %format%</msg>
<msg key="lt_day_between_for_month_pretty">O dia deve estar entre 1 e %maxdays% para o ms de %month_pretty%</msg>
<msg key="lt_No_value_supplied_for_-field_pretty-">Nenhum valor fornecido para %field_pretty%</msg>
<msg key="lt_The_-field_pretty-_must_be_non_negative">O %field_pretty% deve ser um inteiro no-negativo</msg>
<msg key="lt_When_specifying_a_non">Quando estiver especificando um page_size diferente de zero, voc deve prover page_query ou page_query_name</msg>
<msg key="Meridian">Meridiano</msg>
<msg key="Minutes">Minutos</msg>
<msg key="minutes">Minutos</msg>
<msg key="Minutes_must_be_between_0_and_59">Os minutos devem estar entre 0 e 59</msg>
<msg key="Month">Ms</msg>
<msg key="month">Ms</msg>
<msg key="Month_must_be_between_1_and_12">O ms deve estar entre 1 e 12</msg>
<msg key="Next_with_arrow">Prximo &gt;&gt;</msg>
<msg key="No_row_pretty_plural">No h %row_pretty_plural%.</msg>
<msg key="Page">Pgina</msg>
<msg key="Page_Size">Tamanho da Pgina</msg>
<msg key="Previous_with_arrow">&lt;&lt; Anterior</msg>
<msg key="required">Requerido</msg>
<msg key="Seconds">Segundos</msg>
<msg key="seconds">segundos</msg>
<msg key="Seconds_must_be_between_0_and_59">Os segundos devem estar entre 0 e 59</msg>
<msg key="Sort_order">Organizar</msg>
<msg key="Spellcheck">Verificao ortogrfica</msg>
<msg key="Table">Tabela</msg>
<msg key="Tag_handler_invalid_number_of_args">Nmero invlido de argumentos para o tag manipular</msg>
<msg key="Template_parser_error_in_parameter_list">Erro na lista de parmetros</msg>
<msg key="Year">Ano</msg>
<msg key="year">ano</msg>
<msg key="Year_must_be_positive">O ano deve ser positivo</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-templating" package_version="5.1.5" locale="pt_PT" charset="ISO-8859-1">
<message_catalog package_key="acs-templating" locale="pt_PT" charset="ISO-8859-1">
<msg key="Day">Dia</msg>
<msg key="Invalid_url">URL invlido</msg>
<msg key="Minutes">Minutos</msg>
<msg key="Month">Ms</msg>
<msg key="No_row_pretty_plural">No %row_pretty_plural%.</msg>
<msg key="required">Requerido</msg>
<msg key="Seconds">Segundos</msg>
<msg key="Year">Ano</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-templating" package_version="5.1.2" locale="ro_RO" charset="utf-8">
<message_catalog package_key="acs-templating" locale="ro_RO" charset="utf-8">
<msg key="12-Hour">12-Ore</msg>
<msg key="24-Hour">24-Ore</msg>
<msg key="Day">Zi</msg>
<msg key="Element_is_required">%label% este necesar</msg>
<msg key="Element_is_too_long_Plural">%label% este mai lung cu %excess_no_bytes% caractere.</msg>
<msg key="Element_is_too_long_Singular">%label% este cu un caracter prea lung</msg>
<msg key="Formats">Formate</msg>
<msg key="Invalid_choice">alegere nevalabilă</msg>
<msg key="Invalid_currency">monedă nevalabilă</msg>
<msg key="Invalid_decimal_number">număr zecimal nevalabil</msg>
......@@ -10,11 +17,17 @@
<msg key="Invalid_keyword">cuvânt cheie nevalabil</msg>
<msg key="Invalid_natural_number">număr natural nevalabil</msg>
<msg key="Invalid_url">url nevalabil</msg>
<msg key="Meridian">Meridian</msg>
<msg key="Minutes">Minute</msg>
<msg key="Month">Lună</msg>
<msg key="Next_with_arrow">Înainte &gt;&gt;</msg>
<msg key="No_row_pretty_plural">Nu sunt %row_pretty_plural%</msg>
<msg key="Previous_with_arrow">&lt;&lt; Înapoi</msg>
<msg key="required">necesar</msg>
<msg key="Seconds">Secunde</msg>
<msg key="Sort_order">Ordinea de aranjare</msg>
<msg key="Spellcheck">Verifică Ortografia</msg>
<msg key="Tag_handler_invalid_number_of_args">Numar nevalabil de argumente pentru tag handler</msg>
<msg key="Template_parser_error_in_parameter_list">Eroare în lista de parametri</msg>
<msg key="Year">An</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-templating" package_version="5.1.5" locale="ru_RU" charset="utf-8">
<message_catalog package_key="acs-templating" locale="ru_RU" charset="utf-8">
<msg key="12-Hour">12 часов</msg>
<msg key="24-Hour">24 часа</msg>
<msg key="Day">День</msg>
<msg key="Element_is_required">Необходимо указать %label%</msg>
<msg key="Element_is_too_long_Plural">Длина %label% на %excess_no_bytes% знаков длиннее максимальной.</msg>
<msg key="Element_is_too_long_Singular">Длина %label% на один знак длиннее максимальной.</msg>
<msg key="12-Hour">12 ч.</msg>
<msg key="24-Hour">24 ч.</msg>
<msg key="Day">день</msg>
<msg key="Element_is_required">Поле '%label%' обязательно для ввода</msg>
<msg key="Element_is_too_long_Plural">Поле '%label%' на %excess_no_bytes% символов длинее дозволенного</msg>
<msg key="Element_is_too_long_Singular">Поле '%label%' на один символ длинее дозволенного.</msg>
<msg key="Formats">Форматы</msg>
<msg key="Invalid_choice">Недопустимый выбор</msg>
<msg key="Invalid_currency">Недопустимая валюта</msg>
<msg key="Invalid_decimal_number">Недопустимое число</msg>
<msg key="Invalid_email_format">Недопустимый формат эл.почты</msg>
<msg key="Invalid_filename">Недопустимое имя файла</msg>
<msg key="Invalid_integer">Недопустимое целое число</msg>
<msg key="Invalid_keyword">Недопустимое ключевое слово</msg>
<msg key="Invalid_natural_number">Недопустимое натуральное число </msg>
<msg key="Invalid_url">Недопустимый URL-адрес</msg>
<msg key="Invalid_choice">Неверный выбор</msg>
<msg key="Invalid_currency">Неверная валюта</msg>
<msg key="Invalid_decimal_number">Неверное десятичное число</msg>
<msg key="Invalid_email_format">Неправильный формат email-а</msg>
<msg key="Invalid_filename">Неверное имя файла</msg>
<msg key="Invalid_integer">Неверное целое число</msg>
<msg key="Invalid_keyword">Неправильное ключевое слово</msg>
<msg key="Invalid_natural_number">Неверное число</msg>
<msg key="Invalid_url">Неправильный URL</msg>
<msg key="Meridian">Меридиан</msg>
<msg key="Minutes">мин</msg>
<msg key="Month">Месяц</msg>
<msg key="Next_with_arrow">Далее &gt;&gt;</msg>
<msg key="Minutes">минуты</msg>
<msg key="Month">месяц</msg>
<msg key="Next_with_arrow">След. &gt;&gt;</msg>
<msg key="No_row_pretty_plural">Нет %row_pretty_plural%.</msg>
<msg key="Previous_with_arrow">&lt;&lt; Назад</msg>
<msg key="required">обязательный</msg>
<msg key="Seconds">с.</msg>
<msg key="Sort_order">Сортировка</msg>
<msg key="Spellcheck">Правописание</msg>
<msg key="Tag_handler_invalid_number_of_args">Недопустимое количество аргументов для обработчика тегов.</msg>
<msg key="Previous_with_arrow">&lt;&lt; Пред.</msg>
<msg key="required">обязательное</msg>
<msg key="Seconds">секунды</msg>
<msg key="Sort_order">Сортировать по</msg>
<msg key="Spellcheck">Проверить орфографию</msg>
<msg key="Tag_handler_invalid_number_of_args">Неверное количество аргументов обработчика тега.</msg>
<msg key="Template_parser_error_in_parameter_list">Ошибка в списке параметров</msg>
<msg key="Year">Год</msg>
<msg key="Year">год</msg>
</message_catalog>
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-templating" package_version="5.1.5" locale="sv_SE" charset="ISO-8859-1">
<message_catalog package_key="acs-templating" locale="sv_SE" charset="ISO-8859-1">
<msg key="Invalid_choice">Ogiltigt val</msg>
<msg key="Invalid_currency">Ogiltig valuta</msg>
......
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-templating" package_version="5.1.5" locale="tr_TR" charset="utf-8">
<message_catalog package_key="acs-templating" locale="tr_TR" charset="utf-8">
<msg key="12-Hour">12-saat</msg>
<msg key="24-Hour">24-Saat</msg>
<msg key="Day">Gün</msg>
<msg key="12-Hour">12 Saat</msg>
<msg key="24-Hour">24 Saat</msg>
<msg key="Day">Gun</msg>
<msg key="Element_is_required">%label% gerekli</msg>
<msg key="Invalid_choice">Hatalı Seçim</msg>
<msg key="Invalid_currency">Hatalı Kur</msg>
<msg key="Invalid_email_format">hatalı e-mail formatı</msg>
<msg key="Invalid_filename">hatalı dosya ismi</msg>
<msg key="Invalid_keyword">hatalı anahtar sözcük</msg>
<msg key="Minutes">dakika</msg>
<msg key="Element_is_too_long_Plural">%label% etiketindeki %excess_no_bytes% karakteri cok uzun.</msg>
<msg key="Element_is_too_long_Singular">%label% etiketinde uzun bir karakter var.</msg>
<msg key="Formats">Bicimler</msg>
<msg key="Invalid_choice">Gecersiz secim</msg>
<msg key="Invalid_currency">Gecersiz para birimi</msg>
<msg key="Invalid_decimal_number">Gecersiz ondalik sayi</msg>
<msg key="Invalid_email_format">Gecersiz e-posta bicimi</msg>
<msg key="Invalid_filename">Gecersiz dosya adi.</msg>
<msg key="Invalid_integer">Gecersiz tam sayi</msg>
<msg key="Invalid_keyword">Gecersiz anahtar kelime</msg>
<msg key="Invalid_natural_number">Gecersiz dogal sayi</msg>
<msg key="Invalid_url">Gecersiz url</msg>
<msg key="Meridian">Meridyen</msg>
<msg key="Minutes">Dakikalar</msg>
<msg key="Month">Ay</msg>
<msg key="Next_with_arrow">birsonraki</msg>
<msg key="No_row_pretty_plural">%row_pretty_plural% yok.</msg>
<msg key="Previous_with_arrow">önceki</msg>
<msg key="required">Gerekli Alan</msg>
<msg key="Seconds">saniye</msg>
<msg key="Spellcheck">sözcük kontrolü</msg>
<msg key="Year">Yıl</msg>
<msg key="Next_with_arrow">Sonraki &gt;&gt;</msg>
<msg key="No_row_pretty_plural">%row_pretty_plural% yok</msg>
<msg key="Previous_with_arrow">&lt;&lt; Onceki</msg>
<msg key="required">Gerekli</msg>
<msg key="Seconds">Saniyeler</msg>
<msg key="Sort_order">Siraya koy</msg>
<msg key="Spellcheck">Yazim kontrolu</msg>
<msg key="Tag_handler_invalid_number_of_args">Konunun etiket isaretindeki sayi gecersiz</msg>
<msg key="Template_parser_error_in_parameter_list">Parametre listesinde hata</msg>
<msg key="Year">Yil</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-templating" package_version="5.1.5" locale="zh_CN" charset="utf-8">
<message_catalog package_key="acs-templating" locale="zh_CN" charset="utf-8">
<msg key="12-Hour">12-小时</msg>
<msg key="24-Hour">24-小时</msg>
......@@ -22,7 +22,7 @@
<msg key="Month"></msg>
<msg key="Next_with_arrow">下一个</msg>
<msg key="No_row_pretty_plural">无%row_pretty_plural%</msg>
<msg key="Previous_with_arrow">一个</msg>
<msg key="Previous_with_arrow">一个</msg>
<msg key="required">必填项</msg>
<msg key="Seconds"></msg>
<msg key="Sort_order">排列顺序</msg>
......
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-templating" package_version="5.1.2" locale="zh_TW" charset="utf-8">
<message_catalog package_key="acs-templating" locale="zh_TW" charset="utf-8">
<msg key="12-Hour">12小時</msg>
<msg key="24-Hour">24小時</msg>
<msg key="Day"></msg>
<msg key="Element_is_required">%label%是必填</msg>
<msg key="Element_is_too_long_Plural">%label% 字長超過 %excess_no_bytes% 字.</msg>
<msg key="Element_is_too_long_Singular">%label% 字長超過一字.</msg>
<msg key="Formats">格式</msg>
<msg key="Invalid_choice">無效的選擇</msg>
<msg key="Invalid_currency">無效的貨幣</msg>
<msg key="Invalid_decimal_number">無效的十進位數</msg>
......@@ -10,11 +17,17 @@
<msg key="Invalid_keyword">無效的關鍵字</msg>
<msg key="Invalid_natural_number">無效的自然數</msg>
<msg key="Invalid_url">無效的url</msg>
<msg key="Meridian">正午時刻</msg>
<msg key="Minutes">分鐘</msg>
<msg key="Month"></msg>
<msg key="Next_with_arrow">下一項 &gt;&gt;</msg>
<msg key="No_row_pretty_plural">無 %row_pretty_plural%.</msg>
<msg key="Previous_with_arrow">&lt;&lt; 前一項</msg>
<msg key="required">必填</msg>
<msg key="Seconds"></msg>
<msg key="Sort_order">排序別</msg>
<msg key="Spellcheck">拼字檢查</msg>
<msg key="Tag_handler_invalid_number_of_args">tag handler 的參數數目錯誤</msg>
<msg key="Template_parser_error_in_parameter_list">參數列表錯誤</msg>
<msg key="Year"></msg>
</message_catalog>
......@@ -37,8 +37,8 @@
<td width="40%" align="right" valign="middle" class="textstyle1">
@elements.label;noquote@
<if @elements.help_text@ not nil>
<br />&nbsp;&nbsp;
<span style="font-size: 90%"><noparse><formhelp id=@elements.id@></noparse></span><br />
<br>&nbsp;&nbsp;
<span style="font-size: 90%"><noparse><formhelp id=@elements.id@></noparse></span><br>
</if>
</td>
</if>
......@@ -84,7 +84,7 @@
<td bgcolor="#5F6090" width="40%" class="textstyle1" nowrap="nowrap">
</else>
<noparse><formwidget id=@elements.id@>
<formerror id=@elements.id@><br />
<formerror id=@elements.id@><br>
<span style="font-weight: bold; color: red">\@formerror.@elements.id@;noquote\@</span>
</formerror>
</noparse>
......
......@@ -18,7 +18,7 @@
<tr>
<td colspan="2">
<a name="@elements.section@"><b>@elements.section@</b></a>
<hr />
<hr>
</td>
</tr>
</if>
......@@ -47,7 +47,7 @@
<td width="60%">
<if @elements.label@ not nil>
<span class="form-configuration-label">@elements.label;noquote@:</span>
<br />
<br>
</if>
<if @form_properties.show_required_p@ true>
<if @elements.optional@ nil and @elements.mode@ ne "display" and @elements.widget@ ne "inform" and @elements.widget@ ne "select"><font color="red">*</font></if>
......@@ -87,7 +87,7 @@
</else>
<tr>
<td colspan="2">
<hr />
<hr>
</td>
</tr>
</else>
......
......@@ -2,5 +2,6 @@
<multiple name="__form_contents__">
<input type="hidden" name="@__form_contents__.__key__@" value="@__form_contents__.__value__@">
</multiple>
<input type="submit" value="Confirm">
<input type="button" value="#acs-kernel.common_Edit#" onclick="javascript:history.back()" onkeypress="javascript:acs_KeypressGoto(document.referrer,event);">
<input type="submit" value="#acs-subsite.Confirm#">
</form>
......@@ -37,7 +37,7 @@
<tr>
<noparse>
<formgroup id=@elements.id@>
<td>\@formgroup.widget\@</td><td><label for="@elements.form_id@:elements:@elements.id@:\@formgroup.option\@">\@formgroup.label\@</label></td>
<td>\@formgroup.widget;noquote\@</td><td><label for="@elements.form_id@:elements:@elements.id@:\@formgroup.option\@">\@formgroup.label\@</label></td>
</formgroup>
</noparse>
</tr>
......
......@@ -7,7 +7,7 @@
<group column="section">
<if @elements.widget@ eq "hidden">
<noparse><formwidget id=@elements.id@></noparse>
<noparse><div><formwidget id=@elements.id@></div></noparse>
</if>
<else>
......@@ -62,7 +62,6 @@
</tr>
</formgroup>
</table>
</noparse>
</if>
......@@ -97,4 +96,4 @@
</else>
</group>
</multiple>
\ No newline at end of file
......@@ -29,8 +29,8 @@
<if @elements.label@ not nil>
<td><span style="font-weight: bold">@elements.label;noquote@</span>&nbsp;&nbsp;
<if @elements.help_text@ not nil>
<br />&nbsp;&nbsp;
<span style="font-size: 90%"><noparse><formhelp id=@elements.id@></noparse></span><br />
<br>&nbsp;&nbsp;
<span style="font-size: 90%"><noparse><formhelp id=@elements.id@></noparse></span><br>
</if>
</td>
</if>
......@@ -61,7 +61,7 @@
<if @elements.label@ nil><td nowrap="nowrap" colspan="2"></if>
<else><td nowrap="nowrap"></else>
<noparse><formwidget id=@elements.id@>
<formerror id=@elements.id@><br />
<formerror id=@elements.id@><br>
<span style="font-weight: bold; color: red">\@formerror.@elements.id@;noquote\@</span>
</formerror></noparse>
</td>
......
<table cellspacing="2" cellpadding="2" border="0">
<multiple name=elements>
<multiple name=elements>
<if @elements.section@ not nil>
<fieldset id="@elements.form_id@:@elements.section@" @elements.sec_fieldset;noquote@><!-- section fieldset -->
<legend @elements.sec_legend;noquote@><span>@elements.sec_legendtext@</span></legend>
</if>
<group column="section">
<if @elements.widget@ eq "hidden">
<noparse><div><formwidget id=@elements.id@></div></noparse>
</if>
<else>
<if @elements.widget@ eq "submit"><!-- if form submit button wrap it in the form-button class -->
<div class="form-button">
<group column="widget">
<noparse><formwidget id="@elements.id@">&nbsp;</noparse>
</group>
</div>
</if>
<else> <!-- wrap the form item in the form-item-wrapper class -->
<div class="form-item-wrapper">
<noparse>
<formerror id="@elements.id@">
<span class="form-error">
\@formerror.@elements.id@;noquote\@
</span> <!-- /form-error -->
</formerror>
</noparse>
<if @elements.section@ not nil>
<tr class="form-section"><th colspan="2">@elements.section;noquote@</th></tr>
</if>
<if @elements.widget@ in radio checkbox>
<if @elements.legendtext@ defined>
<fieldset @elements.fieldset;noquote@>
<!-- radio button groups and checkbox groups get their own fieldsets -->
<legend @elements.legend;noquote@><span>@elements.legendtext@</span></legend>
</if>
</if>
<group column="section">
<if @elements.widget@ eq "hidden">
<noparse><formwidget id=@elements.id@></noparse>
</if>
<if @elements.label@ not nil>
<noparse>
<if @form_properties.mode@ eq display or @elements.widget@ in radio checkbox date inform>
<!-- no label tag -->
</if>
<else>
<label for="@elements.id@">
</else>
<else>
<if \@formerror.@elements.id@\@ not nil>
<span class="form-label form-label-error">
</if>
<else>
<span class="form-label">
</else>
</noparse>
<if @elements.widget@ eq "submit">
<tr class="form-element">
<td align="left" colspan="2">
<group column="widget">
<noparse><formwidget id="@elements.id@"></noparse>
</group>
</td>
</tr>
</if>
<else>
<tr class="form-element">
@elements.label;noquote@
<if @elements.label@ not nil>
<noparse>
<if \@formerror.@elements.id@\@ not nil>
<td class="form-label-error">
</if>
<else>
<td class="form-label">
</else>
</noparse>
@elements.label;noquote@
<if @form_properties.show_required_p@ true>
<if @elements.optional@ nil and @elements.mode@ ne "display" and @elements.widget@ ne "inform"><span class="form-required-mark">*</span></if>
</if>
</td>
</if>
<else>
<td class="form-label">
&nbsp;
</td>
</else>
<if @form_properties.show_required_p@ true>
<if @elements.optional@ nil and @elements.mode@ ne "display" and @elements.widget@ ne "inform">
<span class="form-required-mark">(#acs-templating.required#)</span>
</if>
</if>
</span><!-- form-label -->
</if>
<else>
<if @elements.optional@ nil and @elements.mode@ ne "display" and @elements.widget@ ne "inform">
<span class="form-label form-required-mark">
#acs-templating.required#
</span>
</if>
</else>
<noparse>
<if \@formerror.@elements.id@\@ not nil>
<td class="form-widget-error">
</if>
<else>
<td class="form-widget">
</else>
</noparse>
<if @elements.widget@ in radio checkbox>
<noparse>
<span class="form-widget">
<formgroup id="@elements.id@">
<label for="@elements.form_id@:elements:@elements.id@:\@formgroup.option@">
\@formgroup.widget;noquote@
\@formgroup.label;noquote@
</label><br>
</formgroup>
</span>
</noparse>
</if>
<else>
<noparse>
<span class="form-widget">
<formwidget id="@elements.id@">
</span>
</noparse>
<if @form_properties.mode@ eq display or @elements.widget@ in radio checkbox date inform><!-- no label tag --></if>
<else>
<if @elements.label@ not nil></label></if>
</else>
</else>
<if @elements.help_text@ not nil>
<span class="form-help-text">
<img src="/shared/images/info.gif" width="12" height="9" alt="Help" title="Help text" style="border:0">
<noparse><formhelp id="@elements.id@"></noparse>
</span> <!-- /form-help-text -->
</if>
<if @elements.widget@ eq radio or @elements.widget@ eq checkbox>
<noparse>
<table class="formgroup">
<formgroup id="@elements.id@">
<tr>
<td>\@formgroup.widget;noquote@</td>
<td class="form-widget">
<label for="@elements.form_id@:elements:@elements.id@:\@formgroup.option@">
\@formgroup.label;noquote@
</label>
</td>
</tr>
</formgroup>
</table>
</noparse>
</if>
<if @elements.widget@ in radio checkbox>
<if @elements.legendtext@ defined>
<!-- radio button groups and checkbox groups get their own fieldsets -->
</fieldset>
</if>
</if>
</div> <!-- form-item-wrapper -->
</else>
</else>
</group>
<else>
<noparse>
<formwidget id="@elements.id@">
</noparse>
</else>
<noparse>
<formerror id="@elements.id@">
<div class="form-error">
\@formerror.@elements.id@;noquote\@
</div>
</formerror>
</noparse>
<if @elements.help_text@ not nil and @elements.mode@ ne "display">
<div class="form-help-text">
<img src="/shared/images/info.gif" width="12" height="9" alt="[i]" title="Help text" border="0">
<noparse><formhelp id="@elements.id@"></noparse>
</div>
</if>
</td>
</tr>
</else>
</else>
</group>
</multiple>
</table>
<multiple name="elements">
<if @form_properties.show_required_p@ true>
<if @elements.optional@ nil and @elements.mode@ ne "display" and @elements.widget@ ne "inform" and @elements.widget@ ne "hidden" and @elements.widget@ ne "submit">
<span class="form-required-mark">*</span> #acs-templating.required# <% break %>
</if>
<if @elements.section@ not nil>
</fieldset> <!-- section fieldset -->
</if>
</multiple>
......@@ -11,7 +11,7 @@
<multiple name=elements>
<if @elements.section@ not nil>
<tr><td colspan=2 bgcolor=#eeeeee><b>@elements.section@</b></td></tr>
<tr><td colspan=2 bgcolor=#eeeeee><b>@elements.section;noquote@</b></td></tr>
</if>
<group column="section">
......@@ -27,14 +27,14 @@
<else>
<!-- If the widget is wide, display it in its own section -->
<if @elements.wide@ not nil>
<tr><td colspan=2 bgcolor=#eeeeee><b>@elements.label@</b></td></tr>
<tr><td colspan=2 bgcolor=#eeeeee><b>@elements.label;noquote@</b></td></tr>
<tr><td colspan=2>
</if>
<else>
<tr><td><b>@elements.label@</b>&nbsp;&nbsp;
<if @elements.help_text@ not nil>
<br>&nbsp;&nbsp;
<font size=-1><noparse><formhelp id=@elements.id@></noparse></font><br>
<font size=-1><noparse><formhelp id=@elements.id;noquote@></noparse></font><br>
</if></td>
</else>
......@@ -42,7 +42,7 @@
<if @elements.wide@ not nil>
<if @elements.help_text@ not nil>
&nbsp;&nbsp;
<font size=-1><noparse><formhelp id=@elements.id@></noparse></font><br>
<font size=-1><noparse><formhelp id=@elements.id;noquote@></noparse></font><br>
</if>
</if><else><td></else>
<noparse>
......@@ -61,7 +61,7 @@
</formgroup>
</table>
<formerror id=@elements.id@><br>
<formerror id=@elements.id;noquote@><br>
<font color="red"><b>\@formerror.@elements.id@;noquote\@</b></font>
</formerror>
</noparse>
......@@ -71,12 +71,12 @@
<if @elements.widget@ eq inform>
<if @elements.wide@ not nil>
<noparse>
<formerror id=@elements.id@><br>
<formerror id=@elements.id;noquote@><br>
<font color="red"><b>\@formerror.@elements.id@;noquote\@</b></font><br>
</formerror>
</noparse>
</if><else><td bgcolor=#EEEEEE></else>
<noparse><formwidget id=@elements.id@></noparse>
<noparse><formwidget id=@elements.id;noquote@></noparse>
</td>
</if>
<else>
......@@ -102,7 +102,7 @@
<td align="right" colspan="2">
<multiple name="elements">
<if @elements.widget@ in "submit" "button">
<noparse><formwidget id=@elements.id@></noparse>
<noparse><formwidget id=@elements.id;noquote@></noparse>
</if>
</multiple>
</td>
......
<multiple name="filters">
<p style="margin-top: 0px; margin-bottom: 12px;">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tr>
<td colspan="3" class="list-filter-header">
......@@ -17,7 +16,7 @@
<tr>
</else>
<td class="list-filter">
<if @filters.selected_p@ true><span class="list-filter-selected">@filters.label@</span></if>
<if @filters.selected_p@ true><strong><span class="list-filter-selected">@filters.label@</span></strong></if>
<else><a href="@filters.url@" title="@filters.url_html_title@">@filters.label@</a></else>
</td>
<td align="right" class="list-filter">
......@@ -31,5 +30,4 @@
</tr>
</group>
</table>
</p>
</multiple>
<div class="@list_properties.class@">
<noparse>
<if \@@list_properties.multirow@:rowcount@ eq 0>
</noparse>
......@@ -6,50 +7,17 @@
</if>
<else>
</noparse>
<script language="JavaScript" type="text/javascript">
function ListFindInput() {
if (document.getElementsByTagName) {
return document.getElementsByTagName('input');
} else if (document.all) {
return document.all.tags('input');
}
return false;
}
function ListCheckAll(listName, checkP) {
var Obj, Type, Name, Id;
var Controls = ListFindInput(); if (!Controls) { return; }
// Regexp to find name of controls
var re = new RegExp('^' + listName + ',.+');
checkP = checkP ? true : false;
for (var i = 0; i < Controls.length; i++) {
Obj = Controls[i];
Type = Obj.type ? Obj.type : false;
Name = Obj.name ? Obj.name : false;
Id = Obj.id ? Obj.id : false;
if (!Type || !Name || !Id) { continue; }
if (Type == "checkbox" && re.exec(Id)) {
Obj.checked = checkP;
}
}
}
function ListBulkActionClick(formName, url) {
if (document.forms == null) return;
if (document.forms[formName] == null) return;
var form = document.forms[formName];
form.action = url;
form.submit();
}
</script>
<if @bulk_actions:rowcount@ gt 0>
<if @list_properties.bulk_action_method@ not nil>
<form name="@list_properties.name@" method="@list_properties.bulk_action_method@">
</if>
<else>
<form name="@list_properties.name@" method="GET">
</else>
<noparse>
@list_properties.bulk_action_export_chunk;noquote@
</noparse>
</if>
<if @actions:rowcount@ gt 0>
<div class="list-button-bar">
......@@ -59,28 +27,22 @@
</div>
</if>
<table class="list-tiny" cellpadding="3" cellspacing="1">
<if @list_properties.bulk_action_method@ not nil>
<form name="@list_properties.name@" method="@list_properties.bulk_action_method@">
</if>
<else>
<form name="@list_properties.name@" method="GET">
</else>
<noparse>
<multiple name="@list_properties.multirow@">
<if \@@list_properties.multirow@.rownum@ odd>
<div class="list-row odd">
</if><else>
<div class="list-row even">
</else>
</noparse>
<p class="list-row">
<listrow>
</p>
</div>
<noparse>
</multiple>
</noparse>
</table>
<if @bulk_actions:rowcount@ gt 0>
<div class="list-button-bar">
<multiple name="bulk_actions">
......@@ -88,10 +50,12 @@
onclick="ListBulkActionClick('@list_properties.name@', '@bulk_actions.url@'); return false;">@bulk_actions.label@</a></span>
</multiple>
</div>
</form>
</if>
</form>
<noparse>
</else>
</noparse>
</div>
This diff is collapsed.
create sequence ad_template_sample_users_seq start with 5 increment by 1;
create table ad_template_sample_users (
user_id integer primary key,
user_id integer
constraint ad_template_sample_users_pk primary key,
first_name varchar2(20),
last_name varchar2(20),
address1 varchar2(40),
......@@ -24,3 +25,8 @@ insert into ad_template_sample_users values
insert into ad_template_sample_users values
(4, 'Yoruba', 'Diaz', '12 Magic Ave.', NULL, 'Lariot', 'WY');
-- load jiml's notes-like package
@@ template-demo-notes-create.sql
@@ template-demo-notes-sample.sql
......@@ -6,5 +6,7 @@
-- $Id$
--
@@ template-demo-notes-drop.sql
drop table ad_template_sample_users;
drop sequence ad_template_sample_users_seq;
......@@ -2,7 +2,8 @@ create sequence ad_template_sample_users_seq start 5 increment 1;
create view ad_template_sample_users_sequence as select nextval('ad_template_sample_users_seq') as nextval;
create table ad_template_sample_users (
user_id integer primary key,
user_id integer
constraint ad_template_sample_users_pk primary key,
first_name varchar(20),
last_name varchar(20),
address1 varchar(40),
......@@ -25,3 +26,7 @@ insert into ad_template_sample_users values
insert into ad_template_sample_users values
(4, 'Yoruba', 'Diaz', '12 Magic Ave.', NULL, 'Lariot', 'WY');
\i template-demo-notes-create.sql
\i template-demo-notes-sample.sql
......@@ -6,5 +6,7 @@
-- $Id$
--
\i template-demo-notes-drop.sql
drop table ad_template_sample_users;
drop sequence ad_template_sample_users_seq;
......@@ -23,7 +23,7 @@ ad_proc -public ad_return_template {
@param string If specified, will return the resulting page to the caller
string instead sending it to the connection.
} {
if {![empty_string_p $template]} {
if {$template ne ""} {
template::set_file \
[template::util::url_to_file $template [ad_conn file]]
}
......@@ -97,10 +97,11 @@ ad_proc adp_parse_ad_conn_file {} {
} {
namespace eval template variable parse_level ""
#ns_log debug "adp_parse_ad_conn_file => file '[file root [ad_conn file]]'"
template::reset_request_vars
set parsed_template [template::adp_parse [file root [ad_conn file]] {}]
if {![empty_string_p $parsed_template]} {
if {$parsed_template ne ""} {
#
# acs-lang translator mode
......@@ -123,9 +124,9 @@ ad_proc adp_parse_ad_conn_file {} {
if { [string first "</select" [string tolower $select]] != -1 } {
set start [lindex $indices 1]
} else {
set before [string range $parsed_template 0 [expr [lindex $indices 0]-1]]
set before [string range $parsed_template 0 [expr {[lindex $indices 0]-1}]]
set message [string range $parsed_template [lindex $message_idx 0] [lindex $message_idx 1]]
set after [string range $parsed_template [expr [lindex $indices 1] + 1] end]
set after [string range $parsed_template [expr {[lindex $indices 1] + 1}] end]
set parsed_template "${before}${message}${select}${after}"
}
}
......@@ -133,8 +134,8 @@ ad_proc adp_parse_ad_conn_file {} {
# TODO: We could also move message keys out of <head>...</head>
while { [regexp -indices {\x002\(\x001([^\x001]*)\x001\)\x002} $parsed_template indices key] } {
set before [string range $parsed_template 0 [expr [lindex $indices 0] - 1]]
set after [string range $parsed_template [expr [lindex $indices 1] + 1] end]
set before [string range $parsed_template 0 [expr {[lindex $indices 0] - 1}]]
set after [string range $parsed_template [expr {[lindex $indices 1] + 1}] end]
set key [string range $parsed_template [lindex $key 0] [lindex $key 1]]
......@@ -169,9 +170,3 @@ ad_proc adp_parse_ad_conn_file {} {
}
}
ad_proc -public -deprecated -warn ad_template_return {{file_stub ""}} {
Alias proc (wrapper) for ad_return_template
} {
uplevel 1 "ad_return_template $file_stub"
}
......@@ -9,9 +9,11 @@ ad_library {
namespace eval template {}
namespace eval template::apm {}
ad_proc -public template::apm::before_upgrade {
ad_proc -private template::apm::before_upgrade {
{-from_version_name:required}
{-to_version_name:required}
} {
before upgrade apm callback for acs-templating.
} {
apm_upgrade_logic \
-from_version_name $from_version_name \
......@@ -19,7 +21,7 @@ ad_proc -public template::apm::before_upgrade {
-spec {
4.6.4 5.0d1 {
db_transaction {
# Change 'standard-lars' to 'standard'
set package_id [apm_package_id_from_key "acs-templating"]
......@@ -27,7 +29,7 @@ ad_proc -public template::apm::before_upgrade {
-package_id $package_id \
-parameter DefaultFormStyle]
if { [string equal $DefaultFormStyle "standard-lars"] } {
if {$DefaultFormStyle eq "standard-lars"} {
parameter::set_value \
-package_id $package_id \
-parameter DefaultFormStyle \
......@@ -42,15 +44,65 @@ ad_proc -public template::apm::before_upgrade {
set DefaultFormStyle [parameter::get \
-package_id $package_id \
-parameter DefaultFormStyle]
if { [string equal $DefaultFormStyle "standard-lars"] } {
if {$DefaultFormStyle eq "standard-lars"} {
parameter::set_value \
-package_id $package_id \
-parameter DefaultFormStyle \
-value "standard"
}
}
}
}
5.5.1d1 5.5.1d2 {
# Removing invalid plugins for the new version of Xinha
set package_id_templating [apm_package_id_from_key "acs-templating"]
set plugins [parameter::get \
-package_id $package_id_templating \
-parameter "XinhaDefaultPlugins" \
-default ""]
if { $plugins ne "" } {
set del_pos [lsearch $plugins FullScreen]
set plugins [lreplace $plugins $del_pos $del_pos]
parameter::set_value \
-package_id $package_id_templating \
-parameter "XinhaDefaultPlugins" \
-value $plugins
}
}
}
}
ad_proc -private template::apm::after_upgrade {
{-from_version_name:required}
{-to_version_name:required}
} {
after upgrade apm callback for acs-templating.
} {
apm_upgrade_logic \
-from_version_name $from_version_name \
-to_version_name $to_version_name \
-spec {
5.3.0d1 5.3.0d2 {
db_transaction {
# mount acs-templating so we can address
# executable tcl scripts under www with a url
set package_id [apm_package_id_from_key acs-templating]
array set main_subsite \
[site_node::get_from_url \
-url "/" \
-exact]
set node_id [site_node::new \
-parent_id $main_subsite(node_id) \
-name acs-templating]
site_node::mount -node_id $node_id -object_id $package_id
# acs-templating needs to inherit permissions from
# the main subsite so users can actually read the
# files under it
# acs_object::set_context_id \
-object_id $package_id \
-context_id $main_subsite(object_id)
}
}
}
......
......@@ -28,22 +28,60 @@ ad_proc -public template::util::currency { command args } {
}
ad_proc -public template::util::currency::create {
{leading_symbol {}} {whole_part {}} {separator {}}
{fractional_part {}} {trailing_money {}} {format "$ 5 . 2"}
{leading_symbol {}}
{whole_part {}}
{separator {}}
{fractional_part {}}
{trailing_money {}}
{format "$ 5 . 2"}
} {
Create a currency form element.
@param leading_symbol The leading symbol for the currency format (default: "$")
@param whole_part The number of digits in the whole part of the value (default: 5)
@param separator The character the separates the whole part from the fractional part
(default ".")
@param fractional_part The number of digits allowed in the fractional part of the
value (default: 2, i.e. US Pennies)
@param trailing_money For those currencies that use a trailing rather than leading
character in their normal representation
@param format The actual format to use in list form
@return The parameters joined in a six-element list
} {
return [list $leading_symbol $whole_part $separator $fractional_part $trailing_money $format]
}
ad_proc -public template::util::currency::acquire { type { value "" } } {
ad_proc -public template::util::currency::acquire {
type
{ value "" }
} {
Create a new currency value with some predefined value
Basically, create and set the currency value
@param type The set_property type to set (only sql_number supported currently)
@return The new currency value set to the predefined value
} {
set currency_list [template::util::currency::create]
return [template::util::currency::set_property $type $currency_list $value]
}
ad_proc -public template::data::validate::currency { value_ref message_ref } {
ad_proc -public template::data::validate::currency {
value_ref
message_ref
} {
form validation for currency type.
Should validate according to locale for example, the following forms: "$2.03"
"Rs 50.42" "12.52L" "Y5,13c"
@param value_ref Reference variable to the submitted value
@param message_ref Reference variable for returning error messages
@return true (1) if valid, false (0) if not
} {
upvar 2 $message_ref message $value_ref value
# a currency is a 6 element list supporting, for example, the following forms: "$2.03" "Rs 50.42" "12.52L" "Y5,13c"
......@@ -59,7 +97,7 @@ ad_proc -public template::data::validate::currency { value_ref message_ref } {
set format_fractional_part [lindex $format 3]
set whole_part_valid_p [template::data::validate integer whole_part message]
if { ![empty_string_p $fractional_part] } {
if { $fractional_part ne "" } {
set fractional_part_valid_p [template::data::validate integer fractional_part message]
} else {
set fractional_part_valid_p 1
......@@ -71,9 +109,16 @@ ad_proc -public template::data::validate::currency { value_ref message_ref } {
} else {
return 1
}
}
}
ad_proc -private template::data::transform::currency {
element_ref
} {
Transform the previously-validated submitted form data into a six-element currency list
ad_proc -public template::data::transform::currency { element_ref } {
@param element_ref Reference variable to the form element
} {
upvar $element_ref element
set element_id $element(id)
......@@ -84,7 +129,7 @@ ad_proc -public template::data::transform::currency { element_ref } {
}
# a currency is a 6 element list supporting, for example, the following forms: "$2.03" "Rs 50.42" "12.52L" "Y5,13c"
set have_values 0
for { set i 0 } { $i <= 4 } { incr i } {
......@@ -94,7 +139,7 @@ ad_proc -public template::data::transform::currency { element_ref } {
# let's put a leading zero if the whole part is empty
if { $i == 1 } {
if { [string equal $value ""] } {
if {$value eq ""} {
set value 0
} else {
set have_values 1
......@@ -103,11 +148,11 @@ ad_proc -public template::data::transform::currency { element_ref } {
# and let's fill in the zeros at the end up to the precision
if { $i == 3 } {
if { ![string equal $value ""] } {
if { $value ne "" } {
set have_values 1
}
set fractional_part_format [lindex $format 3]
for { set j [string length $value] } { $j < $fractional_part_format } { set j [expr $j + 1] } {
for { set j [string length $value] } { $j < $fractional_part_format } { set j [expr {$j + 1}] } {
append $value 0
}
}
......@@ -130,7 +175,24 @@ ad_proc -public template::data::transform::currency { element_ref } {
}
}
ad_proc -public template::util::currency::set_property { what currency_list value } {
ad_proc -public template::util::currency::set_property {
what
currency_list
value
} {
Set a currency value to a set value, with that value being of "what"
form. Currently the only "what" supported is sql_number, it being assumed
(somewhat reasonably) that SQL's NUMERIC datatype will be used to store
currency data in the database, regardless of locale.
@param what What kind of value is being passed in (sql_number is the only
format supported)
@param currency_list A currency data type value
@param value The value to set currency_list to
@return currency_list set to value
} {
# Erase leading zeroes from the value, but make sure that 00
# is not completely erased
......@@ -141,7 +203,7 @@ ad_proc -public template::util::currency::set_property { what currency_list valu
switch $what {
sql_number {
if { [empty_string_p $value]} {
if { $value eq ""} {
return ""
}
......@@ -161,12 +223,19 @@ ad_proc -public template::util::currency::set_property { what currency_list valu
}
}
ad_proc -public template::util::currency::get_property { what currency_list } {
ad_proc -public template::util::currency::get_property {
what
currency_list
} {
Return a property of a currency list which was created by a
currency widget.
@param what the name of the property (see code for allowed values)
The most useful properties that can be returned are sql_number (compatible with
SQL's NUMERIC type, historically called NUMBER by Oracle) and display_currency,
which takes the value and formats properly.
@param what The name of the property (see code for allowed values)
@param currency_list a currency widget list, usually created with ad_form
......@@ -202,7 +271,7 @@ ad_proc -public template::util::currency::get_property { what currency_list } {
}
sql_number {
if { [empty_string_p $whole_part] && [empty_string_p $fractional_part] } {
if { $whole_part eq "" && $fractional_part eq "" } {
return ""
}
......@@ -215,7 +284,7 @@ ad_proc -public template::util::currency::get_property { what currency_list } {
}
display_currency {
if { [empty_string_p $whole_part] && [empty_string_p $fractional_part] } {
if { $whole_part eq "" && $fractional_part eq "" } {
return ""
}
......@@ -235,11 +304,24 @@ ad_proc -public template::util::currency::get_property { what currency_list } {
}
ad_proc -public template::widget::currency {
element_reference tag_attributes {mode edit}
element_reference
tag_attributes
{mode edit}
} {
Render a currency widget.
By default, the currency widget takes the form $ddddd.dd, i.e. US dollars
and cents. You can optionally pass along a format for different currency.
@param element_reference Reference variable to the form element
@param tag_attributes HTML attributes to add to the tag
@param mode If edit, the rendered widget allows input, otherwise the values
are passed along as hidden input HTML tags
@return Form HTML for widget
} {
upvar $element_reference element
if { [info exists element(html)] } {
array set attributes $element(html)
}
......@@ -267,16 +349,15 @@ ad_proc -public template::widget::currency {
set trailing_zero [string range [string repeat "0" $format_property] [string length $value] end]
}
if { $i == 0 || $i == 2 || $i == 4 } {
append output "$format_property<input type=\"hidden\" name=\"$element(name).$i\" value=\"$format_property\" />"
} elseif { [string equal $element(mode) "edit"] && ($i == 1 || $i == 3) } {
append output "<input type=\"text\" name=\"$element(name).$i\" maxlength=\"$format_property\" size=\"$format_property\" value=\"$value$trailing_zero\" />\n"
append output "$format_property<input type=\"hidden\" name=\"$element(name).$i\" value=\"$format_property\" >"
} elseif { $element(mode) eq "edit" && ($i == 1 || $i == 3) } {
append output "<input type=\"text\" name=\"$element(name).$i\" maxlength=\"$format_property\" size=\"$format_property\" value=\"$value$trailing_zero\" >\n"
} else {
append output "$value$trailing_zero<input type=\"hidden\" name=\"$element(name).$i\" maxlength=\"$format_property\" size=\"$format_property\" value=\"$value\" />"
append output "$value$trailing_zero<input type=\"hidden\" name=\"$element(name).$i\" maxlength=\"$format_property\" size=\"$format_property\" value=\"$value\" >"
}
incr i
}
append output "<input type=\"hidden\" name=\"$element(name).format\" value=\"$element(format)\" />\n"
append output "<input type=\"hidden\" name=\"$element(name).format\" value=\"$element(format)\" >\n"
return $output
}
......@@ -21,8 +21,10 @@ ad_proc -public template::data::validate { type value_ref message_ref } {
@see template::data::validate::date
@see template::data::validate::email
@see template::data::validate::filename
@see template::data::validate::float
@see template::data::validate::integer
@see template::data::validate::keyword
@see template::data::validate::naturalnum
@see template::data::validate::search
@see template::data::validate::string
@see template::data::validate::text
......@@ -32,7 +34,18 @@ ad_proc -public template::data::validate { type value_ref message_ref } {
return [validate::$type $value_ref $message_ref]
}
ad_proc -public template::data::validate::integer { value_ref message_ref } {
ad_proc -public template::data::validate::integer {
value_ref
message_ref
} {
Validate that a submitted integer contains only an optional sign and
the digits 0-9.
@param value_ref Reference variable to the submitted value
@param message_ref Reference variable for returning an error message
@return True (1) if valid, false (0) if not
} {
upvar 2 $message_ref message $value_ref value
......@@ -45,11 +58,21 @@ ad_proc -public template::data::validate::integer { value_ref message_ref } {
return $result
}
ad_proc -public template::data::validate::naturalnum { value_ref message_ref } {
Validates natural numbers data types
Will trim leading 0 in order to avoid TCL interpreting it as octal in the future
(code borrowed from ad_page_contract_filter_proc_naturalnum)
ad_proc -public template::data::validate::naturalnum {
value_ref
message_ref
} {
Validates natural numbers data types.
Will trim leading 0 in order to avoid TCL interpreting it as octal (code borrowed
from ad_page_contract_filter_proc_naturalnum)
@author Rocael Hernandez <roc@viaro.net>
@param value_ref Reference variable to the submitted value
@param message_ref Reference variable for returning an error message
@return True (1) if valid, false (0) if not
} {
upvar 2 $message_ref message $value_ref value
......@@ -62,7 +85,18 @@ ad_proc -public template::data::validate::naturalnum { value_ref message_ref } {
return $result
}
ad_proc -public template::data::validate::float { value_ref message_ref } {
ad_proc -public template::data::validate::float {
value_ref
message_ref
} {
Validate that a submitted fla contains only an optional sign, and a whole part
and fractional part.
@param value_ref Reference variable to the submitted value
@param message_ref Reference variable for returning an error message
@return True (1) if valid, false (0) if not
} {
upvar 2 $message_ref message $value_ref value
......@@ -76,9 +110,18 @@ ad_proc -public template::data::validate::float { value_ref message_ref } {
return $result
}
ad_proc -public template::data::validate::boolean { value_ref message_ref } {
Validates boolean data types
ad_proc -public template::data::validate::boolean {
value_ref
message_ref
} {
Validates boolean data types.
@author Roberto Mello <rmello at fslc.usu.edu>
@param value_ref Reference variable to the submitted value
@param message_ref Reference variable for returning an error message
@return True (1) if valid, false (0) if not
} {
upvar 2 $message_ref message $value_ref value
......@@ -108,19 +151,47 @@ ad_proc -public template::data::validate::boolean { value_ref message_ref } {
return $result
}
ad_proc -public template::data::validate::text { value_ref message_ref } {
ad_proc -public template::data::validate::text {
value_ref
message_ref
} {
Validate that submitted text is valid. Hmmm ... all submitted text is valid,
that's easy!
@param value_ref Reference variable to the submitted value
@param message_ref Reference variable for returning an error message
# anything is valid for text
@return True (1)
} {
return 1
}
ad_proc -public template::data::validate::string { value_ref message_ref } {
ad_proc -public template::data::validate::string {
value_ref
message_ref
} {
Validate that a submitted string is valid. Hmmm ... all submitted strings are valid,
that's easy!
@param value_ref Reference variable to the submitted value
@param message_ref Reference variable for returning an error message
# anything is valid for string
@return True (1)
} {
return 1
}
ad_proc -public template::data::validate::keyword { value_ref message_ref } {
ad_proc -public template::data::validate::keyword {
value_ref
message_ref
} {
Validate that a submitted keyword consists of alphnumeric or "_" characters.
@param value_ref Reference variable to the submitted value
@param message_ref Reference variable for returning an error message
@return True (1) if valid, false (0) if not
} {
upvar 2 $message_ref message $value_ref value
......@@ -133,7 +204,18 @@ ad_proc -public template::data::validate::keyword { value_ref message_ref } {
return $result
}
ad_proc -public template::data::validate::filename { value_ref message_ref } {
ad_proc -public template::data::validate::filename {
value_ref
message_ref
} {
Validate that a submitted filename consists of alphanumeric, "_", or
"-" characters.
@param value_ref Reference variable to the submitted value
@param message_ref Reference variable for returning an error message
@return True (1) if valid, false (0) if not
} {
upvar 2 $message_ref message $value_ref value
......@@ -146,7 +228,17 @@ ad_proc -public template::data::validate::filename { value_ref message_ref } {
return $result
}
ad_proc -public template::data::validate::email { value_ref message_ref } {
ad_proc -public template::data::validate::email {
value_ref
message_ref
} {
Validate that a submitted email address is syntactically correct.
@param value_ref Reference variable to the submitted value
@param message_ref Reference variable for returning an error message
@return True (1) if valid, false (0) if not
} {
upvar 2 $message_ref message $value_ref value
......@@ -159,7 +251,18 @@ ad_proc -public template::data::validate::email { value_ref message_ref } {
return $result
}
ad_proc -public template::data::validate::url { value_ref message_ref } {
ad_proc -public template::data::validate::url {
value_ref
message_ref
} {
Validate that a submitted url is correct. Accepts an optional http:// or
https:// prefix, path, and query string.
@param value_ref Reference variable to the submitted value
@param message_ref Reference variable for returning an error message
@return True (1) if valid, false (0) if not
} {
upvar 2 $message_ref message $value_ref value
......@@ -173,7 +276,10 @@ ad_proc -public template::data::validate::url { value_ref message_ref } {
return $result
}
ad_proc -public template::data::validate::url_element { value_ref message_ref } {
ad_proc -public template::data::validate::url_element {
value_ref
message_ref
} {
Beautiful URL elements that may only contain lower case
characters, numbers and hyphens.
......@@ -185,6 +291,10 @@ ad_proc -public template::data::validate::url_element { value_ref message_ref }
@author Tilmann Singer
@param value_ref Reference variable to the submitted value
@param message_ref Reference variable for returning an error message
@return True (1) if valid, false (0) if not
} {
upvar 2 $message_ref message $value_ref value
......@@ -198,27 +308,59 @@ ad_proc -public template::data::validate::url_element { value_ref message_ref }
return $result
}
ad_proc -public template::data::validate::date { value_ref message_ref } {
ad_proc -public template::data::validate::date {
value_ref
message_ref
} {
Validate that a submitted date conforms to the template system's notion
of what a date should be.
@param value_ref Reference variable to the submitted value
@param message_ref Reference variable for returning an error message
@return True (1) if valid, false (0) if not
} {
upvar 2 $message_ref message $value_ref value
return [template::util::date::validate $value message]
}
# It was necessary to declare a datatype of "search" in order for the
# transformation to be applied correctly. In reality, the transformation
# should be on the element, not on the datatype.
ad_proc -public template::data::validate::search { value_ref message_ref } {
ad_proc -public template::data::validate::search {
value_ref
message_ref
} {
It was necessary to declare a datatype of "search" in order for the
transformation to be applied correctly. In reality, the transformation
should be on the element, not on the datatype.
DRB: in practice a template form datatype is defined by the presence of a
validate procdure for that type.
@param value_ref Reference variable to the submitted value
@param message_ref Reference variable for returning an error message
@return True (1)
} {
return 1
}
ad_proc -public template::data::transform { type value_ref } {
ad_proc -public template::data::transform {
type
value_ref
} {
Dispatch procedure for the transform method. "tranformation" in template
systemspeak means to convert the submitted data to the custom datatype structure,
usually a list for complex datatypes, just the value for simple datatypes. The
transform method is called after the datatype is validated.
@param type The data type to be transformed.
} {
set proc_name [info procs ::template::data::transform::$type]
if { ! [string equal $proc_name {}] } {
if { $proc_name ne {} } {
transform::$type $value_ref
}
......
This diff is collapsed.
......@@ -13,7 +13,7 @@ ad_proc -public watch_files {} {
set proc_name [info procs ::template::mtimes::tcl::$file]
set mtime [file mtime $file]
if { [string equal $proc_name {}] || $mtime != [$proc_name] } {
if { $proc_name eq {} || $mtime != [$proc_name] } {
uplevel #0 "source $file"
proc ::template::mtimes::tcl::$file {} "return $mtime"
......
......@@ -21,7 +21,11 @@
namespace eval template {}
ad_proc -public template::parse_directives { code } {
ad_proc -public template::parse_directives {
code
} {
Parse out directives embedded in the code parameter.
} {
# remove carriage returns if present
regsub -all {\r|\r\n} $code {\n} code
......@@ -98,7 +102,7 @@ ad_proc -public template::get_datasources { code } {
set structure [lindex $info 1]
set comment [lrange $info 2 end]
if { [string match one* $structure] } {
if { [string match "one*" $structure] } {
# directive is a onevalue or onelist. add a row and move on
incr rowcount
......@@ -160,6 +164,8 @@ ad_proc -public template::get_datasources { code } {
}
ad_proc -public template::verify_datasources {} {
@return True (1)
} {
return 1
}
......@@ -46,7 +46,7 @@ ad_proc -private doc::sort_@see { list_ref directive_comments } {
set see_name [lindex $directive_comments 1]
set url [lindex $directive_comments 2]
if {$url == "" } {
if {$url eq "" } {
switch -exact $type {
namespace {
......@@ -57,7 +57,7 @@ ad_proc -private doc::sort_@see { list_ref directive_comments } {
set split_name $see_name
doc::util::text_divider split_name ::
set name_length [llength $split_name]
set see_namespace [join [lrange $split_name 0 [expr $name_length - 2]] ""]
set see_namespace [join [lrange $split_name 0 [expr {$name_length - 2}]] ""]
set url "[doc::util::dbl_colon_fix $see_namespace].html#[set see_name]"
}
}
......@@ -91,9 +91,9 @@ ad_proc -private doc::util::find_marker_indices { text marker } {
set last_index -1
while { [regexp -indices $marker $text marker_idx] } {
lappend indices_list [expr [lindex $marker_idx 0] + $last_index]
set text [string range $text [expr [lindex $marker_idx 1] + 1] end]
set last_index [expr [lindex $marker_idx 1] + $last_index + 1]
lappend indices_list [expr {[lindex $marker_idx 0] + $last_index}]
set text [string range $text [expr {[lindex $marker_idx 1] + 1}] end]
set last_index [expr {[lindex $marker_idx 1] + $last_index + 1}]
}
# check for cases with no markers
......@@ -119,7 +119,7 @@ ad_proc -private doc::util::text_divider { text_ref marker } {
set result_list [list]
# first check for no markers present
if { $indices_list == "end" } {
if { $indices_list eq "end" } {
set text [list $text]
return 0
}
......@@ -128,7 +128,7 @@ ad_proc -private doc::util::text_divider { text_ref marker } {
foreach index $indices_list {
lappend result_list [string range $text $old_index $index]
set old_index [expr $index + 1]
set old_index [expr {$index + 1}]
}
lappend result_list [string range $text $old_index end]
......@@ -355,7 +355,7 @@ ad_proc -private doc::parse_comment_text { proc_block } {
default "[lrange [lindex $directive_comments 1] 1 end]" \
description "[lrange $directive_comments 2 end]" ]
} else {
if {$directive_type == "param"} {
if {$directive_type eq "param"} {
set default_comment "required"
} else {
set default_comment ""
......@@ -430,7 +430,7 @@ ad_proc -private doc::parse_namespace { text_lines } {
set namespace_name [lindex $directive_comments 0]
set namespace_description [lrange $directive_comments 1 end]
if {$namespace_description != "" } {
if {$namespace_description ne "" } {
set has_comments 1
}
}
......
......@@ -68,8 +68,6 @@ ad_proc -public template::element::create { form_id element_id args } {
@option label The label for the form element.
@option section The section name for the element.
@option html A list of name-value attribute pairs to include in
the HTML tag for widget. Typically used for additional
formatting options, such as <tt>cols</tt> or
......@@ -84,6 +82,15 @@ ad_proc -public template::element::create { form_id element_id args } {
two-element lists in the form
{ {label value} {label value} {label value} ...}
@option fieldset A list of name-value attribute pairs to include in
the HTML tag for checkboxes and radio FIELDSET.
@option legend A list of name-value attribute pairs to include in
the HTML tag for checkboxes and radio LEGEND.
@option legendtext A text for the LEGEND tag to include in
the checkboxes and radio FIELDSET block
@option value The default value of the element
@option values The default values of the element, where multiple values
......@@ -97,7 +104,7 @@ ad_proc -public template::element::create { form_id element_id args } {
1 or 0, and message is to be displayed to the user when
the validation step fails, that is, if the expression
evaluates to 0. Use the special variable <tt>$value</tt>
to refer to the value entered by the user in that field.
to refer to the value entered by the user in that field.
@option sign specify for a hidden widget that its value should be
signed
......@@ -132,6 +139,7 @@ ad_proc -public template::element::create { form_id element_id args } {
@see template::widget
@see template::data::validate
@see template::form::create
@see template::form::section
} {
set level [template::adp_level]
......@@ -147,7 +155,7 @@ ad_proc -public template::element::create { form_id element_id args } {
# add the reference to the elements lookup array for the form
upvar #$level $form_id:$element_id opts
if [info exists opts] {
if {[info exists opts]} {
error "Element '$element_id' already exists in form '$form_id'."
}
......@@ -164,6 +172,11 @@ ad_proc -public template::element::create { form_id element_id args } {
# set the form section
set opts(section) $form_properties(section)
if { $opts(section) ne "" } {
set opts(sec_fieldset) $form_properties(sec_fieldset)
set opts(sec_legend) $form_properties(sec_legend)
set opts(sec_legendtext) $form_properties(sec_legendtext)
}
template::util::get_opts $args
......@@ -175,14 +188,61 @@ ad_proc -public template::element::create { form_id element_id args } {
# If the widget is a submit widget, remember it
# All submit widgets are optional
if { [string equal $opts(widget) submit] || \
[string equal $opts(widget) button] } {
if { $opts(widget) eq "submit" || \
[string equal $opts(widget) "button"] } {
set form_properties(has_submit) 1
set opts(optional) 1
if { ! [info exists opts(value)] } { set opts(value) $opts(label) }
if { ! [info exists opts(label)] } { set opts(label) $opts(value) }
}
# If the widget is a checkbox or radio widget, set attributes
if { $opts(widget) eq "radio" || \
[string equal $opts(widget) "checkbox"] } {
# If there's no legend text, no point to generate the fieldset
if { ![info exists opts(legendtext)] } {
if { [info exists opts(legend)] || [info exists opts(fieldset)] } {
ns_log Warning "template::element::create (form: $form_id, element: $opts(name)): you set fieldset and/or legend properties but not the legendtext one. You must provide text for the legend tag."
}
} else {
# set fieldset attributes
if { ![info exists opts(fieldset)] } {
set opts(fieldset) {}
}
array set fs_attributes $opts(fieldset)
set fs_options ""
if {![info exists fs_attributes(class)]} {
append fs_options " class=\"form-fieldset\""
}
foreach name [array names fs_attributes] {
if {$fs_attributes($name) eq {}} {
append fs_options " $name"
} else {
append fs_options " $name=\"$fs_attributes($name)\""
}
}
set opts(fieldset) $fs_options
# set legend attributes
if { ![info exists opts(legend)] } {
set opts(legend) {}
}
array set lg_attributes $opts(legend)
set lg_options ""
foreach name [array names lg_attributes] {
if {$lg_attributes($name) eq {}} {
append lg_options " $name"
} else {
append lg_options " $name=\"$lg_attributes($name)\""
}
}
set opts(legend) $lg_options
}
}
# Remember that the element has not been rendered yet
set opts(is_rendered) f
......@@ -202,7 +262,7 @@ ad_proc -public template::element::create { form_id element_id args } {
}
}
if { [string equal $opts(widget) hidden]
if { [string equal $opts(widget) "hidden"]
&& [info exists opts(sign)]
&& $opts(sign)
} {
......@@ -236,7 +296,7 @@ ad_proc -public template::element::set_properties { form_id element_id args } {
template::util::get_opts $args
if { [string equal $opts(widget) hidden]
if { [string equal $opts(widget) "hidden"]
&& [info exists opts(sign)]
&& $opts(sign)
&& [info exists opts(value)] } {
......@@ -370,7 +430,7 @@ ad_proc -private template::element::validate { form_id element_id } {
set values [list]
# also clobber the value(s) for a submit widget
if { [string equal $element(widget) submit] } {
if {$element(widget) eq "submit"} {
if { [info exists element(value)] } { unset element(value) }
if { [info exists element(values)] } { unset element(values) }
}
......@@ -384,13 +444,13 @@ ad_proc -private template::element::validate { form_id element_id } {
# set a label for use in the template
set label $element(label)
if { [string equal $label {}] } {
if {$label eq {}} {
set label $element(name)
}
# Element shouldn't be validated if it's an inform widget, or the element is not in edit mode.
# The element will be in edit mode if its mode is either blank or set to 'edit'.
set is_inform [expr [string equal $element(widget) inform] || (![string equal $element(mode) "edit"] && ![string equal $element(mode) ""])]
set is_inform [expr {$element(widget) eq "inform" || ($element(mode) ne "edit" && $element(mode) ne "" )}]
# Check for required element
if { ! $is_inform && ! $is_optional && ! [llength $values] } {
......@@ -415,7 +475,7 @@ ad_proc -private template::element::validate { form_id element_id } {
# a single anonymous validation check was specified
set element(validate) [linsert $element(validate) 0 "anonymous"]
} elseif { [expr $v_length % 3] } {
} elseif { [expr {$v_length % 3}] } {
error "Invalid number of parameters to validate option:
$element(validate) (Length is $v_length)"
......@@ -432,7 +492,7 @@ ad_proc -private template::element::validate { form_id element_id } {
# something was submitted, now check if it is valid
if { $is_optional && [empty_string_p $value] } {
if { $is_optional && $value eq "" } {
# This is an optional field and it's empty... skip validation
# (else things like the integer test will fail)
continue
......@@ -536,7 +596,7 @@ ad_proc -public template::element::querygetall { element_ref } {
set transform_proc "::template::data::transform::$datatype"
if { [string equal [info procs $transform_proc] {}] } {
if {[info procs $transform_proc] eq {}} {
set values [ns_querygetall $element(id)]
......@@ -607,7 +667,7 @@ ad_proc -private template::element::render { form_id element_id tag_attributes }
# Remember that the element has been rendered already
set element(is_rendered) t
if { ![string equal $element(mode) "edit"] && [info exists element(display_value)] && ![string equal $element(widget) "hidden"] } {
if { $element(mode) ne "edit" && [info exists element(display_value)] && $element(widget) ne "hidden" } {
return "$element(before_html) $element(display_value) $element(after_html)"
} else {
return "[string trim "$element(before_html) [template::widget::$element(widget) element $tag_attributes] $element(after_html)"]"
......@@ -665,7 +725,7 @@ ad_proc -private template::element::options { form_id element_id tag_attributes
upvar #$level formgroup:$i formgroup
set option [lindex $options [expr $i - 1]]
set option [lindex $options [expr {$i - 1}]]
set value [lindex $option 1]
if { ![info exists values($value)] } {
......
......@@ -21,7 +21,7 @@ ad_proc -public template::util::file_transform { element_id } {
# Work around Windows bullshit
set filename [ns_queryget $element_id]
if { [string equal $filename ""] } {
if {$filename eq ""} {
return ""
}
......@@ -40,7 +40,17 @@ ad_proc -public template::data::validate::file { value_ref message_ref } {
return 1
}
ad_proc -public template::util::file::get_property { what file_list } {
ad_proc -public template::util::file::get_property {
what
file_list
} {
Return a property from a file datatype structure.
@param what Which property to return (filename, etc).
@param file_list The file datatype structure.
@return The requested property from the file datatype structure.
} {
switch $what {
filename {
......@@ -55,3 +65,4 @@ ad_proc -public template::util::file::get_property { what file_list } {
}
}
......@@ -19,24 +19,23 @@ ad_proc -public template::forward { url args } {
@see ad_cache_returnredirect
} {
# DRB: The code that was here before didn't preserve the protocol, always
# using HTTP even if HTTPS was used to establish the connection. Besides
# which ad_returnredirect has funky checks for even funkier browsers, and
# is therefore not only the standard way to redirect in OpenACS 4 but
# more robust as well.
# DRB: The code that was here before didn't preserve the protocol, always
# using HTTP even if HTTPS was used to establish the connection. Besides
# which ad_returnredirect has funky checks for even funkier browsers, and
# is therefore not only the standard way to redirect in OpenACS 4 but
# more robust as well.
set cache_p [lindex $args 0]
set cache_p [lindex $args 0]
if { [string equal $cache_p "t"] } {
set persistent_p [lindex $args 1]
if {$cache_p eq "t"} {
set persistent_p [lindex $args 1]
set excluded_vars [lindex $args 2]
ad_cache_returnredirect $url $persistent_p $excluded_vars
} else {
ad_cache_returnredirect $url $persistent_p $excluded_vars
} else {
ad_returnredirect $url
}
ad_script_abort
}
ad_script_abort
}
ad_proc -public template::filter { command args } {
......@@ -45,22 +44,22 @@ ad_proc -public template::filter { command args } {
a reference (not the value) to a variable containing the URL of
the template to parse. The filter procedure may modify this.
} {
variable filter_list
variable filter_list
set arg1 [lindex $args 0]
set arg2 [lindex $args 1]
set arg1 [lindex $args 0]
set arg2 [lindex $args 1]
switch -exact $command {
switch -exact $command {
add { lappend filter_list $arg1 }
add { lappend filter_list $arg1 }
exec {
upvar $arg1 url $arg2 root_path
foreach proc_name $filter_list { $proc_name url root_path }
}
exec {
upvar $arg1 url $arg2 root_path
foreach proc_name $filter_list { $proc_name url root_path }
}
default { error "Invalid filter command: must be add or exec" }
}
default { error "Invalid filter command: must be add or exec" }
}
}
# DRB: The following debugging filters weren't integrated with OpenACS.
......@@ -73,56 +72,55 @@ ad_proc -public template::filter { command args } {
ad_proc -public cmp_page_filter { why } {
Show the compiled template (for debugging)
} {
if { [catch {
set url [ns_conn url]
regsub {.cmp} $url {} url_stub
regexp {^/([^/]*)(.*)} $url_stub all package_key rest
set file_stub "[acs_root_dir]/packages/$package_key/www$rest"
if { [catch {
set url [ns_conn url]
regsub {.cmp} $url {} url_stub
regexp {^/([^/]*)(.*)} $url_stub all package_key rest
set file_stub "[acs_root_dir]/packages/$package_key/www$rest"
set beginTime [clock clicks -milliseconds]
set beginTime [clock clicks -milliseconds]
set output "<pre>[ns_quotehtml \
[template::adp_compile -file $file_stub.adp]]</pre>"
set output "<pre>[ns_quotehtml [template::adp_compile -file $file_stub.adp]]</pre>"
set timeElapsed [expr ([clock clicks -milliseconds] - $beginTime)]
ns_log debug "cmp_page_filter: Time elapsed: $timeElapsed"
set timeElapsed [expr ([clock clicks -milliseconds] - $beginTime)]
ns_log debug "cmp_page_filter: Time elapsed: $timeElapsed"
} errMsg] } {
global errorInfo
set output <html><body><pre>$errorInfo</pre></body></html>
}
} errMsg] } {
global errorInfo
set output <html><body><pre>[ad_quotehtml $errorInfo]</pre></body></html>
}
ns_return 200 text/html $output
ns_return 200 text/html $output
return filter_return
return filter_return
}
ad_proc -public dat_page_filter { why } {
Show the comments for the template (for designer)
} {
if { [catch {
set url [ns_conn url]
regsub {.dat} $url {} url_stub
regexp {^/([^/]*)(.*)} $url_stub all package_key rest
set code_stub "[acs_root_dir]/packages/$package_key/www$rest"
if { [catch {
set url [ns_conn url]
regsub {.dat} $url {} url_stub
regexp {^/([^/]*)(.*)} $url_stub all package_key rest
set code_stub "[acs_root_dir]/packages/$package_key/www$rest"
set beginTime [clock clicks -milliseconds]
set beginTime [clock clicks -milliseconds]
set file_stub [template::get_resource_path]/messages/datasources
set file_stub [template::get_resource_path]/messages/datasources
set output [template::adp_parse $file_stub [list code_stub $code_stub]]
set output [template::adp_parse $file_stub [list code_stub $code_stub]]
set timeElapsed [expr ([clock clicks -milliseconds] - $beginTime)]
ns_log debug " dat_page_filter: Time elapsed: $timeElapsed"
set timeElapsed [expr ([clock clicks -milliseconds] - $beginTime)]
ns_log debug " dat_page_filter: Time elapsed: $timeElapsed"
} errMsg] } {
global errorInfo
set output <html><body><pre>$errorInfo</pre></body></html>
}
} errMsg] } {
global errorInfo
set output <html><body><pre>$errorInfo</pre></body></html>
}
ns_return 200 text/html $output
ns_return 200 text/html $output
return filter_return
return filter_return
}
# Return the auto-generated template for a form
......@@ -135,42 +133,41 @@ namespace eval template {
originally handled inline but doing so screwed up the query
processor.
} {
set url [ns_conn url]
regsub {.frm} $url {} url_stub
regexp {^/([^/]*)(.*)} $url_stub all package_key rest
set __adp_stub "[acs_root_dir]/packages/$package_key/www$rest"
set url [ns_conn url]
regsub {.frm} $url {} url_stub
regexp {^/([^/]*)(.*)} $url_stub all package_key rest
set __adp_stub "[acs_root_dir]/packages/$package_key/www$rest"
# Set the parse level
variable parse_level
lappend parse_level [info level]
# Set the parse level
variable parse_level
lappend parse_level [info level]
# execute the code to prepare the form(s) for a template
adp_prepare
# execute the code to prepare the form(s) for a template
adp_prepare
# get the form template
return [form::template [ns_queryget form_id] [ns_queryget form_style]]
# get the form template
return [form::template [ns_queryget form_id] [ns_queryget form_style]]
}
}
ad_proc -public frm_page_filter { why } {
ad_proc -private frm_page_filter { why } {
Return the form data for a request for .frm
} {
if { [catch {
set beginTime [clock clicks -milliseconds]
set beginTime [clock clicks -milliseconds]
set output [template::frm_page_handler]
set output [template::frm_page_handler]
set timeElapsed [expr ([clock clicks -milliseconds] - $beginTime)]
ns_log debug "frm_page_filter: Time elapsed: $timeElapsed"
set timeElapsed [expr ([clock clicks -milliseconds] - $beginTime)]
ns_log debug "frm_page_filter: Time elapsed: $timeElapsed"
} errMsg] } {
global errorInfo
set output $errorInfo
global errorInfo
set output $errorInfo
}
ns_return 200 text/html "<html>
<body>
<pre>[ns_quotehtml $output]</pre>
</body></html>"
ns_return 200 text/html "<html><body><pre>[ns_quotehtml $output]</pre></body></html>"
return filter_return
return filter_return
}
This diff is collapsed.
This diff is collapsed.
namespace eval template {}
ad_library {
Provides procedures needed to determine mime type required for the
client browser, as
well as other additional header information.
client browser, as well as other additional header information.
@author Shan Shan Huang (shuang@arsdigita.com)
@creation-date 12 January 2001
@cvs-id $Id$
}
ad_proc -public template::register_mime_type { mime_type file_extension
header_preamble } {
if { [info exists template_extension($mime_type)] } {
nsv_unset template_extension($mime_type)
}
if { [info exists template_header_preamble($mime_type)] } {
unset template_header_preamble($mime_type)
}
nsv_set template_extension $mime_type $file_extension
nsv_set template_header_preamble $mime_type $header_preamble
}
ad_proc -public template::register_mime_type { mime_type file_extension header_preamble } {
sets the template_extension and template_header_preamble nsv's with the
provided data.
} {
if { [info exists template_extension($mime_type)] } {
nsv_unset template_extension($mime_type)
}
if { [info exists template_header_preamble($mime_type)] } {
unset template_header_preamble($mime_type)
}
nsv_set template_extension $mime_type $file_extension
nsv_set template_header_preamble $mime_type $header_preamble
}
ad_proc -public template::get_mime_template_extension { mime_type } {
if { [nsv_exists template_extension $mime_type] } {
return [nsv_get template_extension $mime_type]
} else {
return "adp"
}
@return the template extension associated with mime_type (default "adp")
} {
if { [nsv_exists template_extension $mime_type] } {
return [nsv_get template_extension $mime_type]
} else {
return "adp"
}
}
ad_proc -public template::get_mime_header_preamble { mime_type } {
if { [nsv_exists template_header_preamble $mime_type] } {
return [nsv_get template_header_preamble $mime_type]
} else {
return ""
}
@return the mime_header preamble if exists otherwise ""
} {
if { [nsv_exists template_header_preamble $mime_type] } {
return [nsv_get template_header_preamble $mime_type]
} else {
return ""
}
}
ad_proc -public template::get_mime_type {} {
gets the mimetype from the outputheaders and if missing guesses
text/html
} {
if {[ns_conn isconnected]} {
set mime_type [ns_set iget [ns_conn outputheaders] "content-type"]
} else {
set mime_type {}
}
if { [empty_string_p $mime_type] } {
if { $mime_type eq "" } {
set mime_type "text/html"
}
......
......@@ -98,9 +98,9 @@ ad_proc -public template::paginator::create { statement_name name query args } {
set cache_key $name:$query
set row_ids [cache get $cache_key:row_ids]
if { ([string equal $row_ids {}] && ![nsv_exists __template_cache_timeout $cache_key]) || ([info exists opts(flush_p)] && [string equal $opts(flush_p) "t"]) } {
if { [info exists opts(printing_prefs)] && ![empty_string_p $opts(printing_prefs)] } {
ReturnHeadersNoCache "text/html"
if { ($row_ids eq {} && ![nsv_exists __template_cache_timeout $cache_key]) || ([info exists opts(flush_p)] && $opts(flush_p) eq "t") } {
if { [info exists opts(printing_prefs)] && $opts(printing_prefs) ne "" } {
ReturnHeaders "text/html"
ns_write "
<html>
<head>"
......@@ -108,34 +108,34 @@ ad_proc -public template::paginator::create { statement_name name query args } {
ns_write "<title>$title</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">"
set stylesheet [lindex $opts(printing_prefs) 1]
if { ![empty_string_p $stylesheet] } {
if { $stylesheet ne "" } {
ns_write "<link rel=\"stylesheet\" href=\"$stylesheet\" type=\"text/css\">"
}
ns_write "</head>"
ns_write "<body "
set background [lindex $opts(printing_prefs) 2]
if { ![empty_string_p $background] } {
if { $background ne "" } {
ns_write "background=\"$background\""
}
ns_write ">"
set header_file [lindex $opts(printing_prefs) 3]
if { ![empty_string_p $header_file] } {
if { $header_file ne "" } {
ns_write [ns_adp_parse -file $header_file]
}
ns_write [lindex $opts(printing_prefs) 6]
init $statement_name $name $query 1
ns_write [lindex $opts(printing_prefs) 7]
set footer_file [lindex $opts(printing_prefs) 4]
if { ![empty_string_p $footer_file] } {
if { $footer_file ne "" } {
ns_write [ns_adp_parse -file $footer_file]
}
set return_url [lindex $opts(printing_prefs) 5]
if { ![empty_string_p $return_url] } {
if { $return_url ne "" } {
if { [llength $opts(row_ids)]==0 } {
nsv_set __template_cache_timeout $cache_key $opts(timeout)
}
ns_write "
<SCRIPT LANGUAGE=\"JavaScript\">
<SCRIPT type=\"text/javascript\">
<!-- Begin
document.location.href=\"$return_url\";
// End -->
......@@ -216,7 +216,7 @@ ad_proc -private template::paginator::init { statement_name name query {print_p
lappend row_ids [lindex $row 0]
if { [expr $i % $page_size] == 0 } {
if { [expr {$i % $page_size}] == 0 } {
lappend context_ids [lindex $row 1]
}
incr i
......@@ -325,7 +325,7 @@ ad_proc -public template::paginator::get_row_last { name pagenum } {
if {$page_count == $pagenum} {
return $properties(row_count)
} else {
return [expr $pagenum * $properties(pagesize)]
return [expr {$pagenum * $properties(pagesize)}]
}
}
......@@ -366,7 +366,7 @@ ad_proc -public template::paginator::get_row_ids { name pagenum } {
# get the set of ids for the current page
set start [expr ($pagenum - $page_offset - 1) * $pagesize]
set end [expr $start + $pagesize - 1]
set end [expr {$start + $pagesize - 1}]
set ids [lrange $properties(row_ids) $start $end]
return $ids
......@@ -408,7 +408,7 @@ ad_proc -public template::paginator::get_pages { name group } {
}
set start [expr ($group - 1) * $group_size + 1]
set end [expr $start + $group_size - 1]
set end [expr {$start + $group_size - 1}]
if { $end > $page_count } { set end $page_count }
......@@ -449,7 +449,7 @@ ad_proc -public template::paginator::get_groups { name group count } {
set first [expr ($group - 1 - (($group - 1) % $count)) / $count + 1]
set start [expr ($first - 1) * $group_size + 1]
set end [expr $start + $group_size * $page_size - 1]
set end [expr {$start + $group_size * $page_size - 1}]
if { $end > $page_count } { set end $page_count) }
......@@ -496,7 +496,7 @@ ad_proc -public template::paginator::get_context { name datasource pages } {
set row(rownum) $rowcount
set row(page) $page
set row(context) [lindex $context_ids [expr $page - 1]]
set row(context) [lindex $context_ids [expr {$page - 1}]]
}
}
......@@ -631,11 +631,11 @@ ad_proc -public template::paginator::get_display_info { name datasource page } {
}
if { $page > 1 } {
set info(previous_page) [expr $page - 1]
set info(previous_page) [expr {$page - 1}]
}
if { $page < $properties(page_count) } {
set info(next_page) [expr $page + 1]
set info(next_page) [expr {$page + 1}]
}
......@@ -644,14 +644,14 @@ ad_proc -public template::paginator::get_display_info { name datasource page } {
}
if { $group < $properties(group_count) && $groupsize > 1 } {
set info(next_group) [expr $group * $groupsize + 1]
set info(next_group) [expr {$group * $groupsize + 1}]
}
# If the paginator is contextual, set the context
if { [info exists properties(context_ids)] } {
foreach elm { next_page previous_page next_group previous_group } {
if { [exists_and_not_null info($elm)] } {
set info(${elm}_context) [lindex $properties(context_ids) [expr $info($elm) -1]]
set info(${elm}_context) [lindex $properties(context_ids) [expr {$info($elm) -1}]]
}
}
}
......@@ -679,7 +679,7 @@ ad_proc -public template::paginator::get_data { statement_name name datasource q
template::util::list_to_lookup $ids row_order
# substitute the current page set
if { [empty_string_p $query] } {
if { $query eq "" } {
set query [uplevel 2 "db_map ${statement_name}_partial"]
}
......@@ -744,7 +744,7 @@ ad_proc -public template::paginator::get_query { name id_column page } {
} {
set ids [get_row_ids $name $page]
if { ![empty_string_p $ids] } {
if { $ids ne "" } {
# calculate the base row number for the page
upvar 2 __page_firstrow firstrow
set firstrow [get_row $name $page]
......
This diff is collapsed.
This diff is collapsed.
......@@ -22,7 +22,12 @@
namespace eval template {}
namespace eval template::request {}
ad_proc -public template::request { command args } {
ad_proc -public template::request {
command
args
} {
Dispatch procedure for requests.
} {
eval request::$command $args
}
......@@ -49,7 +54,7 @@ ad_proc -public template::request::create { args } {
foreach param [split $param_data "\n"] {
set param [string trim $param]
if { [string equal $param {}] } { continue }
if {$param eq {}} { continue }
eval set_param $param
}
......@@ -160,9 +165,9 @@ ad_proc -public template::request::is_valid { { url "" } } {
# set requesterror as a data source
uplevel #$level "upvar 0 request:error requesterror"
if { ! [string equal $url "self"] } {
if { $url ne "self" } {
if { [string equal $url {}] } {
if {$url eq {}} {
set file_stub [template::get_resource_path]/messages/request-error
} else {
set file_stub [ns_url2file $url]
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -12,11 +12,11 @@
set pkg_id [apm_package_id_from_key acs-templating]
if { [ad_parameter -package_id $pkg_id ShowCompiledTemplatesP dummy 0] } {
if { [parameter::get -package_id $pkg_id -parameter ShowCompiledTemplatesP -default 0] } {
ad_register_filter postauth GET *.cmp cmp_page_filter
}
if { [ad_parameter -package_id $pkg_id ShowDataDictionariesP dummy 0] } {
if { [parameter::get -package_id $pkg_id -parameter ShowDataDictionariesP -default 0] } {
ad_register_filter postauth GET *.dat dat_page_filter
ad_register_filter postauth GET *.frm frm_page_filter
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
set color [format "%.6x" [expr 0xd53feb * $level & 0xffffff | 0x808080]]
set color [format "%.6x" [expr {0xd53feb * $level & 0xffffff | 0x808080}]]
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment