You can subscribe to this list here.
| 2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(84) |
Oct
(70) |
Nov
(164) |
Dec
(71) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2012 |
Jan
(52) |
Feb
(77) |
Mar
(70) |
Apr
(58) |
May
(81) |
Jun
(74) |
Jul
(87) |
Aug
(30) |
Sep
(45) |
Oct
(37) |
Nov
(51) |
Dec
(31) |
| 2013 |
Jan
(47) |
Feb
(29) |
Mar
(40) |
Apr
(33) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <gem...@li...> - 2011-11-21 15:51:58
|
Revision: 255
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=255&view=rev
Author: mennodekker
Date: 2011-11-21 15:51:49 +0000 (Mon, 21 Nov 2011)
Log Message:
-----------
Modified Paths:
--------------
trunk/library/classes/Gems/TabForm.php
trunk/library/classes/Gems/Tracker/Token/TokenSelect.php
Modified: trunk/library/classes/Gems/TabForm.php
===================================================================
--- trunk/library/classes/Gems/TabForm.php 2011-11-21 13:02:57 UTC (rev 254)
+++ trunk/library/classes/Gems/TabForm.php 2011-11-21 15:51:49 UTC (rev 255)
@@ -57,7 +57,7 @@
*/
public function addElement($element, $name = null, $options = null)
{
- if ($this->currentTab) {
+ if ($this->currentTab && !($element instanceof Zend_Form_Element_Hidden)) {
return $this->currentTab->addElement($element, $name, $options);
} else {
return parent::addElement($element, $name, $options);
Modified: trunk/library/classes/Gems/Tracker/Token/TokenSelect.php
===================================================================
--- trunk/library/classes/Gems/Tracker/Token/TokenSelect.php 2011-11-21 13:02:57 UTC (rev 254)
+++ trunk/library/classes/Gems/Tracker/Token/TokenSelect.php 2011-11-21 15:51:49 UTC (rev 255)
@@ -100,7 +100,9 @@
*/
public function andReceptionCodes($fields = '*')
{
- $this->sql_select->join('gems__reception_codes', 'gto_reception_code = grc_id_reception_code');
+ $this->sql_select->join('gems__reception_codes',
+ 'gto_reception_code = grc_id_reception_code',
+ $fields);
return $this;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-21 13:03:08
|
Revision: 254
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=254&view=rev
Author: michieltcs
Date: 2011-11-21 13:02:57 +0000 (Mon, 21 Nov 2011)
Log Message:
-----------
Update translations
Modified Paths:
--------------
trunk/library/languages/default-nl.mo
trunk/library/languages/default-nl.po
Modified: trunk/library/languages/default-nl.mo
===================================================================
(Binary files differ)
Modified: trunk/library/languages/default-nl.po
===================================================================
--- trunk/library/languages/default-nl.po 2011-11-21 12:06:59 UTC (rev 253)
+++ trunk/library/languages/default-nl.po 2011-11-21 13:02:57 UTC (rev 254)
@@ -1,4385 +1,4414 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: Pulse NL\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-11-16 19:10+0100\n"
-"PO-Revision-Date: \n"
-"Last-Translator: Matijs de Jong <mj...@ma...>\n"
-"Language-Team: Erasmus MGZ <mat...@ma...>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Language: \n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Poedit-Language: Dutch\n"
-"X-Poedit-Country: NETHERLANDS\n"
-"X-Poedit-SourceCharset: iso-8859-1\n"
-"X-Poedit-Basepath: ../\n"
-"X-Poedit-KeywordsList: plural:1,2\n"
-"X-Poedit-SearchPath-0: .\n"
-
-#: classes/GemsEscort.php:201
-#, php-format
-msgid "Path %s not writable"
-msgstr "Path %s niet schrijfbaar"
-
-#: classes/GemsEscort.php:876
-#, php-format
-msgid "User: %s"
-msgstr "Login: %s"
-
-#: classes/GemsEscort.php:900
-msgid "version"
-msgstr "versie"
-
-#: classes/GemsEscort.php:1330
-msgid "Take note: your session has expired, your inputs where not saved. Please check the input data and try again"
-msgstr "Let op: uw sessie is verlopen, uw invoer is niet opgeslagen. Controleer de gegevens en probeer a.u.b. opnieuw."
-
-#: classes/GemsEscort.php:1454
-msgid "Please check back later."
-msgstr "Probeer het later opnieuw."
-
-#: classes/GemsEscort.php:1456
-#: classes/GemsEscort.php:1460
-#: classes/GemsEscort.php:1461
-msgid "System is in maintenance mode"
-msgstr "Systeem is in onderhoudsmodus"
-
-#: classes/GemsEscort.php:1470
-msgid "No access to site."
-msgstr "Geen toegang tot website."
-
-#: classes/GemsEscort.php:1472
-#: classes/GemsEscort.php:1508
-msgid "You have no access to this site."
-msgstr "U heeft geen toegang tot deze website."
-
-#: classes/GemsEscort.php:1488
-msgid "No access to page"
-msgstr "Geen toegang tot pagina"
-
-#: classes/GemsEscort.php:1490
-#, php-format
-msgid "Access to this page is not allowed for current role: %s."
-msgstr "U heeft geen toegang tot deze pagina. Uw huidige rol is: %s."
-
-#: classes/GemsEscort.php:1495
-#: classes/GemsEscort.php:1506
-msgid "You are no longer logged in."
-msgstr "U bent niet meer ingelogd."
-
-#: classes/GemsEscort.php:1496
-msgid "You must login to access this page."
-msgstr "U moet ingelogd zijn voor toegang tot deze pagina."
-
-#: classes/Gems/AccessLog.php:239
-msgid "Database needs to be updated!"
-msgstr "Database dient ververst te worden!"
-
-#: classes/Gems/Auth.php:228
-msgid "Combination of organization, username and password not found."
-msgstr "Combinatie van organisatie, gebruikersnaam en wachtwoord niet gevonden."
-
-#: classes/Gems/Html.php:154
-msgid "<< First"
-msgstr "<< Eerste"
-
-#: classes/Gems/Html.php:155
-msgid "< Previous"
-msgstr "< Terug"
-
-#: classes/Gems/Html.php:156
-msgid "Next >"
-msgstr "Verder >"
-
-#: classes/Gems/Html.php:157
-msgid "Last >>"
-msgstr "Laatste >>"
-
-#: classes/Gems/Html.php:158
-msgid " | "
-msgstr " | "
-
-#: classes/Gems/Html.php:162
-msgid "to"
-msgstr "tot"
-
-#: classes/Gems/Html.php:163
-msgid "of"
-msgstr "van"
-
-#: classes/Gems/Menu.php:139
-#, php-format
-msgid "About %s"
-msgstr "Over %s"
-
-#: classes/Gems/Menu.php:143
-msgid "Reporting bugs"
-msgstr "Meld een bug"
-
-#: classes/Gems/Menu.php:146
-msgid "Support"
-msgstr "Ondersteuning"
-
-#: classes/Gems/Menu.php:166
-msgid "Project setup"
-msgstr "Projectinfo"
-
-#: classes/Gems/Menu.php:169
-msgid "Database"
-msgstr "Database"
-
-#: classes/Gems/Menu.php:173
-msgid "Content"
-msgstr "Inhoud"
-
-#: classes/Gems/Menu.php:176
-msgid "Execute"
-msgstr "Uitvoeren"
-
-#: classes/Gems/Menu.php:181
-msgid "Patches"
-msgstr "Patches"
-
-#: classes/Gems/Menu.php:182
-msgid "Execute new"
-msgstr "Nieuwe aanmaken"
-
-#: classes/Gems/Menu.php:184
-msgid "Refresh translateables"
-msgstr "Ververs vertaalbaren"
-
-#: classes/Gems/Menu.php:186
-msgid "Run SQL"
-msgstr "SQL uitvoeren"
-
-#: classes/Gems/Menu.php:189
-msgid "Reception codes"
-msgstr "Ontvangst codes"
-
-#: classes/Gems/Menu.php:192
-msgid "Consents"
-msgstr "Toestemmingen"
-
-#: classes/Gems/Menu.php:195
-msgid "Roles"
-msgstr "Rollen"
-
-#: classes/Gems/Menu.php:196
-#: classes/Gems/Menu.php:345
-msgid "Assigned"
-msgstr "Toegewezen"
-
-#: classes/Gems/Menu.php:197
-msgid "Privileges"
-msgstr "Priviléges"
-
-#: classes/Gems/Menu.php:200
-msgid "Groups"
-msgstr "Groepen"
-
-#: classes/Gems/Menu.php:203
-msgid "Organizations"
-msgstr "Organisaties"
-
-#: classes/Gems/Menu.php:206
-msgid "Staff"
-msgstr "Medewerkers"
-
-#: classes/Gems/Menu.php:209
-msgid "Logging"
-msgstr "Logboek"
-
-#: classes/Gems/Menu.php:213
-msgid "Maintenance"
-msgstr "Onderhoud"
-
-#: classes/Gems/Menu.php:218
-msgid "Upgrade"
-msgstr "Upgrade"
-
-#: classes/Gems/Menu.php:219
-#: classes/Gems/Menu.php:318
-msgid "Show"
-msgstr "Toon"
-
-#: classes/Gems/Menu.php:220
-msgid "Execute all"
-msgstr "Alles uitvoeren"
-
-#: classes/Gems/Menu.php:221
-msgid "Execute this"
-msgstr "Dit uitvoeren"
-
-#: classes/Gems/Menu.php:222
-msgid "Execute from here"
-msgstr "Uitvoeren vanaf hier"
-
-#: classes/Gems/Menu.php:223
-msgid "Execute to here"
-msgstr "Uitvoeren tot hier"
-
-#: classes/Gems/Menu.php:235
-#, php-format
-msgid "Stand-alone privilige: %s"
-msgstr "Zelfstandig privilege: %s"
-
-#: classes/Gems/Menu.php:242
-msgid "Logon"
-msgstr "Login"
-
-#: classes/Gems/Menu.php:243
-msgid "Lost password"
-msgstr "Wachtwoord zoek"
-
-#: classes/Gems/Menu.php:244
-msgid "Your account"
-msgstr "Uw account"
-
-#: classes/Gems/Menu.php:245
-msgid "Activity overview"
-msgstr "Activiteiten overzicht"
-
-#: classes/Gems/Menu.php:246
-msgid "Change password"
-msgstr "Uw wachtwoord"
-
-#: classes/Gems/Menu.php:247
-#: classes/Gems/Menu.php:287
-#: classes/Gems/Menu.php:322
-msgid "Token"
-msgstr "Kenmerk"
-
-#: classes/Gems/Menu.php:248
-msgid "Logoff"
-msgstr "Uitloggen"
-
-#: classes/Gems/Menu.php:283
-msgid "Track"
-msgstr "Traject"
-
-#: classes/Gems/Menu.php:290
-#: classes/Gems/Menu.php:310
-#: classes/Gems/Menu.php:341
-msgid "Add"
-msgstr "Voeg toe"
-
-#: classes/Gems/Menu.php:294
-#: classes/Gems/Menu.php:377
-msgid "Preview"
-msgstr "Preview"
-
-#: classes/Gems/Menu.php:301
-msgid "Tracks"
-msgstr "Trajecten"
-
-#: classes/Gems/Menu.php:314
-msgid "Assignments"
-msgstr "Toewijzingen"
-
-#: classes/Gems/Menu.php:326
-msgid "Edit"
-msgstr "Wijzig"
-
-#: classes/Gems/Menu.php:330
-msgid "Delete"
-msgstr "Verwijder"
-
-#: classes/Gems/Menu.php:335
-msgid "Surveys"
-msgstr "Vragenlijsten"
-
-#: classes/Gems/Menu.php:367
-msgid "Fill in"
-msgstr "Vul in"
-
-#: classes/Gems/Menu.php:371
-msgid "Print PDF"
-msgstr "Print PDF"
-
-#: classes/Gems/Menu.php:374
-msgid "E-Mail now!"
-msgstr "Email nu!"
-
-#: classes/Gems/Menu.php:380
-msgid "Answers"
-msgstr "Antwoorden"
-
-#: classes/Gems/Menu.php:518
-msgid "Respondents"
-msgstr "Patiënten"
-
-#: classes/Gems/Menu.php:521
-msgid "Overview"
-msgstr "Overzicht"
-
-#: classes/Gems/Menu.php:528
-msgid "Project"
-msgstr "Project"
-
-#: classes/Gems/Menu.php:531
-msgid "Setup"
-msgstr "Beheer"
-
-#: classes/Gems/Menu.php:534
-msgid "Mail"
-msgstr "Email"
-
-#: classes/Gems/Menu.php:537
-msgid "Track Builder"
-msgstr "Traject bouwer"
-
-#: classes/Gems/Menu.php:546
-msgid "Contact"
-msgstr "Contact"
-
-#: classes/Gems/Menu.php:559
-msgid "Changelog"
-msgstr "Changelog"
-
-#: classes/Gems/Model.php:190
-msgid "Respondent nr"
-msgstr "Patiënt nr"
-
-#: classes/Gems/Model.php:191
-msgid "Opened"
-msgstr "Bekeken"
-
-#: classes/Gems/Model.php:192
-msgid "Consent"
-msgstr "Toestemming"
-
-#: classes/Gems/Model.php:194
-msgid "E-Mail"
-msgstr "Email"
-
-#: classes/Gems/Model.php:199
-msgid "Gender"
-msgstr "Geslacht"
-
-#: classes/Gems/Model.php:200
-msgid "First name"
-msgstr "Voornaam"
-
-#: classes/Gems/Model.php:201
-msgid "Surname prefix"
-msgstr "Tussenvoegsel"
-
-#: classes/Gems/Model.php:202
-msgid "Last name"
-msgstr "Achternaam"
-
-#: classes/Gems/Model.php:204
-msgid "Name"
-msgstr "Naam"
-
-#: classes/Gems/Model.php:207
-msgid "Street"
-msgstr "Straat"
-
-#: classes/Gems/Model.php:208
-msgid "Zipcode"
-msgstr "Postcode"
-
-#: classes/Gems/Model.php:209
-msgid "City"
-msgstr "Stad"
-
-#: classes/Gems/Model.php:211
-msgid "Phone"
-msgstr "Telefoon"
-
-#: classes/Gems/Model.php:213
-msgid "Birthday"
-msgstr "Geboren op"
-
-#: classes/Gems/Tracker.php:732
-msgid "Checks performed"
-msgstr "Controle uitgevoerd"
-
-#: classes/Gems/UpgradesAbstract.php:164
-msgid "Already at max. level."
-msgstr "Al op het hoogste niveau."
-
-#: classes/Gems/UpgradesAbstract.php:171
-#, php-format
-msgid "Trying upgrade for %s from level %s to level %s"
-msgstr "Probeert upgrade voor %s van niveau %s naar niveau %s uit te voeren"
-
-#: classes/Gems/UpgradesAbstract.php:179
-#, php-format
-msgid "Trying upgrade for %s to level %s: %s"
-msgstr "Probeert upgrade voor %s naar niveau %s: %s"
-
-#: classes/Gems/Controller/BrowseEditAction.php:344
-#, php-format
-msgid "New %s..."
-msgstr "Nieuw %s..."
-
-#: classes/Gems/Controller/BrowseEditAction.php:376
-#, php-format
-msgid "Delete %s"
-msgstr "Verwijder %s"
-
-#: classes/Gems/Controller/BrowseEditAction.php:380
-#, php-format
-msgid "%2$u %1$s deleted"
-msgstr "%2$u %1$s verwijderd"
-
-#: classes/Gems/Controller/BrowseEditAction.php:394
-#, php-format
-msgid "Edit %s"
-msgstr "Bewerk %s"
-
-#: classes/Gems/Controller/BrowseEditAction.php:491
-msgid "Free search text"
-msgstr "Vrije zoek tekst"
-
-#: classes/Gems/Controller/BrowseEditAction.php:562
-msgid "Search"
-msgstr "Zoeken"
-
-#: classes/Gems/Controller/BrowseEditAction.php:578
-#, php-format
-msgid "No %s found"
-msgstr "Geen %s gevonden"
-
-#: classes/Gems/Controller/BrowseEditAction.php:651
-#, php-format
-msgid "No %s found."
-msgstr "Geen %s gevonden."
-
-#: classes/Gems/Controller/BrowseEditAction.php:766
-msgid "Are you sure?"
-msgstr "Weet u het zeker?"
-
-#: classes/Gems/Controller/BrowseEditAction.php:782
-msgid "Yes"
-msgstr "Ja"
-
-#: classes/Gems/Controller/BrowseEditAction.php:783
-msgid "No"
-msgstr "Nee"
-
-#: classes/Gems/Controller/BrowseEditAction.php:836
-#, php-format
-msgid "Unknown %s requested"
-msgstr "Onjuist %s verzoek"
-
-#: classes/Gems/Controller/BrowseEditAction.php:859
-#, php-format
-msgid "New %1$s..."
-msgstr "Nieuwe %1$s..."
-
-#: classes/Gems/Controller/BrowseEditAction.php:867
-msgid "Save"
-msgstr "Opslaan"
-
-#: classes/Gems/Controller/BrowseEditAction.php:903
-#, php-format
-msgid "%2$u %1$s saved"
-msgstr "%2$u %1$s opgeslagen"
-
-#: classes/Gems/Controller/BrowseEditAction.php:906
-msgid "No changes to save."
-msgstr "Geen verandering om op te slaan."
-
-#: classes/Gems/Controller/BrowseEditAction.php:915
-msgid "Input error! No changes saved!"
-msgstr "Invoer fout! Veranderingen niet opgeslagen!"
-
-#: classes/Gems/Controller/BrowseEditAction.php:943
-#, php-format
-msgid "Show %s"
-msgstr "Toon %s"
-
-#: classes/Gems/Controller/BrowseEditAction.php:950
-#, php-format
-msgid "Unknown %s."
-msgstr "%s is onbekend."
-
-#: classes/Gems/Controller/ModelActionAbstract.php:97
-#: classes/Gems/Default/AskAction.php:150
-#: classes/Gems/Default/DatabaseAction.php:524
-msgid "Cancel"
-msgstr "Annuleren"
-
-#: classes/Gems/Controller/ModelSnippetActionAbstract.php:181
-msgid "No data found."
-msgstr "Geen gegevens gevonden."
-
-#: classes/Gems/Default/AskAction.php:128
-#, php-format
-msgid "Welcome %s,"
-msgstr "Welkom %s,"
-
-#: classes/Gems/Default/AskAction.php:131
-#, php-format
-msgid "Thank you for answering the survey for token %s."
-msgstr "Dank u voor het invullen van de vragenlijst voor kenmerk %s."
-
-#: classes/Gems/Default/AskAction.php:132
-msgid "Please click the button below to answer the next survey."
-msgstr "Klik op de onderstaande knop om de volgende vragenlijst in te vullen."
-
-#: classes/Gems/Default/AskAction.php:137
-#, php-format
-msgid "Please click the button below to answer the survey for token %s."
-msgstr "Klik op de onderstaande knop om de vragenlijst behorende bij kenmerk %s in te vullen."
-
-#: classes/Gems/Default/AskAction.php:141
-#, php-format
-msgid "Wait one second to open the survey automatically or click on Cancel to stop."
-msgid_plural "Wait %d seconds to open the survey automatically or click on Cancel to stop."
-msgstr[0] "Over één seconde start de vragenlijst automatisch. Klik op annuleren om dit te onderbreken."
-msgstr[1] "Over %d seconden start de vragenlijst automatisch. Klik op annuleren om dit te onderbreken."
-
-#: classes/Gems/Default/AskAction.php:156
-#, php-format
-msgid "After this survey there is one other survey we would like you to answer."
-msgid_plural "After this survey there are another %d surveys we would like you to answer."
-msgstr[0] "Na deze vragenlijst hebben we nog één andere vragenlijst voor u."
-msgstr[1] "Na deze vragenlijst hebben we nog %d andere vragenlijsten voor u."
-
-#: classes/Gems/Default/AskAction.php:166
-#, php-format
-msgid "The survey for token %s is no longer active."
-msgstr "De vragenlijst voor kenmerk %s is niet meer in gebruik."
-
-#: classes/Gems/Default/AskAction.php:170
-#, php-format
-msgid "The token %s does not exist."
-msgstr "Het kenmerk %s bestaat niet."
-
-#: classes/Gems/Default/AskAction.php:172
-#, php-format
-msgid "Thank you for answering. At the moment we have no further surveys for you to take."
-msgstr "Dank u voor uw antwoorden. Op dit moment hebben we geen vragenlijsten meer voor u."
-
-#: classes/Gems/Default/AskAction.php:174
-#, php-format
-msgid "The survey for token %s has been answered and no further surveys are open."
-msgstr "De vragenlijst met het kenmerk %s is beantwoord en er staan verder geen vragenlijsten open."
-
-#: classes/Gems/Default/AskAction.php:181
-#, php-format
-msgid "The token %s does not exist (any more)."
-msgstr "Het kenmerk %s bestaat niet (meer)."
-
-#: classes/Gems/Default/AskAction.php:198
-#, php-format
-msgid "Enter your %s token"
-msgstr "Voer uw %s kenmerk in"
-
-#: classes/Gems/Default/AskAction.php:203
-#, php-format
-msgid "Enter tokens as %s."
-msgstr "Kenmerk invoeren als %s."
-
-#: classes/Gems/Default/AskAction.php:213
-msgid "OK"
-msgstr "OK"
-
-#: classes/Gems/Default/AskAction.php:229
-msgid "Tokens identify a survey that was assigned to you personally."
-msgstr "Elk kenmerk verwijst naar een specifiek aan u toegekende vragenlijst."
-
-#: classes/Gems/Default/AskAction.php:229
-msgid "Entering the token and pressing OK will open that survey."
-msgstr "Vul uw kenmerk in en druk op OK om die vragenlijst te openen."
-
-#: classes/Gems/Default/AskAction.php:233
-msgid "After answering the survey you will be logged off automatically."
-msgstr "Na het invullen wordt u automatisch uitgelogd."
-
-#: classes/Gems/Default/AskAction.php:235
-msgid "After answering the survey you will return to the respondent overview screen."
-msgstr "Na het invullen van de vragenlijst komt u terug in het patient scherm."
-
-#: classes/Gems/Default/AskAction.php:242
-msgid "A token consists of two groups of four letters and numbers, separated by an optional hyphen. Tokens are case insensitive."
-msgstr "Een kenmerk bestaat uit twee groepen van vier cijfers en letters met een (niet verplicht) streepje ertussen. Hoofdletters of gewone letters maakt niets uit."
-
-#: classes/Gems/Default/AskAction.php:243
-msgid "The number zero and the letter O are treated as the same; the same goes for the number one and the letter L."
-msgstr "Er wordt geen verschil gemaakt tussen het getal nul en de letter O en ook niet tussen het getal één en de letter L."
-
-#: classes/Gems/Default/ConsentAction.php:68
-#: classes/Gems/Default/GroupAction.php:87
-msgid "Description"
-msgstr "Omschrijving"
-
-#: classes/Gems/Default/ConsentAction.php:70
-#: classes/Gems/Default/DatabaseAction.php:167
-msgid "Order"
-msgstr "Volgorde"
-
-#: classes/Gems/Default/ConsentAction.php:71
-msgid "Determines order of presentation in interface."
-msgstr "Bepaald de presentatie volgorde."
-
-#: classes/Gems/Default/ConsentAction.php:73
-msgid "Consent code"
-msgstr "Consent code"
-
-#: classes/Gems/Default/ConsentAction.php:75
-msgid "Internal code, not visible to users, copied with the token information to the source."
-msgstr "Interne code, niet zichtbaar voor gebruikers maar wordt met de token informatie aan de bron doorgegeven."
-
-#: classes/Gems/Default/ConsentAction.php:92
-msgid "respondent consent"
-msgid_plural "respondent consents"
-msgstr[0] "patiënt toestemming"
-msgstr[1] "patiënt toestemmingen"
-
-#: classes/Gems/Default/ConsentAction.php:97
-msgid "Respondent consents"
-msgstr "Patiënt toestemming"
-
-#: classes/Gems/Default/ContactAction.php:71
-#, php-format
-msgid "%s is a web application."
-msgstr "%s is een web applicatie."
-
-#: classes/Gems/Default/ContactAction.php:76
-#, php-format
-msgid "The %s project is run by: "
-msgstr "%s is een project van: "
-
-#: classes/Gems/Default/ContactAction.php:82
-#, php-format
-msgid "%s is a collaboration of these organizations:"
-msgstr "Deze organisaties werken samen voor het %s project:"
-
-#: classes/Gems/Default/ContactAction.php:103
-#, php-format
-msgid "The %s project"
-msgstr "Het %s project"
-
-#: classes/Gems/Default/ContactAction.php:106
-msgid "Information on this application"
-msgstr "Information over deze website"
-
-#: classes/Gems/Default/ContactAction.php:107
-msgid "Links concerning this web application:"
-msgstr "Links met informatie over deze website:"
-
-#: classes/Gems/Default/CronAction.php:148
-msgid "Cron jobs turned off."
-msgstr "Cron opdrachten uitgezet."
-
-#: classes/Gems/Default/CronAction.php:218
-msgid "No mails sent."
-msgstr "Geen mail verzonden."
-
-#: classes/Gems/Default/CronAction.php:221
-msgid "On this test system all mail will be delivered to the from address."
-msgstr "Op dit test systeem worden alle emails gestuurd naar het \"van\" adres."
-
-#: classes/Gems/Default/DatabaseAction.php:64
-#, php-format
-msgid "Executed %2$s creation script %1$s:"
-msgstr "Uitvoerresultaat %2$s script %1$s:"
-
-#: classes/Gems/Default/DatabaseAction.php:74
-#, php-format
-msgid "%d record(s) returned as result set %d in step %d of %d."
-msgstr "%d rij(en) in resultaat %d in stap %d van %d."
-
-#: classes/Gems/Default/DatabaseAction.php:78
-#, php-format
-msgid "%d record(s) updated in step %d of %d."
-msgstr "In stap %2$d van %3$d zijn %1$d rij(en) aangepast."
-
-#: classes/Gems/Default/DatabaseAction.php:81
-#, php-format
-msgid "Script ran step %d of %d succesfully."
-msgstr "Stap %d van %d in het script met succes uitgevoerd."
-
-#: classes/Gems/Default/DatabaseAction.php:84
-msgid " in step "
-msgstr " in stap "
-
-#: classes/Gems/Default/DatabaseAction.php:89
-#, php-format
-msgid "No script for %1$s."
-msgstr "Geen script voor %1$s:"
-
-#: classes/Gems/Default/DatabaseAction.php:133
-#, php-format
-msgid "No rows in %s."
-msgstr "Geen gegevens in %s."
-
-#: classes/Gems/Default/DatabaseAction.php:162
-msgid "Type"
-msgstr "Type"
-
-#: classes/Gems/Default/DatabaseAction.php:166
-msgid "Group"
-msgstr "Groep"
-
-#: classes/Gems/Default/DatabaseAction.php:168
-msgid "Location"
-msgstr "Locatie"
-
-#: classes/Gems/Default/DatabaseAction.php:171
-msgid "Status"
-msgstr "Status"
-
-#: classes/Gems/Default/DatabaseAction.php:172
-msgid "created"
-msgstr "bestaat"
-
-#: classes/Gems/Default/DatabaseAction.php:173
-msgid "not created"
-msgstr "niet aanwezig"
-
-#: classes/Gems/Default/DatabaseAction.php:174
-msgid "unknown"
-msgstr "onbekend"
-
-#: classes/Gems/Default/DatabaseAction.php:177
-msgid "Script"
-msgstr "Script"
-
-#: classes/Gems/Default/DatabaseAction.php:179
-msgid "Changed on"
-msgstr "Veranderd op"
-
-#: classes/Gems/Default/DatabaseAction.php:198
-msgid "This database object does not exist. You cannot delete it."
-msgstr "Dit database object bestaat. Het kan dus ook niet verwijderd worden."
-
-#: classes/Gems/Default/DatabaseAction.php:203
-#, php-format
-msgid "Drop %s"
-msgstr "Verwijder %s"
-
-#: classes/Gems/Default/DatabaseAction.php:211
-#, php-format
-msgid "There are %d rows in the table."
-msgstr "Er zijn %d rijen in deze tabel."
-
-#: classes/Gems/Default/DatabaseAction.php:213
-#, php-format
-msgid "Drop table with %d rows"
-msgstr "Tabel met %d rijen aan data verwijderen"
-
-#: classes/Gems/Default/DatabaseAction.php:214
-msgid "Are you really sure?"
-msgstr "Weet u het heel erg zeker?"
-
-#: classes/Gems/Default/DatabaseAction.php:230
-#, php-format
-msgid "%1$s %2$s dropped"
-msgstr "%1$s %2$s verwijderd"
-
-#: classes/Gems/Default/DatabaseAction.php:235
-msgid " during statement "
-msgstr " tijdens het commando "
-
-#: classes/Gems/Default/DatabaseAction.php:246
-#, php-format
-msgid "%s no longer exists in the database."
-msgstr "%s bestaat niet meer in de database."
-
-#: classes/Gems/Default/DatabaseAction.php:249
-#, php-format
-msgid "%s does not yet exist in the database."
-msgstr "%s bestaat nog niet in de database."
-
-#: classes/Gems/Default/DatabaseAction.php:252
-#, php-format
-msgid "%s object does exist."
-msgstr "%s object bestaat."
-
-#: classes/Gems/Default/DatabaseAction.php:270
-msgid "Object is not a table."
-msgstr "Niet een tabel object."
-
-#: classes/Gems/Default/DatabaseAction.php:293
-msgid "Structure"
-msgstr "Structuur"
-
-#: classes/Gems/Default/DatabaseAction.php:302
-msgid "database object"
-msgid_plural "database objects"
-msgstr[0] "database object"
-msgstr[1] "database objects"
-
-#: classes/Gems/Default/DatabaseAction.php:307
-msgid "Database object overview"
-msgstr "Database object overzicht"
-
-#: classes/Gems/Default/DatabaseAction.php:316
-#: classes/Gems/Default/DatabaseAction.php:360
-msgid "Level"
-msgstr "Niveau"
-
-#: classes/Gems/Default/DatabaseAction.php:317
-#: classes/Gems/Default/DatabaseAction.php:361
-msgid "Subtype"
-msgstr "Subtype"
-
-#: classes/Gems/Default/DatabaseAction.php:319
-msgid "To be executed"
-msgstr "Uit te voeren"
-
-#: classes/Gems/Default/DatabaseAction.php:320
-#: classes/Gems/Default/DatabaseAction.php:364
-msgid "Executed"
-msgstr "Uitgevoerd"
-
-#: classes/Gems/Default/DatabaseAction.php:321
-#: classes/Gems/Default/DatabaseAction.php:365
-msgid "Finished"
-msgstr "Afgerond"
-
-#: classes/Gems/Default/DatabaseAction.php:324
-msgid "Create the patch table!"
-msgstr "De patch tabel bestaat nog niet!"
-
-#: classes/Gems/Default/DatabaseAction.php:326
-#, php-format
-msgid "%d new or changed patch(es)."
-msgstr "%d nieuwe of veranderde patch(es)."
-
-#: classes/Gems/Default/DatabaseAction.php:331
-msgid "Gems build"
-msgstr "Gems bouwnummer"
-
-#: classes/Gems/Default/DatabaseAction.php:332
-msgid "Database build"
-msgstr "Database versie"
-
-#: classes/Gems/Default/DatabaseAction.php:334
-msgid "Execute level"
-msgstr "Uit te voeren versie"
-
-#: classes/Gems/Default/DatabaseAction.php:338
-msgid "Ignore finished"
-msgstr "Afgeronde patches overslaan"
-
-#: classes/Gems/Default/DatabaseAction.php:339
-msgid "Ignore executed"
-msgstr "Uitgevoerde patches overslaan"
-
-#: classes/Gems/Default/DatabaseAction.php:340
-msgid "Show patches"
-msgstr "Toon patches"
-
-#: classes/Gems/Default/DatabaseAction.php:354
-#, php-format
-msgid "%d patch(es) executed."
-msgstr "%d patch(es) uitgevoerd."
-
-#: classes/Gems/Default/DatabaseAction.php:359
-msgid "Patch"
-msgstr "Patch"
-
-#: classes/Gems/Default/DatabaseAction.php:363
-msgid "Query"
-msgstr "Query"
-
-#: classes/Gems/Default/DatabaseAction.php:366
-msgid "Result"
-msgstr "Resultaat"
-
-#: classes/Gems/Default/DatabaseAction.php:390
-msgid "Patch maintenance"
-msgstr "Patch onderhoud"
-
-#: classes/Gems/Default/DatabaseAction.php:394
-msgid "Patch overview"
-msgstr "Patch overzicht"
-
-#: classes/Gems/Default/DatabaseAction.php:456
-msgid "This database object does not exist. You cannot create it."
-msgstr "Dit database object bestaat niet en kan ook niet aangemaakt worden."
-
-#: classes/Gems/Default/DatabaseAction.php:462
-msgid "This database object has no script. You cannot execute it."
-msgstr "Dit database object heeft geen script. Het kan dus ook niet uitgevoerd worden."
-
-#: classes/Gems/Default/DatabaseAction.php:473
-#, php-format
-msgid "Run %s"
-msgstr "Voer %s script uit"
-
-#: classes/Gems/Default/DatabaseAction.php:492
-#, php-format
-msgid "Starting %d object creation scripts."
-msgstr "Aanvang %d object aanmaak scripts."
-
-#: classes/Gems/Default/DatabaseAction.php:497
-#, php-format
-msgid "Finished %s creation script for object %d of %d"
-msgstr "Klaar %s met aanmaak script voor object %d van %d"
-
-#: classes/Gems/Default/DatabaseAction.php:501
-msgid "All objects exist. Nothing was executed."
-msgstr "Alle objects bestaan. Niets was uitgevoerd."
-
-#: classes/Gems/Default/DatabaseAction.php:507
-msgid "Create not-existing database objects"
-msgstr "Aanmaak van database objecten die nog niet bestaan"
-
-#: classes/Gems/Default/DatabaseAction.php:509
-#, php-format
-msgid "One database object does not exist."
-msgid_plural "These %d database objects do not exist."
-msgstr[0] "Één object bestaat nog niet in de database."
-msgstr[1] "%d objecten bestaan nog niet in de database."
-
-#: classes/Gems/Default/DatabaseAction.php:510
-msgid "Are you sure you want to create it?"
-msgid_plural "Are you sure you want to create them all?"
-msgstr[0] "Weet je zeker dat je dat object wil aanmaken?"
-msgstr[1] "Weet je zeker dat je ze allemaal wil aanmaken?"
-
-#: classes/Gems/Default/DatabaseAction.php:523
-msgid "All database objects exist. There is nothing to create."
-msgstr "Alle database objecten bestaan. Er valt niets te maken."
-
-#: classes/Gems/Default/DatabaseAction.php:536
-msgid "Separate multiple commands with semicolons (;)."
-msgstr "Scheidt meerdere commando's met punt-comma's (;)."
-
-#: classes/Gems/Default/DatabaseAction.php:543
-msgid "Run"
-msgstr "Uitvoeren"
-
-#: classes/Gems/Default/DatabaseAction.php:552
-msgid "raw"
-msgstr "rauw"
-
-#: classes/Gems/Default/DatabaseAction.php:561
-#, php-format
-msgid "Result set %s."
-msgstr "Resultaat %s."
-
-#: classes/Gems/Default/DatabaseAction.php:584
-msgid "Execute raw SQL"
-msgstr "SQL direct uitvoeren"
-
-#: classes/Gems/Default/DatabaseAction.php:587
-msgid "Result sets"
-msgstr "Resultaten"
-
-#: classes/Gems/Default/DatabaseAction.php:612
-msgid "This database object does not exist. You cannot view it."
-msgstr "Dit database object bestaat. Het kan dus ook niet bekeken worden."
-
-#: classes/Gems/Default/DatabaseAction.php:617
-#, php-format
-msgid "The data in table %s"
-msgstr "De gegevens in tabel %s"
-
-#: classes/Gems/Default/DatabaseAction.php:618
-#, php-format
-msgid "Contents of %s %s"
-msgstr "De inhoud van %s %s"
-
-#: classes/Gems/Default/ExportAction.php:69
-msgid "Data"
-msgstr "Data"
-
-#: classes/Gems/Default/ExportAction.php:74
-msgid "Export data"
-msgstr "Exporteer gegevens"
-
-#: classes/Gems/Default/ExportAction.php:155
-#: classes/Gems/Default/MailJobAction.php:121
-msgid "Survey"
-msgstr "Vragenlijst"
-
-#: classes/Gems/Default/ExportAction.php:170
-#, php-format
-msgid "%s records found."
-msgstr "%s records gevonden."
-
-#: classes/Gems/Default/ExportAction.php:174
-#: classes/Gems/Default/IndexAction.php:162
-#: classes/Gems/Default/MailJobAction.php:119
-msgid "Organization"
-msgstr "Organisatie"
-
-#: classes/Gems/Default/ExportAction.php:183
-msgid "Export to"
-msgstr "Exporteer naar"
-
-#: classes/Gems/Default/GroupAction.php:88
-msgid "Role"
-msgstr "Rol"
-
-#: classes/Gems/Default/GroupAction.php:91
-#: classes/Gems/Default/MailJobAction.php:104
-msgid "Active"
-msgstr "Actief"
-
-#: classes/Gems/Default/GroupAction.php:102
-msgid "group"
-msgid_plural "groups"
-msgstr[0] "groep"
-msgstr[1] "groepen"
-
-#: classes/Gems/Default/GroupAction.php:107
-msgid "Administrative groups"
-msgstr "Beheer groepen"
-
-#: classes/Gems/Default/IndexAction.php:83
-msgid "Enter your token..."
-msgstr "Voer uw kenmerk in..."
-
-#: classes/Gems/Default/IndexAction.php:124
-#, php-format
-msgid "Login to %s application"
-msgstr "%s login"
-
-#: classes/Gems/Default/IndexAction.php:128
-msgid "Login"
-msgstr "Login"
-
-#: classes/Gems/Default/IndexAction.php:145
-msgid "Back to login"
-msgstr "Terug naar de login"
-
-#: classes/Gems/Default/IndexAction.php:183
-msgid "Password"
-msgstr "Wachtwoord"
-
-#: classes/Gems/Default/IndexAction.php:198
-#, php-format
-msgid "Reset password for %s application"
-msgstr "Reset wachtwoord voor %s"
-
-#: classes/Gems/Default/IndexAction.php:202
-msgid "Reset password"
-msgstr "Reset wachtwoord"
-
-#: classes/Gems/Default/IndexAction.php:248
-msgid "Username"
-msgstr "Gebruikersnaam"
-
-#: classes/Gems/Default/IndexAction.php:305
-#, php-format
-msgid "Login successful, welcome %s."
-msgstr "Login in orde, welkom %s."
-
-#: classes/Gems/Default/IndexAction.php:335
-#, php-format
-msgid "Good bye: %s."
-msgstr "Tot ziens: %s."
-
-#: classes/Gems/Default/IndexAction.php:360
-msgid "Reset accepted, enter your new password."
-msgstr "Reset geaccepteerd, voer uw nieuwe wachtwoord in."
-
-#: classes/Gems/Default/IndexAction.php:364
-msgid "This key timed out or does not belong to this user."
-msgstr "Te oude sleutel of sleutel hoort niet bij gebruiker."
-
-#: classes/Gems/Default/IndexAction.php:381
-msgid "Password reset requested"
-msgstr "Wachtwoord reset aangevraagd"
-
-#: classes/Gems/Default/IndexAction.php:382
-#, php-format
-msgid "To reset your password for %s, please click this link: %s"
-msgstr "Om uw wachtwoord voor %s te resetten, klik op deze link: %s"
-
-#: classes/Gems/Default/IndexAction.php:387
-msgid "We sent you an e-mail with a reset link. Click on the link in the e-mail."
-msgstr "We hebben u een email met reset link gestuurd. Klik op de link in de email."
-
-#: classes/Gems/Default/IndexAction.php:389
-msgid "Unable to send e-mail."
-msgstr "Verzenden e-mail mislukt."
-
-#: classes/Gems/Default/IndexAction.php:394
-msgid "No such user found or no e-mail address known or user cannot be reset."
-msgstr "Gebruiker niet gevonden of e-mail adres onbekend of gebruiker kan niet gereset worden."
-
-#: classes/Gems/Default/IndexAction.php:398
-msgid "We received your password reset key."
-msgstr "Wachtwoord resetsleutel ontvangen."
-
-#: classes/Gems/Default/IndexAction.php:399
-msgid "Please enter the organization and username belonging to this key."
-msgstr "Geef de organisatie en gebruikersnaam die bij deze sleutel horen op."
-
-#: classes/Gems/Default/InvitationAction.php:52
-msgid "Invite"
-msgstr "Uitnodigen"
-
-#: classes/Gems/Default/LanguageAction.php:63
-msgid "Cookies must be enabled for setting the language."
-msgstr "Zonder cookies kan de taal niet ingesteld worden."
-
-#: classes/Gems/Default/LanguageAction.php:66
-msgid "Invalid language setting."
-msgstr "Ongeldige taal instelling."
-
-#: classes/Gems/Default/LogAction.php:61
-msgid "from"
-msgstr "vanaf"
-
-#: classes/Gems/Default/LogAction.php:66
-msgid "until"
-msgstr "tot"
-
-#: classes/Gems/Default/LogAction.php:72
-msgid "days"
-msgstr "dagen"
-
-#: classes/Gems/Default/LogAction.php:73
-msgid "weeks"
-msgstr "weken"
-
-#: classes/Gems/Default/LogAction.php:74
-msgid "months"
-msgstr "maanden"
-
-#: classes/Gems/Default/LogAction.php:75
-msgid "years"
-msgstr "jaren"
-
-#: classes/Gems/Default/LogAction.php:96
-msgid "Staff:"
-msgstr "Medewerkers:"
-
-#: classes/Gems/Default/LogAction.php:100
-msgid "All staff"
-msgstr "Alle medewerkers"
-
-#: classes/Gems/Default/LogAction.php:102
-msgid "Patient:"
-msgstr "Patiënt:"
-
-#: classes/Gems/Default/LogAction.php:106
-msgid "All patients"
-msgstr "Alle patiënten"
-
-#: classes/Gems/Default/LogAction.php:109
-msgid "Action:"
-msgstr "Actie:"
-
-#: classes/Gems/Default/LogAction.php:112
-msgid "All actions"
-msgstr "Alle acties"
-
-#: classes/Gems/Default/LogAction.php:163
-msgid "Date"
-msgstr "Datum"
-
-#: classes/Gems/Default/LogAction.php:164
-#: classes/Gems/Default/LogMaintenanceAction.php:52
-msgid "Action"
-msgstr "Actie"
-
-#: classes/Gems/Default/LogAction.php:165
-msgid "Message"
-msgstr "Bericht"
-
-#: classes/Gems/Default/LogAction.php:167
-msgid "Respondent"
-msgstr "Patiënt"
-
-#: classes/Gems/Default/LogAction.php:173
-#: classes/Gems/Default/LogMaintenanceAction.php:53
-msgid "Log"
-msgstr "Logboek"
-
-#: classes/Gems/Default/LogMaintenanceAction.php:70
-msgid "Log:"
-msgstr "Logboek:"
-
-#: classes/Gems/Default/LogMaintenanceAction.php:71
-msgid "All"
-msgstr "Alles"
-
-#: classes/Gems/Default/LogMaintenanceAction.php:77
-msgid "Log action"
-msgstr "Logboek actie"
-
-#: classes/Gems/Default/LogMaintenanceAction.php:81
-msgid "Log maintenance"
-msgstr "Logboek onderhoud"
-
-#: classes/Gems/Default/MailJobAction.php:62
-msgid "No automatic mail jobs found..."
-msgstr "Geen automatische mail opdrachten gevonden.."
-
-#: classes/Gems/Default/MailJobAction.php:72
-msgid "New automatic mail job..."
-msgstr "Nieuwe automatische mail opdracht..."
-
-#: classes/Gems/Default/MailJobAction.php:100
-msgid "Template"
-msgstr "Sjabloon"
-
-#: classes/Gems/Default/MailJobAction.php:101
-msgid "By staff member"
-msgstr "Door medewerke"
-
-#: classes/Gems/Default/MailJobAction.php:103
-msgid "Used for logging and possibly from address."
-msgstr "Gebruikt voor activiteiten log en eventueel voor vanaf adres."
-
-#: classes/Gems/Default/MailJobAction.php:106
-msgid "Job is only run when active."
-msgstr "Een opdracht wordt alleen uitgevoerd als deze actief is."
-
-#: classes/Gems/Default/MailJobAction.php:109
-msgid "From address used"
-msgstr "Gebruikte vanaf adres"
-
-#: classes/Gems/Default/MailJobAction.php:111
-msgid "From other"
-msgstr "Vanaf overig"
-
-#: classes/Gems/Default/MailJobAction.php:112
-#, php-format
-msgid "Only when '%s' is '%s'."
-msgstr "Aleen als '%s' is '%s'."
-
-#: classes/Gems/Default/MailJobAction.php:114
-msgid "Processing Method"
-msgstr "Verwerkings methode"
-
-#: classes/Gems/Default/MailJobAction.php:115
-msgid "Filter for"
-msgstr "Selecteer op"
-
-#: classes/Gems/Default/MailJobAction.php:116
-msgid "Days between reminders"
-msgstr "Aantal dagen tussen herinneringen"
-
-#: classes/Gems/Default/MailJobAction.php:132
-msgid "Do you want to delete this mail job?"
-msgstr "Weet je zeker dat deze automatische mail opdracht verwijderd moet worden?"
-
-#: classes/Gems/Default/MailJobAction.php:143
-msgid "Edit automatic mail job"
-msgstr "Automatische mail opdracht bewerken"
-
-#: classes/Gems/Default/MailJobAction.php:156
-msgid "First mail"
-msgstr "Eerste mail"
-
-#: classes/Gems/Default/MailJobAction.php:157
-msgid "Reminder"
-msgstr "Herinnering"
-
-#: classes/Gems/Default/MailJobAction.php:168
-msgid "Use organizational from address"
-msgstr "Gebruik vanaf adres van organisatie"
-
-#: classes/Gems/Default/MailJobAction.php:171
-#, php-format
-msgid "Use site %s address"
-msgstr "Gebruik %s adres van de site"
-
-#: classes/Gems/Default/MailJobAction.php:174
-msgid "Use the 'By staff member' address"
-msgstr "Gebruik 'Door medewerker' adres"
-
-#: classes/Gems/Default/MailJobAction.php:175
-msgid "Other"
-msgstr "Overige"
-
-#: classes/Gems/Default/MailJobAction.php:185
-msgid "Automatic mail jobs"
-msgstr "Automatische mail opdrachten "
-
-#: classes/Gems/Default/MailJobAction.php:189
-#, php-format
-msgid "Automatic mails have been turned off since %s."
-msgstr "Automatische mail opdrachten staan sinds %s uit."
-
-#: classes/Gems/Default/MailJobAction.php:193
-msgid "Turn Automatic Mail Jobs ON"
-msgstr "Automatische mail opdrachten AANzetten"
-
-#: classes/Gems/Default/MailJobAction.php:199
-msgid "With automatic mail jobs and a cron job on the server, mails can be sent without manual user action."
-msgstr "Met automatische mail opdrachten en een cron opdracht op de server, kunnen mails verstuurd worden zonder dat een gebruiker actie hoeft te ondernemen."
-
-#: classes/Gems/Default/MailJobAction.php:207
-msgid "Automatic mail job details"
-msgstr "Automatische mail opdracht details"
-
-#: classes/Gems/Default/MailLogAction.php:107
-msgid "Date sent"
-msgstr "Verzend datum"
-
-#: classes/Gems/Default/MailLogAction.php:108
-msgid "Receiver"
-msgstr "Ontvanger"
-
-#: classes/Gems/Default/MailLogAction.php:109
-msgid "To address"
-msgstr "Adres aan"
-
-#: classes/Gems/Default/MailLogAction.php:110
-msgid "Sender"
-msgstr "Verzender"
-
-#: classes/Gems/Default/MailLogAction.php:111
-msgid "From address"
-msgstr "Adres van"
-
-#: classes/Gems/Default/MailLogAction.php:113
-#: classes/Gems/Default/MailTemplateAction.php:61
-msgid "Subject"
-msgstr "Onderwerp"
-
-#: classes/Gems/Default/MailLogAction.php:129
-msgid "Mail Activity Log"
-msgstr "Logboek Mail Activiteit"
-
-#: classes/Gems/Default/MailLogAction.php:140
-msgid "Show Mail Activity Log item"
-msgstr "Toon Logboek Mail item"
-
-#: classes/Gems/Default/MailServerAction.php:68
-msgid "From address [part]"
-msgstr "Vanaf adres [gedeelte]"
-
-#: classes/Gems/Default/MailServerAction.php:70
-msgid "E.g.: '%', '%.org' or '%@gemstracker.org' or 'ro...@ge...'."
-msgstr "Bijvoorbeeld: '%', '%.nl' of '%@gemstracker.nl' of 'ro...@ge...'."
-
-#: classes/Gems/Default/MailServerAction.php:71
-msgid "Server"
-msgstr "Server"
-
-#: classes/Gems/Default/MailServerAction.php:73
-msgid "Encryption"
-msgstr "Encryptie"
-
-#: classes/Gems/Default/MailServerAction.php:76
-msgid "None"
-msgstr "Geen"
-
-#: classes/Gems/Default/MailServerAction.php:77
-msgid "SSL"
-msgstr "SSL"
-
-#: classes/Gems/Default/MailServerAction.php:78
-msgid "TLS"
-msgstr "TLS"
-
-#: classes/Gems/Default/MailServerAction.php:80
-msgid "Port"
-msgstr "Poort"
-
-#: classes/Gems/Default/MailServerAction.php:82
-msgid "Normal values: 25 for TLS and no encryption, 465 for SSL"
-msgstr "Standaard waardes: 25 voor TLS en voor geen encryptie, 465 voor SSL"
-
-#: classes/Gems/Default/MailServerAction.php:84
-msgid "User ID"
-msgstr "Gebruikers ID"
-
-#: classes/Gems/Default/MailServerAction.php:90
-#: classes/Gems/Default/OptionAction.php:112
-#: classes/Gems/Default/OptionAction.php:117
-#: classes/Gems/Default/SourceAction.php:95
-#: classes/Gems/Default/StaffAction.php:144
-msgid "Repeat password"
-msgstr "Herhaal wachtwoord"
-
-#: classes/Gems/Default/MailServerAction.php:91
-#: classes/Gems/Default/SourceAction.php:74
-#: classes/Gems/Default/StaffAction.php:118
-msgid "Enter only when changing"
-msgstr "Alleen invoeren om het wachtwoord te wijzigen"
-
-#: classes/Gems/Default/MailServerAction.php:100
-msgid "email server"
-msgid_plural "email servers"
-msgstr[0] "email server"
-msgstr[1] "email servers"
-
-#: classes/Gems/Default/MailServerAction.php:105
-msgid "Email servers"
-msgstr "Email servers"
-
-#: classes/Gems/Default/MailTemplateAction.php:75
-#: classes/Gems/Default/StaffAction.php:228
-msgid "(all organizations)"
-msgstr "(alle organisaties)"
-
-#: classes/Gems/Default/MailTemplateAction.php:94
-msgid "email template"
-msgid_plural "email templates"
-msgstr[0] "email sjabloon"
-msgstr[1] "email sjablonen"
-
-#: classes/Gems/Default/MailTemplateAction.php:99
-msgid "Email templates"
-msgstr "Email sjabloon"
-
-#: classes/Gems/Default/OptionAction.php:84
-msgid "You are not allowed to change your password."
-msgstr "U mag uw wachtwoord niet wijzigen."
-
-#: classes/Gems/Default/OptionAction.php:96
-msgid "Current password"
-msgstr "Huidig wachtwoord"
-
-#: classes/Gems/Default/OptionAction.php:106
-#: classes/Gems/Default/OptionAction.php:122
-msgid "New password"
-msgstr "Nieuw wachtwoord"
-
-#: classes/Gems/Default/OptionAction.php:141
-msgid "New password is active."
-msgstr "Nieuwe wachtwoord geactiveerd."
-
-#: classes/Gems/Default/OptionAction.php:146
-msgid "Caps Lock seems to be on!"
-msgstr "De Caps Lock toets lijkt aan te staan!"
-
-#: classes/Gems/Default/OptionAction.php:190
-msgid "Login Name"
-msgstr "Login Naam"
-
-#: classes/Gems/Default/OptionAction.php:197
-#: classes/Gems/Default/OrganizationAction.php:140
-#: classes/Gems/Default/RespondentAction.php:173
-#: classes/Gems/Default/StaffAction.php:213
-msgid "Language"
-msgstr "Taal"
-
-#: classes/Gems/Default/OptionAction.php:207
-#, php-format
-msgid "Options"
-msgstr "Instellingen"
-
-#: classes/Gems/Default/OptionAction.php:216
-msgid "This overview provides information about the last login activity on your account."
-msgstr "Dit overzicht geeft informatie over de recente inlog activiteit op uw account."
-
-#: classes/Gems/Default/OptionAction.php:236
-msgid "IP address"
-msgstr "IP adres"
-
-#: classes/Gems/Default/OptionAction.php:236
-msgid "Date / time"
-msgstr "Datum / tijd"
-
-#: classes/Gems/Default/OptionAction.php:242
-msgid "item"
-msgid_plural "items"
-msgstr[0] "item"
-msgstr[1] "items"
-
-#: classes/Gems/Default/OptionAction.php:247
-msgid "Item"
-msgstr "Item"
-
-#: classes/Gems/Default/OrganizationAction.php:105
-msgid "Cookies must be enabled."
-msgstr "Zonder cookies kan de taal niet ingesteld worden."
-
-#: classes/Gems/Default/OrganizationAction.php:108
-msgid "Invalid organization."
-msgstr "Ongeldige organisatie."
-
-#: classes/Gems/Default/OrganizationAction.php:129
-msgid "Url"
-msgstr "Url"
-
-#: classes/Gems/Default/OrganizationAction.php:130
-msgid "Task"
-msgstr "Taak"
-
-#: classes/Gems/Default/OrganizationAction.php:131
-msgid "Contact name"
-msgstr "Contact naam"
-
-#: classes/Gems/Default/OrganizationAction.php:132
-msgid "Contact email"
-msgstr "Contact email"
-
-#: classes/Gems/Default/OrganizationAction.php:135
-msgid "Style"
-msgstr "Stijl"
-
-#: classes/Gems/Default/OrganizationAction.php:145
-msgid "Allow new respondents"
-msgstr "Nieuwe patiënten toestaan"
-
-#: classes/Gems/Default/OrganizationAction.php:150
-msgid "Greeting"
-msgstr "Begroeting"
-
-#: classes/Gems/Default/OrganizationAction.php:150
-#: classes/Gems/Default/OrganizationAction.php:151
-msgid "For emails and token forward screen."
-msgstr "Voor emails en kenmerk scherm."
-
-#: classes/Gems/Default/OrganizationAction.php:151
-msgid "Signature"
-msgstr "Handtekening"
-
-#: classes/Gems/Default/OrganizationAction.php:153
-msgid "Accessible by"
-msgstr "Toegankelijk voor"
-
-#: classes/Gems/Default/OrganizationAction.php:153
-msgid "Checked organizations see this organizations respondents."
-msgstr "Geselecteerde organizaties kunnen de patiënten van deze organisatie bekijken."
-
-#: classes/Gems/Default/OrganizationAction.php:172
-msgid "organization"
-msgid_plural "organizations"
-msgstr[0] "organisatie"
-msgstr[1] "organisaties"
-
-#: classes/Gems/Default/OrganizationAction.php:177
-msgid "Participating organizations"
-msgstr "Deelnemende organisaties"
-
-#: classes/Gems/Default/OverviewPlanAction.php:115
-#: classes/Gems/Default/ProjectSurveysAction.php:88
-#: classes/Gems/Default/SurveyAction.php:203
-msgid "survey"
-msgid_plural "surveys"
-msgstr[0] "vragenlijst"
-msgstr[1] "vragenlijsten"
-
-#: classes/Gems/Default/OverviewPlanAction.php:120
-msgid "Planning overview"
-msgstr "Planning overzicht"
-
-#: classes/Gems/Default/ProjectInformationAction.php:83
-msgid "empty file"
-msgstr "leeg bestand"
-
-#: classes/Gems/Default/ProjectInformationAction.php:87
-msgid "file not found"
-msgstr "bestand niet gevonden"
-
-#: classes/Gems/Default/ProjectInformationAction.php:120
-msgid "Logged errors"
-msgstr "Opgeslagen foutmeldingen"
-
-#: classes/Gems/Default/ProjectInformationAction.php:120
-msgid "Empty logfile"
-msgstr "Verwijder alle foutmeldingen"
-
-#: classes/Gems/Default/ProjectInformationAction.php:125
-msgid "Project information"
-msgstr "Project informatie"
-
-#: classes/Gems/Default/ProjectInformationAction.php:129
-msgid "Project name"
-msgstr "Project naam"
-
-#: classes/Gems/Default/ProjectInformationAction.php:130
-msgid "Project version"
-msgstr "Project versie"
-
-#: classes/Gems/Default/ProjectInformationAction.php:131
-msgid "Gems version"
-msgstr "Gems versie"
-
-#: classes/Gems/Default/ProjectInformationAction.php:133
-msgid "Gems project"
-msgstr "Gems project"
-
-#: classes/Gems/Default/ProjectInformationAction.php:134
-msgid "Gems web directory"
-msgstr "Gems web folder"
-
-#: classes/Gems/Default/ProjectInformationAction.php:135
-msgid "Gems code directory"
-msgstr "Gems code folder"
-
-#: classes/Gems/Default/ProjectInformationAction.php:136
-msgid "Gems project path"
-msgstr "Gems project folder"
-
-#: classes/Gems/Default/ProjectInformationAction.php:137
-msgid "MUtil version"
-msgstr "MUtil versie"
-
-#: classes/Gems/Default/ProjectInformationAction.php:138
-msgid "Zend version"
-msgstr "Zend versie"
-
-#: classes/Gems/Default/ProjectInformationAction.php:139
-msgid "Application environment"
-msgstr "Applicatie omgeving"
-
-#: classes/Gems/Default/ProjectInformationAction.php:140
-msgid "Application baseuri"
-msgstr "Applicatie baseuri"
-
-#: classes/Gems/Default/ProjectInformationAction.php:141
-msgid "Application directory"
-msgstr "Applicatie folder"
-
-#: classes/Gems/Default/ProjectInformationAction.php:142
-msgid "PHP version"
-msgstr "PHP versie"
-
-#: classes/Gems/Default/ProjectInformationAction.php:143
-msgid "Server Hostname"
-msgstr "Webserver naam"
-
-#: classes/Gems/Default/ProjectInformationAction.php:144
-msgid "Server OS"
-msgstr "Server besturingssysteem"
-
-#: classes/Gems/Default/ProjectInformationAction.php:145
-msgid "Time on server"
-msgstr "De tijd op de server"
-
-#: classes/Gems/Default/ProjectInformationAction.php:149
-msgid "Turn Maintenance Mode OFF"
-msgstr "Onderhoudsmodus UITzetten"
-
-#: classes/Gems/Default/ProjectInformationAction.php:151
-msgid "Turn Maintenance Mode ON"
-msgstr "Onderhoudsmodus AANzetten"
-
-#: classes/Gems/Default/ProjectInformationAction.php:161
-msgid "Version information"
-msgstr "Versie informatie"
-
-#: classes/Gems/Default/ProjectInformationAction.php:187
-msgid "Cache cleaned"
-msgstr "Cache opgeschoond"
-
-#: classes/Gems/Default/ProjectInformationAction.php:195
-msgid "Server PHP Info"
-msgstr "Server PHP Info"
-
-#: classes/Gems/Default/ProjectInformationAction.php:208
-msgid "Project settings"
-msgstr "Project instellingen"
-
-#: classes/Gems/Default/ProjectInformationAction.php:215
-msgid "Session content"
-msgstr "Sessie inhoud"
-
-#: classes/Gems/Default/ProjectInformationAction.php:216
-msgid "Session"
-msgstr "Sessie"
-
-#: classes/Gems/Default/ProjectSurveysAction.php:68
-#: classes/Gems/Default/SurveyAction.php:192
-msgid "By"
-msgstr "Door"
-
-#: classes/Gems/Default/ProjectSurveysAction.php:69
-#: classes/Gems/Default/ProjectTracksAction.php:67
-#: classes/Gems/Default/SurveyAction.php:193
-msgid "From"
-msgstr "Van"
-
-#: classes/Gems/Default/ProjectSurveysAction.php:70
-#: classes/Gems/Default/ProjectTracksAction.php:68
-#: classes/Gems/Default/SurveyAction.php:195
-msgid "Until"
-msgstr "Tot"
-
-#: classes/Gems/Default/ProjectSurveysAction.php:93
-msgid "Active surveys"
-msgstr "Beschikbare vragenlijsten"
-
-#: classes/Gems/Default/ProjectTracksAction.php:65
-msgid "Survey #"
-msgstr "Vragenlijsten"
-
-#: classes/Gems/Default/ProjectTracksAction.php:85
-msgid "track"
-msgid_plural "tracks"
-msgstr[0] "traject"
-msgstr[1] "trajecten"
-
-#: classes/Gems/Default/ProjectTracksAction.php:90
-msgid "Active tracks"
-msgstr "Beschikbare trajecten"
-
-#: classes/Gems/Default/ProjectTracksAction.php:98
-#, php-format
-msgid "Questions in survey %s"
-msgstr "Vragen in vragenlijsten %s"
-
-#: classes/Gems/Default/ProjectTracksAction.php:106
-#: classes/Gems/Default/SurveyAction.php:85
-#, php-format
-msgid "Survey %s does not exist."
-msgstr "Vragenlijst %s bestaat niet."
-
-#: classes/Gems/Default/ProjectTracksAction.php:109
-msgid "Survey not specified."
-msgstr "Vragenlijst niet opgegeven."
-
-#: classes/Gems/Default/ProjectTracksAction.php:120
-#, php-format
-msgid "Track %s does not exist."
-msgstr "Trajectnummer %s bestaat niet."
-
-#: classes/Gems/Default/ReceptionAction.php:55
-msgid "Can be assigned to"
-msgstr "Kan toegewezen worden aan"
-
-#: classes/Gems/Default/ReceptionAction.php:56
-msgid "Additional action"
-msgstr "Aanvullende actie"
-
-#: classes/Gems/Default/ReceptionAction.php:79
-msgid "Code"
-msgstr "Code"
-
-#: classes/Gems/Default/ReceptionAction.php:82
-msgid "Is success code"
-msgstr "Is succes code"
-
-#: classes/Gems/Default/ReceptionAction.php:86
-msgid "This reception code is a success code."
-msgstr "Aanzetten als deze ontvangst code positief is."
-
-#: classes/Gems/Default/ReceptionAction.php:90
-msgid "Only active codes can be selected."
-msgstr "Alleen actieve codes kunnen geselecteerd worden."
-
-#: classes/Gems/Default/ReceptionAction.php:91
-msgid "For respondents"
-msgstr "Voor patiënten"
-
-#: classes/Gems/Default/ReceptionAction.php:94
-msgid "This reception code can be assigned to a respondent."
-msgstr "Deze ontvangstcode kan aan een patiënt toegewezen worden."
-
-#: classes/Gems/Default/ReceptionAction.php:95
-msgid "For tracks"
-msgstr "Voor trajecten"
-
-#: classes/Gems/Default/ReceptionAction.php:98
-msgid "This reception code can be assigned to a track."
-msgstr "Deze ontvangstcode kan aan een traject toegewezen worden."
-
-#: classes/Gems/Default/ReceptionAction.php:99
-msgid "For surveys"
-msgstr "Voor vragenlijsten"
-
-#: classes/Gems/Default/ReceptionAction.php:102
-msgid "This reception code can be assigned to a survey."
-msgstr "Deze ontvangstcode kan aan een vragenlijst toegewezen worden."
-
-#: classes/Gems/Default/ReceptionAction.php:103
-msgid "Redo survey"
-msgstr "Vragenlijsten herhalen"
-
-#: classes/Gems/Default/ReceptionAction.php:106
-msgid "Redo a survey on this reception code."
-msgstr "Herhaal vragenlijst bij deze ontvangstcode."
-
-#: classes/Gems/Default/ReceptionAction.php:107
-msgid "Overwrite ansers"
-msgstr "Overschrijf bestaande antwoorden"
-
-#: classes/Gems/Default/ReceptionAction.php:110
-msgid "Remove the consent from already answered surveys."
-msgstr "Verwijder \"informed consent\" van beantwoorde vragenlijsten"
-
-#: classes/Gems/Default/ReceptionAction.php:128
-msgid "reception code"
-msgid_plural "reception codes"
-msgstr[0] "Ontvangst code"
-msgstr[1] "Ontvangst code"
-
-#: classes/Gems/Default/RespondentAction.php:119
-#, php-format
-msgid "Random Example BSN: %s"
-msgstr "Willekeurig voorbeeld BSN: %s"
-
-#: classes/Gems/Default/RespondentAction.php:122
-msgid "Enter a 9-digit SSN number."
-msgstr "Voer een BSN nummer van 9 cijfers in."
-
-#: classes/Gems/Default/RespondentAction.php:131
-msgid "Identification"
-msgstr "Identificatie"
-
-#: classes/Gems/Default/RespondentAction.php:132
-msgid "SSN"
-msgstr "SSN"
-
-#: classes/Gems/Default/RespondentAction.php:136
-msgid "Patient number"
-msgstr "Patiënt nummer"
-
-#: classes/Gems/Default/RespondentAction.php:145
-msgid "Medical data"
-msgstr "Medische gegevens"
-
-#: classes/Gems/Default/RespondentAction.php:152
-msgid "DBC's, etc..."
-msgstr "DBC's, etc..."
-
-#: classes/Gems/Default/RespondentAction.php:155
-msgid "Contact information"
-msgstr "Contact informatie"
-
-#: classes/Gems/Default/RespondentAction.php:160
-msgid "Respondent has no e-mail"
-msgstr "Patiënt zonder e-mail"
-
-#: classes/Gems/Default/RespondentAction.php:161
-msgid "With housenumber"
-msgstr "Met huisnummer"
-
-#: classes/Gems/Default/RespondentAction.php:168
-msgid "Country"
-msgstr "Land"
-
-#: classes/Gems/Default/RespondentAction.php:172
-msgid "Settings"
-msgstr "Instellingen"
-
-#: classes/Gems/Default/RespondentAction.php:174
-msgid "Has the respondent signed the informed consent letter?"
-msgstr "Heeft de patiënt het \"informed consent\" formulier ondertekend?"
-
-#: classes/Gems/Default/RespondentAction.php:199
-msgid "Comments"
-msgstr "Opmerkingen"
-
-#: classes/Gems/Default/RespondentAction.php:200
-msgid "Physician"
-msgstr "Dokter"
-
-#: classes/Gems/Default/RespondentAction.php:201
-msgid "Treatment"
-msgstr "Behandeling"
-
-#: classes/Gems/Default/RespondentAction.php:230
-msgid "Rejection code"
-msgstr "Afkeuringscode"
-
-#: classes/Gems/Default/RespondentAction.php:237
-msgid "Delete respondent"
-msgstr "Verwijder patiënt"
-
-#: classes/Gems/Default/RespondentAction.php:288
-msgid "Respondent deleted."
-msgstr "Patiënt verwijderd"
-
-#: classes/Gems/Default/RespondentAction.php:291
-msgid "Choose a reception code to delete."
-msgstr "Kies een ontvangst code om te verwijderen."
-
-#: classes/Gems/Default/RespondentAction.php:335
-msgid "respondent"
-msgid_plural "respondents"
-msgstr[0] "patiënt"
-msgstr[1] "patiënten"
-
-#: classes/Gems/Default/RespondentAction.php:392
-msgid "Please settle the informed consent form for this respondent."
-msgstr "A.u.b. het informed consent formulier doornemen met deze patiënt"
-
-#: classes/Gems/Default/RespondentPlanAction.php:67
-#: classes/Gems/Default/SurveyAction.php:171
-msgid "Show respondent"
-msgstr "Toon patiënt"
-
-#: classes/Gems/Default/RespondentPlanAction.php:73
-msgid "Show track"
-msgstr "Toon traject"
-
-#: classes/Gems/Default/RespondentPlanAction.php:136
-msgid " of "
-msgstr " van "
-
-#: classes/Gems/Default/RespondentPlanAction.php:137
-msgid "Progress"
-msgstr "Voortgang"
-
-#: classes/Gems/Default/RespondentPlanAction.php:144
-msgid "Respondent planning"
-msgstr "Per patiënt plannen"
-
-#: classes/Gems/Default/RoleAction.php:175
-msgid "Illegal name"
-msgstr "Naam niet toegestaan"
-
-#: classes/Gems/Default/RoleAction.php:199
-#: classes/Gems/Default/RoleAction.php:258
-msgid "Parents"
-msgstr "Afgeleid van"
-
-#: classes/Gems/Default/RoleAction.php:214
-msgid "Editing `master` is not allowed"
-msgstr "Het wijzigen van `master` is niet toegestaan"
-
-#: classes/Gems/Default/RoleAction.php:232
-msgid "role"
-msgid_plural "roles"
-msgstr[0] "Rol"
-msgstr[1] "Rollen"
-
-#: classes/Gems/Default/RoleAction.php:237
-msgid "Administrative roles"
-msgstr "Beheer rollen en rechten"
-
-#: classes/Gems/Default/RoleAction.php:259
-#: classes/Gems/Default/RoleAction.php:275
-msgid "Allowed"
-msgstr "Toegestaan"
-
-#: classes/Gems/Default/RoleAction.php:260
-#: classes/Gems/Default/RoleAction.php:276
-msgid "Denied"
-msgstr "Geweigerd"
-
-#: classes/Gems/Default/RoleAction.php:264
-msgid "Project role overview"
-msgstr "Project rollen"
-
-#: classes/Gems/Default/RoleAction.php:274
-msgid "Privilege"
-msgstr "Privilége"
-
-#: classes/Gems/Default/RoleAction.php:280
-msgid "Project privileges"
-msgstr "Project priviléges"
-
-#: classes/Gems/Default/SourceAction.php:69
-msgid "Leave empty for the Gems database."
-msgstr "Leeglaten bij gebruik van de Gems database."
-
-#: classes/Gems/Default/SourceAction.php:79
-msgid "E.g. the name of the project - for single source projects."
-msgstr "Bijvoorbeeld de project naam - bij projecten met maar één bron."
-
-#: classes/Gems/Default/SourceAction.php:81
-msgid "For creating token-survey url."
-msgstr "Voor kenmerk-vragenlijst url."
-
-#: classes/Gems/Default/SourceAction.php:86
-msgid "The database server used by the source."
-msgstr "Het merk database server gebruikt door deze bron."
-
-#: classes/Gems/Default/SourceAction.php:88
-msgid "Do not forget the underscores."
-msgstr "Vergeet de underscores niet."
-
-#: classes/Gems/Default/SourceAction.php:91
-msgid "Database Username"
-msgstr "Database gebruikersnaam"
-
-#: classes/Gems/Default/SourceAction.php:93
-msgid "Database Password"
-msgstr "Database wachtwoord"
-
-#: classes/Gems/Default/SourceAction.php:111
-#, php-format
-msgid "Checking survey results for %s source."
-msgstr "Controle vragenlijstresultaten voor %s bron."
-
-#: classes/Gems/Default/SourceAction.php:143
-msgid "Source Url"
-msgstr "Bron Url"
-
-#: classes/Gems/Default/SourceAction.php:145
-msgid "Adaptor class"
-msgstr "Adaptor klasse"
-
-#: classes/Gems/Default/SourceAction.php:147
-msgid "Database Server"
-msgstr "Database Server"
-
-#: classes/Gems/Default/SourceAction.php:149
-msgid "Database host"
-msgstr "Database machine"
-
-#: classes/Gems/Default/SourceAction.php:153
-msgid "Table prefix"
-msgstr "Voorvoegsel tabel"
-
-#: classes/Gems/Default/SourceAction.php:157
-msgid "Last check"
-msgstr "Laatste controle"
-
-#: classes/Gems/Default/SourceAction.php:190
-msgid "source"
-msgid_plural "sources"
-msgstr[0] "bron"
-msgstr[1] "bronnen"
-
-#: classes/Gems/Default/SourceAction.php:195
-msgid "Survey Sources"
-msgstr "Bronnen"
-
-#: classes/Gems/Default/SourceAction.php:203
-msgid "This installation is active."
-msgstr "Deze installatie is actief"
-
-#: classes/Gems/Default/SourceAction.php:205
-msgid "Inactive installation."
-msgstr "Deze installatie is inactief"
-
-#: classes/Gems/Default/SourceAction.php:218
-#: classes/Gems/Default/SourceAction.php:237
-msgid "No changes."
-msgstr "Geen veranderingen"
-
-#: classes/Gems/Default/SourceAction.php:233
-#, php-format
-msgid "Synchronization of source %s:"
-msgstr "Synchronisatie van %s bron:"
-
-#: classes/Gems/Default/SourceAction.php:244
-msgid "Synchronize all sources of surveys"
-msgstr "Synchronizeer alle vragenlijsten bronnen"
-
-#: classes/Gems/Default/SourceAction.php:245
-msgid "Synchronization will update the status of all surveys imported into this project to the status at the sources."
-msgstr "Synchronisatie zal de status van alle vragenlijsten in dit project aanpassen aan de status van de bron."
-
-#: classes/Gems/Default/SourceAction.php:252
-msgid "Are you sure you want to synchronize all survey sources?"
-msgstr "Weet je zeker dat je alle bronnen wil synchroniseren?"
-
-#: classes/Gems/Default/StaffAction.php:158
-msgid "If checked the user will logoff when answering a survey."
-msgstr "Indien actief, dan logt de gebruiker uit voor het beantwoorden van een vragenlijst."
-
-#: classes/Gems/Default/StaffAction.php:174
-msgid "You are not allowed to edit this staff member."
-msgstr "U mag deze medewerker niet wijzigen."
-
-#: classes/Gems/Default/StaffAction.php:208
-msgid "Primary function"
-msgstr "Primaire functie"
-
-#: classes/Gems/Default/StaffAction.php:214
-msgid "Logout on survey"
-msgstr "Logout bij beantwoorden vragenlijst"
-
-#: classes/Gems/Default/StaffAction.php:283
-msgid "staff member"
-msgid_plural "staff members"
-msgstr[0] "medewerker"
-msgstr[1] "medewerkers"
-
-#: classes/Gems/Default/SurveyAction.php:64
-msgid "Add survey"
-msgstr "Vragenlijst toevoegen"
-
-#: classes/Gems/Default/SurveyAction.php:67
-#, php-format
-msgid "Add another %s survey"
-msgstr "Nog een %s vragenlijst toevoegen"
-
-#: classes/Gems/Default/SurveyAction.php:70
-#, php-format
-msgid "Adding the %s survey to respondent %s"
-msgstr "Vragenlijst %s toevoegen aan patiënt %s."
-
-#: classes/Gems/Default/SurveyAction.php:73
-msgid "Available surveys"
-msgstr "Beschikbare vragenlijsten"
-
-#: classes/Gems/Default/SurveyAction.php:76
-msgid "No surveys found"
-msgstr "Geen vragenlijsten gevonden"
-
-#: classes/Gems/Default/SurveyAction.php:79
-#, php-format
-msgid "Overview of %s survey for respondent %s"
-msgstr "Overzicht van vragenlijst %s voor patiënt %s "
-
-#: classes/Gems/Default/SurveyAction.php:82
-msgid "This survey has not been assigned to this respondent."
-msgstr "Deze vragenlijst is nog niet aan deze patiënt toegewezen."
-
-#: classes/Gems/Default/SurveyAction.php:144
-#, php-format
-msgid "Assignments of this survey to %s"
-msgstr "Toewijzingen van deze vragenlijst aan %s"
-
-#: classes/Gems/Default/SurveyAction.php:165
-msgid "Show surveys"
-msgstr "Toon vragenlijsten"
-
-#: classes/Gems/Default/SurveyAction.php:208
-msgid "Assigned surveys"
-msgstr "Toegewezen vragenlijsten"
-
-#: classes/Gems/Default/SurveyMaintenanceAction.php:123
-msgid "If empty, survey will never show up!"
-msgstr "Indien leeg zal de vragenlijst niet tevoorschijn komen!"
-
-#: classes/Gems/Default/SurveyMaintenanceAction.php:124
-msgid "Result field"
-msgstr "Resultaat veld"
-
-#: classes/Gems/Default/SurveyMaintenanceAction.php:125
-msgid "Before answering"
-msgstr "Voor beantwoording"
-
-#: classes/Gems/Default/SurveyMaintenanceAction.php:126
-msgid "After completion"
-msgstr "Na afronding"
-
-#: classes/Gems/Default/SurveyMaintenanceAction.php:129
-msgid "Upload new PDF"
-msgstr "Upload nieuwe PDF"
-
-#: classes/Gems/Default/SurveyMaintenanceAction.php:136
-msgid "Usage"
-msgstr "Gebruik"
-
-#: classes/Gems/Default/SurveyMaintenanceAction.php:151
-msgid "Single Survey Assignment"
-msgstr "Losse vragenlijst toewijzing"
-
-...
[truncated message content] |
|
From: <gem...@li...> - 2011-11-21 12:07:08
|
Revision: 253
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=253&view=rev
Author: matijsdejong
Date: 2011-11-21 12:06:59 +0000 (Mon, 21 Nov 2011)
Log Message:
-----------
Make the Right, that was to simple. This code redirects a little more intelligently to prevent eternal loops.
Modified Paths:
--------------
trunk/library/classes/Gems/User/User.php
trunk/library/classes/GemsEscort.php
Modified: trunk/library/classes/Gems/User/User.php
===================================================================
--- trunk/library/classes/Gems/User/User.php 2011-11-21 11:30:36 UTC (rev 252)
+++ trunk/library/classes/Gems/User/User.php 2011-11-21 12:06:59 UTC (rev 253)
@@ -451,8 +451,11 @@
}
if ($menuItem) {
- $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
- $redirector->gotoRoute($menuItem->toRouteUrl($request));
+ // Prevent redirecting to the current page.
+ if (! ($menuItem->is('controller', $request->getControllerName()) && $menuItem->is('action', $request->getActionName()))) {
+ $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
+ $redirector->gotoRoute($menuItem->toRouteUrl($request));
+ }
}
return $menuItem;
Modified: trunk/library/classes/GemsEscort.php
===================================================================
--- trunk/library/classes/GemsEscort.php 2011-11-21 11:30:36 UTC (rev 252)
+++ trunk/library/classes/GemsEscort.php 2011-11-21 12:06:59 UTC (rev 253)
@@ -1475,7 +1475,8 @@
}
// Gems does not use index/index
- if (('index' == $request->getControllerName()) && (('index' == $request->getActionName()) || ('login' == $request->getActionName()))) {
+ $action = $request->getActionName();
+ if (('index' == $request->getControllerName()) && (('index' == $action) || ($user->isActive() && ('login' == $action)))) {
// Instead Gems routes to the first available menu item when this is the request target
if (! $user->gotoStartPage($this->menu, $request)) {
$this->setError(
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-21 11:30:42
|
Revision: 252
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=252&view=rev
Author: michieltcs
Date: 2011-11-21 11:30:36 +0000 (Mon, 21 Nov 2011)
Log Message:
-----------
Add askThrottle section
Modified Paths:
--------------
trunk/new_project/application/configs/project.ini
Modified: trunk/new_project/application/configs/project.ini
===================================================================
--- trunk/new_project/application/configs/project.ini 2011-11-21 11:22:10 UTC (rev 251)
+++ trunk/new_project/application/configs/project.ini 2011-11-21 11:30:36 UTC (rev 252)
@@ -53,6 +53,33 @@
session.idleTimeout = 1800
;-------------------------------------------------------
+; ASK THROTTLE SECTION
+;
+; Sets values that control the throttling (slowdowns to
+; combat brute-force attacks) of the ask / token
+; controller.
+;
+; askThrottle.period
+;
+; Look for failed token attempts in from now to
+; X seconds ago.
+;
+; askThrottle.threshold
+;
+; If the number of failed token attempts exceeds this
+; number, starting throttling.
+;
+; askThrottle.delay
+;
+; Throttle by delaying each request by X seconds.
+;
+;-------------------------------------------------------
+
+askThrottle.period = 900
+askThrottle.threshold = 300
+askThrottle.delay = 10
+
+;-------------------------------------------------------
; ASK DELAY SECTION
;
; askDelay
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-21 11:22:21
|
Revision: 251
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=251&view=rev
Author: michieltcs
Date: 2011-11-21 11:22:10 +0000 (Mon, 21 Nov 2011)
Log Message:
-----------
Refs #454 - introduce throttling in AskAction
Modified Paths:
--------------
trunk/library/classes/Gems/Default/AskAction.php
trunk/library/classes/Gems/Project/ProjectSettings.php
Modified: trunk/library/classes/Gems/Default/AskAction.php
===================================================================
--- trunk/library/classes/Gems/Default/AskAction.php 2011-11-21 10:58:55 UTC (rev 250)
+++ trunk/library/classes/Gems/Default/AskAction.php 2011-11-21 11:22:10 UTC (rev 251)
@@ -215,9 +215,35 @@
$form->addElement($element);
if ($this->_request->isPost()) {
- if ($form->isValid($_POST)) {
+ $throttleSettings = $this->project->getAskThrottleSettings();
+
+ // Prune the database for (very) old attempts
+ $this->db->query("DELETE FROM gems__token_attempts WHERE gta_datetime < DATE_SUB(NOW(), INTERVAL ? second)",
+ $throttleSettings['period'] * 20);
+
+ // Retrieve the number of failed attempts that occurred within the specified window
+ $attemptData = $this->db->fetchRow("SELECT COUNT(1) AS attempts, UNIX_TIMESTAMP(MAX(gta_datetime)) AS last " .
+ "FROM gems__token_attempts WHERE gta_datetime > DATE_SUB(NOW(), INTERVAL ? second)", $throttleSettings['period']);
+
+ $remainingDelay = ($attemptData['last'] + $throttleSettings['delay']) - time();
+
+ if ($attemptData['attempts'] > $throttleSettings['threshold'] && $remainingDelay > 0) {
+ $this->escort->logger->log("Possible token brute force attack, throttling for $remainingDelay seconds", Zend_Log::ERR);
+
+ $this->addMessage($this->_('The server is currently busy, please wait a while and try again.'));
+ } else if ($form->isValid($_POST)) {
$this->_forward('forward');
return;
+ } else {
+ if (isset($_POST[MUtil_Model::REQUEST_ID])) {
+ $this->db->insert(
+ 'gems__token_attempts',
+ array(
+ 'gta_id_token' => $_POST[MUtil_Model::REQUEST_ID],
+ 'gta_ip_address' => $this->getRequest()->getClientIp()
+ )
+ );
+ }
}
} elseif ($id = $this->_getParam(MUtil_Model::REQUEST_ID)) {
$form->populate(array(MUtil_Model::REQUEST_ID => $id));
Modified: trunk/library/classes/Gems/Project/ProjectSettings.php
===================================================================
--- trunk/library/classes/Gems/Project/ProjectSettings.php 2011-11-21 10:58:55 UTC (rev 250)
+++ trunk/library/classes/Gems/Project/ProjectSettings.php 2011-11-21 11:22:10 UTC (rev 251)
@@ -236,6 +236,30 @@
return $this->defaultSessionTimeout;
}
}
+
+ /**
+ * Returns an array with throttling settings for the ask
+ * controller
+ *
+ * @return array
+ */
+ public function getAskThrottleSettings()
+ {
+ // Check for the 'askThrottle' config section
+ if (!empty($this->askThrottle)) {
+ return $this->askThrottle;
+ } else {
+ // Set some sensible defaults
+ // Detection window: 15 minutes
+ // Threshold: 20 requests per minute
+ // Delay: 10 seconds
+ $throttleSettings = array(
+ 'period' => 15 * 60,
+ 'threshold' => 15 * 20,
+ 'delay' => 10
+ );
+ }
+ }
/**
* Returns the super admin name, if any
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-21 10:59:01
|
Revision: 250
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=250&view=rev
Author: mennodekker
Date: 2011-11-21 10:58:55 +0000 (Mon, 21 Nov 2011)
Log Message:
-----------
In a respondentTrack the getFieldData() method now returns an associative array of fieldcode->value pairs, alongside the old fieldId->value pairs
Modified Paths:
--------------
trunk/library/classes/Gems/Tracker/RespondentTrack.php
Modified: trunk/library/classes/Gems/Tracker/RespondentTrack.php
===================================================================
--- trunk/library/classes/Gems/Tracker/RespondentTrack.php 2011-11-21 10:57:14 UTC (rev 249)
+++ trunk/library/classes/Gems/Tracker/RespondentTrack.php 2011-11-21 10:58:55 UTC (rev 250)
@@ -120,7 +120,17 @@
private function _ensureFieldData($reload = false)
{
if ((null === $this->_fieldData) || $reload) {
- $this->_fieldData = $this->getTrackEngine()->getFieldsData($this->_respTrackId);
+ $fieldData = $this->getTrackEngine()->getFieldsData($this->_respTrackId);
+ $fieldMap = $this->getTrackEngine()->getFields();
+
+ //Map the fielddata to the fieldcode
+ foreach($fieldData as $key=>$value) {
+ if (isset($fieldMap[$key])) {
+ $fieldData[$fieldMap[$key]] = $value;
+ }
+ }
+
+ $this->_fieldData = $fieldData;
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-21 10:57:23
|
Revision: 249
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=249&view=rev
Author: michieltcs
Date: 2011-11-21 10:57:14 +0000 (Mon, 21 Nov 2011)
Log Message:
-----------
Inspired by r247
Revision Links:
--------------
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=247&view=rev
Modified Paths:
--------------
trunk/library/classes/Gems/User/UserLoader.php
Modified: trunk/library/classes/Gems/User/UserLoader.php
===================================================================
--- trunk/library/classes/Gems/User/UserLoader.php 2011-11-21 10:23:53 UTC (rev 248)
+++ trunk/library/classes/Gems/User/UserLoader.php 2011-11-21 10:57:14 UTC (rev 249)
@@ -115,8 +115,8 @@
if (! $this->session instanceof Zend_Session_Namespace) {
$this->session = new Zend_Session_Namespace('gems.' . GEMS_PROJECT_NAME . '.session');
- $idleTimeout = ($this->project->session['idleTimeout'] ? $this->project->session['idleTimeout'] : 1800);
-
+ $idleTimeout = $this->project->getSessionTimeout();
+
$this->session->setExpirationSeconds($idleTimeout);
$extras['session'] = $this->session;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-21 10:24:04
|
Revision: 248
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=248&view=rev
Author: matijsdejong
Date: 2011-11-21 10:23:53 +0000 (Mon, 21 Nov 2011)
Log Message:
-----------
Moved login page while logged in to GemsEscort->routeShutdown()
Modified Paths:
--------------
trunk/library/classes/Gems/Default/IndexAction.php
trunk/library/classes/GemsEscort.php
Modified: trunk/library/classes/Gems/Default/IndexAction.php
===================================================================
--- trunk/library/classes/Gems/Default/IndexAction.php 2011-11-21 10:18:22 UTC (rev 247)
+++ trunk/library/classes/Gems/Default/IndexAction.php 2011-11-21 10:23:53 UTC (rev 248)
@@ -263,17 +263,6 @@
*/
public function loginAction()
{
- // If already logged in, try to redirect to the first allowed and visible menu item
- // if that fails, try to reroute to respondent/index
- if ($this->loader->getCurrentUser()->isActive()) {
- if ($menuItem = $this->menu->findFirst(array('allowed' => true, 'visible' => true))) {
- $redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
- $redirector->gotoRoute($menuItem->toRouteUrl($this->getRequest()));
- } else {
- $this->_reroute(array('controller' => 'respondent', 'action'=>'index'));
- }
- }
-
$form = $this->_getLoginForm();
$request = $this->getRequest();
@@ -319,7 +308,7 @@
} else {
//Now present the user with an error message
$errors = $authResult->getMessages();
- $this->addMessage($errors);
+ $this->addMessage($errors);
//Also log the error to the log table
//when the project has logging enabled
Modified: trunk/library/classes/GemsEscort.php
===================================================================
--- trunk/library/classes/GemsEscort.php 2011-11-21 10:18:22 UTC (rev 247)
+++ trunk/library/classes/GemsEscort.php 2011-11-21 10:23:53 UTC (rev 248)
@@ -1475,7 +1475,7 @@
}
// Gems does not use index/index
- if (('index' == $request->getControllerName()) && ('index' == $request->getActionName())) {
+ if (('index' == $request->getControllerName()) && (('index' == $request->getActionName()) || ('login' == $request->getActionName()))) {
// Instead Gems routes to the first available menu item when this is the request target
if (! $user->gotoStartPage($this->menu, $request)) {
$this->setError(
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-21 10:18:28
|
Revision: 247
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=247&view=rev
Author: matijsdejong
Date: 2011-11-21 10:18:22 +0000 (Mon, 21 Nov 2011)
Log Message:
-----------
The plan was to stop using these $this->project|session->variablenames. (Plus I got a warning as session did not exist.)
Modified Paths:
--------------
trunk/library/classes/Gems/Project/ProjectSettings.php
trunk/library/classes/GemsEscort.php
Modified: trunk/library/classes/Gems/Project/ProjectSettings.php
===================================================================
--- trunk/library/classes/Gems/Project/ProjectSettings.php 2011-11-21 09:54:34 UTC (rev 246)
+++ trunk/library/classes/Gems/Project/ProjectSettings.php 2011-11-21 10:18:22 UTC (rev 247)
@@ -47,6 +47,15 @@
class Gems_Project_ProjectSettings extends ArrayObject
{
/**
+ * The default session time out for this project in seconds.
+ *
+ * Can be overruled in sesssion.idleTimeout
+ *
+ * @var int
+ */
+ protected $defaultSessionTimeout = 1800;
+
+ /**
* The minimum length for the password of a super admin
* on a production server.
*
@@ -215,6 +224,20 @@
}
/**
+ * Timeout for sessions in seconds.
+ *
+ * @return int
+ */
+ public function getSessionTimeOut()
+ {
+ if (isset($this->session, $this->session['idleTimeout'])) {
+ return $this->session['idleTimeout'];
+ } else {
+ return $this->defaultSessionTimeout;
+ }
+ }
+
+ /**
* Returns the super admin name, if any
*
* @return string
Modified: trunk/library/classes/GemsEscort.php
===================================================================
--- trunk/library/classes/GemsEscort.php 2011-11-21 09:54:34 UTC (rev 246)
+++ trunk/library/classes/GemsEscort.php 2011-11-21 10:18:22 UTC (rev 247)
@@ -58,7 +58,7 @@
private $_copyDestinations;
private $_startFirebird;
-
+
/**
* The menu variable
*
@@ -89,7 +89,7 @@
$firebug = $application->getOption('firebug');
$this->_startFirebird = $firebug['log'];
-
+
$sessionOptions['name'] = GEMS_PROJECT_NAME_UC . 'SESSID';
$sessionOptions['cookie_path'] = strtr(dirname($_SERVER['SCRIPT_NAME']), '\\', '/');
@@ -385,10 +385,11 @@
*/
protected function _initSession()
{
+
$session = new Zend_Session_Namespace('gems.' . GEMS_PROJECT_NAME . '.session');
-
- $idleTimeout = ($this->project->session['idleTimeout'] ? $this->project->session['idleTimeout'] : 1800);
-
+
+ $idleTimeout = $this->project->getSessionTimeOut();
+
$session->setExpirationSeconds($idleTimeout);
if (! isset($session->user_role)) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-21 09:54:43
|
Revision: 246
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=246&view=rev
Author: michieltcs
Date: 2011-11-21 09:54:34 +0000 (Mon, 21 Nov 2011)
Log Message:
-----------
Refs #453 - add idleTimeout parameter
Modified Paths:
--------------
trunk/new_project/application/configs/project.ini
Modified: trunk/new_project/application/configs/project.ini
===================================================================
--- trunk/new_project/application/configs/project.ini 2011-11-21 09:53:10 UTC (rev 245)
+++ trunk/new_project/application/configs/project.ini 2011-11-21 09:54:34 UTC (rev 246)
@@ -40,6 +40,19 @@
account.delayFactor = 4
;-------------------------------------------------------
+; SESSION SECTION
+;
+; idleTimeout
+;
+; Lifetime of the session (determines the expiration of
+; the session namespace(s)).
+; If not set, defaults to 1800 seconds = 30 minutes.
+;
+;-------------------------------------------------------
+
+session.idleTimeout = 1800
+
+;-------------------------------------------------------
; ASK DELAY SECTION
;
; askDelay
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-21 09:53:16
|
Revision: 245
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=245&view=rev
Author: michieltcs
Date: 2011-11-21 09:53:10 +0000 (Mon, 21 Nov 2011)
Log Message:
-----------
Refs #453 - Move expiration setting to project configuration, add support in Gems_User_UserLoader
Modified Paths:
--------------
trunk/library/classes/Gems/User/UserLoader.php
trunk/library/classes/GemsEscort.php
Modified: trunk/library/classes/Gems/User/UserLoader.php
===================================================================
--- trunk/library/classes/Gems/User/UserLoader.php 2011-11-21 09:41:35 UTC (rev 244)
+++ trunk/library/classes/Gems/User/UserLoader.php 2011-11-21 09:53:10 UTC (rev 245)
@@ -114,6 +114,10 @@
// is removed from GemsEscort
if (! $this->session instanceof Zend_Session_Namespace) {
$this->session = new Zend_Session_Namespace('gems.' . GEMS_PROJECT_NAME . '.session');
+
+ $idleTimeout = ($this->project->session['idleTimeout'] ? $this->project->session['idleTimeout'] : 1800);
+
+ $this->session->setExpirationSeconds($idleTimeout);
$extras['session'] = $this->session;
}
Modified: trunk/library/classes/GemsEscort.php
===================================================================
--- trunk/library/classes/GemsEscort.php 2011-11-21 09:41:35 UTC (rev 244)
+++ trunk/library/classes/GemsEscort.php 2011-11-21 09:53:10 UTC (rev 245)
@@ -60,14 +60,6 @@
private $_startFirebird;
/**
- * Lifetime of the session (determines the expiration of the session cookie(s))
- * Defaults to 1800 seconds = 30 minutes, you override this in your own
- * Escort class
- * @var int
- */
- protected $_sessionLifetime = 1800;
-
- /**
* The menu variable
*
* @var Gems_Menu
@@ -394,7 +386,10 @@
protected function _initSession()
{
$session = new Zend_Session_Namespace('gems.' . GEMS_PROJECT_NAME . '.session');
- $session->setExpirationSeconds($this->_sessionLifetime);
+
+ $idleTimeout = ($this->project->session['idleTimeout'] ? $this->project->session['idleTimeout'] : 1800);
+
+ $session->setExpirationSeconds($idleTimeout);
if (! isset($session->user_role)) {
$session->user_role = 'nologin';
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-21 09:41:45
|
Revision: 244
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=244&view=rev
Author: michieltcs
Date: 2011-11-21 09:41:35 +0000 (Mon, 21 Nov 2011)
Log Message:
-----------
Refs #453 - Do not call rememberMe() (this regenerates the session id), instead set an expiration time on the session namespace
Modified Paths:
--------------
trunk/library/classes/GemsEscort.php
Modified: trunk/library/classes/GemsEscort.php
===================================================================
--- trunk/library/classes/GemsEscort.php 2011-11-21 09:23:15 UTC (rev 243)
+++ trunk/library/classes/GemsEscort.php 2011-11-21 09:41:35 UTC (rev 244)
@@ -98,9 +98,6 @@
$firebug = $application->getOption('firebug');
$this->_startFirebird = $firebug['log'];
- // expire the session after 30 minutes
- Zend_Session::rememberMe($this->_sessionLifetime);
-
$sessionOptions['name'] = GEMS_PROJECT_NAME_UC . 'SESSID';
$sessionOptions['cookie_path'] = strtr(dirname($_SERVER['SCRIPT_NAME']), '\\', '/');
@@ -397,6 +394,7 @@
protected function _initSession()
{
$session = new Zend_Session_Namespace('gems.' . GEMS_PROJECT_NAME . '.session');
+ $session->setExpirationSeconds($this->_sessionLifetime);
if (! isset($session->user_role)) {
$session->user_role = 'nologin';
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-21 09:23:21
|
Revision: 243
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=243&view=rev
Author: michieltcs
Date: 2011-11-21 09:23:15 +0000 (Mon, 21 Nov 2011)
Log Message:
-----------
Fix typo
Modified Paths:
--------------
trunk/library/classes/GemsEscort.php
Modified: trunk/library/classes/GemsEscort.php
===================================================================
--- trunk/library/classes/GemsEscort.php 2011-11-19 18:12:07 UTC (rev 242)
+++ trunk/library/classes/GemsEscort.php 2011-11-21 09:23:15 UTC (rev 243)
@@ -1345,7 +1345,7 @@
// fake POST
if ($this->session->previousRequestMode == 'POST') {
- $this->addMessage($this->_('Take note: your session has expired, your inputs where not saved. Please check the input data and try again'));
+ $this->addMessage($this->_('Take note: your session has expired, your inputs were not saved. Please check the input data and try again'));
$_POST = $previousRequestParameters;
$_SERVER['REQUEST_METHOD'] = $this->session->previousRequestMode;
$this->session->previousRequestMode = null;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-19 18:12:13
|
Revision: 242
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=242&view=rev
Author: michieltcs
Date: 2011-11-19 18:12:07 +0000 (Sat, 19 Nov 2011)
Log Message:
-----------
IP address column should be varchar
Modified Paths:
--------------
trunk/library/configs/db/tables/gems__token_attempts.10.sql
Modified: trunk/library/configs/db/tables/gems__token_attempts.10.sql
===================================================================
--- trunk/library/configs/db/tables/gems__token_attempts.10.sql 2011-11-19 18:03:30 UTC (rev 241)
+++ trunk/library/configs/db/tables/gems__token_attempts.10.sql 2011-11-19 18:12:07 UTC (rev 242)
@@ -2,7 +2,7 @@
CREATE TABLE if not exists gems__token_attempts (
gta_id_attempt bigint unsigned not null auto_increment,
gta_id_token varchar(9) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' not null,
- gta_ip_address int(11) unsigned not null,
+ gta_ip_address varchar(64) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' not null,
gta_datetime timestamp not null default current_timestamp,
PRIMARY KEY (gta_id_attempt)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-19 18:03:37
|
Revision: 241
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=241&view=rev
Author: michieltcs
Date: 2011-11-19 18:03:30 +0000 (Sat, 19 Nov 2011)
Log Message:
-----------
Add default
Modified Paths:
--------------
trunk/library/configs/db/tables/gems__token_attempts.10.sql
Modified: trunk/library/configs/db/tables/gems__token_attempts.10.sql
===================================================================
--- trunk/library/configs/db/tables/gems__token_attempts.10.sql 2011-11-19 18:01:07 UTC (rev 240)
+++ trunk/library/configs/db/tables/gems__token_attempts.10.sql 2011-11-19 18:03:30 UTC (rev 241)
@@ -3,7 +3,7 @@
gta_id_attempt bigint unsigned not null auto_increment,
gta_id_token varchar(9) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' not null,
gta_ip_address int(11) unsigned not null,
- gta_datetime timestamp not null,
+ gta_datetime timestamp not null default current_timestamp,
PRIMARY KEY (gta_id_attempt)
)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-19 18:01:13
|
Revision: 240
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=240&view=rev
Author: michieltcs
Date: 2011-11-19 18:01:07 +0000 (Sat, 19 Nov 2011)
Log Message:
-----------
Fix typo
Modified Paths:
--------------
trunk/library/classes/Gems/Auth.php
trunk/library/configs/db/patches.sql
trunk/library/configs/db/tables/gems__user_login_attempts.10.sql
Modified: trunk/library/classes/Gems/Auth.php
===================================================================
--- trunk/library/classes/Gems/Auth.php 2011-11-19 17:59:24 UTC (rev 239)
+++ trunk/library/classes/Gems/Auth.php 2011-11-19 18:01:07 UTC (rev 240)
@@ -110,7 +110,7 @@
try {
$login_name = $formValues['userlogin'];
$organization = $formValues['organization'];
- $sql = "SELECT gula_failed_logins, gula_last_failed FROM gems__user_login_attemps WHERE gula_login = ? AND gula_id_organization = ?";
+ $sql = "SELECT gula_failed_logins, gula_last_failed FROM gems__user_login_attempts WHERE gula_login = ? AND gula_id_organization = ?";
$values = $this->db->fetchRow($sql, array($login_name, $organization));
if (! $values) {
@@ -168,11 +168,11 @@
try {
if (isset($values['gula_login'])) {
- $this->db->insert('gems__user_login_attemps', $values);
+ $this->db->insert('gems__user_login_attempts', $values);
} else {
$where = $this->db->quoteInto('gula_login = ? AND ', $login_name);
$where .= $this->db->quoteInto('gula_id_organization = ?', $organization);
- $this->db->update('gems__user_login_attemps', $values, $where);
+ $this->db->update('gems__user_login_attempts', $values, $where);
}
} catch (Zend_Db_Exception $e) {
// Fall through as this does not work if the database upgrade did not run
Modified: trunk/library/configs/db/patches.sql
===================================================================
--- trunk/library/configs/db/patches.sql 2011-11-19 17:59:24 UTC (rev 239)
+++ trunk/library/configs/db/patches.sql 2011-11-19 18:01:07 UTC (rev 240)
@@ -249,7 +249,7 @@
AUTO_INCREMENT = 10001
CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
-CREATE TABLE if not exists gems__user_login_attemps (
+CREATE TABLE if not exists gems__user_login_attempts (
gula_login varchar(30) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' not null,
gula_id_organization bigint not null references gems__organizations (gor_id_organization),
Modified: trunk/library/configs/db/tables/gems__user_login_attempts.10.sql
===================================================================
--- trunk/library/configs/db/tables/gems__user_login_attempts.10.sql 2011-11-19 17:59:24 UTC (rev 239)
+++ trunk/library/configs/db/tables/gems__user_login_attempts.10.sql 2011-11-19 18:01:07 UTC (rev 240)
@@ -1,7 +1,7 @@
-- Table for keeping track of fail;ed login attempts
--
-CREATE TABLE if not exists gems__user_login_attemps (
+CREATE TABLE if not exists gems__user_login_attempts (
gula_login varchar(30) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' not null,
gula_id_organization bigint not null references gems__organizations (gor_id_organization),
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-19 17:59:30
|
Revision: 239
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=239&view=rev
Author: michieltcs
Date: 2011-11-19 17:59:24 +0000 (Sat, 19 Nov 2011)
Log Message:
-----------
Add table definition to store (failed) token attempts
Added Paths:
-----------
trunk/library/configs/db/tables/gems__token_attempts.10.sql
Added: trunk/library/configs/db/tables/gems__token_attempts.10.sql
===================================================================
--- trunk/library/configs/db/tables/gems__token_attempts.10.sql (rev 0)
+++ trunk/library/configs/db/tables/gems__token_attempts.10.sql 2011-11-19 17:59:24 UTC (rev 239)
@@ -0,0 +1,13 @@
+
+CREATE TABLE if not exists gems__token_attempts (
+ gta_id_attempt bigint unsigned not null auto_increment,
+ gta_id_token varchar(9) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' not null,
+ gta_ip_address int(11) unsigned not null,
+ gta_datetime timestamp not null,
+
+ PRIMARY KEY (gta_id_attempt)
+ )
+ ENGINE=InnoDB
+ AUTO_INCREMENT = 10000
+ CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-18 17:08:35
|
Revision: 238
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=238&view=rev
Author: matijsdejong
Date: 2011-11-18 17:08:28 +0000 (Fri, 18 Nov 2011)
Log Message:
-----------
Organization code is now used
FIrst version of PasswordChecker.php, not yet integrated with working code.
Modified Paths:
--------------
trunk/library/classes/Gems/Default/OrganizationAction.php
trunk/library/classes/Gems/Project/ProjectSettings.php
trunk/library/classes/Gems/User/Organization.php
trunk/library/classes/Gems/User/User.php
trunk/library/classes/Gems/User/UserDefinitionAbstract.php
trunk/library/classes/Gems/User/UserLoader.php
Added Paths:
-----------
trunk/library/classes/Gems/User/PasswordChecker.php
Modified: trunk/library/classes/Gems/Default/OrganizationAction.php
===================================================================
--- trunk/library/classes/Gems/Default/OrganizationAction.php 2011-11-18 15:11:59 UTC (rev 237)
+++ trunk/library/classes/Gems/Default/OrganizationAction.php 2011-11-18 17:08:28 UTC (rev 238)
@@ -159,6 +159,7 @@
$model->set('gor_name', 'description', 'ENGLISH please! Use translation file to translate.');
$model->set('gor_url', 'description', 'ENGLISH link preferred. Use translation file to translate.');
$model->set('gor_task', 'description', 'ENGLISH please! Use translation file to translate.');
+ $model->set('gor_code', 'label', $this->_('Code name'), 'size', 10, 'description', $this->_('Only for programmers.'));
}
Gems_Model::setChangeFieldsByPrefix($model, 'gor');
Modified: trunk/library/classes/Gems/Project/ProjectSettings.php
===================================================================
--- trunk/library/classes/Gems/Project/ProjectSettings.php 2011-11-18 15:11:59 UTC (rev 237)
+++ trunk/library/classes/Gems/Project/ProjectSettings.php 2011-11-18 17:08:28 UTC (rev 238)
@@ -91,6 +91,20 @@
$this->checkRequiredValues();
}
+ protected function _getPasswordRules(array $current, array $keys, array &$rules)
+ {
+ foreach ($current as $key => $value) {
+ if (is_array($value)) {
+ // Only act when this is in the set of key values
+ if (isset($keys[strtolower($key)])) {
+ $this->_getPasswordRules($value, $keys, $rules);
+ }
+ } else {
+ $rules[$key] = $value;
+ }
+ }
+ }
+
/**
* This function checks for the required project settings.
*
@@ -181,6 +195,26 @@
}
/**
+ *
+ * @param string $userDefinition
+ * @param string $role
+ * @return array
+ */
+ public function getPasswordRules($userDefinition, $role)
+ {
+ $args = MUtil_Ra::flatten(func_get_args());
+ $args = array_change_key_case(array_flip(array_filter($args)));
+ //MUtil_Echo::track($args);
+
+ $rules = array();
+ if (isset($this->passwords) && is_array($this->passwords)) {
+ $this->_getPasswordRules($this->passwords, $args, $rules);
+ }
+
+ return $rules;
+ }
+
+ /**
* Returns the super admin name, if any
*
* @return string
Modified: trunk/library/classes/Gems/User/Organization.php
===================================================================
--- trunk/library/classes/Gems/User/Organization.php 2011-11-18 15:11:59 UTC (rev 237)
+++ trunk/library/classes/Gems/User/Organization.php 2011-11-18 17:08:28 UTC (rev 238)
@@ -154,6 +154,15 @@
return is_array($this->_organizationData) && parent::checkRegistryRequestsAnswers();
}
+ /**
+ * Get the style attribute.
+ *
+ * @return string
+ */
+ public function getCode()
+ {
+ return $this->_organizationData['gor_code'];
+ }
/**
* Get the style attribute.
Added: trunk/library/classes/Gems/User/PasswordChecker.php
===================================================================
--- trunk/library/classes/Gems/User/PasswordChecker.php (rev 0)
+++ trunk/library/classes/Gems/User/PasswordChecker.php 2011-11-18 17:08:28 UTC (rev 238)
@@ -0,0 +1,225 @@
+<?php
+
+/**
+ * Copyright (c) 2011, Erasmus MC
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of Erasmus MC nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * @package Gems
+ * @subpackage User
+ * @author Matijs de Jong <mj...@ma...>
+ * @copyright Copyright (c) 2011 Erasmus MC
+ * @license New BSD License
+ * @version $Id: Sample.php 203 2011-07-07 12:51:32Z matijs $
+ */
+
+/**
+ *
+ *
+ * @package Gems
+ * @subpackage User
+ * @copyright Copyright (c) 2011 Erasmus MC
+ * @license New BSD License
+ * @since Class available since version 1.5
+ */
+class Gems_User_PasswordChecker extends MUtil_Registry_TargetAbstract
+{
+ /**
+ *
+ * @var array
+ */
+ protected $_errors = array();
+
+ /**
+ *
+ * @var Gems_Project_ProjectSettings
+ */
+ protected $project;
+
+ /**
+ *
+ * @var Zend_Translate
+ */
+ protected $translate;
+
+ /**
+ *
+ * @var Gems_User_User $user
+ */
+ protected $user;
+
+ /**
+ *
+ * @param type $errorMsg
+ */
+ protected function _addError($errorMsg)
+ {
+ $this->_errors[] = $errorMsg;
+ }
+
+
+ /**
+ * Test the password for minimum number of upper case characters.
+ *
+ * @param mixed $parameter
+ * @param string $password
+ */
+ protected function capsCount($parameter, $password)
+ {
+ $len = intval($parameter);
+ $results = array();
+ if (preg_match_all('/[A-Z]/', $password, $results) < $len) {
+ $this->_addError(sprintf(
+ $this->translate->plural('A password should contain at least one uppercase character.', 'A password should contain at least %d uppercase characters.', $len),
+ $len));
+ }
+ }
+
+ /**
+ * Test the password for minimum number of lower case characters.
+ *
+ * @param mixed $parameter
+ * @param string $password
+ */
+ protected function lowerCount($parameter, $password)
+ {
+ $len = intval($parameter);
+ $results = array();
+ if (preg_match_all('/[a-z]/', $password, $results) < $len) {
+ $this->_addError(sprintf(
+ $this->translate->plural('A password should contain at least one lowercase character.', 'A password should contain at least %d lowercase characters.', $len),
+ $len));
+ }
+ }
+
+ /**
+ * Test the password for minimum length.
+ *
+ * @param mixed $parameter
+ * @param string $password
+ */
+ protected function minLength($parameter, $password)
+ {
+ $len = intval($parameter);
+ if (strlen($password) < $len) {
+ $this->_addError(sprintf($this->translate->_('A password should be at least %d characters long.'), $len));
+ }
+ }
+
+ /**
+ * Test the password for minimum number non letter characters.
+ *
+ * @param mixed $parameter
+ * @param string $password
+ */
+ protected function notAlphaCount($parameter, $password)
+ {
+ $len = intval($parameter);
+ $results = array();
+ $count = preg_match_all('/[A-Za-z]/', $password, $results);
+ if (strlen($password) - $count < $len) {
+ $this->_addError(sprintf(
+ $this->translate->plural('A password should contain at least one not alphabetic character.', 'A password should contain at least %d not alphabetic characters.', $len),
+ $len));
+ }
+ }
+
+ /**
+ * Test the password for minimum number not alphanumeric characters.
+ *
+ * @param mixed $parameter
+ * @param string $password
+ */
+ protected function notAlphaNumCount($parameter, $password)
+ {
+ $len = intval($parameter);
+ $results = array();
+ $count = preg_match_all('/[A-Za-z]/', $password, $results);
+ if (strlen($password) - $count < $len) {
+ $this->_addError(sprintf(
+ $this->translate->plural('A password should contain at least one not alphanumeric character.', 'A password should contain at least %d not alphanumeric characters.', $len),
+ $len));
+ }
+ }
+
+ /**
+ * The password should not contain the name of the user or the login name.
+ *
+ * @param mixed $parameter
+ * @param string $password
+ */
+ protected function notTheName($parameter, $password)
+ {
+ $on = $parameter != 0;
+ if ($on) {
+ $lpwd = strtolower($password);
+
+ if (false !== strpos($lpwd, strtolower($this->user->getLoginName()))) {
+ $this->_addError($this->translate->_('A password should not contain the login name.'));
+ }
+ }
+ }
+
+ /**
+ * Test the password for minimum number of numeric characters.
+ *
+ * @param mixed $parameter
+ * @param string $password
+ */
+ protected function numCount($parameter, $password)
+ {
+ $len = intval($parameter);
+ $results = array();
+ if (preg_match_all('/[0-9]/', $password, $results) < $len) {
+ $this->_addError(sprintf(
+ $this->translate->plural('A password should contain at least one number.', 'A password should contain at least %d numbers.', $len),
+ $len));
+ }
+ }
+
+ /**
+ * Check for password weakness.
+ *
+ * @param Gems_User_User $user The user for e.g. name checks
+ * @param string $password
+ * @return mixed String or array of strings containing warning messages
+ */
+ public function reportPasswordWeakness(Gems_User_User $user, $password)
+ {
+ $this->_errors = array();
+ $this->user = $user;
+
+ $rules = $this->project->getPasswordRules($user->getOrganizationCode(), $user->getRoles());
+
+ // MUtil_Echo::track($rules);
+ foreach ($rules as $rule => $parameter) {
+ if (method_exists($this, $rule)) {
+ $this->$rule($parameter, $password);
+ }
+ }
+
+ return $this->_errors;
+ }
+}
Modified: trunk/library/classes/Gems/User/User.php
===================================================================
--- trunk/library/classes/Gems/User/User.php 2011-11-18 15:11:59 UTC (rev 237)
+++ trunk/library/classes/Gems/User/User.php 2011-11-18 17:08:28 UTC (rev 238)
@@ -60,6 +60,12 @@
/**
*
+ * @var MUtil_Acl
+ */
+ protected $acl;
+
+ /**
+ *
* @var Gems_User_UserDefinitionInterface
*/
protected $definition;
@@ -202,7 +208,7 @@
$authResult = $auth->authenticate($adapter, $formValues);
$this->_authResult = $authResult;
-
+
return $authResult;
}
@@ -349,6 +355,18 @@
}
/**
+ * Gets the (optional) organization code.
+ *
+ * @return string
+ */
+ public function getOrganizationCode()
+ {
+ $organizationId = $this->getOrganizationId();
+
+ return $this->userLoader->getOrganization($organizationId)->getCode();
+ }
+
+ /**
* Return a password reset key
*
* @return string
@@ -369,6 +387,16 @@
}
/**
+ * Returns the current user role.
+ *
+ * @return string
+ */
+ public function getRoles()
+ {
+ return $this->acl->getRoleAndParents($this->getRole());
+ }
+
+ /**
* Returns the user id, that identifies this user within this installation.
*
* One user id might be connected to multiple logins for multiple organizations.
Modified: trunk/library/classes/Gems/User/UserDefinitionAbstract.php
===================================================================
--- trunk/library/classes/Gems/User/UserDefinitionAbstract.php 2011-11-18 15:11:59 UTC (rev 237)
+++ trunk/library/classes/Gems/User/UserDefinitionAbstract.php 2011-11-18 17:08:28 UTC (rev 238)
@@ -111,17 +111,6 @@
}
/**
- * Check for password weakness.
- *
- * @param string $password
- * @return mixed String or array of strings containing warning messages
- */
- public function isPasswordWeak($password)
- {
-
- }
-
- /**
* Set the password, if allowed for this user type.
*
* @param Gems_User_User $user The user whose password to change
Modified: trunk/library/classes/Gems/User/UserLoader.php
===================================================================
--- trunk/library/classes/Gems/User/UserLoader.php 2011-11-18 15:11:59 UTC (rev 237)
+++ trunk/library/classes/Gems/User/UserLoader.php 2011-11-18 17:08:28 UTC (rev 238)
@@ -277,6 +277,20 @@
}
/**
+ * Check for password weakness.
+ *
+ * @param Gems_User_User $user The user for e.g. name checks
+ * @param string $password
+ * @return mixed String or array of strings containing warning messages
+ */
+ public function reportPasswordWeakness(Gems_User_User $user, $password)
+ {
+ $checker = $this->_getClass('passwordChecker');
+
+ return $checker->reportPasswordWeakness($user, $password);
+ }
+
+ /**
* Sets a new user as the current user.
*
* @param Gems_User_User $user
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-18 15:12:05
|
Revision: 237
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=237&view=rev
Author: michieltcs
Date: 2011-11-18 15:11:59 +0000 (Fri, 18 Nov 2011)
Log Message:
-----------
Refs #453 - set default session timeout to 30 minutes
Modified Paths:
--------------
trunk/library/classes/GemsEscort.php
Modified: trunk/library/classes/GemsEscort.php
===================================================================
--- trunk/library/classes/GemsEscort.php 2011-11-18 14:18:45 UTC (rev 236)
+++ trunk/library/classes/GemsEscort.php 2011-11-18 15:11:59 UTC (rev 237)
@@ -58,6 +58,14 @@
private $_copyDestinations;
private $_startFirebird;
+
+ /**
+ * Lifetime of the session (determines the expiration of the session cookie(s))
+ * Defaults to 1800 seconds = 30 minutes, you override this in your own
+ * Escort class
+ * @var int
+ */
+ protected $_sessionLifetime = 1800;
/**
* The menu variable
@@ -89,6 +97,9 @@
$firebug = $application->getOption('firebug');
$this->_startFirebird = $firebug['log'];
+
+ // expire the session after 30 minutes
+ Zend_Session::rememberMe($this->_sessionLifetime);
$sessionOptions['name'] = GEMS_PROJECT_NAME_UC . 'SESSID';
$sessionOptions['cookie_path'] = strtr(dirname($_SERVER['SCRIPT_NAME']), '\\', '/');
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-18 14:18:51
|
Revision: 236
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=236&view=rev
Author: mennodekker
Date: 2011-11-18 14:18:45 +0000 (Fri, 18 Nov 2011)
Log Message:
-----------
Fix for problem with subforms and ->getValues()
Modified Paths:
--------------
trunk/library/classes/Gems/TabForm.php
Modified: trunk/library/classes/Gems/TabForm.php
===================================================================
--- trunk/library/classes/Gems/TabForm.php 2011-11-18 13:24:26 UTC (rev 235)
+++ trunk/library/classes/Gems/TabForm.php 2011-11-18 14:18:45 UTC (rev 236)
@@ -329,4 +329,25 @@
return $form;
}
+
+ /**
+ * Retrieve all form element values
+ *
+ * Fix for ZF error where subform values will be pushed into an array with key: formname
+ * for compatibility both are now in the result array
+ *
+ * @param bool $suppressArrayNotation
+ * @return array
+ */
+ public function getValues($suppressArrayNotation = false)
+ {
+ $values = parent::getValues($suppressArrayNotation);
+
+ foreach ($this->getSubForms() as $key => $subForm) {
+ $values[$key];
+ $values = $this->_array_replace_recursive($values, $values[$key]);
+ }
+
+ return $values;
+ }
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-18 13:24:32
|
Revision: 235
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=235&view=rev
Author: mennodekker
Date: 2011-11-18 13:24:26 +0000 (Fri, 18 Nov 2011)
Log Message:
-----------
Fixed tabsubform to allow ->h4('title') calls for backward compatibility
Modified Paths:
--------------
trunk/library/classes/Gems/Form/TabSubForm.php
Modified: trunk/library/classes/Gems/Form/TabSubForm.php
===================================================================
--- trunk/library/classes/Gems/Form/TabSubForm.php 2011-11-18 11:26:00 UTC (rev 234)
+++ trunk/library/classes/Gems/Form/TabSubForm.php 2011-11-18 13:24:26 UTC (rev 235)
@@ -35,7 +35,39 @@
* @package Gems
* @subpackage Form
*/
-class Gems_Form_TabSubForm extends Gems_Form_TableForm {
+class Gems_Form_TabSubForm extends Gems_Form_TableForm
+{
+ /**
+ * For backward compatibility, allow MUtil_Html calls to set or append to the title
+ *
+ * @param type $method
+ * @param type $args
+ * @return Gems_Form_TabSubForm
+ */
+ public function __call($method, $args)
+ {
+ if ('render' == substr($method, 0, 6)) {
+ return parent::__call($method, $args);
+ }
+
+ $elem = MUtil_Html::createArray($method, $args);
+
+ $value = $this->getAttrib('title');
+
+ $value .= $elem->render($this->getView());
+
+ $this->setAttrib('title', $value);
+
+ //As the decorator might have been added already, update it also
+ $decorator = $this->getDecorator('TabPane');
+ $options = $decorator->getOption('jQueryParams');
+
+ $options['title'] = strip_tags($value);
+
+ $decorator->setOption('jQueryParams', $options);
+
+ return $this;
+ }
/**
* Load default decorators
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-18 11:26:06
|
Revision: 234
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=234&view=rev
Author: matijsdejong
Date: 2011-11-18 11:26:00 +0000 (Fri, 18 Nov 2011)
Log Message:
-----------
Bug in handling whenNew items.
Made code more readable.
Modified Paths:
--------------
trunk/library/classes/Gems/Auth.php
trunk/library/classes/MUtil/Model/ModelAbstract.php
Modified: trunk/library/classes/Gems/Auth.php
===================================================================
--- trunk/library/classes/Gems/Auth.php 2011-11-18 09:34:55 UTC (rev 233)
+++ trunk/library/classes/Gems/Auth.php 2011-11-18 11:26:00 UTC (rev 234)
@@ -93,7 +93,8 @@
private function _error($code, $value1 = null, $value2 = null)
{
$messages = func_get_args();
- array_splice($messages, 0, 1, $this->_messageTemplates[$code]);
+ // array_splice($messages, 0, 1, $this->_messageTemplates[$code]);
+ $messages[0] = $this->_messageTemplates[$code];
return new Zend_Auth_Result($code, null, (array) $messages);
}
Modified: trunk/library/classes/MUtil/Model/ModelAbstract.php
===================================================================
--- trunk/library/classes/MUtil/Model/ModelAbstract.php 2011-11-18 09:34:55 UTC (rev 233)
+++ trunk/library/classes/MUtil/Model/ModelAbstract.php 2011-11-18 11:26:00 UTC (rev 234)
@@ -660,11 +660,11 @@
{
if ($call = $this->get($name, self::SAVE_TRANSFORMER)) {
- if (is_callable($call)) {
- $value = call_user_func($call, $value, $new, $name, $context);
- } else {
- $value = $call;
- }
+ if (is_callable($call)) {
+ $value = call_user_func($call, $value, $new, $name, $context);
+ } else {
+ $value = $call;
+ }
}
return $value;
@@ -812,7 +812,7 @@
if ($test = $this->get($name, self::SAVE_WHEN_TEST)) {
if (is_callable($test)) {
- return call_user_func($test, $name, $value, $new);
+ return call_user_func($test, $value, $new, $name, $context);
}
return $test;
@@ -1263,7 +1263,7 @@
public function setSaveWhenNew($name)
{
$this->setAutoSave($name);
- return $this->setSaveWhen($name, array(__CLASS__, 'whenNotNew'));
+ return $this->setSaveWhen($name, array(__CLASS__, 'whenNew'));
}
/**
@@ -1318,9 +1318,9 @@
* @param array $context Optional, the other values being saved
* @return boolean
*/
- public static function whenNotNew($value, $isNew = false, $name = null, array $context = array())
+ public static function whenNew($value, $isNew = false, $name = null, array $context = array())
{
- return $new;
+ return $isNew;
}
/**
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-18 09:35:01
|
Revision: 233
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=233&view=rev
Author: mennodekker
Date: 2011-11-18 09:34:55 +0000 (Fri, 18 Nov 2011)
Log Message:
-----------
Minor improvement for file cache
Invalidate cache when patches have been executed
Modified Paths:
--------------
trunk/library/classes/Gems/Default/DatabaseAction.php
trunk/library/classes/Gems/Upgrades.php
trunk/library/classes/Gems/UpgradesAbstract.php
trunk/library/classes/GemsEscort.php
Modified: trunk/library/classes/Gems/Default/DatabaseAction.php
===================================================================
--- trunk/library/classes/Gems/Default/DatabaseAction.php 2011-11-18 09:11:12 UTC (rev 232)
+++ trunk/library/classes/Gems/Default/DatabaseAction.php 2011-11-18 09:34:55 UTC (rev 233)
@@ -352,6 +352,14 @@
$form->getElement('db_level')->setValue($data['db_level']);
$this->addMessage(sprintf($this->_('%d patch(es) executed.'), $changed));
+
+ //As a lot of cache depends on the database, it is best to clean the cache now
+ //since import tables might have changed
+ $cache = $this->escort->cache;
+ if ($cache instanceof Zend_Cache_Core) {
+ $cache->clean();
+ $this->addMessage($this->_('Cache cleaned'));
+ }
}
$tableSql = sprintf(
Modified: trunk/library/classes/Gems/Upgrades.php
===================================================================
--- trunk/library/classes/Gems/Upgrades.php 2011-11-18 09:11:12 UTC (rev 232)
+++ trunk/library/classes/Gems/Upgrades.php 2011-11-18 09:34:55 UTC (rev 233)
@@ -66,6 +66,9 @@
public function Upgrade143to15()
{
$this->patcher->executePatch(42);
+
+ $this->invalidateCache();
+
return true;
}
}
\ No newline at end of file
Modified: trunk/library/classes/Gems/UpgradesAbstract.php
===================================================================
--- trunk/library/classes/Gems/UpgradesAbstract.php 2011-11-18 09:11:12 UTC (rev 232)
+++ trunk/library/classes/Gems/UpgradesAbstract.php 2011-11-18 09:34:55 UTC (rev 233)
@@ -326,6 +326,19 @@
}
/**
+ * Convenience method for cleaning the cache as this is often needed during
+ * upgrades
+ */
+ public function invalidateCache()
+ {
+ $cache = $this->escort->cache;
+ if ($cache instanceof Zend_Cache_Core) {
+ $cache->clean();
+ $this->addMessage($this->_('Cache cleaned'));
+ }
+ }
+
+ /**
* Register an upgrade in the stack, it can be executed by using $this->execute
*
* Index and context are optional and will be generated when omitted. For the
Modified: trunk/library/classes/GemsEscort.php
===================================================================
--- trunk/library/classes/GemsEscort.php 2011-11-18 09:11:12 UTC (rev 232)
+++ trunk/library/classes/GemsEscort.php 2011-11-18 09:34:55 UTC (rev 233)
@@ -169,8 +169,14 @@
}
if ($exists) {
+ /**
+ * automatic_cleaning_factor disables automatic cleaning of the cache and should get rid of
+ * random delays on heavy traffic sites with File cache. Apc does
+ * not support automatic cleaning.
+ */
$cacheFrontendOptions = array('automatic_serialization' => true,
- 'cache_id_prefix' => GEMS_PROJECT_NAME . '_');
+ 'cache_id_prefix' => GEMS_PROJECT_NAME . '_',
+ 'automatic_cleaning_factor' => 0);
$cache = Zend_Cache::factory('Core', $cacheBackend, $cacheFrontendOptions, $cacheBackendOptions);
} else {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-18 09:11:19
|
Revision: 232
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=232&view=rev
Author: mennodekker
Date: 2011-11-18 09:11:12 +0000 (Fri, 18 Nov 2011)
Log Message:
-----------
Fixed #42 - Failed logins should be logged
Added extra info to the LogViewer in the detailed (show) action
Modified Paths:
--------------
trunk/library/classes/Gems/AccessLog.php
trunk/library/classes/Gems/Default/IndexAction.php
trunk/library/classes/Gems/Default/LogAction.php
trunk/library/configs/db/patches.sql
Modified: trunk/library/classes/Gems/AccessLog.php
===================================================================
--- trunk/library/classes/Gems/AccessLog.php 2011-11-17 17:19:37 UTC (rev 231)
+++ trunk/library/classes/Gems/AccessLog.php 2011-11-18 09:11:12 UTC (rev 232)
@@ -1,39 +1,39 @@
<?php
-
-/**
- * Copyright (c) 2011, Erasmus MC
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of Erasmus MC nor the
- * names of its contributors may be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
+
+/**
+ * Copyright (c) 2011, Erasmus MC
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of Erasmus MC nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
* @version $Id$
* @package Gems
* @subpackage AccessLog
* @copyright Copyright (c) 2011 Erasmus MC
* @license New BSD License
*/
-
+
/**
* Logging class to log access to certaint controller/actions
*
@@ -177,7 +177,7 @@
try {
//When project escort doesn't implement the log interface, we disable logging
if (!(GemsEscort::getInstance() instanceof Gems_Project_Log_LogRespondentAccessInterface)
- || ! isset($this->_userInfo->user_id)) {
+ || (!isset($this->_userInfo->user_id) && $force === false ) ) {
return $this;
}
@@ -191,12 +191,12 @@
$values['glua_to'] = $respondentId;
$values['glua_message'] = $message;
- $values['glua_by'] = $this->_userInfo->user_id;
- $values['glua_organization'] = $this->_userInfo->user_organization_id;
+ $values['glua_by'] = $this->_userInfo->user_id ? $this->_userInfo->user_id : 0;
+ $values['glua_organization'] = $this->_userInfo->user_organization_id ? $this->_userInfo->user_organization_id : 0;
$values['glua_action'] = $this->getActionId($action);
$values['glua_role'] = $this->_userInfo->user_role;
$values['glua_created'] = new Zend_Db_Expr('CURRENT_TIMESTAMP');
-
+
if ($request instanceof Zend_Controller_Request_Http) {
$values['glua_remote_ip'] = $request->getClientIp();
} else {
Modified: trunk/library/classes/Gems/Default/IndexAction.php
===================================================================
--- trunk/library/classes/Gems/Default/IndexAction.php 2011-11-17 17:19:37 UTC (rev 231)
+++ trunk/library/classes/Gems/Default/IndexAction.php 2011-11-18 09:11:12 UTC (rev 232)
@@ -317,8 +317,15 @@
}
return;
} else {
+ //Now present the user with an error message
$errors = $authResult->getMessages();
- $this->addMessage($errors);
+ $this->addMessage($errors);
+
+ //Also log the error to the log table
+ //when the project has logging enabled
+ $logErrors = join(' - ', $errors);
+ $log = Gems_AccessLog::getLog();
+ $log->log('loginFail', $this->getRequest(), sprintf('Failed login for : %s (%s) - %s', $formValues['userlogin'], $formValues['organization'], $logErrors), null, true);
}
}
}
Modified: trunk/library/classes/Gems/Default/LogAction.php
===================================================================
--- trunk/library/classes/Gems/Default/LogAction.php 2011-11-17 17:19:37 UTC (rev 231)
+++ trunk/library/classes/Gems/Default/LogAction.php 2011-11-18 09:11:12 UTC (rev 232)
@@ -166,6 +166,11 @@
$model->set('staff_name', 'label', $this->_('Staff'));
$model->set('respondent_name', 'label', $this->_('Respondent'));
+ if ($detailed) {
+ $model->set('glua_role', 'label', $this->_('Role'));
+ $model->set('glua_remote_ip', 'label', $this->_('IP address'));
+ }
+
return $model;
}
Modified: trunk/library/configs/db/patches.sql
===================================================================
--- trunk/library/configs/db/patches.sql 2011-11-17 17:19:37 UTC (rev 231)
+++ trunk/library/configs/db/patches.sql 2011-11-18 09:11:12 UTC (rev 232)
@@ -319,3 +319,7 @@
ALTER TABLE `gems__organizations` ADD gor_accessible_by text CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' null AFTER gor_task,
ADD gor_has_patients boolean not null default 1 AFTER gor_iso_lang,
ADD gor_add_patients boolean not null default 1 AFTER gor_has_patients;
+
+-- PATCH: Log failed logins
+INSERT INTO `zsd`.`gems__log_actions` (`glac_id_action`, `glac_name`, `glac_change`, `glac_log`, `glac_created`)
+ VALUES (NULL , 'loginFail', '0', '1', CURRENT_TIMESTAMP);
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <gem...@li...> - 2011-11-17 17:19:43
|
Revision: 231
http://gemstracker.svn.sourceforge.net/gemstracker/?rev=231&view=rev
Author: matijsdejong
Date: 2011-11-17 17:19:37 +0000 (Thu, 17 Nov 2011)
Log Message:
-----------
Added validation to Round editor
Started on password weakness check
Updated documentation on Pdf
Modified Paths:
--------------
trunk/library/classes/Gems/Pdf.php
trunk/library/classes/Gems/Tracker/Engine/TrackEngineAbstract.php
trunk/library/classes/Gems/User/UserDefinitionAbstract.php
Modified: trunk/library/classes/Gems/Pdf.php
===================================================================
--- trunk/library/classes/Gems/Pdf.php 2011-11-17 16:19:26 UTC (rev 230)
+++ trunk/library/classes/Gems/Pdf.php 2011-11-17 17:19:37 UTC (rev 231)
@@ -26,24 +26,24 @@
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * File description of Pdf
*
- * @author Matijs de Jong <mj...@ma...>
- * @since 1.1
- * @version 1.1
- * @package Gems
+ *
+ * @package Gems
* @subpackage Pdf
+ * @author Matijs de Jong <mj...@ma...>
+ * @copyright Copyright (c) 2011 Erasmus MC
+ * @license New BSD License
+ * @version $Id$
*/
/**
- * Class description of Pdf
+ * Gems standaard Pdf utility functions
*
- * @author Matijs de Jong <mj...@ma...>
- * @package Gems
+ * @package Gems
* @subpackage PDf
+ * @copyright Copyright (c) 2011 Erasmus MC
+ * @license New BSD License
+ * @since Class available since version 1.0
*/
class Gems_Pdf extends Gems_Registry_TargetAbstract
{
Modified: trunk/library/classes/Gems/Tracker/Engine/TrackEngineAbstract.php
===================================================================
--- trunk/library/classes/Gems/Tracker/Engine/TrackEngineAbstract.php 2011-11-17 16:19:26 UTC (rev 230)
+++ trunk/library/classes/Gems/Tracker/Engine/TrackEngineAbstract.php 2011-11-17 17:19:37 UTC (rev 231)
@@ -532,7 +532,7 @@
return $elements;
}
-
+
/**
* Returns an associative array of the fields in this track
*
@@ -541,13 +541,13 @@
public function getFields()
{
$this->_ensureTrackFields();
-
+
$fields = array();
-
+
foreach ($this->_trackFields as $field) {
$fields[$field['gtf_id_field']] = $field['gtf_field_name'];
}
-
+
return $fields;
}
@@ -703,7 +703,7 @@
}
$model->set('gro_id_survey', 'label', $this->_('Survey'), 'multiOptions', $this->util->getTrackData()->getAllSurveys());
- $model->set('gro_id_order', 'label', $this->_('Order'), 'default', 10);
+ $model->set('gro_id_order', 'label', $this->_('Order'), 'default', 10, 'validators[]', $model->createUniqueValidator(array('gro_id_order', 'gro_id_track')));
$model->set('gro_round_description', 'label', $this->_('Description'), 'size', '30'); //, 'minlength', 4, 'required', true);
$model->set('gro_changed_event', 'label', $this->_('After change'), 'multiOptions', $this->events->listRoundChangedEvents());
$model->set('gro_active', 'label', $this->_('Active'), 'multiOptions', $this->util->getTranslated()->getYesNo(), 'elementClass', 'checkbox');
Modified: trunk/library/classes/Gems/User/UserDefinitionAbstract.php
===================================================================
--- trunk/library/classes/Gems/User/UserDefinitionAbstract.php 2011-11-17 16:19:26 UTC (rev 230)
+++ trunk/library/classes/Gems/User/UserDefinitionAbstract.php 2011-11-17 17:19:37 UTC (rev 231)
@@ -111,6 +111,17 @@
}
/**
+ * Check for password weakness.
+ *
+ * @param string $password
+ * @return mixed String or array of strings containing warning messages
+ */
+ public function isPasswordWeak($password)
+ {
+
+ }
+
+ /**
* Set the password, if allowed for this user type.
*
* @param Gems_User_User $user The user whose password to change
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|