Commit 0c7c1a23 authored by Frank Bergmann's avatar Frank Bergmann

- Updated to OpenACS 5.9.1

parent 91c58667
......@@ -9,18 +9,18 @@
<implements-subsite-p>f</implements-subsite-p>
<inherit-templates-p>t</inherit-templates-p>
<version name="5.9.0" url="http://openacs.org/repository/download/apm/acs-tcl-5.9.0.apm">
<version name="5.9.1" url="http://openacs.org/repository/download/apm/acs-tcl-5.9.1.apm">
<owner url="http://openacs.org">OpenACS</owner>
<summary>The Kernel Tcl API library.</summary>
<release-date>2015-10-04</release-date>
<release-date>2017-08-06</release-date>
<vendor url="http://openacs.org">OpenACS</vendor>
<description format="text/html">Contains all the core Tcl API, including the request processor, security and session management, permissions, site-nodes, package management infrastructure, etc.</description>
<license>GPL version 2</license>
<maturity>3</maturity>
<provides url="acs-tcl" version="5.9.0"/>
<requires url="acs-bootstrap-installer" version="5.9.0"/>
<requires url="acs-kernel" version="5.9.0"/>
<provides url="acs-tcl" version="5.9.1"/>
<requires url="acs-bootstrap-installer" version="5.9.1"/>
<requires url="acs-kernel" version="5.9.1"/>
<callbacks>
</callbacks>
......@@ -29,7 +29,7 @@
<parameter scope="instance" datatype="string" min_n_values="1" max_n_values="1" name="ReturnComplaint" default="/packages/acs-tcl/lib/ad-return-complaint" description="Template to use for the complaint page."/>
<parameter scope="instance" datatype="string" min_n_values="1" max_n_values="1" name="ReturnError" default="/packages/acs-tcl/lib/ad-return-error" description="Template to use for the complaint page."/>
<parameter scope="instance" datatype="string" min_n_values="1" max_n_values="1" name="SuppressHttpPort" default="0" description="Set to 1 to suppress the server's configured port --useful for example, when server is behind a proxy and: connection is switching from https to http or kernel's parameter ForceHostP is set to 1."/>
<parameter scope="instance" datatype="string" min_n_values="1" max_n_values="1" name="TclTraceLogServerities" description="If this parameter is set to a value different from empty then the value is expected to be a list of log severities (such as &quot;Notice Warning Error Bug Dev&quot;). If the command ns_log is issued with one of the configured severity the line is displayed via the developer support debug messsage (via ds_comment).
<parameter scope="instance" datatype="string" min_n_values="1" max_n_values="1" name="TclTraceLogSeverities" description="If this parameter is set to a value different from empty then the value is expected to be a list of log severities (such as &quot;Notice Warning Error Bug Dev&quot;). If the command ns_log is issued with one of the configured severity the line is displayed via the developer support debug messsage (via ds_comment).
Activating this trace requires a new start of the server." section_name="tcltrace"/>
<parameter scope="instance" datatype="number" min_n_values="1" max_n_values="1" name="TclTraceSaveNsReturn" default="0" description="When this parameter is set to 1, the content pages returned by the server via ns_return with status code 200 and type text/html are saved in the configured tmp directory. The exact full path is logged in the error.log.
......
......@@ -2,11 +2,11 @@
<message_catalog package_key="acs-tcl" locale="de_DE" charset="ISO-8859-1">
<msg key="a_problem">Ein Problem</msg>
<msg key="Administration">Admin</msg>
<msg key="Administration">Administration</msg>
<msg key="approve">Freischalten</msg>
<msg key="approve_email">E-Mail-Adresse besttigen</msg>
<msg key="ban">Deaktivieren</msg>
<msg key="Browser_of_the_user">Browser des Benutzers:</msg>
<msg key="Browser_of_the_user">Der Browser des Users:</msg>
<msg key="Comments"> &lt;b&gt; Kommentare: &lt;/b&gt;&lt;br&gt; &lt;span style=&#34;color:red;&#34;&gt; (Bitte erlutern Sie warum sie dies machen wollen) &lt;/span&gt;</msg>
<msg key="delete">Lschen</msg>
<msg key="Detais">Details:</msg>
......@@ -38,15 +38,16 @@
<msg key="lt_Invalid_time_timetime_1">Ungltige Zeit: %time(time)% %time(ampm)%</msg>
<msg key="lt_Invalid_time_timetime_2">Ungltige Zeit: %time(time)%</msg>
<msg key="lt_Multiple_definitions_">Mehrere Definitionen des ad_page_contract Filters \&#34;%name%\&#34; in %script% and %prior_script%</msg>
<msg key="lt_name_contains_invalid">%name% enthlt ungltige Buchstaben</msg>
<msg key="lt_name_contains_invalid">%name% enthlt ungltige Zeichen</msg>
<msg key="lt_name_does_not_appear_">%name% scheint keine gltige e-Mail Adresse zu sein.</msg>
<msg key="lt_name_does_not_appear__1">%name% scheint keine gltige US-Telefonnummer zu sein.</msg>
<msg key="lt_name_does_not_appear__2">%name% scheint kein Boolean Wert zu sein.</msg>
<msg key="lt_name_is_not_a_natural">%name% ist keine natrliche Zahl, die eine ganzzahlige Zahl grer oder gleich 0 ist.</msg>
<msg key="lt_name_is_not_a_valid_S">%name% ist kein gltiger SQL Identifikator</msg>
<msg key="lt_name_is_not_a_word">%name% ist nicht ein Wort</msg>
<msg key="lt_name_is_not_a_word">%name% enthlt nicht-alphabetische Zeichen</msg>
<msg key="lt_name_is_not_an_intege">%name% ist keine ganzzahlige Zahl</msg>
<msg key="lt_name_is_not_in_the_ra">%name% ist nicht im Bereich von [%min%, %max%]</msg>
<msg key="lt_name_is_not_valid">%name% ist ungltig</msg>
<msg key="lt_name_is_too_long__Ple">%name% ist zu lang. Bitte geben Sie einen Wert ein, der hchstens %max_length% Buchstaben hat. Der Wert, den Sie eingegeben haben, ist %actual_length% Buchstaben lang.</msg>
<msg key="lt_name_is_too_long__Ple_1">%name% ist zu lang. Bitte geben Sie einen Wert ein der mindestens %min_length% Zeichen lang ist. Der Wert den Sie eingeben haben, ist %actual_length% Zeichen lang.</msg>
<msg key="lt_name_is_too_short__Pl">%name% ist zu kurz. Bitte geben Sie einen Wert ein, der mindestens %min_length% Zeichen lang ist. Der Wert den Sie eingegeben haben, ist %actual_length% Zeichen lang.</msg>
......@@ -64,7 +65,7 @@
<msg key="lt_The_proc_must_accept_">Die Prozedur muss zwei Argumente akzeptieren, den Namen der Variablen und eine Liste von Filtern</msg>
<msg key="lt_The_signature_for_the">Die Signatur fr die Variable &#39;%formal_name%&#39; war nicht korrekt.</msg>
<msg key="lt_Theres_no_greble_with">Es gibt kein &#34;greble&#34; bei diesem Wert</msg>
<msg key="lt_User_Id_of_the_user_t">Benutzer ID:</msg>
<msg key="lt_User_Id_of_the_user_t">User ID:</msg>
<msg key="lt_Valid_switches_are_-r">Gltige Parameter sind: &#39;-requires&#39;</msg>
<msg key="lt_Validation_block_name">Prfblock Namen knnen keine Doppelpunkte enthalten</msg>
<msg key="lt_Validation_key_compla">Prfung von &#34;%key%&#34; gab einen Fehler</msg>
......@@ -87,9 +88,9 @@
<msg key="maturity_new_submission">Neues Paket oder unbekannter Reifegrad</msg>
<msg key="Page">Seite mit Fehler:</msg>
<msg key="Page_current_of_total">Seite %current% von %total%</msg>
<msg key="Percentage_complete">Prozent fertig</msg>
<msg key="Percentage_complete">Prozentsatz abgeschlossen</msg>
<msg key="Previus">Vorhergehende Seite:</msg>
<msg key="Public_User">ffentlicher Benutzer</msg>
<msg key="Public_User">ffentlicher (nicht registrierter) User </msg>
<msg key="reject">Ablehnen</msg>
<msg key="Report">Fehler melden</msg>
<msg key="Return_prev">Zu der Seite zurckgehen, auf der ich vor dem Fehler war</msg>
......@@ -103,8 +104,8 @@
<msg key="There_1">Es gab einen Server Error</msg>
<msg key="This">Diese Datei hat einen Fehler erzeugt.</msg>
<msg key="undelete">Wiederherstellen</msg>
<msg key="User_comments">Kommentare des Benutzers:</msg>
<msg key="User_Name">Benutzer Name:</msg>
<msg key="User_comments">Kommentare des Users:</msg>
<msg key="User_Name">User Name:</msg>
<msg key="We">Wir wrden es begren, wenn sie einige Details dessen,m was Sie gerade zu tun versuchten, spezifizieren knnten.</msg>
<msg key="We_had">Wir hatten</msg>
<msg key="with_your_input">mit ihrer Eingabe:</msg>
......
......@@ -6,9 +6,9 @@
<msg key="approve">approve</msg>
<msg key="approve_email">approve email</msg>
<msg key="ban">ban</msg>
<msg key="Browser_of_the_user">User&#39;s Browser:</msg>
<msg key="Browser_of_the_user">User's Browser:</msg>
<msg key="Comments">&lt;b&gt; Comments: &lt;/b&gt;&lt;br&gt;
&lt;span style=&#34;color:red;&#34;&gt; (Please explain what you where trying to do) &lt;/span&gt;</msg>
&lt;span style=&quot;color:red;&quot;&gt; (Please explain what you where trying to do) &lt;/span&gt;</msg>
<msg key="delete">delete</msg>
<msg key="Detais">Details:</msg>
<msg key="Email">Email:</msg>
......@@ -21,10 +21,10 @@
<msg key="File">File with error:</msg>
<msg key="Insert_error">Theres was an error Inserting the Information to the Data Base: </msg>
<msg key="lt__and_resubmit_your_en">, and resubmit your entry.</msg>
<msg key="lt_Argspec_element_is_in">Argspec &#39;%element%&#39; is invalid, because it contains more than two elements.</msg>
<msg key="lt_Argspec_element_is_in">Argspec '%element%' is invalid, because it contains more than two elements.</msg>
<msg key="lt_Automatically_Submite">Error Submitted Automatically</msg>
<msg key="lt_Error_Report_in_ad_sy">Error Report in %system_name%</msg>
<msg key="lt_Filter_type_must_be_f">Filter type must be &#39;filter&#39; or &#39;post&#39;</msg>
<msg key="lt_Filter_type_must_be_f">Filter type must be 'filter' or 'post'</msg>
<msg key="lt_Flag_name_must_be_a_v">Flag name must be a valid identifier</msg>
<msg key="lt_Flag_names_must_be_al">Flag names must be all lowercase</msg>
<msg key="lt_Invalid_date_date_ele">Invalid date: %date_element% is missing</msg>
......@@ -38,15 +38,16 @@
<msg key="lt_Invalid_time_timetime">Invalid time: %time(time)% is in invalid format</msg>
<msg key="lt_Invalid_time_timetime_1">Invalid time: %time(time)% %time(ampm)%</msg>
<msg key="lt_Invalid_time_timetime_2">Invalid time: %time(time)%</msg>
<msg key="lt_Multiple_definitions_">Multiple definitions of ad_page_contract filter \&#34;%name%\&#34; in %script% and %prior_script%</msg>
<msg key="lt_name_contains_invalid">%name% contains invalid characters</msg>
<msg key="lt_Multiple_definitions_">Multiple definitions of ad_page_contract filter \&quot;%name%\&quot; in %script% and %prior_script%</msg>
<msg key="lt_name_does_not_appear_">%name% does not appear to be a valid email address.</msg>
<msg key="lt_name_does_not_appear__1">%name% does not appear to be a valid US phone number.</msg>
<msg key="lt_name_does_not_appear__2">%name% does not appear to be a boolean value.</msg>
<msg key="lt_name_is_not_a_natural">%name% is not a natural number, that is an integer greater than or equal to 0.</msg>
<msg key="lt_name_is_not_valid">%name% is not valid</msg>
<msg key="lt_name_is_not_a_valid_S">%name% is not a valid SQL identifier</msg>
<msg key="lt_name_is_not_a_word">%name% contains non-word characters</msg>
<msg key="lt_name_is_not_an_intege">%name% is not an integer</msg>
<msg key="lt_name_is_not_a_word">%name% contains non-word characters</msg>
<msg key="lt_name_contains_invalid">%name% contains invalid characters</msg>
<msg key="lt_name_is_not_in_the_ra">%name% is not in the range [%min%, %max%]</msg>
<msg key="lt_name_is_too_long__Ple">%name% is too long. Please enter a value of at most %max_length% characters long. The value you entered is %actual_length% characters long.</msg>
<description key="lt_name_is_too_long__Ple">This string looks broken!</description>
......@@ -62,30 +63,29 @@
<msg key="lt_Problem_with_a_Templa">Problem with a Templated Page</msg>
<msg key="lt_Problem_with_your_inp">Problem with your input</msg>
<msg key="lt_require_email_verific">require email verification</msg>
<msg key="lt_The_-requires_element">The -requires element \&#34;%element%\&#34; has a comma in it.</msg>
<msg key="lt_The_-requires_element_1">The -requires element \&#34;%element%\&#34; has too many colons</msg>
<msg key="lt_The_-requires_element">The -requires element \&quot;%element%\&quot; has a comma in it.</msg>
<msg key="lt_The_-requires_element_1">The -requires element \&quot;%element%\&quot; has too many colons</msg>
<msg key="lt_The_email_you_submit">Please, enter a valid email address.</msg>
<msg key="lt_The_flag_name_name_is">The flag name \&#34;%name%\&#34; is reserved for ad_page_contract</msg>
<msg key="lt_The_flag_name_name_is">The flag name \&quot;%name%\&quot; is reserved for ad_page_contract</msg>
<msg key="lt_The_proc_must_accept_">The proc must accept two arguments, the name of the variable and a list of filters</msg>
<msg key="lt_The_signature_for_the">The signature for the variable &#39;%formal_name%&#39; was incorrect.</msg>
<msg key="lt_Theres_no_greble_with">There&#39;s no greble with that value</msg>
<msg key="lt_The_signature_for_the">The signature for the variable '%formal_name%' was incorrect.</msg>
<msg key="lt_Theres_no_greble_with">There's no greble with that value</msg>
<msg key="lt_User_Id_of_the_user_t">User ID:</msg>
<msg key="lt_Valid_switches_are_-r">Valid switches are: -requires</msg>
<msg key="lt_Validation_block_name">Validation block names cannot contain colon</msg>
<msg key="lt_Validation_key_compla">Validation \&#34;%key%\&#34; complained</msg>
<msg key="lt_Validation_key_compla">Validation \&quot;%key%\&quot; complained</msg>
<msg key="lt_value_does_not_appear">%value% does not appear to be a valid U.S. phone
number.</msg>
<msg key="lt_Value_for_name_contai">Value for %name% contains HTML tags</msg>
<msg key="lt_Value_is_not_an_decim">Value is not an decimal number.</msg>
<msg key="lt_Value_is_not_an_integ">Value is not an integer</msg>
<msg key="lt_We_had_a_problem_proc">We had a problem processing your request:</msg>
<msg key="lt_You_cant_have_two_val">You can&#39;t have two validation blocks named &#39;%name%&#39;</msg>
<msg key="lt_You_cant_name_your_va">You can&#39;t name your validation blocks the same as a formal argument</msg>
<msg key="lt_You_cant_have_two_val">You can't have two validation blocks named '%name%'</msg>
<msg key="lt_You_cant_name_your_va">You can't name your validation blocks the same as a formal argument</msg>
<msg key="lt_You_must_specify_some">You must specify something for %formal_name%</msg>
<msg key="lt_You_must_supply_a_val">You must supply a value for %formal_name%</msg>
<msg key="lt_You_specified_a_path_">You specified a path to a file that is not allowed on the system.</msg>
<msg key="lt_Youve_supplied_two_va">You&#39;ve supplied two values for &#39;%formal_name%&#39;</msg>
<msg key="maturity_deprecated">Deprecated</msg>
<msg key="lt_Youve_supplied_two_va">You've supplied two values for '%formal_name%'</msg>
<msg key="maturity_immature">Immature</msg>
<description key="maturity_immature">Maturity level is visible in the Installer and when browsing the repository
......@@ -99,6 +99,15 @@ Source code is available at published location.
http://openacs.org/forums/message-view?message%5fid=161393</description>
<msg key="maturity_incompatible">Compatibility problems</msg>
<msg key="maturity_deprecated">Deprecated</msg>
<description key="maturity_mature">Maturity level is visible in the Installer and when browsing the repository.
Level 4: Deprecated
The package was in some earlier version
is use, but was probably replaced by a another package. The
package description should point to a preferred version.
</description>
<msg key="maturity_mature">Mature</msg>
<description key="maturity_mature">Maturity level is visible in the Installer and when browsing the repository.
......@@ -124,7 +133,7 @@ http://openacs.org/forums/message-view?message%5fid=161393</description>
<msg key="maturity_new_submission">New Submission or Maturity Unknown</msg>
<description key="maturity_new_submission">Maturity level is visible in the Installer and when browsing the repository.
Level 0: New Submission. This is the default for packages that don&#39;t have it set explicitly, and for new contributions. The only criterion for level 0 is that at package is uploaded into the repository.
Level 0: New Submission. This is the default for packages that don't have it set explicitly, and for new contributions. The only criterion for level 0 is that at package is uploaded into the repository.
http://openacs.org/forums/message-view?message%5fid=161393 </description>
......@@ -146,7 +155,7 @@ http://openacs.org/forums/message-view?message%5fid=161393 </description>
<msg key="There_1">There was a server error</msg>
<msg key="This">This file has generated an error.</msg>
<msg key="undelete">undelete</msg>
<msg key="User_comments">User&#39;s Comments:</msg>
<msg key="User_comments">User's Comments:</msg>
<msg key="User_Name">User Name:</msg>
<msg key="We">We would appreciate if you can specify some details about what you were trying to do.</msg>
<msg key="We_had">We had</msg>
......
......@@ -38,13 +38,16 @@
<msg key="lt_Invalid_time_timetime_1">Hora invlida: %time(time)% %time(ampm)%</msg>
<msg key="lt_Invalid_time_timetime_2">Hora invlida: %time(time)%</msg>
<msg key="lt_Multiple_definitions_">Definiciones mltiples del filtro &#34;%name%&#34; en ad_page_contract de %script% y %prior_script%</msg>
<msg key="lt_name_contains_invalid">%name% contiene caracteres invlidos</msg>
<msg key="lt_name_does_not_appear_">%name% no es una direccin de correo vlida</msg>
<msg key="lt_name_does_not_appear__1">%name% no es un nmero de telfono vlido</msg>
<msg key="lt_name_does_not_appear__2">%name% no es un valor booleano</msg>
<msg key="lt_name_is_not_a_natural">%name% no es un nmero natural, es un entero superior o igual a 0</msg>
<msg key="lt_name_is_not_a_valid_S">%name% no es un identificador SQL vlido</msg>
<msg key="lt_name_is_not_a_word">%name% contiene caracteres que no son de palabra</msg>
<msg key="lt_name_is_not_an_intege">%name% no es un entero</msg>
<msg key="lt_name_is_not_in_the_ra">%name% no est en el rango \[%min%, %max%\]</msg>
<msg key="lt_name_is_not_valid">%name% no vlido</msg>
<msg key="lt_name_is_too_long__Ple">%name% es demasiado largo. Por favor, introduzca un valor no superior a %max_length% caracteres. El valor introducido contiene %actual_length% caracteres.</msg>
<msg key="lt_name_is_too_long__Ple_1">%name% es demasiado largo. Por favor, introduzca un valor no superior a %max_length% caracteres. El valor introducido contiene %actual_length% caracteres.</msg>
<msg key="lt_name_is_too_short__Pl">%name% es demasiado corto. Por favor, introduzca un valor de al menos %min_length% caracteres. El valor introducido contiene %actual_length% caracteres.</msg>
......@@ -77,6 +80,7 @@
<msg key="lt_You_must_supply_a_val">Debe dar un valor a %formal_name%</msg>
<msg key="lt_You_specified_a_path_">Especific un camino haca un fichero que no est permitido en este sistema</msg>
<msg key="lt_Youve_supplied_two_va">Ha proporcionado dos valores a %formal_name%</msg>
<msg key="maturity_deprecated">Obsoleto</msg>
<msg key="maturity_immature">Inestable</msg>
<msg key="maturity_incompatible">Problemas de compatibilidad</msg>
<msg key="maturity_mature">Estable</msg>
......
<?xml version="1.0" encoding="ISO-8859-1"?>
<message_catalog package_key="acs-tcl" locale="it_IT" charset="ISO-8859-1">
<msg key="a_problem">un problema</msg>
<msg key="Administration">Amministrazione</msg>
<msg key="approve">approva</msg>
<msg key="approve_email">approva l&#39;email</msg>
<msg key="ban">bandisci</msg>
<msg key="Browser_of_the_user">Browser dell&#39;Utente</msg>
<msg key="Cant_find_executable">Eseguibile %executable% non trovato nel sistema</msg>
<msg key="Comments">&lt;b&gt;Commenti&lt;/b&gt;&lt;br&gt; &lt;span style=&#34;color:red;&#34;&gt; (Spiega per favore cosa stavi cercando di fare) &lt;/span&gt;</msg>
<msg key="delete">cancella</msg>
<msg key="Detais">Dettagli:</msg>
<msg key="Email">Email:</msg>
<msg key="Error">Descrizione Errore:</msg>
<msg key="error">errore</msg>
<msg key="Error_Description">Descrizione Errore</msg>
<msg key="Error_details">Dettagli Errore</msg>
<msg key="Error_Report">Rapporto Errore</msg>
<msg key="errors">errori</msg>
<msg key="File">File con errori:</msg>
<msg key="Insert_error">C&#39; stato un errore Inserendo le Informazioni nel Data Base:</msg>
<msg key="lt__and_resubmit_your_en"> e invia nuovamente la tua richiesta.</msg>
<msg key="lt_Argspec_element_is_in">La Argspec &#39;%element%&#39; invalida, perch contiene pi di due elementi.</msg>
<msg key="lt_Automatically_Submite">Errore Riportato Automaticamente</msg>
<msg key="lt_Error_Report_in_ad_sy">Rapporto Errori su %system_name%</msg>
<msg key="lt_Filter_type_must_be_f">Il tipo di filtro deve essere &#39;filter&#39; o &#39;post&#39;</msg>
<msg key="lt_Flag_name_must_be_a_v">Un nome flag deve essere un identificatore valido</msg>
<msg key="lt_Flag_names_must_be_al">I nomi flag devono essere tutti in minuscolo</msg>
<msg key="lt_Invalid_date_date_ele">Data non valida: %date_element% mancante</msg>
<msg key="lt_Invalid_date_date_ele_1">Data non valida: %date_element% non un numero naturale</msg>
<msg key="lt_Invalid_date_datemont">Data non valida: %date(month)% %date(day)% %date(year)%</msg>
<msg key="lt_Invalid_date_The_year">Data non valida: l&#39;anno deve contenere 4 cifre.</msg>
<msg key="lt_Invalid_number_of_arg">Numero di argomenti non valido dichiarato nella proc: il nome argomento, il suo valore o forse i parametri</msg>
<msg key="lt_Invalid_number_of_par">Numero di argomenti non valido fornito passato al filtro</msg>
<msg key="lt_Invalid_time_time_ele">Ora non valida: %time_element% mancante</msg>
<msg key="lt_Invalid_time_time_is_">Ora non valida: ora mancante</msg>
<msg key="lt_Invalid_time_timetime">Ora non valida: %time(time)% in formato non valido</msg>
<msg key="lt_Invalid_time_timetime_1">Ora non valida: %time(time)% %time(ampm)%</msg>
<msg key="lt_Invalid_time_timetime_2">Ora non valida: %time(time)%</msg>
<msg key="lt_Multiple_definitions_">Definizioni multiple di ad_page_contract filter \&#34;%name%\&#34; in %script% e %prior_script%</msg>
<msg key="lt_name_contains_invalid">%name% contiene caratteri non validi</msg>
<msg key="lt_name_does_not_appear_">%name% non sembra essere un indirizzo email valido.</msg>
<msg key="lt_name_does_not_appear__1">%name% non sembra essere un numero telefonico USA valido.</msg>
<msg key="lt_name_does_not_appear__2">%name% non sembra essere un valore booleano.</msg>
<msg key="lt_name_is_not_a_natural">%name% non un numero naturale, ovvero un intero maggiore o uguale a zero.</msg>
<msg key="lt_name_is_not_a_valid_S">%name% non un identificatore SQL valido</msg>
<msg key="lt_name_is_not_a_word">%name% contiene caratteri non alfabetici</msg>
<msg key="lt_name_is_not_an_intege">%name% non un numero intero</msg>
<msg key="lt_name_is_not_in_the_ra">%name% non nell&#39;intervallo [%min%, %max%]</msg>
<msg key="lt_name_is_not_valid">%name% non valido</msg>
<msg key="lt_name_is_too_long__Ple">%name% troppo lungo. Inserisci per favore un valore di al massimo %max_length% caratteri. Quello fornito ora lungo %actual_length% caratteri.</msg>
<msg key="lt_name_is_too_long__Ple_1">%name% troppo lungo. Inserisci per favore un valore di al massimo %max_length% caratteri. Quello fornito ora lungo %actual_length% caratteri.</msg>
<msg key="lt_name_is_too_short__Pl">%name% troppo corto. Inserisci per favore un valore di almeno %max_length% caratteri. Quello fornito ora lungo %actual_length% caratteri.</msg>
<msg key="lt_name_is_too_short__Pl_1">%name% troppo corto. Inserisci per favore un valore di almeno %max_length% caratteri. Quello fornito ora lungo %actual_length% caratteri.</msg>
<msg key="lt_NB_This_error_was_sub">Questo errore stato riportato</msg>
<msg key="lt_Please_back_up_using_">Torna per favore indietro con il browser, correggi in caso di</msg>
<msg key="lt_Problem_with_a_Page_o">Problema con una Pagina (o forse con quanto digitato)</msg>
<msg key="lt_Problem_with_a_Templa">Problema con una Pagina da Template</msg>
<msg key="lt_Problem_with_your_inp">Problema con il tuo input</msg>
<msg key="lt_require_email_verific">richiedi la verifica dell&#39;email</msg>
<msg key="lt_The_-requires_element">L&#39;elemento -requires \&#34;%element%\&#34; contiene una virgola.</msg>
<msg key="lt_The_-requires_element_1">L&#39;elemento -requires \&#34;%element%\&#34; contiene troppi due punti</msg>
<msg key="lt_The_email_you_submit">Inserisci un indirizzo email valido, per favore.</msg>
<msg key="lt_The_flag_name_name_is">Il nome flag \&#34;%name%\&#34; riservato ad ad_page_contract</msg>
<msg key="lt_The_proc_must_accept_">La proc deve accettare due argomenti, il nome della variabile ed una lista di filtri</msg>
<msg key="lt_The_signature_for_the">La firma per la variabile &#39;%formal_name%&#39; non corretta</msg>
<msg key="lt_Theres_no_greble_with">Non esiste un &#34;greble&#34; con questo valore</msg>
<msg key="lt_User_Id_of_the_user_t">ID Utente:</msg>
<msg key="lt_Valid_switches_are_-r">Gli switch validi sono: -requires</msg>
<msg key="lt_Validation_block_name">I nomi di un blocco di validazione non possono contenere due punti</msg>
<msg key="lt_Validation_key_compla">La validazione \&#34;%key%\&#34; ha riportato</msg>
<msg key="lt_value_does_not_appear">%value% non sembra essere un numero di telefono statunitense valido.</msg>
<msg key="lt_Value_for_name_contai">Il valore di %name% contiene tag HTML</msg>
<msg key="lt_Value_is_not_an_decim">Il valore non un numero decimale</msg>
<msg key="lt_Value_is_not_an_integ">Il valore non un numero intero</msg>
<msg key="lt_We_had_a_problem_proc">Abbiamo avuto un problema nel processare la tua richiesta:</msg>
<msg key="lt_You_cant_have_two_val">Non puoi avere due blocchi di validazione chiamati &#39;%name%&#39;</msg>
<msg key="lt_You_cant_name_your_va">Non puoi nominare un blocco di validazione allo stesso modo di un argomento formale</msg>
<msg key="lt_You_must_specify_some">Devi specificare qualcosa per %formal_name%</msg>
<msg key="lt_You_must_supply_a_val">Devi fornire un valore per %formal_name%</msg>
<msg key="lt_You_specified_a_path_">Hai specificato il percorso ad un file che non ammesso su questo sistema</msg>
<msg key="lt_Youve_supplied_two_va">Hai fornito due valori per &#39;%formal_name%&#39;</msg>
<msg key="maturity_deprecated">Deprecato</msg>
<msg key="maturity_immature">Immaturo</msg>
<msg key="maturity_incompatible">Problemi di compatibilit </msg>
<msg key="maturity_mature">Maturo</msg>
<msg key="maturity_mature_and_standard">Maturo e standard</msg>
<msg key="maturity_new_submission">Nuova Sottomissione o Maturit Sconosciuta</msg>
<msg key="Page">Pagina con errore.</msg>
<msg key="Page_current_of_total">Pagina %current% di %total%</msg>
<msg key="Percentage_complete">Percentuale completata</msg>
<msg key="Previus">Pagina Precedente:</msg>
<msg key="Public_User">Pubblico</msg>
<msg key="reject">rifiuta</msg>
<msg key="Report">Riporta Errore</msg>
<msg key="Return_prev">Torna alla pagina precedente (prima dell&#39;errore)</msg>
<msg key="Server">Errore Server</msg>
<msg key="some_problems">alcuni problemi</msg>
<msg key="Sorry">Spiacente.</msg>
<msg key="Success_error_submitted">L&#39;errore stato riportato agli sviluppatori</msg>
<msg key="Thank_you">Grazie.</msg>
<msg key="The">L&#39;errore il seguente:</msg>
<msg key="There">C&#39; stato un errore lato server nel processare la tua richiesta. Ci scusiamo.</msg>
<msg key="There_1">C&#39; stato un errore lato server</msg>
<msg key="This">Questo file ha generato un errore.</msg>
<msg key="undelete">recupera</msg>
<msg key="User_comments">Commenti degli Utenti:</msg>
<msg key="User_Name">Nome Utente:</msg>
<msg key="We">Ti saremmo grati se potessi specificare qualche dettaglio riguardo a ci che stavi cercando di fare.</msg>
<msg key="We_had">Abbiamo avuto</msg>
<msg key="with_your_input">con il tuo input:</msg>
</message_catalog>
......@@ -2,12 +2,11 @@
<message_catalog package_key="acs-tcl" locale="nl_NL" charset="ISO-8859-1">
<msg key="a_problem">een probleem</msg>
<msg key="Administration">Administratie</msg>
<msg key="approve">goedkeuren</msg>
<msg key="approve_email">e-mail goedkeuren</msg>
<msg key="ban">uitsluiten</msg>
<msg key="Browser_of_the_user">Browser van gebruiker</msg>
<msg key="Comments">&lt;b&gt;Opmerkingen: &lt;/b&gt;&lt;br&gt; &lt;span style=&#34;color:red;&#34;&gt; (Leg alstublieft uit wat u wilt doen) &lt;/span&gt;</msg>
<msg key="Comments">&lt;b&gt;Opmerkingen: &lt;/b&gt;&lt;br&gt; &lt;span style=&quot;color:red;&quot;&gt; (Leg alstublieft uit wat u wilt doen) &lt;/span&gt;</msg>
<msg key="delete">verwijderen</msg>
<msg key="Detais">Details:</msg>
<msg key="Email">E-mail:</msg>
......@@ -19,11 +18,11 @@
<msg key="errors">fouten</msg>
<msg key="File">Bestand met fout:</msg>
<msg key="Insert_error">Er is een fout opgetreden bij het invoegen van de gegevens in de databank.</msg>
<msg key="lt__and_resubmit_your_en">, en dien uw invoer opnieuw in</msg>
<msg key="lt_Argspec_element_is_in">Argspec &#39;%element%&#39; is ongeldig omdat het meer dan twee elementen bevat</msg>
<msg key="lt__and_resubmit_your_en">, en dien uw lid opnieuw in</msg>
<msg key="lt_Argspec_element_is_in">Argspec '%element%' is ongeldig omdat het meer dan twee elementen bevat</msg>
<msg key="lt_Automatically_Submite">Fout automatisch ingestuurd</msg>
<msg key="lt_Error_Report_in_ad_sy">Foutrapport in %system_name%</msg>
<msg key="lt_Filter_type_must_be_f">Filter moet van het type &#39;filter&#39; of &#39;post&#39; zijn</msg>
<msg key="lt_Filter_type_must_be_f">Filter moet van het type 'filter' of 'post' zijn</msg>
<msg key="lt_Flag_name_must_be_a_v">Vlagnaam moet een geldige symboolnaam zijn</msg>
<msg key="lt_Flag_names_must_be_al">Vlagnamen moeten geheel uit kleine letters bestaan</msg>
<msg key="lt_Invalid_date_date_ele">Ongeldige datum: %date_element% ontbreekt</msg>
......@@ -37,14 +36,12 @@
<msg key="lt_Invalid_time_timetime">Ongeldige tijd: %time(time)% heeft een ongeldige indeling</msg>
<msg key="lt_Invalid_time_timetime_1">Ongeldige tijd: %time(time)% %time(ampm)%</msg>
<msg key="lt_Invalid_time_timetime_2">Ongeldige tijd %time(time)%</msg>
<msg key="lt_Multiple_definitions_">Meerdere definities van ad_page_contract_filter \&#34;%name%\&#34; in %script% en %prior_script%</msg>
<msg key="lt_name_contains_invalid">%name% bevat ongeldige tekens</msg>
<msg key="lt_Multiple_definitions_">Meerdere definities van ad_page_contract_filter \&quot;%name%\&quot; in %script% en %prior_script%</msg>
<msg key="lt_name_does_not_appear_">%name% ziet er niet uit als een geldig e-mailadres</msg>
<msg key="lt_name_does_not_appear__1">%name% ziet er niet uit als een Amerikaans telefoonnummer</msg>
<msg key="lt_name_does_not_appear__2">%name% ziet er niet uit als een booleaanse waarde</msg>
<msg key="lt_name_is_not_a_natural">%name% ziet er niet uit als een natuurlijk getal, dat is, een geheel getal groter dan 0.</msg>
<msg key="lt_name_is_not_a_valid_S">%name% is geen geldig SQL-symbool</msg>
<msg key="lt_name_is_not_a_word">%name% bevat vreemde karakters</msg>
<msg key="lt_name_is_not_an_intege">%naam% is geen geheel getal</msg>
<msg key="lt_name_is_not_in_the_ra">%name% zit niet in het bereik [%min%..%max%]</msg>
<msg key="lt_name_is_too_long__Ple">%name% is te lang. Geef alstublieft een waarde van minimaal %max_length% tekens lang in. De waarde die u ingaf was %actual_length% tekens lang.</msg>
......@@ -57,37 +54,34 @@
<msg key="lt_Problem_with_a_Templa">Probleem met sjabloonpagina</msg>
<msg key="lt_Problem_with_your_inp">Probleem met uw invoer</msg>
<msg key="lt_require_email_verific">E-mailbevestiging vereisen</msg>
<msg key="lt_The_-requires_element">The element van -requires, \&#34;%element%\&#34; bevat een komma.</msg>
<msg key="lt_The_-requires_element_1">The element van -requires, \&#34;%element%\&#34; bevat te veel dubbele punten.</msg>
<msg key="lt_The_-requires_element">The element van -requires, \&quot;%element%\&quot; bevat een komma.</msg>
<msg key="lt_The_-requires_element_1">The element van -requires, \&quot;%element%\&quot; bevat te veel dubbele punten.</msg>
<msg key="lt_The_email_you_submit">Geef alstublieft een geldig e-mailadres is.</msg>
<msg key="lt_The_flag_name_name_is">De vlagnaam \&#34;%name%\&#34; gereserveerd voor ad_page_contract.</msg>
<msg key="lt_The_flag_name_name_is">De vlagnaam \&quot;%name%\&quot; gereserveerd voor ad_page_contract.</msg>
<msg key="lt_The_proc_must_accept_">De procedure moet twee parameters accepteren, de naam van de variabele en een lijst van filters.</msg>
<msg key="lt_The_signature_for_the">De handtekening voor de variabele &#39;%formal_name%&#39; was niet juist.</msg>
<msg key="lt_Theres_no_greble_with">Er is geen &#34;greble&#34; met die waarde</msg>
<msg key="lt_The_signature_for_the">De handtekening voor de variabele '%formal_name%' was niet juist.</msg>
<msg key="lt_Theres_no_greble_with">Er is geen &quot;greble&quot; met die waarde</msg>
<msg key="lt_User_Id_of_the_user_t">Gebruikers-ID</msg>
<msg key="lt_Valid_switches_are_-r">Geldige opties zijn: -requires</msg>
<msg key="lt_Validation_block_name">Validatiebloknamen kunnen geen puntkomma bevatten.</msg>
<msg key="lt_Validation_key_compla">Validatie \&#34;%key%\&#34; klaagde</msg>
<msg key="lt_Validation_key_compla">Validatie \&quot;%key%\&quot; klaagde</msg>
<msg key="lt_value_does_not_appear">%value% ziet er niet als een Amerikaans telefoonnummer uit</msg>
<msg key="lt_Value_for_name_contai">Waarde voor %name% bevat HTML-tags</msg>
<msg key="lt_Value_is_not_an_decim">Waarde is geen decimaal getal.</msg>
<msg key="lt_Value_is_not_an_integ">Waarde is geen integer</msg>
<msg key="lt_We_had_a_problem_proc">Er is een probleem opgetreden tijdens het verwerken van uw verzoek:</msg>
<msg key="lt_You_cant_have_two_val">U kunt geen twee validatieblokken met de naam &#39;%name%&#39; hebben.</msg>
<msg key="lt_You_cant_have_two_val">U kunt geen twee validatieblokken met de naam '%name%' hebben.</msg>
<msg key="lt_You_cant_name_your_va">U kunt uw validatieblokken niet hetzelfde noemen als een formele parameter</msg>
<msg key="lt_You_must_specify_some">U moet iets opgeven voor %formal_name%</msg>
<msg key="lt_You_must_supply_a_val">U moet een waarde opgeven voor %formal_name%</msg>
<msg key="lt_You_specified_a_path_">U heeft een pad naar een bestand opgegeven dat niet toegestaan op het systeem is.</msg>
<msg key="lt_Youve_supplied_two_va">U hebt twee waarden voor &#39;%formal_name%&#39; opgegeven.</msg>
<msg key="maturity_deprecated">Verouderd</msg>
<msg key="lt_Youve_supplied_two_va">U hebt twee waarden voor '%formal_name%' opgegeven.</msg>
<msg key="maturity_immature">Nog niet rijp voor produktie</msg>
<msg key="maturity_incompatible">Compatibiliteitsproblemen</msg>
<msg key="maturity_mature">Rijp voor produktie</msg>
<msg key="maturity_mature_and_standard">Produktierijp en standaard.</msg>
<msg key="maturity_new_submission">Nieuw ingezonden of produktierijpheid niet bekend</msg>
<msg key="Page">Pagina met fout:</msg>
<msg key="Page_current_of_total">Pagina %current% van %total%</msg>
<msg key="Percentage_complete">Percentage compleet</msg>
<msg key="Previus">Vorige fout:</msg>
<msg key="Public_User">Publieke gebruiker</msg>
<msg key="reject">weigeren</msg>
......
......@@ -20,7 +20,7 @@
<msg key="lt__and_resubmit_your_en">, i ponownie wyślij Twój wpis.</msg>
<msg key="lt_Automatically_Submite">Błąd Wysłany Automatycznie</msg>
<msg key="lt_Error_Report_in_ad_sy">Raport Błędów w %system_name%</msg>
<msg key="lt_Filter_type_must_be_f">Typu filtru musi być &#39;filer&#39; lub &#39;post&#39;</msg>
<msg key="lt_Filter_type_must_be_f">Typu filtru musi być 'filer' lub 'post'</msg>
<msg key="lt_Flag_name_must_be_a_v">Nazwa flagi musi byc prawidłowym identyfikatorem</msg>
<msg key="lt_Flag_names_must_be_al">Nazwy flag mogą zawierać tylko małe litery</msg>
<msg key="lt_Invalid_date_date_ele">Błędna data: brak elementu %date_element%</msg>
......@@ -29,14 +29,7 @@
<msg key="lt_Invalid_time_timetime">Błędny czas: %time(time)% ma błędny format</msg>
<msg key="lt_name_does_not_appear_">%name% nie jest prawidłowym adresem email</msg>
<msg key="lt_name_does_not_appear__1">%name% nie jest prawidłowym numerem telefonu w USA</msg>
<msg key="lt_Please_back_up_using_">Cofnij się w przeglądarce i popraw powyższy</msg>
<msg key="lt_Problem_with_your_inp">Problem z twoimi danymi</msg>
<msg key="lt_require_email_verific">wymagaj potwierdzenia emailem</msg>
<msg key="lt_Value_for_name_contai">Wartość %name% zawiera tagi HTML</msg>
<msg key="lt_You_must_supply_a_val">Musisz podać wartość %formal_name%</msg>
<msg key="reject">odrzuć</msg>
<msg key="Thank_you">Dziękujemy</msg>
<msg key="undelete">przywróć</msg>
<msg key="We_had">Mieliśmy</msg>
<msg key="with_your_input">z twoimi danymi:</msg>
</message_catalog>
......@@ -6,7 +6,7 @@
<msg key="approve_email">aprovar email</msg>
<msg key="ban">banir</msg>
<msg key="Browser_of_the_user">Navegador do Usurio:</msg>
<msg key="Comments">&lt;b&gt; Commentrios: &lt;/b&gt;&lt;br&gt; &lt;span style=&#34;color:red;&#34;&gt; (Por favor explique o que est tentando fazer) &lt;/span&gt;</msg>
<msg key="Comments">&lt;b&gt; Commentrios: &lt;/b&gt;&lt;br&gt; &lt;span style=&quot;color:red;&quot;&gt; (Por favor explique o que est tentando fazer) &lt;/span&gt;</msg>
<msg key="delete">apagar</msg>
<msg key="Detais">Detalhes:</msg>
<msg key="Email">Endereo Eletrnico:</msg>
......@@ -19,10 +19,10 @@
<msg key="File">Arquivo com erro:</msg>
<msg key="Insert_error">Ocorreu um erro ao inserir a informaao no banco de dados:</msg>
<msg key="lt__and_resubmit_your_en">, e submeta os dados novamente.</msg>
<msg key="lt_Argspec_element_is_in">Argspec &#39;%element%&#39; invlidoi, porque contm mais de dois elementos.</msg>
<msg key="lt_Argspec_element_is_in">Argspec '%element%' invlidoi, porque contm mais de dois elementos.</msg>
<msg key="lt_Automatically_Submite">Erro submetido automaticamente</msg>
<msg key="lt_Error_Report_in_ad_sy">Relatrio de Erro em %system_name%</msg>
<msg key="lt_Filter_type_must_be_f">Tipo de filtro deve ser &#39;filter&#39; ou &#39;post&#39;</msg>
<msg key="lt_Filter_type_must_be_f">Tipo de filtro deve ser 'filter' ou 'post'</msg>
<msg key="lt_Flag_name_must_be_a_v">Nome do Flag deve ser um identificador vlido</msg>
<msg key="lt_Flag_names_must_be_al">Nomes do Flag devem ser grafados em caixa baixa</msg>
<msg key="lt_Invalid_date_date_ele">Data invlida; %date_element% est faltando</msg>
......@@ -36,7 +36,7 @@
<msg key="lt_Invalid_time_timetime">Horrio invlido: %time(time)% um formato invlido</msg>
<msg key="lt_Invalid_time_timetime_1">Horrio invlido: %time(time)% %time(ampm)%</msg>
<msg key="lt_Invalid_time_timetime_2">Horrio invlido: %time(time)% </msg>
<msg key="lt_Multiple_definitions_">Mltiplas definies do filtro ad_page_contract \&#34;%name%\&#34; no %script% e %prior_script% </msg>
<msg key="lt_Multiple_definitions_">Mltiplas definies do filtro ad_page_contract \&quot;%name%\&quot; no %script% e %prior_script% </msg>
<msg key="lt_name_does_not_appear_">%name% no parece ser um endereo eletrnico vlido</msg>
<msg key="lt_name_does_not_appear__1">%name% no parece ser um nmero de telefone Americano vlido</msg>
<msg key="lt_name_does_not_appear__2">%name% no parece ser um valor boleano</msg>
......@@ -49,32 +49,32 @@
<msg key="lt_name_is_too_short__Pl">%name% muito curto. Por favor digite um valor com no mnimo %min_length% caracteres. O valor digitado por voc tem %actual_length% caracteres.</msg>
<msg key="lt_name_is_too_short__Pl_1">%name% muito curto. Por favor digite um valor com no mnimo %min_length% caracteres. O valor digitado por voc tem %actual_length% caracteres.</msg>
<msg key="lt_NB_This_error_was_sub">O erro foi enviado</msg>
<msg key="lt_Please_back_up_using_">Por favor use o boto &#34;Retornar pgina anterior&#34; do seu navegador, e corrija os erros acima </msg>
<msg key="lt_Please_back_up_using_">Por favor use o boto &quot;Retornar pgina anterior&quot; do seu navegador, e corrija os erros acima </msg>
<msg key="lt_Problem_with_a_Page_o">Problema com a pgina (ou com os dados digitados)</msg>
<msg key="lt_Problem_with_a_Templa">Problema com o Modelo de Pgina</msg>
<msg key="lt_Problem_with_your_inp">Problema com so dados digitados</msg>
<msg key="lt_require_email_verific">exigir verificao por email</msg>
<msg key="lt_The_-requires_element">O elemento \&#34;%element%\&#34; em -requires tem uma vrgula.</msg>
<msg key="lt_The_-requires_element_1">O elemento \&#34;%element%\&#34; em -requires tem muitos dois pontos.</msg>
<msg key="lt_The_-requires_element">O elemento \&quot;%element%\&quot; em -requires tem uma vrgula.</msg>
<msg key="lt_The_-requires_element_1">O elemento \&quot;%element%\&quot; em -requires tem muitos dois pontos.</msg>
<msg key="lt_The_email_you_submit">Por favor, digite um endereo de email vlido.</msg>
<msg key="lt_The_flag_name_name_is">O nome de flag \&#34;%name%\&#34; reservado por ad_page_contract</msg>
<msg key="lt_The_flag_name_name_is">O nome de flag \&quot;%name%\&quot; reservado por ad_page_contract</msg>
<msg key="lt_The_proc_must_accept_">O procedimento deve aceitar dois argumentos: o nome da varivel e uma lista de filtros</msg>
<msg key="lt_The_signature_for_the">A assinatura para a varivel &#39;%formal_name%&#39; estava errada.</msg>
<msg key="lt_The_signature_for_the">A assinatura para a varivel '%formal_name%' estava errada.</msg>
<msg key="lt_User_Id_of_the_user_t">ID do usurio:</msg>
<msg key="lt_Valid_switches_are_-r">As opes vlidas so: -requires</msg>
<msg key="lt_Validation_block_name">Nomes dos blocos de validao no podem ter dois pontos</msg>
<msg key="lt_Validation_key_compla">\&#34;%key%\&#34; de validao solicitada</msg>
<msg key="lt_Validation_key_compla">\&quot;%key%\&quot; de validao solicitada</msg>
<msg key="lt_value_does_not_appear">%value% no parece ser um telefone dos EUA</msg>
<msg key="lt_Value_for_name_contai">Os valores para %name% contm tags em HTML</msg>
<msg key="lt_Value_is_not_an_decim">O valor fornecido no um nmero decimal.</msg>
<msg key="lt_Value_is_not_an_integ">O valor fornecido no inteiro</msg>
<msg key="lt_We_had_a_problem_proc">Tivemos um problema processando o seu pedido:</msg>
<msg key="lt_You_cant_have_two_val">Voc no pode ter dois blocos de validao chamados &#39;%name%&#39;</msg>
<msg key="lt_You_cant_have_two_val">Voc no pode ter dois blocos de validao chamados '%name%'</msg>
<msg key="lt_You_cant_name_your_va">Voc no pode nomear seus blocos de validao da mesma maneira que um argumento formal</msg>
<msg key="lt_You_must_specify_some">Voc deve especificar alguma coisa para %formal_name%</msg>
<msg key="lt_You_must_supply_a_val">Voc deve fornecer um valor para %formal_name%</msg>
<msg key="lt_You_specified_a_path_">Voc especificou um caminho para um arquivo que no permitido pelo sistema.</msg>
<msg key="lt_Youve_supplied_two_va">Voc forneceu dois valores para &#39;%formal_name%&#39;</msg>
<msg key="lt_Youve_supplied_two_va">Voc forneceu dois valores para '%formal_name%'</msg>
<msg key="maturity_immature">Imaturo</msg>
<msg key="maturity_incompatible">Problemas de compatibilidade</msg>
<msg key="maturity_mature">Maduro</msg>
......
......@@ -7,7 +7,7 @@
<msg key="approve_email">утвердить электронный почтовый адрес</msg>
<msg key="ban">запретить</msg>
<msg key="Browser_of_the_user">Броузер пользователя:</msg>
<msg key="Comments">&lt;b&gt; Комментарии: &lt;/b&gt;&lt;br&gt; &lt;span style=&#34;color:red;&#34;&gt; (Пожалуйста, объясните, что вы пытались сделать) &lt;/span&gt;</msg>
<msg key="Comments">&lt;b&gt; Комментарии: &lt;/b&gt;&lt;br&gt; &lt;span style=&quot;color:red;&quot;&gt; (Пожалуйста, объясните, что вы пытались сделать) &lt;/span&gt;</msg>
<msg key="delete">удалить</msg>
<msg key="Detais">Подробности:</msg>
<msg key="Email">Эл.почта:</msg>
......@@ -20,10 +20,10 @@
<msg key="File">Файл с ошибкой:</msg>
<msg key="Insert_error">В процессе добавления информации в базу данных произошла ошибка:</msg>
<msg key="lt__and_resubmit_your_en">, и повторно предоставьте вашу запись.</msg>
<msg key="lt_Argspec_element_is_in">Спецификация аргумента &#39;%element%&#39; недействительна, так как содержит более двух элементов.</msg>
<msg key="lt_Argspec_element_is_in">Спецификация аргумента '%element%' недействительна, так как содержит более двух элементов.</msg>
<msg key="lt_Automatically_Submite">Ошибка передаётся автоматически</msg>
<msg key="lt_Error_Report_in_ad_sy">Отчёт об ошибках %system_name%</msg>
<msg key="lt_Filter_type_must_be_f">Тип фильтра должен быть &#39;filter&#39; или &#39;post&#39;</msg>
<msg key="lt_Filter_type_must_be_f">Тип фильтра должен быть 'filter' или 'post'</msg>
<msg key="lt_Flag_name_must_be_a_v">Имя флага должно содержать действительный индентификатор</msg>
<msg key="lt_Flag_names_must_be_al">Все имена флагов должны быть набраны строчными буквами</msg>
<msg key="lt_Invalid_date_date_ele">Недействительные данные: %date_element% отсутствует</msg>
......@@ -37,7 +37,7 @@
<msg key="lt_Invalid_time_timetime">Неверное время: %time(time)% неверный формат</msg>
<msg key="lt_Invalid_time_timetime_1">Неверное время: %time(time)% %time(ampm)%</msg>
<msg key="lt_Invalid_time_timetime_2">Неверное время: %time(time)%</msg>
<msg key="lt_Multiple_definitions_">Множественные определения ad_page_contract фильтра \&#34;%name%\&#34; в %script% и %prior_script%</msg>
<msg key="lt_Multiple_definitions_">Множественные определения ad_page_contract фильтра \&quot;%name%\&quot; в %script% и %prior_script%</msg>
<msg key="lt_name_contains_invalid">%name% содержит недействительные символы</msg>
<msg key="lt_name_does_not_appear_">%name% не выглядит как корректный адрес электронной почты.</msg>
<msg key="lt_name_does_not_appear__1">%name% не соответствует формату телефонных номеров, принятому в России. </msg>
......@@ -57,27 +57,27 @@
<msg key="lt_Problem_with_a_Templa">Проблема со страницей шаблона</msg>
<msg key="lt_Problem_with_your_inp">Проблема с правильностью вашего ввода</msg>
<msg key="lt_require_email_verific">требуется подтверждение по электронной почте</msg>
<msg key="lt_The_-requires_element">Элемент -requires \&#34;%element%\&#34; содержит запятую. </msg>
<msg key="lt_The_-requires_element_1">Элемент -requires \&#34;%element%\&#34; содержит слишком много двоеточий</msg>
<msg key="lt_The_-requires_element">Элемент -requires \&quot;%element%\&quot; содержит запятую. </msg>
<msg key="lt_The_-requires_element_1">Элемент -requires \&quot;%element%\&quot; содержит слишком много двоеточий</msg>
<msg key="lt_The_email_you_submit">Пожалуйста, введите достоверный электронный почтовый адрес. </msg>
<msg key="lt_The_flag_name_name_is">Флаг с именем \&#34;%name%\&#34; зарезервирован для ad_page_contract</msg>
<msg key="lt_The_flag_name_name_is">Флаг с именем \&quot;%name%\&quot; зарезервирован для ad_page_contract</msg>
<msg key="lt_The_proc_must_accept_">Процедура должна принять два аргумента - имя переменной и список фильтров</msg>
<msg key="lt_The_signature_for_the">Подпись для переменной &#39;%formal_name%&#39; была некорректна.</msg>
<msg key="lt_The_signature_for_the">Подпись для переменной '%formal_name%' была некорректна.</msg>
<msg key="lt_User_Id_of_the_user_t">Идентификатор пользователя:</msg>
<msg key="lt_Valid_switches_are_-r">Правильные переключатели: -requires</msg>
<msg key="lt_Validation_block_name">Блок проверки имён не может содержать двоеточие</msg>
<msg key="lt_Validation_key_compla">Сомнение в действительности \&#34;%key%\&#34;</msg>
<msg key="lt_Validation_key_compla">Сомнение в действительности \&quot;%key%\&quot;</msg>
<msg key="lt_value_does_not_appear">%value% не соответствует формату телефонных номеров действующих в США.</msg>
<msg key="lt_Value_for_name_contai">Значение для %name% содержит HTML теги. </msg>
<msg key="lt_Value_is_not_an_decim">Значение не является десятичным числом. </msg>
<msg key="lt_Value_is_not_an_integ">Значение не является целым числом.</msg>
<msg key="lt_We_had_a_problem_proc">У нас возникли проблемы с обработкой вашего запроса</msg>
<msg key="lt_You_cant_have_two_val">Вы не можете иметь два проверочных блока с именем &#39;%name%&#39;</msg>
<msg key="lt_You_cant_have_two_val">Вы не можете иметь два проверочных блока с именем '%name%'</msg>
<msg key="lt_You_cant_name_your_va">Вы не можете назвать ваш проверочный блок также, как формальный аргумент</msg>
<msg key="lt_You_must_specify_some">Вы должны указать что-нибудь для %formal_name%</msg>
<msg key="lt_You_must_supply_a_val">Вы должны указать значение для %formal_name%</msg>
<msg key="lt_You_specified_a_path_">Вы указали путь до файла, который не разрешён в системе.</msg>
<msg key="lt_Youve_supplied_two_va">Вы установили два значения для &#39;%formal_name%&#39;</msg>
<msg key="lt_Youve_supplied_two_va">Вы установили два значения для '%formal_name%'</msg>
<msg key="maturity_deprecated">Не рекомендовано</msg>
<msg key="maturity_immature">Не доработан</msg>
<msg key="maturity_incompatible">Проблемы совместимости</msg>
......
......@@ -15,8 +15,7 @@
<p>
#acs-tcl.lt_Please_back_up_using_# <if @exception_count@ gt 1>#acs-tcl.errors#</if><else>#acs-tcl.error#</else>#acs-tcl.lt__and_resubmit_your_en#
</p>
<p>
#acs-tcl.Thank_you#
</p>
<if @prev_url@ defined and @prev_url@ not nil><p> <a href="@prev_url@">#acs-tcl.Return_prev#</a></if></p>
......@@ -21,4 +21,5 @@
<p>
#acs-tcl.Thank_you#
</p>
<if @prev_url@ defined and @prev_url@ not nil><p> <a href="@prev_url@">#acs-tcl.Return_prev#</a></if></p>
......@@ -33,8 +33,8 @@
</div>
<script type="text/javascript">
var progressEnd = 5;// set to number of progress <span>'s.
<script type="text/javascript" <if @::__csp_nonce@ not nil> nonce="@::__csp_nonce;literal@"</if>>
var progressEnd = 5;// set to number of progress span's.
var progressColor = 'blue';// set to progress bar color
var progressInterval = 1000;// set to time between updates (milli-seconds)
......
This diff is collapsed.
......@@ -10,9 +10,46 @@ ad_proc -public ad_acs_administrator_exists_p {} {
@return 1 if a user with admin privileges exists, 0 otherwise.
} {
return [db_string admin_exists_p {} -default 0]
ad_acs_require_basic_schemata
return [db_string admin_exists_p {
select 1 as admin_exists_p
from dual
where exists (
select 1
from acs_permissions p,
party_approved_member_map m,
users u,
acs_magic_objects amo
where amo.name = 'security_context_root'
and p.object_id = amo.object_id
and p.grantee_id = m.party_id
and u.user_id = m.member_id
and acs_permission.permission_p(amo.object_id, u.user_id, 'admin')
)
} -default 0]
}
ad_proc -private ad_acs_require_basic_schemata {} {
This is a transitional code to ensure that the SQL schemata
required for botostrapping (i.e. before the upgrade script) are
already installed.
} {
set schema_name "acs_permission"
if {![db_string has_schema {}]} {
set kernelSqlDir "$::acs::rootdir/packages/acs-kernel/sql/[db_driverkey {}]/upgrade"
set files "upgrade-5.9.1d10-5.9.1d11.sql"
foreach file $files {
set fn $kernelSqlDir/$file
if {[file readable $fn]} {
ns_log notice "bootstrap: upgrading sql file $fn"
db_source_sql_file -callback apm_dummy_callback $fn
}
}
}
}
ad_proc -public ad_acs_admin_node {} {
......@@ -36,21 +73,20 @@ ad_proc -public ad_acs_admin_node {} {
ad_proc -public ad_verify_install {} {
Returns 1 if the acs is properly installed, 0 otherwise.
} {
# define util_memoize with proc here to avoid error messages about multiple
# Define util_memoize with proc here to avoid error messages about multiple
# defines.
if { ![db_table_exists apm_packages] || ![db_table_exists site_nodes] } {
ns_log warning "ad_verify_install: apm_packages [db_table_exists apm_packages] site_nodes [db_table_exists site_nodes]"
proc util_memoize {script {max_age ""}} {{*}$script}
return 0
}
set kernel_install_p [apm_package_installed_p acs-kernel]
set admin_exists_p [ad_acs_administrator_exists_p]
ns_log Debug "Verifying Installation: Kernel Installed? $kernel_install_p \
An Administrator? $admin_exists_p"
if { $kernel_install_p && $admin_exists_p} {
return 1
} else {
ns_log warning "ad_verify_install: kernel_install_p $kernel_install_p admin_exists_p $admin_exists_p"
proc util_memoize {script {max_age ""}} {{*}$script}
return 0
}
......
<?xml version="1.0"?>
<queryset>
<fullquery name="ad_acs_administrator_exists_p.admin_exists_p">
<querytext>
select 1 as admin_exists_p
from dual
where exists (select 1
from all_object_party_privilege_map m, users u, acs_magic_objects amo
where m.object_id = amo.object_id
and amo.name = 'security_context_root'
and m.party_id = u.user_id
and m.privilege = 'admin')
</querytext>
</fullquery>
<fullquery name="ad_acs_admin_node.acs_admin_node_p">
<querytext>
......
......@@ -47,13 +47,12 @@
</querytext>
</fullquery>
<fullquery name="permission::permission_p_not_cached.select_permission_p">
<querytext>
begin
:1 := acs_permission.permission_p(:object_id, :party_id, :privilege);
end;
</querytext>
<fullquery name="permission::get_parties_with_permission.get_parties">
<querytext>
select distinct o.title, p.party_id
from acs_object_party_privilege_map p, acs_objects o
where p.object_id = :object_id and p.privilege = :privilege and o.object_id = p.party_id
</querytext>
</fullquery>
</queryset>
......@@ -24,8 +24,7 @@
<fullquery name="permission::require_permission.name">
<querytext>
select acs_object__name(:object_id)
from dual
select acs_object__name(:object_id) from dual
</querytext>
</fullquery>
......@@ -37,11 +36,12 @@
</querytext>
</fullquery>
<fullquery name="permission::permission_p_not_cached.select_permission_p">
<querytext>
select acs_permission__permission_p(:object_id, :party_id, :privilege)
</querytext>
<fullquery name="permission::get_parties_with_permission.get_parties">
<querytext>
select distinct o.title, p.party_id
from acs_permission.parties_with_object_privilege(:object_id, :privilege) p, acs_objects o
where p.party_id = o.object_id
</querytext>
</fullquery>
</queryset>
......@@ -133,9 +133,6 @@ ad_proc -public permission::permission_p {
}
# accepts nocache to match permission_p arguments
# since we alias it to permission::permission_p if
# caching disabled.
ad_proc -private permission::permission_p_not_cached {
{-no_cache:boolean}
{-party_id ""}
......@@ -144,26 +141,31 @@ ad_proc -private permission::permission_p_not_cached {
} {
does party X have privilege Y on object Z
This function accepts "-no_cache" just to match the permission_p
signature since we alias it to permission::permission_p when
caching is disabled.
@see permission::permission_p
} {
if { $party_id eq "" } {
set party_id [ad_conn user_id]
}
# We have a thread-local cache here
global permission__permission_p__cache
if { ![info exists permission__permission_p__cache($party_id,$object_id,$privilege)] } {
set permission__permission_p__cache($party_id,$object_id,$privilege) [expr {[db_exec_plsql select_permission_p {}] ? 1 : 0 }]
# We have a per-request cache here
set key ::permission__permission_p__cache($party_id,$object_id,$privilege)
if { ![info exists $key] } {
set $key [db_string select_permission_p {
select acs_permission.permission_p(:object_id, :party_id, :privilege)::integer from dual
}]
}
return $permission__permission_p__cache($party_id,$object_id,$privilege)
return [set $key]
}
ad_proc -private permission::permission_thread_cache_flush {} {
Flush thread cache
} {
global permission__permission_p__cache
array unset permission__permission_p__cache
array unset ::permission__permission_p__cache
}
ad_proc -public permission::require_permission {
......@@ -180,7 +182,8 @@ ad_proc -public permission::require_permission {
if {$party_id eq ""} { set party_id 0 }
if {![permission_p -party_id $party_id -object_id $object_id -privilege $privilege]} {
if {!${party_id}} {
if {!${party_id} && ![ad_conn ajax_p]} {
auth::require_login
} else {
ns_log notice "permission::require_permission: $party_id doesn't have $privilege on object $object_id"
......@@ -270,7 +273,6 @@ ad_proc -public permission::require_write_permission {
@param creation_user Optionally specify creation_user directly as an optimization.
Otherwise a query will be executed.
@param party_id The party to have or not have write permission.
@see permission::write_permission_p
......@@ -281,64 +283,21 @@ ad_proc -public permission::require_write_permission {
}
}
ad_proc -deprecated ad_permission_grant {
user_id
object_id
privilege
} {
Grant a permission
@author ben@openforce.net
@see permission::grant
} {
permission::grant -party_id $user_id -object_id $object_id -privilege $privilege
}
ad_proc -deprecated ad_permission_revoke {
user_id
object_id
privilege
ad_proc -public permission::get_parties_with_permission {
{-object_id:required}
{-privilege "admin"}
} {
Revoke a permission
Return a list of lists of party_id and acs_object.title,
having a given privilege on the given object
@author ben@openforce.net
@param obect_id
@param privilege
@see permission::revoke
} {
permission::revoke -party_id $user_id -object_id $object_id -privilege $privilege
}
ad_proc -deprecated ad_permission_p {
{-user_id ""}
object_id
privilege
} {
@see permission::permission_p
} {
return [permission::permission_p -party_id $user_id -object_id $object_id -privilege $privilege]
}
ad_proc -deprecated ad_require_permission {
object_id
privilege
} {
@see permission::require_permission
} {
permission::require_permission -object_id $object_id -privilege $privilege
return [db_list_of_lists get_parties {}]
}
ad_proc -private -deprecated ad_admin_filter {} {
permission::require_permission -object_id [ad_conn object_id] -privilege "admin"
return filter_ok
}
ad_proc -private -deprecated ad_user_filter {} {
permission::require_permission -object_id [ad_conn object_id] -privilege "read"
return filter_ok
}
# Local variables:
# mode: tcl
......
......@@ -2,14 +2,6 @@
<queryset>
<fullquery name="ad_permission_p.n_privs">
<querytext>
select count(*)
from acs_privileges
where privilege = :privilege
</querytext>
</fullquery>
<fullquery name="permission::inherit_p.select_inherit_p">
<querytext>
select case when security_inherit_p = 't' then 1 else 0 end
......
......@@ -670,7 +670,7 @@ ad_proc -public unzip {xs} "unzip takes a list of tuples {x1 y1} {x2 y2} {x3 y3}
# drop_while p xs returns the remaining portion of the list
# span p xs = (takeWhile p xs, dropWhile p xs)
#
# take_until p xs returns the list of elements upto and including the
# take_until p xs returns the list of elements up to and including the
# first element of xs which satisfies p
#
# --------------------------------------------------------------------------------
......@@ -702,7 +702,7 @@ ad_proc -public span {p xs} "splits a list using take_while and drop_while" {
list [take_while $p $xs] [drop_while $p $xs]
}
ad_proc -public take_until {p xs} "returns the list of elements upto and including the
ad_proc -public take_until {p xs} "returns the list of elements up to and including the
first element of xs which satisfies p" {
set index 0
foreach x $xs {
......
......@@ -38,16 +38,27 @@ ad_proc -public ad_approval_system_inuse_p {} {
ad_proc -private ad_user_class_parameters {} {
Returns the list of parameter var names used to define a user class.
} {
return [list category_id country_code usps_abbrev intranet_user_p group_id last_name_starts_with email_starts_with expensive user_state sex age_above_years age_below_years registration_during_month registration_before_days registration_after_days registration_after_date last_login_before_days last_login_after_days last_login_equals_days number_visits_below number_visits_above user_class_id sql_post_select crm_state curriculum_elements_completed]
return {
category_id country_code usps_abbrev intranet_user_p
group_id last_name_starts_with email_starts_with expensive
user_state sex age_above_years age_below_years
registration_during_month registration_before_days
registration_after_days registration_after_date
last_login_before_days last_login_after_days
last_login_equals_days number_visits_below number_visits_above
user_class_id sql_post_select crm_state
curriculum_elements_completed
}
}
ad_proc -private ad_user_class_description { set_id } {
Takes an ns_set of key/value pairs and produces a human-readable description of the class of users specified.
Takes an ns_set of key/value pairs and produces a human-readable
description of the class of users specified.
} {
set clauses [list]
set pretty_description ""
# turn all the parameters in the ns_set into tcl vars
# turn all the parameters in the ns_set into Tcl vars
ad_ns_set_to_tcl_vars -duplicates fail $set_id
# All the SQL statements are named after the criteria name (e.g. category_id)
......@@ -178,41 +189,63 @@ ad_proc -private ad_registration_finite_state_machine_admin_links {
user_id
{return_url ""}
} {
Returns the admininistation links to change the user's state in the user_state finite state machine. If the nohtml switch is set, then a list of lists will be returned (url label).
Returns the admininistation links to change the user's state
in the user_state finite state machine. If the nohtml switch
is set, then a list of lists will be returned (url label).
} {
set user_finite_states [list]
switch $member_state {
"approved" {
lappend user_finite_states \
[list [export_vars -base "/acs-admin/users/member-state-change" {user_id return_url {member_state banned}}] [_ acs-tcl.ban]] \
[list [export_vars -base "/acs-admin/users/member-state-change" {user_id return_url {member_state deleted}}] [_ acs-tcl.delete]]
[list [export_vars -base "/acs-admin/users/member-state-change" {
user_id return_url {member_state banned}
}] [_ acs-tcl.ban]] \
[list [export_vars -base "/acs-admin/users/member-state-change" {
user_id return_url {member_state deleted}
}] [_ acs-tcl.delete]]
}
"deleted" {
lappend user_finite_states \
[list [export_vars -base "/acs-admin/users/member-state-change" {user_id return_url {member_state approved}}] [_ acs-tcl.undelete]] \
[list [export_vars -base "/acs-admin/users/member-state-change" {user_id return_url {member_state banned}}] [_ acs-tcl.ban]]
[list [export_vars -base "/acs-admin/users/member-state-change" {
user_id return_url {member_state approved}
}] [_ acs-tcl.undelete]] \
[list [export_vars -base "/acs-admin/users/member-state-change" {
user_id return_url {member_state banned}
}] [_ acs-tcl.ban]]
}
"needs approval" {
lappend user_finite_states \
[list [export_vars -base "/acs-admin/users/member-state-change" {user_id return_url {member_state approved}}] [_ acs-tcl.approve]] \
[list [export_vars -base "/acs-admin/users/member-state-change" {user_id return_url {member_state rejected}}] [_ acs-tcl.reject]]
[list [export_vars -base "/acs-admin/users/member-state-change" {
user_id return_url {member_state approved}
}] [_ acs-tcl.approve]] \
[list [export_vars -base "/acs-admin/users/member-state-change" {
user_id return_url {member_state rejected}
}] [_ acs-tcl.reject]]
}
"rejected" {
lappend user_finite_states \
[list [export_vars -base "/acs-admin/users/member-state-change" {user_id return_url {member_state approved}}] [_ acs-tcl.approve]]
[list [export_vars -base "/acs-admin/users/member-state-change" {
user_id return_url {member_state approved}
}] [_ acs-tcl.approve]]
}
"banned" {
lappend user_finite_states \
[list [export_vars -base "/acs-admin/users/member-state-change" {user_id return_url {member_state approved}}] [_ acs-tcl.approve]]
[list [export_vars -base "/acs-admin/users/member-state-change" {
user_id return_url {member_state approved}
}] [_ acs-tcl.approve]]
}
}
if { $email_verified_p == "t" } {
lappend user_finite_states \
[list [export_vars -base "/acs-admin/users/member-state-change" {user_id return_url {email_verified_p f}}] [_ acs-tcl.lt_require_email_verific]]
[list [export_vars -base "/acs-admin/users/member-state-change" {
user_id return_url {email_verified_p f}
}] [_ acs-tcl.lt_require_email_verific]]
} else {
lappend user_finite_states \
[list [export_vars -base "/acs-admin/users/member-state-change" {user_id return_url {email_verified_p t}}] [_ acs-tcl.approve_email]]
[list [export_vars -base "/acs-admin/users/member-state-change" {
user_id return_url {email_verified_p t}
}] [_ acs-tcl.approve_email]]
}
if { $nohtml_p } {
......@@ -222,13 +255,11 @@ ad_proc -private ad_registration_finite_state_machine_admin_links {
} else {
# Build the list of A tags
set user_finite_state_links [list]
# Build a list of anchor tags
set user_finite_state_links {}
foreach elm $user_finite_states {
set url [lindex $elm 0]
set label [lindex $elm 1]
lassign $elm url label
lappend user_finite_state_links [subst {<a href="[ns_quotehtml $url]">$label</a>}]
}
......
<?xml version="1.0"?>
<queryset>
<fullquery name="ad_user_class_query.sql_post_select_for_user_class">
<querytext>
select sql_post_select
from user_classes
where user_class_id = [ns_dbquotevalue $user_class_id]
</querytext>
</fullquery>
<fullquery name="ad_user_class_description.category_id">
<querytext>
select category from categories where category_id = :category_id
......
......@@ -129,32 +129,19 @@ proc _http_read {timeout sock length} {
} ;# _http_read
# tcl page support
# Tcl page support
proc ns_putscript {conn ignored} {
ns_returnbadrequest $conn "Cannot PUT a script file"
}
if {[ns_info name] ne "NaviServer"} {
#
# Naviserver has dropped support for ns_share.
#
ns_share NS
set NS(months) [list January February March April May June \
July August September October November December]
}
# _ns_dateentrywidget is not very popular and is not
# internationalized. We keep it in Naviserver for backward
# compatibility. It should become deprecated.
# internationalized. We keep it for backward compatibility. It should
# become deprecated.
proc _ns_dateentrywidget {column} {
if {[ns_info name] ne "NaviServer"} {
ns_share NS
} else {
set NS(months) [list January February March April May June \
July August September October November December]
}
set NS(months) [list January February March April May June \
July August September October November December]
set output "<select name='$column.month'>\n"
for {set i 0} {$i < 12} {incr i} {
......
......@@ -3,40 +3,6 @@
<queryset>
<rdbms><type>oracle</type><version>8.1.6</version></rdbms>
<fullquery name="apm_generate_tarball.create_item">
<querytext>
begin
:1 := content_item.new(name => :name,
creation_ip => :creation_ip,
storage_type => 'file'
);
end;
</querytext>
</fullquery>
<fullquery name="apm_generate_tarball.create_revision">
<querytext>
begin
:1 := content_revision.new(title => :title,
description => 'gzipped tarfile',
text => 'not_important',
mime_type => 'text/plain',
item_id => :item_id,
creation_user => :user_id,
creation_ip => :creation_ip
);
update cr_items
set live_revision = :1
where item_id = :item_id;
end;
</querytext>
</fullquery>
<fullquery name="apm_generate_tarball.update_tarball">
<querytext>
......@@ -71,35 +37,4 @@ end;
</querytext>
</fullquery>
<fullquery name="apm_file_add.apm_file_add">
<querytext>
begin
:1 := apm_package_version.add_file(
file_id => :file_id,
version_id => :version_id,
path => :path,
file_type => :file_type,
db_type => :db_type
);
end;
</querytext>
</fullquery>
<fullquery name="apm_file_remove.apm_file_remove">
<querytext>
begin
apm_package_version.remove_file(
path => :path,
version_id => :version_id
);
end;
</querytext>
</fullquery>
</queryset>
......@@ -3,63 +3,6 @@
<queryset>
<rdbms><type>postgresql</type><version>7.1</version></rdbms>
<fullquery name="apm_generate_tarball.create_item">
<querytext>
select content_item__new(
varchar :name,
null,
null,
null,
now(),
null,
null,
:creation_ip,
'content_item',
'content_revision',
null,
null,
'text/plain',
null,
null,
'file'
)
</querytext>
</fullquery>
<fullquery name="apm_generate_tarball.create_revision">
<querytext>
declare
v_revision_id integer;
begin
v_revision_id := content_revision__new(
:title,
'gzipped tarfile',
now(),
'text/plain',
null,
'not_important',
:item_id,
null,
now(),
:user_id,
:creation_ip
);
update cr_items
set live_revision = v_revision_id
where item_id = :item_id;
return v_revision_id;
end;
</querytext>
</fullquery>
<fullquery name="apm_generate_tarball.update_tarball">
<querytext>
......@@ -93,31 +36,4 @@ select content_item__new(
</querytext>
</fullquery>
<fullquery name="apm_file_add.apm_file_add">
<querytext>
select apm_package_version__add_file(
:file_id,
:version_id,
:path,
:file_type,
:db_type
)
</querytext>
</fullquery>
<fullquery name="apm_file_remove.apm_file_remove">
<querytext>
select apm_package_version__remove_file(
:version_id,
:path
)
</querytext>
</fullquery>
</queryset>
......@@ -18,7 +18,7 @@ ad_proc -private apm_mkdir {path} {
}] } {
# There must be a file blocking the directory creation.
if { [catch {
file delete -force $path
file delete -force -- $path
file mkdir $path
} errmsg]} {
error "Error creationg directory $path: $errmsg"
......@@ -102,7 +102,7 @@ ad_proc -public apm_db_type_keys {} {
Returns a list of valid database type keys.
} {
return [util_memoize [list db_list db_type_keys "select db_type_key from apm_package_db_types"]]
return [util_memoize [list db_list db_type_keys {select db_type_key from apm_package_db_types}]]
}
......@@ -151,7 +151,7 @@ ad_proc -private apm_extract_tarball { version_id dir } {
#ns_log notice "exec sh -c 'cd $dir ; [apm_gzip_cmd] -d -q -c $apm_file | [apm_tar_cmd] xf - 2>/dev/null'"
exec [apm_gzip_cmd] -d -q -c -S .apm $apm_file | [apm_tar_cmd] -xf - -C $dir 2> [apm_dev_null]
file delete $apm_file
file delete -- $apm_file
}
......@@ -162,14 +162,10 @@ ad_proc -private apm_generate_tarball { version_id } {
} {
set package_key [apm_package_key_from_version_id $version_id]
set files [apm_get_package_files -all_db_types -package_key $package_key]
set files [apm_get_package_files -all -package_key $package_key]
set tmpfile [ad_tmpnam]
db_1row package_key_select {
select package_key
from apm_package_version_info
where version_id = :version_id
}
db_1row package_key_select {}
# Generate a command like:
#
......@@ -197,70 +193,45 @@ ad_proc -private apm_generate_tarball { version_id } {
set user_id [ad_conn user_id]
set name "tarball-for-package-version-${version_id}"
set title "${package_key}-tarball"
set description "gzipped tarfile"
set mime_type "text/plain"
set create_item "
begin
:1 := content_item.new(name => :name,
creation_ip => :creation_ip
);
end;"
set create_revision "
begin
:1 := content_revision.new(title => :title,
description => 'gzipped tarfile',
text => 'not_important',
mime_type => 'text/plain',
item_id => :item_id,
creation_user => :user_id,
creation_ip => :creation_ip
);
update cr_items
set live_revision = :1
where item_id = :item_id;
end;"
db_1row item_exists_p {select case when item_id is null
then 0
else item_id
end as item_id
from apm_package_versions
where version_id = :version_id}
db_1row item_exists_p {}
if {!$item_id} {
# content item hasen't been created yet - create one.
set item_id [db_exec_plsql create_item $create_item]
db_dml set_item_id "update apm_package_versions
set item_id = :item_id
where version_id = :version_id"
set revision_id [db_exec_plsql create_revision $create_revision]
set item_id [content::item::new \
-name $name \
-title $title \
-description $description \
-mime_type $mime_type \
-creation_user $user_id \
-creation_ip $creation_ip \
-is_live true]
} else {
#tarball exists, so all we have to do is to make a new revision for it
#Let's check if a current revision exists:
if {![db_0or1row get_revision_id "select live_revision as revision_id
from cr_items
where item_id = :item_id"] || $revision_id eq ""} {
# It's an insert rather than an update
set revision_id [db_exec_plsql create_revision $create_revision]
}
db_dml set_item_id {}
}
db_dml update_tarball {update cr_revisions
set content = empty_blob()
where revision_id = :revision_id
returning content into :1} -blob_files [list $tmpfile]
db_dml update_content_length {
update apm_package_versions
set content_length = (select dbms_lob.getlength(content)
from cr_revisons
where revision_id = :revision_id)
where version_id = :version_id
set revision_id [content::item::get_live_revision -item_id $item_id]
# No live revision for this item. Possible if somebody already
# generated the archive, then deleted or modified the revision
# manually or by other means. We create a new live revision.
if {$revision_id eq ""} {
set revision_id [content::revision::new -item_id $item_id \
-title $title \
-description $description \
-mime_type $mime_type \
-creation_user $user_id \
-creation_ip $creation_ip \
-is_live true]
}
file delete $tmpfile
db_dml update_tarball {} -blob_files [list $tmpfile]
db_dml update_content_length {}
file delete -- $tmpfile
}
......@@ -342,7 +313,7 @@ ad_proc -public apm_file_watchable_p { path } {
Given the path of a file determine if it is
appropriate to be watched for reload. The file should
be db compatible with the system and be of right
type (for example contain tcl procs or xql queries).
type (for example contain Tcl procs or xql queries).
@param The path of the file relative to server root
......@@ -497,10 +468,13 @@ ad_proc -private apm_transfer_file {
# if the optional xotcl-core components are available...
#
# 5 minutes
set timeout 300
set httpImpls [util::http::available -url $url -spool]
if {$httpImpls ne ""} {
ns_log notice "we can use the http::util:: interface using the $httpImpls implementation"
set result [util::http::get -url $url -spool]
set result [util::http::get -url $url -timeout $timeout -spool]
file rename [dict get $result file] $output_file_name
} elseif {[info commands ::ns_http] ne "" && [apm_version_names_compare [ns_info patchlevel] "4.99.5"] == 1} {
#
......@@ -508,11 +482,11 @@ ad_proc -private apm_transfer_file {
#
foreach i {1 2 3} {
ns_log notice "Transfer $url to $output_file_name based on ns_http"
set h [ns_http queue -timeout 60:0 $url]
set h [ns_http queue -timeout $timeout:0 $url]
set replyHeaders [ns_set create]
ns_http wait -file F -headers $replyHeaders -spoolsize 1 $h
if {[file exists $output_file_name]} {file delete $output_file_name}
file rename $F $output_file_name
if {[file exists $output_file_name]} {file delete -- $output_file_name}
file rename -- $F $output_file_name
set location [ns_set iget $replyHeaders location]
if {$location eq ""} break
ns_log notice "Transfer $url redirected to $location ..."
......@@ -599,7 +573,7 @@ ad_proc -private apm_load_apm_file {
[exec [apm_gzip_cmd] -d -q -c -S .apm $file_path | [apm_tar_cmd] tf - 2> [apm_dev_null]]] "\n"]
apm_callback_and_log $callback "<li>Done. Archive is [format %.1f [expr { [file size $file_path] / 1024.0 }]]KB, with [llength $files] files.<li>"
} errmsg] } {
apm_callback_and_log $callback "The follow error occured during the uncompression process:
apm_callback_and_log $callback "The follow error occurred during the uncompression process:
<blockquote><pre>[ns_quotehtml $errmsg]</pre></blockquote><br>
"
ns_log Error "Error loading APM file form url $url: $errmsg\n$::errorInfo"
......@@ -653,7 +627,7 @@ ad_proc -private apm_load_apm_file {
if { [catch {
array set package [apm_read_package_info_file [file join $tmpdir $info_file]]
} errmsg]} {
file delete -force $tmpdir
file delete -force -- $tmpdir
apm_callback_and_log $callback "The archive contains an unparseable package specification file:
<code>$info_file</code>. The following error was produced while trying to
parse it: <blockquote><pre>[ns_quotehtml $errmsg]</pre></blockquote>.
......@@ -663,7 +637,7 @@ ad_proc -private apm_load_apm_file {
ns_log Error "Error loading APM file form url $url: Bad package .info file. $errmsg\n$::errorInfo"
return
}
file delete -force $tmpdir
file delete -force -- $tmpdir
set package_key $package(package.key)
set pretty_name $package(package-name)
set version_name $package(name)
......@@ -674,13 +648,12 @@ ad_proc -private apm_load_apm_file {
ns_log Error "Error loading APM file form url $url: Package $pretty_name $version_name is already installed"
} else {
set install_path "[apm_workspace_install_dir]"
set install_path [apm_workspace_install_dir]
if { ![file isdirectory $install_path] } {
file mkdir $install_path
}
apm_callback_and_log $callback "<li>Extracting files into the filesytem."
apm_callback_and_log $callback "<li>Extracting files into the filesystem."
apm_callback_and_log $callback "<li>$pretty_name $version_name ready for installation."
#ns_log notice "exec sh -c 'cd $install_path ; [apm_gzip_cmd] -d -q -c $file_path | [apm_tar_cmd] xf -' 2>/dev/null"
......
......@@ -21,16 +21,6 @@
</querytext>
</fullquery>
<fullquery name="apm_generate_tarball.get_revision_id">
<querytext>
select live_revision as revision_id
from cr_items
where item_id = :item_id
</querytext>
</fullquery>
<fullquery name="apm_db_type_keys.db_type_keys">
<querytext>
select db_type_key from apm_package_db_types
......
# FIXME: Peter M - This file cannot be watched with the APM as it
# re-initializes the reload level to 0 everytime it is sourced. Could
# re-initializes the reload level to 0 every time it is sourced. Could
# we move these initialization to an -init.tcl file instead?
# Initialize loader NSV arrays. See apm-procs.tcl for a description of
......
......@@ -248,17 +248,6 @@
</querytext>
</fullquery>
<fullquery name="apm_package_install.version_exists_p">
<querytext>
select version_id
from apm_package_versions
where package_key = :package_key
and version_id = apm_package.highest_version(:package_key)
</querytext>
</fullquery>
<fullquery name="apm_copy_param_to_descendents.param_exists">
<querytext>
begin
......
......@@ -189,17 +189,6 @@
</querytext>
</fullquery>
<fullquery name="apm_package_install.version_exists_p">
<querytext>
select version_id
from apm_package_versions
where package_key = :package_key
and version_id = apm_package__highest_version(:package_key)
</querytext>
</fullquery>
<fullquery name="apm_copy_param_to_descendents.param_exists">
<querytext>
select apm__parameter_p(:descendent_package_key, :parameter_name);
......
This diff is collapsed.
......@@ -142,17 +142,6 @@
</fullquery>
<fullquery name="apm_package_version_installed_p.apm_package_version_installed_p">
<querytext>
select decode(count(*), 0, 0, 1) from apm_package_versions
where package_key = :package_key
and version_name = :version_name
</querytext>
</fullquery>
<fullquery name="apm_package_version_installed_p.apm_package_version_installed_p">
<querytext>
......
......@@ -948,13 +948,7 @@ ad_proc -public apm_highest_version {package_key} {
Return the highest version of the indicated package.
@return the version_id of the highest installed version of a package.
} {
return [db_exec_plsql apm_highest_version {
begin
:1 := apm_package.highest_version (
package_key => :package_key
);
end;
}]
return [db_exec_plsql apm_highest_version {}]
}
ad_proc -public apm_highest_version_name {package_key} {
......@@ -968,13 +962,7 @@ ad_proc -public apm_num_instances {package_key} {
@return The number of instances of the indicated package.
} {
return [db_exec_plsql apm_num_instances {
begin
:1 := apm_package.num_instances(
package_key => :package_key
);
end;
}]
return [db_exec_plsql apm_num_instances {}]
}
......@@ -1057,8 +1045,7 @@ ad_proc -public apm_parameter_register {
}
# Update the cache.
db_foreach apm_parameter_cache_update {
} {
db_foreach apm_parameter_cache_update {} {
ad_parameter_cache -set $attr_value $package_id $parameter_name
}
return $parameter_id
......@@ -1114,13 +1101,7 @@ ad_proc -public apm_dependency_remove {dependency_id} {
Removes a dependency from the system.
} {
db_exec_plsql dependency_remove {
begin
apm_package_version.remove_dependency(
dependency_id => :dependency_id
);
end;
}
db_exec_plsql dependency_remove {}
}
ad_proc -public apm_interface_add {
......@@ -1139,16 +1120,7 @@ ad_proc -public apm_interface_add {
set interface_id [db_null]
}
return [db_exec_plsql interface_add {
begin
:1 := apm_package_version.add_interface(
interface_id => :interface_id,
version_id => :version_id,
interface_uri => :interface_uri,
interface_version => :interface_version
);
end;
}]
return [db_exec_plsql interface_add {}]
}
ad_proc -public apm_interface_remove {interface_id} {
......@@ -1156,13 +1128,7 @@ ad_proc -public apm_interface_remove {interface_id} {
Removes a interface from the system.
} {
db_exec_plsql interface_remove {
begin
apm_package_version.remove_interface(
interface_id => :interface_id
);
end;
}
db_exec_plsql interface_remove {}
}
ad_proc -public apm_version_get {
......@@ -1305,7 +1271,7 @@ ad_proc -public apm_package_url_from_id {package_id} {
}
ad_proc -private apm_package_url_from_id_mem {package_id} {
return [db_string apm_package_url_from_id {*SQL*} -default {}]
return [db_string apm_package_url_from_id {} -default {}]
}
#
......@@ -1328,13 +1294,25 @@ ad_proc -private apm_package_url_from_key_mem {package_key} {
# package_key -> version_id
#
ad_proc -public apm_version_id_from_package_key { package_key } {
Return the id of the enabled version of the given package_key.
ad_proc -public apm_version_id_from_package_key {
{-all:boolean}
package_key
} {
Return the id of the (per default enabled) version of the given package_key.
If no such version id can be found, returns the empty string.
@param all when specified, return the the enabled or disabled version_ids of the package_key.
@param package_key
@author Peter Marklund
@return the supposedly unique version_id for the enabled package, or a list of
all the enabled and disabled versions when -all flag is specified
} {
return [db_string get_id {} -default ""]
if {$all_p} {
return [db_list get_id {}]
} else {
return [db_string get_enabled_id {} -default ""]
}
}
#
......@@ -1353,7 +1331,7 @@ ad_proc -public apm_package_key_from_version_id {version_id} {
ad_proc -private apm_package_key_from_version_id_mem {version_id} {
Returns the package_key for the given APM package version id. Goes to the database
everytime called.
every time called.
@author Peter Marklund (peter@collaboraid.biz)
} {
......@@ -1721,14 +1699,24 @@ ad_proc -private apm_callback_has_valid_args {
}
set test_arg_list ""
set test_arg_list_spec ""
foreach arg_name [apm_arg_names_for_callback_type -type $type] {
lappend test_arg_list -$arg_name value
lappend test_arg_list_spec -${arg_name}:required
}
if { $test_arg_list eq "" } {
# The callback proc should take no args
return [expr {[info args ::$proc_name] eq ""}]
}
if {[info commands ::nsf::cmd::info] ne ""} {
#
# We can compare the signature of via nsf procs
#
return [expr {[::nsf::cmd::info parameter ::$proc_name] eq $test_arg_list_spec}]
}
# The callback proc should have required arg switches. Check
# that the ad_proc arg parser doesn't throw an error with
......
......@@ -20,18 +20,6 @@
</querytext>
</fullquery>
<fullquery name="apm_package_list_search_order.get_dependencies">
<querytext>
select apd.service_uri
from apm_package_versions apv, apm_package_dependencies apd
where apv.package_key = :package_key
and apv.installed_p = 't'
and apd.version_id = apv.version_id
and apd.dependency_type in ('extends', 'embeds')
order by apd.dependency_id
</querytext>
</fullquery>
<fullquery name="apm_package_list_url_resolution.get_inherit_templates_p">
<querytext>
select inherit_templates_p
......@@ -198,7 +186,7 @@
</querytext>
</fullquery>
<fullquery name="apm_version_id_from_package_key.get_id">
<fullquery name="apm_version_id_from_package_key.get_enabled_id">
<querytext>
select version_id
from apm_enabled_package_versions
......@@ -206,6 +194,14 @@
</querytext>
</fullquery>
<fullquery name="apm_version_id_from_package_key.get_id">
<querytext>
select version_id
from apm_package_versions
where package_key = :package_key
</querytext>
</fullquery>
<fullquery name="apm_package_id_from_key_mem.apm_package_id_from_key">
<querytext>
select package_id
......
......@@ -23,10 +23,9 @@ ad_proc -private apm_required_attribute_value { element attribute } {
}
ad_proc -private apm_attribute_value {
{
-default ""
}
element attribute } {
{-default ""}
element attribute
} {
Parses the XML element to return the value for the specified attribute.
......@@ -238,7 +237,11 @@ ad_proc -public apm_read_package_info_file { path } {
set xml_data [read $file]
close $file
set tree [xml_parse -persist $xml_data]
if {[catch {set tree [xml_parse -persist $xml_data]} errorMsg]} {
ns_log error "parsing XML file $path lead to error: $errorMsg"
return -code error "file: $path\n$errorMsg"
}
set root_node [xml_doc_get_first_node $tree]
apm_log APMDebug "XML: root node is [xml_node_get_name $root_node]"
set package $root_node
......
......@@ -56,15 +56,6 @@
</querytext>
</fullquery>
<fullquery name="apm_generate_package_spec.callback_info">
<querytext>
select type,
proc
from apm_package_callbacks
where version_id = :version_id
</querytext>
</fullquery>
<fullquery name="apm_generate_package_spec.parameter_info">
<querytext>
......
......@@ -34,7 +34,7 @@ ad_proc -public application_data_link::new {
-relation_tag $relation_tag
}]} {
# check if error occured because of existing link
# check if error occurred because of existing link
if { [application_data_link::exist_link -object_id $this_object_id -target_object_id $target_object_id -relation_tag $relation_tag] eq "1" } {
ns_log Debug "application_data_link::new: link already exists"
} else {
......@@ -319,7 +319,7 @@ ad_proc -public application_data_link::update_links_from {
@param object_id Object_id to update
@param text Text to scan for references
@param linked_object_ids List of object ids to update the links to. Links not in this list will be deleted, and any in this list that are not in teh database will be added.
@param linked_object_ids List of object ids to update the links to. Links not in this list will be deleted, and any in this list that are not in the database will be added.
@param relation_tag Relationship identifier
@return List of updated linked object_ids
......
......@@ -23,18 +23,6 @@
</querytext>
</fullquery>
<fullquery name="user_search">
<querytext>
select distinct u.first_names || ' ' || u.last_name || ' (' || u.email || ')' as name, u.user_id
from cc_users u
where lower(nvl(u.first_names || ' ', '') ||
nvl(u.last_name || ' ', '') ||
u.email || ' ' ||
nvl(u.screen_name, '')) like lower('%'||:value||'%')
order by name
</querytext>
</fullquery>
<fullquery name="acs_user::get_from_user_id_not_cached.select_user_info">
<querytext>
......
......@@ -17,18 +17,6 @@
</querytext>
</fullquery>
<fullquery name="user_search">
<querytext>
select distinct u.first_names || ' ' || u.last_name || ' (' || u.email || ')' as name, u.user_id
from cc_users u
where lower(coalesce(u.first_names || ' ', '') ||
coalesce(u.last_name || ' ', '') ||
u.email || ' ' ||
coalesce(u.screen_name, '')) like lower('%'||:value||'%')
order by name
</querytext>
</fullquery>
<fullquery name="acs_user::get_from_user_id_not_cached.select_user_info">
<querytext>
......
This diff is collapsed.
......@@ -123,6 +123,8 @@ ad_proc -public ad_publisher_name {} {
ad_proc -public ad_url {} {
This will be called by email alerts. Do not use ad_conn location
@return the system url as defined in the kernel parameter SystemURL.
@see util::configured_location
@see util_current_location
} {
return [parameter::get -package_id [ad_acs_kernel_id] -parameter SystemURL]
}
......@@ -246,16 +248,15 @@ $extra_stuff_for_document_head
<title>$page_title</title>
</head>
"
array set attrs [list]
set attrs(bgcolor) [parameter::get -package_id [ad_acs_kernel_id] -parameter bgcolor -default "white"]
set attrs(text) [parameter::get -package_id [ad_acs_kernel_id] -parameter textcolor -default "black"]
if { $focus ne "" } {
set attrs(onLoad) "javascript:document.${focus}.focus()"
template::add_body_script -script [subst {
window.addEventListener('load', function () {document.${focus}.focus()}, false);
}]
}
foreach attr [array names attrs] {
lappend attr_list "$attr=\"$attrs($attr)\""
}
......@@ -369,7 +370,6 @@ ad_proc -public ad_return_complaint {
exception_count
exception_text
{ show_master_p 1 }
} {
Custom implementation of ad_return_complaint which allows for returning err msg only.
This allows new program paradigm to improve UX, e.g. HTML overlays (see ]po[ CRM module)
......@@ -380,25 +380,26 @@ ad_proc -public ad_return_complaint {
@param exception_count Number of exceptions. Used to say either 'a problem' or 'some problems'.
@param exception_text HTML chunk to go inside an UL tag with the error messages.
@param show_master_p Indicates if master template should be applied
} {
if { $show_master_p } {
set complaint_template [parameter::get_from_package_key \
set complaint_template [parameter::get_from_package_key \
-package_key "acs-tcl" \
-parameter "ReturnComplaint" \
-default "/packages/acs-tcl/lib/ad-return-complaint"]
ns_return 422 text/html [ad_parse_template \
ns_return 422 text/html [ad_parse_template \
-params [list [list exception_count $exception_count] \
[list exception_text $exception_text]] \
$complaint_template]
[list exception_text $exception_text]] \
$complaint_template]
} else {
ns_return 200 text/html "$exception_text<br/><br/><button onclick='javascript:window.history.back();'>[lang::message::lookup "" acs-tcl.GoBack "Go back"]</button>"
}
# raise abortion flag, e.g., for templating
set ::request_aborted [list 422 "Problem with Your Input"]
}
ad_proc ad_return_exception_page {
status
title
......@@ -747,7 +748,7 @@ ad_proc doc_return {args} {
of every non-templated user-viewable page.
} {
# Aolserver/Naviserver releases handles automatically since ages
# AOLserver/NaviServer releases handles automatically since ages
#db_release_unused_handles
ad_http_cache_control
ns_return {*}$args
......@@ -800,23 +801,18 @@ ad_proc -public ad_return_url {
if { [llength $query_list] == 0 } {
set url [ns_conn url]
} else {
set url "[ns_conn url]?[join $query_list "&"]"
set url "[ns_conn url]?[join $query_list &]"
}
if { $qualified_p } {
# Make the return_url fully qualified
if { [security::secure_conn_p] } {
set url [security::get_secure_qualified_url $url]
} else {
set url [security::get_insecure_qualified_url $url]
}
set url [security::get_qualified_url $url]
}
if { $urlencode_p } {
return [ns_urlencode $url]
} else {
return $url
set url [ns_urlencode $url]
}
return $url
}
ad_proc -public ad_progress_bar_begin {
......@@ -846,7 +842,13 @@ ad_proc -public ad_progress_bar_begin {
ad_http_cache_control
ReturnHeaders
ns_write [ad_parse_template -params [list [list title $title] [list message_1 $message_1] [list message_2 $message_2]] $template]
ns_write [ad_parse_template \
-params [list \
[list doc(title) $title] \
[list title $title] \
[list message_1 $message_1] \
[list message_2 $message_2]] \
$template]
}
ad_proc -public ad_progress_bar_end {
......@@ -858,7 +860,7 @@ ad_proc -public ad_progress_bar_end {
@see ad_progress_bar_begin
} {
util_user_message -message $message_after_redirect
ns_write "<script type=\"text/javascript\">window.location='$url';</script>"
ns_write "<script type='text/javascript' nonce='$::__csp_nonce'>window.location='$url';</script>"
ns_conn close
}
......
......@@ -162,7 +162,7 @@ ad_proc -deprecated ad_maybe_redirect_for_registration {} {
location. All variables in ns_getform (both posts and gets) will
be maintained. Note that this will return out of its caller so that
the caller need not explicitly call "return". Returns the user id
if login was succesful.
if login was successful.
@see auth::require_login
} {
......
ad_library {
@author rhs@mit.edu
@creation-date 2000-09-09
@cvs-id $Id$
@author rhs@mit.edu
@creation-date 2000-09-09
@cvs-id $Id$
}
ad_proc -private ad_raise {exception {value ""}} {
@author rhs@mit.edu
@creation-date 2000-09-09
@author rhs@mit.edu
@creation-date 2000-09-09
Raise an exception.
Raise an exception.
If you use this I will kill you.
If you use this I will kill you.
} {
return -code error -errorcode [list "AD" "EXCEPTION" $exception] $value
return -code error -errorcode [list "AD" "EXCEPTION" $exception] $value
}
ad_proc ad_exception {errorCode} {
@author gustaf.neumann@wu-wien.ac.at
@creation-date 2015-12-31
Check if the exception was caused by ad_raise (i.e. was an OpenACS
exception)
@return ad_exception value or empty, in case the exception had other causes
} {
lassign $errorCode flag type value
if {$flag eq "AD" && $type eq "EXCEPTION"} {
return $value
}
return ""
}
ad_proc -private ad_try {code args} {
@author rhs@mit.edu
@creation-date 2000-09-09
@author rhs@mit.edu
@creation-date 2000-09-09
Executes $code, catches any exceptions thrown by ad_raise and runs
any matching exception handlers.
Executes $code, catches any exceptions thrown by ad_raise and runs
any matching exception handlers.
If you use this I will kill you.
If you use this I will kill you.
@see with_finally
@see with_catch
@see with_finally
@see with_catch
} {
if {[set errno [catch {uplevel $code} result]]} {
if {$errno == 1
&& [lindex $::errorCode 0] eq "AD"
&& [lindex $::errorCode 1] eq "EXCEPTION"
} {
set exception [lindex $::errorCode 2]
set matched 0
for {set i 0} {$i < [llength $args]} {incr i 3} {
if {[string match [lindex $args $i] $exception]} {
set matched 1
break
}
}
if {$matched} {
upvar [lindex $args $i+1] var
set var $result
set errno [catch {uplevel [lindex $args $i+2]} result]
}
}
if {[set errno [catch {uplevel $code} result]]} {
if {$errno == 1
&& [lindex $::errorCode 0] eq "AD"
&& [lindex $::errorCode 1] eq "EXCEPTION"
} {
set exception [lindex $::errorCode 2]
set matched 0
for {set i 0} {$i < [llength $args]} {incr i 3} {
if {[string match [lindex $args $i] $exception]} {
set matched 1
break
}
}
return -code $errno -errorcode $::errorCode -errorinfo $::errorInfo $result
}
if {$matched} {
upvar [lindex $args $i+1] var
set var $result
set errno [catch {uplevel [lindex $args $i+2]} result]
}
}
return -code $errno -errorcode $::errorCode -errorinfo $::errorInfo $result
}
}
# Local variables:
......
......@@ -118,7 +118,7 @@ ad_proc -public ad_form {
} -validate {
{value
{[string length $value] >= 3}
"\"value\" must be a string containing three or more characters"
"\$value\" must be a string containing three or more characters"
}
} -on_submit {
......@@ -295,7 +295,7 @@ ad_proc -public ad_form {
<dd>A code block which sets the values for each element of the form meant to be modifiable by
the user when the built-in key management feature is being used or to define options for
select lists etc. Set the values as local variables in the code block, and they'll get
fetched and used as element values for you. This block is executed <i>everytime</i> the
fetched and used as element values for you. This block is executed <i>every time</i> the
form is loaded <i>except</i> when the form is being submitted (in which case the -on_submit
block is executed.)
</dd>
......@@ -425,7 +425,7 @@ ad_proc -public ad_form {
<ul>
<li>
<a href="/api-doc/proc-search?query%5fstring=template%3a%3adata%3a%3avalidate">Avaliable datatypes</a>.
<a href="/api-doc/proc-search?query%5fstring=template%3a%3adata%3a%3avalidate">Available datatypes</a>.
For example, the procedure <code>template::data::validate::float</code> on this list implements the 'float' datatype.
</li>
<li>
......@@ -601,7 +601,11 @@ ad_proc -public ad_form {
# and validation block to be extended, for now at least until I get more experience
# with this ...
if {$valid_arg ni { name form method action html validate export mode cancel_url has_edit has_submit actions edit_buttons display_buttons fieldset on_validation_error}} {
if {$valid_arg ni {
name form method action html validate export mode cancel_url
has_edit has_submit actions edit_buttons display_buttons
fieldset on_validation_error
}} {
set af_parts(${form_name}__extend) ""
}
}
......@@ -785,31 +789,33 @@ ad_proc -public ad_form {
# :array and :sign flags in exported variables.
if { [info exists export] } {
foreach value $export {
set has_value_p [expr {[llength $value] >= 2}]
lassign $value name value
# recognize supported flags
lassign [split $name ":"] name mode
set modes [split $mode ,]
# recognize supported flags
# verify variable existence and nature
set var_exists_p [uplevel [list info exists $name]]
set is_array_p [uplevel [list array exists $name]]
# arrays are automatically recognized, even if not specified
set array_p [expr {$is_array_p || "array" in $modes}]
set sign_p [expr {"sign" in $modes}]
set array_p [expr {"array" in $modes}]
set multiple_p [expr {"multiple" in $modes}]
set is_array_p [uplevel [list array exists $name]]
# var is array and will be exported as such even if not said explicitly
if {$is_array_p} {set array_p t}
set is_var_p [expr {!$is_array_p && [uplevel [list info exists $name]]}]
if {$array_p} {
if {$is_var_p} {
error "variable \"$name\" should be an array"
}
# no explicit value...
if {$value eq ""} {
# ...take it from caller stack...
# no explicit value:
if {!$has_value_p} {
# if array in caller stack exists, get its value from there
if {$is_array_p} {
set value [uplevel [list array get $name]]
# ...or ignore this field.
} else {
continue
}
# else, if a variable exists but it's not an array, throw error (as in export_vars)
} elseif {$var_exists_p} {
error "variable \"$name\" should be an array"
# else, just ignore this export
} else {continue}
}
# arrays generate one hidden formfield for each key
foreach {key val} $value {
......@@ -826,17 +832,19 @@ ad_proc -public ad_form {
}
}
} else {
# no explicit value...
if {$value eq ""} {
# ...take it from caller stack...
if {$is_var_p} {
# no explicit value:
if {!$has_value_p} {
# if variable in caller stack exists, get its value from there
if {$var_exists_p} {
set value [uplevel [list set $name]]
# ...or ignore this field.
} else {
continue
}
# else, just ignore this export
} else {continue}
} else {
#
# substitute only the explicitly specified value
#
set value [uplevel [list subst $value]]
}
set value [uplevel [list subst $value]]
# field is multiple: use '-values' instead of '-value'
if {$multiple_p} {
template::element create $form_name $name \
......
......@@ -8,7 +8,7 @@ ad_library {
@cvs-id $Id$
}
# switched to using tcllib, its required for openacs >= 5.3
# switched to using tcllib, its required for OpenACS >= 5.3
package require mime
ad_proc build_mime_message {
......@@ -57,7 +57,7 @@ ad_proc build_mime_message {
# have to hijack the process a bit.
set mime_body [mime::buildmessage $multi_part]
# mime-encode the periods at the beginning of a line in the
# message text or they are lost. Most noticable when the line
# message text or they are lost. Most noticeable when the line
# is broken within a URL
regsub {^\.} $mime_body {=2E} mime_body
# the first three lines of the message are special; we need to grab
......@@ -80,7 +80,7 @@ ad_proc build_mime_message {
# line, which is the last boundary, because acs_mail_lite::send seems to be
# adding another one on for us.
## JCD: not anymore. maybe an aolserver 3.3 bug? removing the clipping.
## JCD: not anymore. maybe an AOLserver 3.3 bug? removing the clipping.
ns_set put $message_data body [join [lrange $lines 4 end] \n]
return $message_data
......
# packages/acs-tcl/tcl/http-auth-procs.tcl
ad_library {
Use openacs user logins for HTTP authentication
Use OpenACS user logins for HTTP authentication
}
namespace eval http_auth {}
......@@ -46,7 +46,7 @@ ad_proc http_auth::set_user_id {} {
ns_returnunauthorized
return 0
}
ns_log debug "\nTDAV: auth_check openacs 5.0 user_id= $auth(user_id)"
ns_log debug "\nTDAV: auth_check OpenACS 5.0 user_id= $auth(user_id)"
ad_conn -set user_id $auth(user_id)
} else {
......@@ -64,7 +64,7 @@ ad_proc http_auth::register_filter {
@param url_pattern Follows ns_register_filter rules for defining the
pattern to match.
@param proc Name of tcl procedure to call to check permissions. Use this to figure out what object the URL pattern matches to. This proc should accept two named parameters user_id and url. Should return a valid Tcl true or false value. If empty the site_node matching the URL will be checked.
@param proc Name of Tcl procedure to call to check permissions. Use this to figure out what object the URL pattern matches to. This proc should accept two named parameters user_id and url. Should return a valid Tcl true or false value. If empty the site_node matching the URL will be checked.
@return Tcl true or false
......@@ -84,7 +84,7 @@ ad_proc http_auth::authorize {
args
why
} {
Check HTTP authentication for an openacs user account and
Check HTTP authentication for an OpenACS user account and
call the registered procedure to handle the URL to check
permissions
} {
......
This diff is collapsed.
......@@ -14,7 +14,7 @@ ad_proc -public image::get_info {
} {
Get the width and height of an image file.
The width and height are returned as 'height' and 'width' entries in the array named in the parameter.
Uses ImageMagick instead of aolserver function because it can handle more than
Uses ImageMagick instead of AOLserver function because it can handle more than
just gifs and jpegs. The plan is to add the ability to get more details later.
@param filename Name of the image file in the file system.
......
......@@ -21,7 +21,7 @@ ad_proc -public install::xml::action::text { node } {
}
ad_proc -private ::install::xml::action::source { node } {
Source an install.xml file, sql file or tcl script during execution of
Source an install.xml file, sql file or Tcl script during execution of
the current install.xml.
If no type attribute is specified then this tag will attempt to guess
......
......@@ -96,19 +96,17 @@ ad_proc -private util::json::validate {jsonText} {
ad_proc util::json::parse {jsonText} {
Parse JSON text into a tcl list.
Parse JSON text into a Tcl list.
@param jsonText JSON text
@return List containing the object represented by jsonText
} {
# ns_log Notice "util::json::parse: jsonText=$jsonText"
variable tokenRE
set tokens [regexp -all -inline -- $tokenRE $jsonText]
set nrTokens [llength $tokens]
set tokenCursor 0
return [parseValue $tokens $nrTokens tokenCursor]
}
......@@ -216,7 +214,6 @@ ad_proc -private util::json::parseObject {tokens nrTokens tokenCursorName} {
@return parsed object (Tcl dict)
} {
upvar $tokenCursorName tokenCursor
# ns_log Notice "util::json::parseObject: tokens=$tokens, nrTokens=$nrTokens, tokenCursorName=$tokenCursorName, tokenCursor=$tokenCursor"
if {$tokenCursor == $nrTokens} {
unexpected $tokenCursor "END" "OBJECT"
......@@ -316,7 +313,6 @@ ad_proc -private util::json::parseValue {tokens nrTokens tokenCursorName} {
@return parsed value (dict, list, string, number)
} {
upvar $tokenCursorName tokenCursor
# ns_log Notice "util::json::parseValue: tokens=$tokens, nrTokens=$nrTokens, tokenCursorName=$tokenCursorName, tokenCursor=$tokenCursor"
if {$tokenCursor == $nrTokens} {
unexpected $tokenCursor "END" "VALUE"
......
......@@ -15,15 +15,9 @@ namespace eval membership_rel {
Change the state of a membership relation
} {
db_transaction {
# We need the id of the user that we are changing state for
set rel_user_id [db_string select_rel_user_id {
select u.user_id
from acs_rels r,
users u
where r.rel_id = :rel_id
and u.user_id = r.object_id_two
} -default {}]
set rel_user_id [get_user_id -rel_id $rel_id]
# If user is being undeleted - remove him from the public group
acs_user::get -user_id $rel_user_id -array user
......@@ -109,6 +103,37 @@ namespace eval membership_rel {
change_state -rel_id $rel_id -state "needs approval"
}
ad_proc -public get {
{-rel_id:required}
} {
Return the user_id of a rel_id
} {
db_1row select_rel_id {
select u.user_id, r.object_id_one as group_id
from acs_rels r,
users u
where r.rel_id = :rel_id
and u.user_id = r.object_id_two
}
return [list user_id $user_id group_id $group_id]
}
ad_proc -public get_user_id {
{-rel_id:required}
} {
Return the user_id of a rel_id
} {
return [dict get [get -rel_id $rel_id] user_id]
}
ad_proc -public get_group_id {
{-rel_id:required}
} {
Return the group_id of a rel_id
} {
return [dict get [get -rel_id $rel_id] group_id]
}
}
# Local variables:
......
......@@ -26,7 +26,7 @@ if {[ns_info name] eq "NaviServer"} {
#
# Flush the existing util memoize cache to get rid of any previous
# caching conventions. This is actually just needed for the
# upgrade from an aolserver based util_memoize cache to the
# upgrade from an AOLserver based util_memoize cache to the
# NaviServer based one, since the old version kept pairs of values
# and timestamps, which are not needed, but which might cause
# confusions, when retrieved later.
......
This diff is collapsed.
......@@ -62,6 +62,7 @@ ad_proc -public parameter::get_global_value {
@param default what to return if we don't find a value. Defaults to returning the empty string.
@return The string trimmed (leading and trailing spaces removed) parameter value
@see parameter::get
} {
# Is there a parameter by this name in the parameter file? If so, it takes precedence.
......@@ -144,6 +145,7 @@ ad_proc -public parameter::get {
@param default what to return if we don't find a value. Defaults to returning the empty string.
@return The string trimmed (leading and trailing spaces removed) parameter value
@see parameter::get_global_value
} {
if {$package_id eq ""} {
......
......@@ -43,7 +43,7 @@ ad_proc -public text_templates::create_pdf_content {
if {[catch {exec $htmldoc_bin --webpage --quiet -t pdf -f $tmp_pdf_filename $tmp_html_filename} err]} {
ns_log Notice "Error during conversion from html to pdf: $err"
}
file delete $tmp_html_filename
file delete -- $tmp_html_filename
if {[file exists $tmp_pdf_filename]} {
return $tmp_pdf_filename
......
......@@ -27,10 +27,22 @@ if {![catch {ns_proxy configure ExecPool -maxruns 0}]} {
set handle [ns_proxy get ExecPool]
with_finally -code {
if {[info exists cd]} {
#
# We were requested to switch to a different
# directory. Remember the old directory before
# switching to the new one.
#
set pwd [ns_proxy eval $handle pwd]
ns_proxy eval $handle [list cd $cd]
}
set return_string [ns_proxy eval $handle [list ::exec {*}$call]]
} -finally {
if {[info exists pwd]} {
#
# Switch back to the previous directory.
#
ns_proxy eval $handle [list cd $pwd]
}
ns_proxy release $handle
}
return $return_string
......
This diff is collapsed.
This diff is collapsed.
......@@ -10,16 +10,6 @@
</querytext>
</fullquery>
<fullquery name="ad_acs_admin_id.acs_admin_id_get">
<querytext>
select package_id from apm_packages
where package_key = 'acs-admin'
</querytext>
</fullquery>
<fullquery name="rp_lookup_node_from_host.node_id">
<querytext>
......
......@@ -14,14 +14,14 @@ ad_library {
ad_schedule_proc -thread f [parameter::get -parameter SessionSweepInterval -default 7200] sec_sweep_sessions
# Verify that the secret_tokens table is populated
set secret_tokens_exists [db_string secret_tokens_exists "select decode(count(*),0,0,1) from secret_tokens"]
set secret_tokens_exists [db_string secret_tokens_exists {select decode(count(*),0,0,1) from secret_tokens}]
if { $secret_tokens_exists == 0 } {
populate_secret_tokens_db
}
ns_log Notice "security-init.tcl: Creating secret_tokens ns_cache..."
ns_cache create secret_tokens -size 32768
ns_cache create secret_tokens -size 65536
ns_log Notice "security-init.tcl: Populating secret_tokens ns_cache..."
populate_secret_tokens_cache
......@@ -39,6 +39,10 @@ proc sec_login_timeout {} "
return \"[parameter::get -package_id [ad_acs_kernel_id] -parameter LoginTimeout -default 28800]\"
"
#
# If there is a re-init, make sure the global handler-variables are reset
#
sec_handler_reset
# Local variables:
# mode: tcl
......
......@@ -16,20 +16,6 @@
</fullquery>
<fullquery name="ad_maybe_redirect_for_registration.sql_test_1">
<querytext>
select test_sql('select 1 from dual where 1=[DoubleApos $value]') from dual
</querytext>
</fullquery>
<fullquery name="ad_maybe_redirect_for_registration.sql_test_2">
<querytext>
select test_sql('select 1 from dual where 1=[DoubleApos "'$value'"]') from dual
</querytext>
</fullquery>
<fullquery name="populate_secret_tokens_db.insert_random_token">
<querytext>
......
This diff is collapsed.
This diff is collapsed.
......@@ -88,7 +88,7 @@ ad_proc -private ad_canonical_server_p {} {
we're using IP:port to uniquely identify the canonical server, since
hostname or IP does not always uniquely identify an instance of
aolserver (for instance, if we have the aolservers sitting behind a
AOLserver (for instance, if we have the aolservers sitting behind a
load balancer).
} {
set canonical_server [parameter::get -package_id [ad_acs_kernel_id] -parameter CanonicalServer]
......
......@@ -53,13 +53,4 @@
</querytext>
</fullquery>
<fullquery name="site_node::get_url_from_object_id.select_url_from_object_id">
<querytext>
select site_node.url(node_id)
from site_nodes
where object_id = :object_id
order by site_node.url(node_id) desc
</querytext>
</fullquery>
</queryset>
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