From a2bce7125928b75da01b5bf7bc434a04911c0de8 Mon Sep 17 00:00:00 2001 From: Harrys Date: Wed, 6 Feb 2019 11:53:09 +0400 Subject: [PATCH 01/80] PHRAS-2419_refacto_Icons_actions_under_Thumbnail --- templates/web/prod/results/record.html.twig | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/templates/web/prod/results/record.html.twig b/templates/web/prod/results/record.html.twig index 2d537dd72c..410e4d1620 100644 --- a/templates/web/prod/results/record.html.twig +++ b/templates/web/prod/results/record.html.twig @@ -53,10 +53,10 @@ {% endif %} -
+
- diff --git a/templates/web/prod/results/record.html.twig b/templates/web/prod/results/record.html.twig index 2d537dd72c..3707633998 100644 --- a/templates/web/prod/results/record.html.twig +++ b/templates/web/prod/results/record.html.twig @@ -1,5 +1,5 @@ {% import 'prod/results/macro.html.twig' as result_macro %} -{% import 'common/macros.html.twig' as macro %} +{% import 'common/macro_caption.html.twig' as macro_caption %}
From f61efe1e45da9f0169c984c4c128b161dedbf99e Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Mon, 20 May 2019 14:23:38 +0400 Subject: [PATCH 06/80] PHRAS-2589-Admin_personnalisation_logo_fix --- .../web/admin/personalisation_logo.html.twig | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/templates/web/admin/personalisation_logo.html.twig b/templates/web/admin/personalisation_logo.html.twig index b286f6fae5..58a9bb8483 100644 --- a/templates/web/admin/personalisation_logo.html.twig +++ b/templates/web/admin/personalisation_logo.html.twig @@ -5,16 +5,18 @@ {{ form_label(form.logoChoice[0]) }}
gabari + src="/assets/common/images/logo.png"/>
- {{ 'prod::setup: download gabari' | trans }} +
{{ form_widget(form.personalizeFile) }} {{ form_widget(form.fileType) }} @@ -95,7 +98,7 @@ $('#general_personalize-logo-choice_personalizeLogoInput').val(""); $('#error-text').text(errorFileType); $('#error-text').show(); - $('#help-text').hide(); + /*$('#help-text').hide();*/ $('#personalize-image-container').hide(); return false; } @@ -109,7 +112,7 @@ if (h > 41 || w > 120 ) { $('#error-text').text(errorDimension); $('#error-text').show(); - $('#help-text').hide(); + /*$('#help-text').hide();*/ $('#personalize-image-container').hide(); $('#general_personalize-logo-choice_personalizeLogoInput').val(""); return false; @@ -121,7 +124,7 @@ loadImage(file, function (img) { $('#personalize-image-container').show(); $('#error-text').hide(); - $('#help-text').hide(); + /*$('#help-text').hide();*/ $('#personalize-image-container').empty().append(img); }, { maxSize: 5242880, // 5MB @@ -150,7 +153,7 @@ $('#general_personalize-logo-choice_personalizeFile').val(false); } - console.log(data); + /* console.log(data);*/ } }); From 28151751eb9306d9cf0d06220cb8673869396c1f Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Mon, 20 May 2019 14:31:46 +0400 Subject: [PATCH 07/80] PHRAS-2589-Admin_personnalisation_logo_fix --- templates/web/admin/personalisation_logo.html.twig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/web/admin/personalisation_logo.html.twig b/templates/web/admin/personalisation_logo.html.twig index 58a9bb8483..0e895a8af7 100644 --- a/templates/web/admin/personalisation_logo.html.twig +++ b/templates/web/admin/personalisation_logo.html.twig @@ -57,7 +57,7 @@ $("#download-image-template").on('click', function (event) { event.preventDefault(); - var imageInBase64 = $('#original-image-placeholder').attr('src'); + var imageInBase64 = 'data:image/png;base64,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'; var mimeInfo = base64MimeType(imageInBase64); var ext = mimeInfo.split('/').pop(); var filename = $('#original-image-placeholder').attr('alt') + "." + ext; From f5f05276007bcfc7bd6f40315b9765b838effbc0 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Tue, 21 May 2019 10:03:27 +0400 Subject: [PATCH 08/80] PHRAS-2589-Admin-personnalisation update translation --- resources/locales/messages.de.xlf | 52 +++++++++---------- resources/locales/messages.en.xlf | 52 +++++++++---------- resources/locales/messages.fr.xlf | 52 +++++++++---------- resources/locales/messages.nl.xlf | 52 +++++++++---------- resources/locales/validators.de.xlf | 2 +- resources/locales/validators.en.xlf | 2 +- resources/locales/validators.fr.xlf | 2 +- resources/locales/validators.nl.xlf | 2 +- .../web/admin/personalisation_logo.html.twig | 10 ++-- 9 files changed, 113 insertions(+), 113 deletions(-) diff --git a/resources/locales/messages.de.xlf b/resources/locales/messages.de.xlf index 00f9ca99c3..e7d5f19c59 100644 --- a/resources/locales/messages.de.xlf +++ b/resources/locales/messages.de.xlf @@ -1,6 +1,6 @@ - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. @@ -8908,6 +8908,31 @@ Aggregateinstellungen admin/search-engine/search-engine-settings.html.twig + + admin::setup:personalisation_logo: download gabari + admin::setup:personalisation_logo: download gabari + web/admin/personalisation_logo.html.twig + + + admin::setup:personalisation_logo: error text dimension + admin::setup:personalisation_logo: error text dimension + web/admin/personalisation_logo.html.twig + + + admin::setup:personalisation_logo: error text file type + admin::setup:personalisation_logo: error text file type + web/admin/personalisation_logo.html.twig + + + admin::setup:personalisation_logo: help text + admin::setup:personalisation_logo: help text + web/admin/personalisation_logo.html.twig + + + admin::setup:personalisation_logo: select file + admin::setup:personalisation_logo: select file + web/admin/personalisation_logo.html.twig + admin::status: case A Off @@ -11267,31 +11292,6 @@ Achtung : Die ausgewählte Datenbanken Liste für die Suche wurde verändert Controller/Prod/LanguageController.php - - prod::setup: download gabari - prod::setup: download gabari - web/admin/personalisation_logo.html.twig - - - prod::setup: error text dimension - prod::setup: error text dimension - web/admin/personalisation_logo.html.twig - - - prod::setup: error text file type - prod::setup: error text file type - web/admin/personalisation_logo.html.twig - - - prod::setup: help text - prod::setup: help text - web/admin/personalisation_logo.html.twig - - - prod::setup: select file - prod::setup: select file - web/admin/personalisation_logo.html.twig - prod::thesaurusTab:candidats mögliche Begriffe diff --git a/resources/locales/messages.en.xlf b/resources/locales/messages.en.xlf index c0bfa8d4ca..f6afecf3eb 100644 --- a/resources/locales/messages.en.xlf +++ b/resources/locales/messages.en.xlf @@ -1,6 +1,6 @@ - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. @@ -8908,6 +8908,31 @@ Aggregates settings admin/search-engine/search-engine-settings.html.twig + + admin::setup:personalisation_logo: download gabari + admin::setup:personalisation_logo: download gabari + web/admin/personalisation_logo.html.twig + + + admin::setup:personalisation_logo: error text dimension + admin::setup:personalisation_logo: error text dimension + web/admin/personalisation_logo.html.twig + + + admin::setup:personalisation_logo: error text file type + admin::setup:personalisation_logo: error text file type + web/admin/personalisation_logo.html.twig + + + admin::setup:personalisation_logo: help text + admin::setup:personalisation_logo: help text + web/admin/personalisation_logo.html.twig + + + admin::setup:personalisation_logo: select file + admin::setup:personalisation_logo: select file + web/admin/personalisation_logo.html.twig + admin::status: case A Off @@ -11268,31 +11293,6 @@ See documentation for more examples https://docs.phraseanet.com Warning, list of collections to search in has been changed Controller/Prod/LanguageController.php - - prod::setup: download gabari - prod::setup: download gabari - web/admin/personalisation_logo.html.twig - - - prod::setup: error text dimension - prod::setup: error text dimension - web/admin/personalisation_logo.html.twig - - - prod::setup: error text file type - prod::setup: error text file type - web/admin/personalisation_logo.html.twig - - - prod::setup: help text - prod::setup: help text - web/admin/personalisation_logo.html.twig - - - prod::setup: select file - prod::setup: select file - web/admin/personalisation_logo.html.twig - prod::thesaurusTab:candidats Candidates diff --git a/resources/locales/messages.fr.xlf b/resources/locales/messages.fr.xlf index 5261e1de01..c714357c61 100644 --- a/resources/locales/messages.fr.xlf +++ b/resources/locales/messages.fr.xlf @@ -1,6 +1,6 @@ - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. @@ -8908,6 +8908,31 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le Réglage d'agrégation admin/search-engine/search-engine-settings.html.twig + + admin::setup:personalisation_logo: download gabari + admin::setup:personalisation_logo: download gabari + web/admin/personalisation_logo.html.twig + + + admin::setup:personalisation_logo: error text dimension + admin::setup:personalisation_logo: error text dimension + web/admin/personalisation_logo.html.twig + + + admin::setup:personalisation_logo: error text file type + admin::setup:personalisation_logo: error text file type + web/admin/personalisation_logo.html.twig + + + admin::setup:personalisation_logo: help text + admin::setup:personalisation_logo: help text + web/admin/personalisation_logo.html.twig + + + admin::setup:personalisation_logo: select file + admin::setup:personalisation_logo: select file + web/admin/personalisation_logo.html.twig + admin::status: case A Off @@ -11267,31 +11292,6 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le Attention : la liste des collections sélectionnées pour la recherche a été changée Controller/Prod/LanguageController.php - - prod::setup: download gabari - prod::setup: download gabari - web/admin/personalisation_logo.html.twig - - - prod::setup: error text dimension - prod::setup: error text dimension - web/admin/personalisation_logo.html.twig - - - prod::setup: error text file type - prod::setup: error text file type - web/admin/personalisation_logo.html.twig - - - prod::setup: help text - prod::setup: help text - web/admin/personalisation_logo.html.twig - - - prod::setup: select file - prod::setup: select file - web/admin/personalisation_logo.html.twig - prod::thesaurusTab:candidats Candidats diff --git a/resources/locales/messages.nl.xlf b/resources/locales/messages.nl.xlf index 2b08839c6b..f0fbeeb0b7 100644 --- a/resources/locales/messages.nl.xlf +++ b/resources/locales/messages.nl.xlf @@ -1,6 +1,6 @@ - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. @@ -8915,6 +8915,31 @@ admin::search-engine: general-aggregation admin/search-engine/search-engine-settings.html.twig + + admin::setup:personalisation_logo: download gabari + admin::setup:personalisation_logo: download gabari + web/admin/personalisation_logo.html.twig + + + admin::setup:personalisation_logo: error text dimension + admin::setup:personalisation_logo: error text dimension + web/admin/personalisation_logo.html.twig + + + admin::setup:personalisation_logo: error text file type + admin::setup:personalisation_logo: error text file type + web/admin/personalisation_logo.html.twig + + + admin::setup:personalisation_logo: help text + admin::setup:personalisation_logo: help text + web/admin/personalisation_logo.html.twig + + + admin::setup:personalisation_logo: select file + admin::setup:personalisation_logo: select file + web/admin/personalisation_logo.html.twig + admin::status: case A Case A @@ -11274,31 +11299,6 @@ Opgepast : de lijst met de geslecteerde databases is veranderd. Controller/Prod/LanguageController.php - - prod::setup: download gabari - prod::setup: download gabari - web/admin/personalisation_logo.html.twig - - - prod::setup: error text dimension - prod::setup: error text dimension - web/admin/personalisation_logo.html.twig - - - prod::setup: error text file type - prod::setup: error text file type - web/admin/personalisation_logo.html.twig - - - prod::setup: help text - prod::setup: help text - web/admin/personalisation_logo.html.twig - - - prod::setup: select file - prod::setup: select file - web/admin/personalisation_logo.html.twig - prod::thesaurusTab:candidats Kandidaten diff --git a/resources/locales/validators.de.xlf b/resources/locales/validators.de.xlf index f160aedb25..352466f945 100644 --- a/resources/locales/validators.de.xlf +++ b/resources/locales/validators.de.xlf @@ -1,6 +1,6 @@ - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. diff --git a/resources/locales/validators.en.xlf b/resources/locales/validators.en.xlf index 32a6d1b782..d25324b360 100644 --- a/resources/locales/validators.en.xlf +++ b/resources/locales/validators.en.xlf @@ -1,6 +1,6 @@ - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. diff --git a/resources/locales/validators.fr.xlf b/resources/locales/validators.fr.xlf index d1ab4fb190..e03b531b2f 100644 --- a/resources/locales/validators.fr.xlf +++ b/resources/locales/validators.fr.xlf @@ -1,6 +1,6 @@ - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. diff --git a/resources/locales/validators.nl.xlf b/resources/locales/validators.nl.xlf index 19cd0f01ae..b6aa595998 100644 --- a/resources/locales/validators.nl.xlf +++ b/resources/locales/validators.nl.xlf @@ -1,6 +1,6 @@ - +
The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message. diff --git a/templates/web/admin/personalisation_logo.html.twig b/templates/web/admin/personalisation_logo.html.twig index 0e895a8af7..9f1cd4daaf 100644 --- a/templates/web/admin/personalisation_logo.html.twig +++ b/templates/web/admin/personalisation_logo.html.twig @@ -13,9 +13,9 @@ {{ form_widget(form.logoChoice[1]) }} {{ form_label(form.logoChoice[1]) }}
- {{ 'prod::setup: help text' | trans }} + {{ 'admin::setup:personalisation_logo: help text' | trans }}
- {{ 'prod::setup: download gabari' | trans }} + {{ 'admin::setup:personalisation_logo: download gabari' | trans }}
{% if app['conf'].get(['registry', 'general', 'personalize-logo-choice', 'personalizeFile']) == 'true' %} @@ -28,7 +28,7 @@
{{ form_widget(form.personalizeLogoInput) }} + id="select-logo-btn">{{ 'admin::setup:personalisation_logo: select file' | trans }}
@@ -41,8 +41,8 @@ $(document).ready(function () { var fileToUpload = null; - var errorDimension = '{{ 'prod::setup: error text dimension' | trans }}'; - var errorFileType = '{{ 'prod::setup: error text file type' | trans }}'; + var errorDimension = '{{ 'admin::setup:personalisation_logo: error text dimension' | trans }}'; + var errorFileType = '{{ 'admin::setup:personalisation_logo: error text file type' | trans }}'; $('#help-text').show(); From e51daa0a04fa1f2b8bf1a8cb6f7b6bf60f30d888 Mon Sep 17 00:00:00 2001 From: Nicolas Maillat Date: Tue, 21 May 2019 10:09:09 +0200 Subject: [PATCH 09/80] Translated using Weblate (French) Currently translated at 92.7% (2223 of 2398 strings) --- resources/locales/messages.fr.xlf | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/resources/locales/messages.fr.xlf b/resources/locales/messages.fr.xlf index c714357c61..4d76c4d2c1 100644 --- a/resources/locales/messages.fr.xlf +++ b/resources/locales/messages.fr.xlf @@ -1,4 +1,4 @@ - +
@@ -7,8 +7,8 @@
- - + + Form/Login/PhraseaAuthenticationForm.php Form/Configuration/EmailFormType.php @@ -579,7 +579,7 @@ Access to the above bases constitutes acceptance of the following Terms of Use (TOU). - L'accès aux ressources de cette base implique l'acceptation des Conditions Générales d'Utilisation suivantes: + L'accès aux ressources de cette base implique l'acceptation des Conditions générales d'utilisation suivantes : web/account/access.html.twig @@ -716,9 +716,9 @@ Nouveaux Chapitre Controller/Prod/LanguageController.php - + Add this url - Add this url + Ajouter cette URL prod/upload/upload.html.twig @@ -4067,9 +4067,9 @@ Luminance web/common/technical_datas.html.twig - + Lightbox - Lightbox + Lightbox prod/WorkZone/Macros.html.twig prod/WorkZone/Macros.html.twig @@ -4411,9 +4411,9 @@ Multivalué admin/fields/templates.html.twig - + My application - Mon application + Mon application web/account/account.html.twig From 01758cb26dfe6dfe2324467aaf01e82012e1a62e Mon Sep 17 00:00:00 2001 From: Jennifer Date: Tue, 21 May 2019 10:23:17 +0200 Subject: [PATCH 10/80] Translated using Weblate (English) Currently translated at 96.4% (2313 of 2398 strings) --- resources/locales/messages.en.xlf | 178 +++++++++++++++--------------- 1 file changed, 89 insertions(+), 89 deletions(-) diff --git a/resources/locales/messages.en.xlf b/resources/locales/messages.en.xlf index f6afecf3eb..86b93aa247 100644 --- a/resources/locales/messages.en.xlf +++ b/resources/locales/messages.en.xlf @@ -1,4 +1,4 @@ - +
@@ -7,8 +7,8 @@
- - + + Form/Login/PhraseaAuthenticationForm.php Form/Configuration/EmailFormType.php @@ -717,9 +717,9 @@ Add new chapter Controller/Prod/LanguageController.php
- + Add this url - Add this url + Add this url prod/upload/upload.html.twig @@ -860,9 +860,9 @@ actions/Feedback/list.html.twig task-manager/task-editor/subdefs.html.twig - + All these conditions - All these conditions + All these conditions web/prod/index.html.twig @@ -1272,9 +1272,9 @@ Audio Samplerate SearchEngine/Elastic/ElasticsearchOptions.php - + Audio channel - Audio channel + Audio channel Media/Subdef/Audio.php @@ -1953,9 +1953,9 @@ Check Online for required list of components and web server setup web/setup/step2.html.twig - + Contains - Contains + Contains web/prod/index.html.twig @@ -2261,9 +2261,9 @@ prod/Baskets/Reorder.html.twig prod/Story/Reorder.html.twig - + Date(s) from field(s) - Date(s) from field(s) + Date(s) from field(s) web/prod/index.html.twig @@ -2366,9 +2366,9 @@ prod/upload/lazaret.html.twig admin/task-manager/templates.html.twig - + Delete account successfull - Account deleted successfully + Account deleted successfully Notification/Mail/MailSuccessAccountDelete.php @@ -2795,17 +2795,17 @@ E-mail test result: %email_status% web/admin/dashboard.html.twig - + Email:deletion:request:message Hello %civility% %firstName% %lastName%. We have received an account deletion request for your account on %urlInstance%, please confirm this deletion by clicking on the link below. If you are not at the origin of this request, please change your password as soon as possible %resetPassword% Link is valid for one hour. - Hello %civility% %firstName% %lastName%. We have received an account deletion request for your account on %urlInstance%. Please confirm this deletion by clicking on the link below. If you are not at the origin of this request, please change your password as soon as possible %resetPassword%. Link is valid for one hour. + Hello %civility% %firstName% %lastName%. We have received an account deletion request for your account on %urlInstance%. Please confirm this deletion by clicking on the link below. If you are not at the origin of this request, please change your password as soon as possible %resetPassword%. Link is valid for one hour. Notification/Mail/MailRequestAccountDelete.php - + Email:deletion:request:subject Delete account confirmation - Account deletion confirmation + Account deletion confirmation Notification/Mail/MailRequestAccountDelete.php @@ -2998,9 +2998,9 @@ Succesfully delivered Phrasea/Controller/LightboxController.php - + Equals - Equals + Equals web/prod/index.html.twig @@ -3141,9 +3141,9 @@ Bridge/Dailymotion/video_deleteelement.html.twig Bridge/Youtube/video_deleteelement.html.twig - + Ex : Paris, bleu, montagne - Ex : Paris, blue, mountain + Ex : Paris, blue, mountain web/prod/index.html.twig @@ -3429,9 +3429,9 @@ Creates a flexpaper flash file Media/Subdef/FlexPaper.php - + Generates a pdf file - Generates a pdf file + Generates a pdf file Media/Subdef/Pdf.php @@ -4070,9 +4070,9 @@ Light value web/common/technical_datas.html.twig - + Lightbox - Lightbox + Lightbox prod/WorkZone/Macros.html.twig prod/WorkZone/Macros.html.twig @@ -4414,9 +4414,9 @@ Multivalued admin/fields/templates.html.twig - + My application - My application + My application web/account/account.html.twig @@ -4587,9 +4587,9 @@ WorkZone/Browser/Results.html.twig WorkZone/Browser/Results.html.twig - + No thesaurus concept query - No thesaurus search + No thesaurus search prod/results/infos.html.twig @@ -4771,9 +4771,9 @@ One frame forward Controller/Prod/LanguageController.php - + One of these conditions - One of these conditions + One of these conditions web/prod/index.html.twig @@ -4791,9 +4791,9 @@ Open the URL in a new window Core/Provider/TwigServiceProvider.php - + Or - Or + Or prod/upload/upload.html.twig @@ -5968,9 +5968,9 @@ See feedback results. Notification/Mail/MailInfoValidationDone.php - + Select a field - Select a field + Select a field web/prod/index.html.twig @@ -6003,9 +6003,9 @@ admin/statusbit/edit.html.twig admin/statusbit/edit.html.twig - + Selected base(s) - Selected database(s) : + Selected database(s) : web/prod/index.html.twig @@ -6036,9 +6036,9 @@ Send to Facebook prod/Share/record.html.twig - + Send to Linkedin - Send to Linkedin + Send to LinkedIn prod/Share/record.html.twig prod/Share/record.html.twig prod/Share/record.html.twig @@ -6854,9 +6854,9 @@ Token web/developers/application.html.twig - + Token not found - Token not found + Token not found Controller/Root/AccountController.php @@ -7636,9 +7636,9 @@ Write Metadatas web/admin/subdefs.html.twig - + YYYY-MM-DD - YYYY-MM-DD + YYYY-MM-DD web/report/form_date_and_base.html.twig web/report/form_date_and_base.html.twig @@ -7940,9 +7940,9 @@ Media and their subviews (such as previews, thumbnails...) will be stored in the following directories: web/setup/step2.html.twig - + Your phraseanet account on %urlInstance% has been deleted! - Your phraseanet account on %urlInstance% has been deleted! + Your phraseanet account on %urlInstance% has been deleted! Notification/Mail/MailSuccessAccountDelete.php @@ -9646,9 +9646,9 @@ Subview Name web/admin/subdefs.html.twig - + created_on - created_on + created on web/prod/index.html.twig @@ -9797,9 +9797,9 @@ web/common/dialog_export.html.twig web/common/dialog_export.html.twig - + export::export-email: email-invalid - The email address format seems incorrect + The email address format seems incorrect web/common/dialog_export.html.twig @@ -10003,19 +10003,19 @@ See documentation for more examples https://docs.phraseanet.com Facets Preferences web/prod/index.html.twig - + index::advance_search: facet-order - Facets order + Facets order web/prod/index.html.twig - + index::advance_search: facet-tech-order - default order + Default order web/prod/index.html.twig - + index::advance_search: facet-values-order - facets value order + Facets values order web/prod/index.html.twig @@ -10023,9 +10023,9 @@ See documentation for more examples https://docs.phraseanet.com Hidden Facets web/prod/index.html.twig - + index::advance_search: order-by-hits - index::advance_search: order-by-hits + Order by hits web/prod/index.html.twig @@ -10809,34 +10809,34 @@ See documentation for more examples https://docs.phraseanet.com The account has been deleted Controller/Root/AccountController.php - + > ]]> - Your rights do not allow to perform this action. Your account can only be deleted via the Administration interface. + Your rights do not allow to perform this action. Your account can only be deleted via the Administration interface. web/account/account.html.twig - + phraseanet::account: A confirmation e-mail has been sent. Please follow the instructions contained to continue account deletion - A confirmation email has been sent. Please follow the instructions to delete the account. + A confirmation email has been sent. Please follow the instructions to delete the account. Controller/Root/AccountController.php - + phraseanet::account: Are you sure you want to delete your account? - Are you sure you wish to delete your account? + Are you sure you wish to delete your account? web/account/account.html.twig - + phraseanet::account: Delete my account - Delete my account + Delete my account web/account/account.html.twig - + phraseanet::account: I am agree to delete my account - I agree to delete my account + I agree to delete my account web/account/account.html.twig - + phraseanet::account: I am agree to delete my account, need confirmation on mail - I agree to delete my account and I need a confirmation by email + I agree to delete my account and I need a confirmation by email web/account/account.html.twig @@ -10844,9 +10844,9 @@ See documentation for more examples https://docs.phraseanet.com List of data to be deleted web/account/account.html.twig - + phraseanet::account: My phraseanet account - My Phraseanet account + My Phraseanet account web/account/account.html.twig @@ -11148,9 +11148,9 @@ See documentation for more examples https://docs.phraseanet.com You do not have the required permissions on selected documents Controller/Prod/MoveCollectionController.php - + prod::advancesearch:tooltips:datefield_restriction_explanation - Narrow the search results to dates + Narrow the search results to dates web/prod/index.html.twig @@ -11419,9 +11419,9 @@ See documentation for more examples https://docs.phraseanet.com Controller/Prod/ToolsController.php Controller/Prod/ShareController.php - + prod:app trash: also-move-record - Also move to Trash the records that rely on stories + Also move to Trash the records that rely on stories prod/actions/delete_records_confirm.html.twig @@ -11684,9 +11684,9 @@ It is possible to place several search areas Time Range web/report/form_date_and_base.html.twig - + report:: 2 - Base - report:: 2 - Base + Database web/report/form_date_and_base.html.twig @@ -11694,9 +11694,9 @@ It is possible to place several search areas report:: 3 - Collections web/report/form_date_and_base.html.twig - + report:: 3 - Type de report - Type of report + Type of report web/report/report_layout_child.html.twig web/report/report_layout_child.html.twig @@ -12231,9 +12231,9 @@ It is possible to place several search areas setup::custom-link:location Form/Configuration/CustomLinkFormType.php - + setup::custom-link:location-link - Placement + Placement web/admin/setup.html.twig @@ -12247,9 +12247,9 @@ It is possible to place several search areas Navigation Bar Form/Configuration/CustomLinkFormType.php - + setup::custom-link:order-link - Display order + Display order web/admin/setup.html.twig @@ -12272,9 +12272,9 @@ It is possible to place several search areas Advanced setting prod/Share/record.html.twig - + share::share-record: select-shared-def - Select a subview to share + Select a subview to share prod/Share/record.html.twig @@ -13053,9 +13053,9 @@ It is possible to place several search areas Your version is up to date web/admin/databases.html.twig - + updated_on - updated_on + updated on web/prod/index.html.twig From 17ca34e1c27001d9a0953b8c92afcdae159ebb09 Mon Sep 17 00:00:00 2001 From: Jennifer Date: Tue, 21 May 2019 10:34:17 +0200 Subject: [PATCH 11/80] Translated using Weblate (French) Currently translated at 93.8% (2251 of 2398 strings) --- resources/locales/messages.fr.xlf | 114 +++++++++++++++--------------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/resources/locales/messages.fr.xlf b/resources/locales/messages.fr.xlf index 4d76c4d2c1..da446e5743 100644 --- a/resources/locales/messages.fr.xlf +++ b/resources/locales/messages.fr.xlf @@ -4584,9 +4584,9 @@ WorkZone/Browser/Results.html.twig WorkZone/Browser/Results.html.twig - + No thesaurus concept query - No thesaurus concept query + Pas de recherche Thesaurus prod/results/infos.html.twig @@ -4788,9 +4788,9 @@ Ouvrir l'URL dans une nouvelle fenêtre Core/Provider/TwigServiceProvider.php - + Or - Ou + Ou prod/upload/upload.html.twig @@ -4803,7 +4803,7 @@ Order - Ordre d'affichage : + Ordre d'affichage admin/fields/templates.html.twig @@ -6002,9 +6002,9 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis admin/statusbit/edit.html.twig admin/statusbit/edit.html.twig - + Selected base(s) - Rechercher dans les Bases : + Sélectionner les Bases : web/prod/index.html.twig @@ -6035,9 +6035,9 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis Envoyer vers Facebook prod/Share/record.html.twig - + Send to Linkedin - Send to Linkedin + Envoyer vers LinkedIn prod/Share/record.html.twig prod/Share/record.html.twig prod/Share/record.html.twig @@ -6563,9 +6563,9 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis web/login/cgus.html.twig login/layout/base-layout.html.twig - + The Phraseanet Web API allows other web application to rely on this instance - L'API Web Phraseanet permet à d'autres applications web de se reposer sur cette instance + L'API Web Phraseanet permet à d'autres applications web de se reposer sur cette instance Form/Configuration/APIClientsFormType.php @@ -6853,9 +6853,9 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis Jeton web/developers/application.html.twig - + Token not found - Token non trouvé + Token non trouvé Controller/Root/AccountController.php @@ -7635,9 +7635,9 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis Ecriture des métadonnées web/admin/subdefs.html.twig - + YYYY-MM-DD - AAAA-MM-JJ + AAAA-MM-JJ web/report/form_date_and_base.html.twig web/report/form_date_and_base.html.twig @@ -7939,9 +7939,9 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis Vos documents et leurs sous-résolutions (vignettes, prévisualisation et autres sous-définitions) sont stockés dans ces répertoires web/setup/step2.html.twig - + Your phraseanet account on %urlInstance% has been deleted! - Votre compte Phraseanet sur %urlInstance% a été supprimé! + Votre compte Phraseanet sur %urlInstance% a été supprimé! Notification/Mail/MailSuccessAccountDelete.php @@ -10002,19 +10002,19 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le Préférences sur les facettes web/prod/index.html.twig - + index::advance_search: facet-order - index::advance_search: facet-order + Ordre d'affichage des facettes web/prod/index.html.twig - + index::advance_search: facet-tech-order - index::advance_search: facet-tech-order + Ordre par défaut web/prod/index.html.twig - + index::advance_search: facet-values-order - Ordre des valeurs de facettes + Ordre des valeurs de facettes web/prod/index.html.twig @@ -10633,9 +10633,9 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le Monter une base provenant d'un serveur different de l'application box web/admin/databases.html.twig - + phraseanet:: Preferences - phraseanet:: Preferences + Préférences web/prod/index.html.twig @@ -10803,49 +10803,49 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le Ne plus afficher ce message Controller/Prod/LanguageController.php - + phraseanet::account The account has been deleted - Le compte a été supprimé + Le compte a été supprimé Controller/Root/AccountController.php - + > ]]> - Vos droits ne vous permettent pas de réaliser cette action, votre compte ne peut être supprimé que via l'interface d'Administration. + Vos droits ne vous permettent pas de réaliser cette action, votre compte ne peut être supprimé que via l'interface d'Administration. web/account/account.html.twig - + phraseanet::account: A confirmation e-mail has been sent. Please follow the instructions contained to continue account deletion - Un email de confirmation a été envoyé. Veuillez suivre les instructions pour poursuivre la procédure de suppression du compte. + Un email de confirmation a été envoyé. Veuillez suivre les instructions pour poursuivre la procédure de suppression du compte. Controller/Root/AccountController.php - + phraseanet::account: Are you sure you want to delete your account? - Etes-vous sûr(e) de vouloir supprimer votre compte? + Etes-vous sûr(e) de vouloir supprimer votre compte? web/account/account.html.twig - + phraseanet::account: Delete my account - Supprimer mon compte + Supprimer mon compte web/account/account.html.twig - + phraseanet::account: I am agree to delete my account - Je suis d'accord pour supprimer mon compte + Je suis d'accord pour supprimer mon compte web/account/account.html.twig - + phraseanet::account: I am agree to delete my account, need confirmation on mail - Je suis d'accord pour supprimer mon compte et j'ai besoin d'une confirmation par email + Je suis d'accord pour supprimer mon compte et j'ai besoin d'une confirmation par email web/account/account.html.twig - + phraseanet::account: List of data to be deleted - Liste des données à supprimer + Liste des données à supprimer web/account/account.html.twig - + phraseanet::account: My phraseanet account - Mon compte Phraseanet + Mon compte Phraseanet web/account/account.html.twig @@ -11147,9 +11147,9 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le Vous ne possédez pas les autorisations d'accès requises sur les documents pour effectuer cette action. Controller/Prod/MoveCollectionController.php - + prod::advancesearch:tooltips:datefield_restriction_explanation - Limiter la recherche des résultats à des dates + Limiter la recherche des résultats à des dates web/prod/index.html.twig @@ -11418,9 +11418,9 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le Controller/Prod/ToolsController.php Controller/Prod/ShareController.php - + prod:app trash: also-move-record - Déplacer à la corbeille les enregistrements liés à ces reportages + Déplacer à la corbeille les enregistrements liés à ces reportages prod/actions/delete_records_confirm.html.twig @@ -11675,14 +11675,14 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le Sans titre classes/record/adapter.php - + report:: 1 - Periode - Période + Période web/report/form_date_and_base.html.twig - + report:: 2 - Base - report:: 2 - Base + Bases web/report/form_date_and_base.html.twig @@ -11696,9 +11696,9 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le web/report/report_layout_child.html.twig web/report/report_layout_child.html.twig - + report:: 4 - Fields - report:: 4 - Fields + Champs exportés web/report/report_layout_child.html.twig @@ -11713,9 +11713,9 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le web/report/report_layout.html.twig web/report/all_content.html.twig - + report:: Databox content - report:: Databox content + Contenus web/report/report_layout.html.twig @@ -12263,9 +12263,9 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le setup::custom-link:title-custom-link web/admin/setup.html.twig - + share::share-record: advance - Réglage avancé + Réglage avancé prod/Share/record.html.twig From 74f60967d8a0c27d744ebc5873b8eba91f6f3c7d Mon Sep 17 00:00:00 2001 From: Jennifer Date: Tue, 21 May 2019 10:32:09 +0200 Subject: [PATCH 12/80] Translated using Weblate (German) Currently translated at 92.5% (2220 of 2398 strings) --- resources/locales/messages.de.xlf | 326 +++++++++++++++--------------- 1 file changed, 163 insertions(+), 163 deletions(-) diff --git a/resources/locales/messages.de.xlf b/resources/locales/messages.de.xlf index e7d5f19c59..ba3749d6f2 100644 --- a/resources/locales/messages.de.xlf +++ b/resources/locales/messages.de.xlf @@ -1,4 +1,4 @@ - +
@@ -7,8 +7,8 @@
- - + + Form/Login/PhraseaAuthenticationForm.php Form/Configuration/EmailFormType.php @@ -26,75 +26,75 @@ Parameter "Authentifizierung erzwingen" erzwingt den Push Empfänger, ein Phraseanet Konto zu haben, um den Inhalt anzuschauen. Es vermeidet, unautorisierte Benutzer dem Push Inhalt zuzugreifen, falls sie die URL bekämen (Email wurde weitergeleitet, zum Beispiel). prod/templates/push.html.twig
- + #3567c6 - #3567c6 + #3567c6 Form/Configuration/CustomLinkFormType.php - + #4497d5 - #4497d5 + #4497d5 Form/Configuration/CustomLinkFormType.php - + #5aa53b - #5aa53b + #5aa53b Form/Configuration/CustomLinkFormType.php - + #a1d0d0 - #a1d0d0 + #a1d0d0 Form/Configuration/CustomLinkFormType.php - + #ad0800 - #ad0800 + #ad0800 Form/Configuration/CustomLinkFormType.php Form/Configuration/CustomLinkFormType.php - + #b151ee - #b151ee + #b151ee Form/Configuration/CustomLinkFormType.php - + #b8d84e - #b8d84e + #b8d84e Form/Configuration/CustomLinkFormType.php - + #c875ea - #c875ea + #c875ea Form/Configuration/CustomLinkFormType.php - + #e46990 - #e46990 + #e46990 Form/Configuration/CustomLinkFormType.php - + #f06006 - #f06006 + #f06006 Form/Configuration/CustomLinkFormType.php - + #f4ea5b - #f4ea5b + #f4ea5b Form/Configuration/CustomLinkFormType.php - + #f5842b - #f5842b + #f5842b Form/Configuration/CustomLinkFormType.php - + #ffc322 - #ffc322 + #ffc322 Form/Configuration/CustomLinkFormType.php - + #ffccd7 - #ffccd7 + #ffccd7 Form/Configuration/CustomLinkFormType.php @@ -526,9 +526,9 @@ API Webhook TaskManager/Job/WebhookJob.php - + AR - AR + AR Form/Configuration/CustomLinkFormType.php @@ -1267,9 +1267,9 @@ Media/Subdef/Audio.php Media/Subdef/Video.php - + Audio Samplerate - Audio Samplerate + Audio Samplerate SearchEngine/Elastic/ElasticsearchOptions.php @@ -1841,9 +1841,9 @@ Farbraum web/common/technical_datas.html.twig - + Colorspace - Colorspace + Colorspace SearchEngine/Elastic/ElasticsearchOptions.php @@ -2150,14 +2150,14 @@ DCES admin/fields/templates.html.twig - + DE - DE + DE Form/Configuration/CustomLinkFormType.php - + DU - DU + DU Form/Configuration/CustomLinkFormType.php @@ -2653,9 +2653,9 @@ E-mail domain actions/Feedback/list.html.twig - + EN - EN + EN Form/Configuration/CustomLinkFormType.php @@ -2673,9 +2673,9 @@ FEHLER : Alle "subdefgroup" tags brauchen ein "name" Attribut lib/classes/databox.php - + ES - ES + ES Form/Configuration/CustomLinkFormType.php @@ -2795,22 +2795,22 @@ E-Mail Test Ergebnis: %email_status% web/admin/dashboard.html.twig - + Email:deletion:request:message Hello %civility% %firstName% %lastName%. We have received an account deletion request for your account on %urlInstance%, please confirm this deletion by clicking on the link below. If you are not at the origin of this request, please change your password as soon as possible %resetPassword% Link is valid for one hour. - Hallo % civility %% firstName %% lastName%. Wir haben eine Löschungsanfrage für Ihr Konto bei% urlInstance% erhalten. Bitte bestätigen Sie diesen Löschvorgang, indem Sie auf den untenstehenden Link klicken. Wenn Sie sich nicht am Ursprung dieser Anfrage befinden, ändern Sie Ihr Passwort so bald wie möglich.% ResetPassword% Link ist eine Stunde lang gültig. + Hallo % civility %% firstName %% lastName%. Wir haben eine Löschungsanfrage für Ihr Konto bei% urlInstance% erhalten. Bitte bestätigen Sie diesen Löschvorgang, indem Sie auf den untenstehenden Link klicken. Wenn Sie sich nicht am Ursprung dieser Anfrage befinden, ändern Sie Ihr Passwort so bald wie möglich.% ResetPassword% Link ist eine Stunde lang gültig. Notification/Mail/MailRequestAccountDelete.php - + Email:deletion:request:subject Delete account confirmation - Benutzerkonto Löschung Bestätigung + Benutzerkonto Löschung Bestätigung Notification/Mail/MailRequestAccountDelete.php - + Email:deletion:request:textButton Delete my account - Mein Benutzerkonto löschen + Mein Benutzerkonto löschen Notification/Mail/MailRequestAccountDelete.php @@ -3173,9 +3173,9 @@ Export in der Warteschlange gespeichert Controller/Prod/ExportController.php - + FR - FR + FR Form/Configuration/CustomLinkFormType.php @@ -3330,9 +3330,9 @@ web/prod/index.html.twig web/common/technical_datas.html.twig - + FlashFired - FlashFired + FlashFired SearchEngine/Elastic/ElasticsearchOptions.php @@ -3618,9 +3618,9 @@ IP web/account/sessions.html.twig - + ISO - ISO + ISO SearchEngine/Elastic/ElasticsearchOptions.php @@ -4070,9 +4070,9 @@ Lichtwert web/common/technical_datas.html.twig - + Lightbox - Lightbox + Lightbox prod/WorkZone/Macros.html.twig prod/WorkZone/Macros.html.twig @@ -4296,9 +4296,9 @@ Mime Typ web/common/technical_datas.html.twig - + MimeType - MimeType + MimeType SearchEngine/Elastic/ElasticsearchOptions.php @@ -4414,9 +4414,9 @@ mehrwertiges admin/fields/templates.html.twig - + My application - Meine Anwendung + Meine Anwendung web/account/account.html.twig @@ -4587,9 +4587,9 @@ WorkZone/Browser/Results.html.twig WorkZone/Browser/Results.html.twig - + No thesaurus concept query - Keine Thesaurus Suche + Keine Thesaurus Suche prod/results/infos.html.twig @@ -4791,9 +4791,9 @@ Öffnen Sie die URL in einem neuen Fenster Core/Provider/TwigServiceProvider.php - + Or - Oder + Oder prod/upload/upload.html.twig @@ -6003,9 +6003,9 @@ admin/statusbit/edit.html.twig admin/statusbit/edit.html.twig - + Selected base(s) - Ausgewählte Datenbank(en) : + Ausgewählte Datenbank(en) : web/prod/index.html.twig @@ -6036,9 +6036,9 @@ Auf Facebook teilen prod/Share/record.html.twig - + Send to Linkedin - Send to Linkedin + Auf LinkedIn teilen prod/Share/record.html.twig prod/Share/record.html.twig prod/Share/record.html.twig @@ -6854,9 +6854,9 @@ Token web/developers/application.html.twig - + Token not found - Token nicht gefunden + Token nicht gefunden Controller/Root/AccountController.php @@ -7636,9 +7636,9 @@ Meta schreiben web/admin/subdefs.html.twig - + YYYY-MM-DD - YYYY-MM-DD + JJJJ-MM-TT web/report/form_date_and_base.html.twig web/report/form_date_and_base.html.twig @@ -7940,9 +7940,9 @@ Ihre Media und Unterauflösungen (Voransichten, Miniaturansichten..) werden in diese Verzeichnisse gespeichert. web/setup/step2.html.twig - + Your phraseanet account on %urlInstance% has been deleted! - Ihr Benutzerkonto auf %urlInstance% wurde gelöscht! + Ihr Benutzerkonto auf %urlInstance% wurde gelöscht! Notification/Mail/MailSuccessAccountDelete.php @@ -8903,9 +8903,9 @@ Ein Benutzer hat sich angemeldet Notification/Mail/MailInfoSomebodyAutoregistered.php - + admin::search-engine: general-aggregation - Aggregateinstellungen + Aggregateinstellungen admin/search-engine/search-engine-settings.html.twig @@ -9646,9 +9646,9 @@ create_subdef_modal_subdefinition_name web/admin/subdefs.html.twig - + created_on - created_on + erstellt am web/prod/index.html.twig @@ -9797,9 +9797,9 @@ web/common/dialog_export.html.twig web/common/dialog_export.html.twig - + export::export-email: email-invalid - Das Format der Email Adresse scheint falsch zu sein + Das Format der Email Adresse scheint falsch zu sein web/common/dialog_export.html.twig @@ -9920,59 +9920,59 @@ Änderungen wurden hergestellt admin/databox/databox.html.twig - + help::help-section-bullet: check-spelling - Vergewissern Sie sich, dass kein Schreibfehler oder Tippfehler vorliegt + Vergewissern Sie sich, dass kein Schreibfehler oder Tippfehler vorliegt prod/results/help.html.twig - + help::help-section-bullet: default-operator-between-terms - Der Standardoperator zwischen den Suchbegriffen ist AND + Der Standardoperator zwischen den Suchbegriffen ist AND prod/results/help.html.twig - + help::help-section-bullet: expand search - Erweitern Sie die Suche mit weniger Schlüsselwörtern + Erweitern Sie die Suche mit weniger Schlüsselwörtern prod/results/help.html.twig - + help::help-section-bullet: quotation-marks-allow - Anführungszeichen ermöglichen die Suche nach zusammenhängenden Begriffen oder Ausdrücken in der Medienbeschreibung + Anführungszeichen ermöglichen die Suche nach zusammenhängenden Begriffen oder Ausdrücken in der Medienbeschreibung prod/results/help.html.twig - + help::help-section-bullet: remove-advance-search - Erweiterte Suchfilter entfernen + Erweiterte Suchfilter entfernen prod/results/help.html.twig - + help::help-section-bullet: search-in-a-specific-field - Verwenden Sie die erweiterte Suche, um in einem bestimmten Feld zu suchen + Verwenden Sie die erweiterte Suche, um in einem bestimmten Feld zu suchen prod/results/help.html.twig - + help::help-section-bullet: search-in-document - Nach Dokumente oder nach Berichte suchen + Nach Dokumente oder nach Berichte suchen prod/results/help.html.twig - + help::help-section-bullet: use-EXCEPT-operator - Der Operator EXCEPT erlaubt, ein Begriff von der Suche auszuschliessen + Der Operator EXCEPT erlaubt, ein Begriff von der Suche auszuschliessen prod/results/help.html.twig - + help::help-section-bullet: use-OR-between-terms - Der Operator OR erlaubt, mehrere Begriffe der Medien Beschreibung zu suchen + Der Operator OR erlaubt, mehrere Begriffe der Medien Beschreibung zu suchen prod/results/help.html.twig - + help::help-section-title: search-tips - Einige Suchtipps: + Einige Suchtipps: prod/results/help.html.twig - + help::help-section-title: sorry-no-result - Sorry, Ihre Suche liefert keine Ergebnisse + Sorry, Ihre Suche liefert keine Ergebnisse prod/results/help.html.twig @@ -10002,19 +10002,19 @@ index::advance_search: facet web/prod/index.html.twig - + index::advance_search: facet-order - Reihenfolge der Facettenanzeige + Reihenfolge der Facettenanzeige web/prod/index.html.twig - + index::advance_search: facet-tech-order - Technische Reihenfolge + Standard Reihenfolge web/prod/index.html.twig - + index::advance_search: facet-values-order - Reihenfolge der Facettenwerte + Reihenfolge der Facettenwerte web/prod/index.html.twig @@ -10022,9 +10022,9 @@ index::advance_search: hidden-facet-values-order web/prod/index.html.twig - + index::advance_search: order-by-hits - Nach Hits sortieren + Nach Hits sortieren web/prod/index.html.twig @@ -10256,7 +10256,7 @@ or - oder + Or Controller/Prod/LanguageController.php @@ -10803,19 +10803,19 @@ Diese Meldung nicht mehr anzeigen Controller/Prod/LanguageController.php - + phraseanet::account The account has been deleted - Ihr Benutzerkonto wurde gelöscht + Ihr Benutzerkonto wurde gelöscht Controller/Root/AccountController.php - + > ]]> - Ihr Benutzerkonto kann nur durch die Administration Anwendung gelöscht werden. + Ihr Benutzerkonto kann nur durch die Administration Anwendung gelöscht werden. web/account/account.html.twig phraseanet::account: A confirmation e-mail has been sent. Please follow the instructions contained to continue account deletion - Eine Bestätigungs-E-Mail wurde gesendet. Bitte folgen Sie den Anweisungen der fortlaufenden Kontenlöschung + Eine Bestätigungs-E-Mail wurde gesendet. Bitte folgen Sie den Anweisungen der fortlaufenden Kontolöschung Controller/Root/AccountController.php @@ -10823,9 +10823,9 @@ Möchten Sie Ihr Konto wirklich löschen? web/account/account.html.twig - + phraseanet::account: Delete my account - Mein Benutzerkonto löschen + Mein Benutzerkonto löschen web/account/account.html.twig @@ -10843,9 +10843,9 @@ Liste der zu löschenden Daten web/account/account.html.twig - + phraseanet::account: My phraseanet account - Mein Phraseanet Benutzerkonto + Mein Phraseanet Benutzerkonto web/account/account.html.twig @@ -11147,9 +11147,9 @@ Sie haben keine Berechtigung, diesen Vorgang auf diese Dokumente durchzuführen Controller/Prod/MoveCollectionController.php - + prod::advancesearch:tooltips:datefield_restriction_explanation - Suchergebnisse auf Datum beschränken + Suchergebnisse auf Datum beschränken web/prod/index.html.twig @@ -11418,24 +11418,24 @@ Controller/Prod/ToolsController.php Controller/Prod/ShareController.php - + prod:app trash: also-move-record - Datensätze auch in den Papierkorb verschieben, die mit Berichten verknüpft sind + Datensätze auch in den Papierkorb verschieben, die mit Berichten verknüpft sind prod/actions/delete_records_confirm.html.twig - + prod:app trash: record-delete - Datensatz (¨e) dauerhaft gelöscht! + Datensatz (¨e) dauerhaft gelöscht! prod/actions/delete_records_confirm.html.twig - + prod:app trash: record-move-to-trash - Datensatz (¨e) in den Papierkorb verschoben + Datensatz (¨e) in den Papierkorb verschoben prod/actions/delete_records_confirm.html.twig - + prod:app trash: title-trash - Datensatz (¨e) In den Papierkorb verschieben + Datensatz (¨e) In den Papierkorb verschieben Controller/Prod/LanguageController.php @@ -11685,9 +11685,9 @@ Datenbank web/report/form_date_and_base.html.twig - + report:: 3 - Collections - Kollektionen + Kollektionen web/report/form_date_and_base.html.twig @@ -11713,9 +11713,9 @@ web/report/report_layout.html.twig web/report/all_content.html.twig - + report:: Databox content - Databox Inhalt + Databox Inhalt web/report/report_layout.html.twig @@ -12202,65 +12202,65 @@ Test E-Mail Überprüfungen web/admin/dashboard.html.twig - + setup::custom-link:add-link - Link hinzufügen + Link hinzufügen web/admin/setup.html.twig - + setup::custom-link:help-menu - Hilfemenü + Hilfemenü Form/Configuration/CustomLinkFormType.php - + setup::custom-link:language-link - Sprache: + Sprache: web/admin/setup.html.twig - + setup::custom-link:link-url - Ziel-URL + Ziel-URL web/admin/setup.html.twig - + setup::custom-link:location - Ort auswählen + Ort auswählen Form/Configuration/CustomLinkFormType.php - + setup::custom-link:location-link - Ort des Links + Ort des Links web/admin/setup.html.twig - + setup::custom-link:name-link - Links Name + Links Name Form/Configuration/CustomLinkFormType.php web/admin/setup.html.twig - + setup::custom-link:navigation-bar - Navigationsleiste + Navigationsleiste Form/Configuration/CustomLinkFormType.php - + setup::custom-link:order-link - Anzeigereihenfolge + Anzeigereihenfolge web/admin/setup.html.twig - + setup::custom-link:placeholder-link-url - zB: https://docs.phraseanet.com + zB: https://docs.phraseanet.com Form/Configuration/CustomLinkFormType.php - + setup::custom-link:select-language - Sprache auswählen + Sprache auswählen Form/Configuration/CustomLinkFormType.php - + setup::custom-link:title-custom-link - Custom Link + Custom Link web/admin/setup.html.twig @@ -12268,9 +12268,9 @@ Erweiterte Einstellung prod/Share/record.html.twig - + share::share-record: select-shared-def - Wählen Sie die Unterauflösung zum Teilen aus + Wählen Sie die Unterauflösung zum Teilen aus prod/Share/record.html.twig From 1dd15841b28c288a0861eb3492d98b061ffba778 Mon Sep 17 00:00:00 2001 From: Jennifer Date: Tue, 21 May 2019 12:00:32 +0200 Subject: [PATCH 13/80] Translated using Weblate (French) Currently translated at 93.9% (2253 of 2398 strings) --- resources/locales/messages.fr.xlf | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/resources/locales/messages.fr.xlf b/resources/locales/messages.fr.xlf index da446e5743..5a384183c7 100644 --- a/resources/locales/messages.fr.xlf +++ b/resources/locales/messages.fr.xlf @@ -12,9 +12,9 @@ Form/Login/PhraseaAuthenticationForm.php Form/Configuration/EmailFormType.php - + Add - Ajouter + Ajouter admin/fields/templates.html.twig @@ -662,9 +662,9 @@ Activer la collection admin/databox/databox.html.twig - + Activity - Activity + Activité actions/Feedback/list.html.twig @@ -2461,9 +2461,9 @@ web/report/report_layout_child.html.twig web/report/form_date_and_base.html.twig - + Design of personalization logo section - Design of personalization logo section + Design de la section de personnalisation du logo Form/Configuration/GeneralFormType.php From 32a7328650a864d08489e80b9a01a671bb3c34d8 Mon Sep 17 00:00:00 2001 From: Jennifer Date: Tue, 21 May 2019 12:19:01 +0200 Subject: [PATCH 14/80] Translated using Weblate (English) Currently translated at 97.8% (2346 of 2398 strings) --- resources/locales/messages.en.xlf | 132 +++++++++++++++--------------- 1 file changed, 66 insertions(+), 66 deletions(-) diff --git a/resources/locales/messages.en.xlf b/resources/locales/messages.en.xlf index 86b93aa247..2e81315b7c 100644 --- a/resources/locales/messages.en.xlf +++ b/resources/locales/messages.en.xlf @@ -662,9 +662,9 @@ Activate a collection admin/databox/databox.html.twig - + Activity - Activity + Activity actions/Feedback/list.html.twig @@ -682,9 +682,9 @@ new field admin/fields/templates.html.twig - + Add a list - Add a list + Add a list actions/Feedback/lists-all.html.twig @@ -758,9 +758,9 @@ Advanced search web/prod/index.html.twig - + Advanced mode - Advanced mode + Advanced mode actions/Feedback/list.html.twig @@ -2019,9 +2019,9 @@ actions/Feedback/list.html.twig actions/Feedback/ListsMacros.html.twig - + Create a user - Create a user + Create a user actions/Feedback/list.html.twig @@ -2232,9 +2232,9 @@ Creation date admin/publications/list.html.twig - + Date Updated - Date Updated + Date Updated web/prod/index.html.twig @@ -2242,9 +2242,9 @@ Login date web/account/sessions.html.twig - + Date de création - Date de création + Creation date prod/Baskets/Reorder.html.twig prod/Story/Reorder.html.twig @@ -2255,9 +2255,9 @@ prod/orders/order_box.html.twig prod/orders/order_box.html.twig - + Date de modification - Date de modification + Modification date prod/Baskets/Reorder.html.twig prod/Story/Reorder.html.twig @@ -2392,14 +2392,14 @@ Delete records Controller/Prod/LanguageController.php - + Delete the selection - Delete the selection + Delete the selection actions/Feedback/list.html.twig - + Delete the subview ? - Delete the subview ? + Delete the subview ? web/admin/subdefs.html.twig @@ -2464,9 +2464,9 @@ web/report/report_layout_child.html.twig web/report/form_date_and_base.html.twig - + Design of personalization logo section - Design of personalization logo section + Design of logo customization section Form/Configuration/GeneralFormType.php @@ -2648,9 +2648,9 @@ Form/Login/PhraseaForgotPasswordForm.php Form/Login/PhraseaRegisterForm.php - + E-mail domain - E-mail domain + E-mail domain actions/Feedback/list.html.twig @@ -4551,9 +4551,9 @@ No matches found web/geonames/city_list.html.twig - + No metadata available - No metadata available + No metadata available actions/Tools/metadata.html.twig @@ -4925,9 +4925,9 @@ Pause Controller/Prod/LanguageController.php - + Pays - Pays + Country prod/User/Add.html.twig @@ -5890,9 +5890,9 @@ Save all changes admin/fields/templates.html.twig - + Save the list - Save the list + Save the list actions/Feedback/list.html.twig @@ -5915,9 +5915,9 @@ Search engine Form/Configuration/MainConfigurationFormType.php - + Search for existing user - Search for existing user + Search for existing user actions/Feedback/List-Share.html.twig @@ -5958,9 +5958,9 @@ See others' choices prod/actions/Push.html.twig - + See the list - See the list + View the list actions/Feedback/list.html.twig @@ -6116,9 +6116,9 @@ Share Controller/Prod/LanguageController.php - + Share my list - Share my list + Share my list actions/Feedback/list.html.twig @@ -7264,9 +7264,9 @@ Users suggestion prod/actions/Push.html.twig - + Utilisation prevue: - Intended use: + Intended use: prod/orders/order_item.html.twig @@ -8908,29 +8908,29 @@ Aggregates settings admin/search-engine/search-engine-settings.html.twig - + admin::setup:personalisation_logo: download gabari - admin::setup:personalisation_logo: download gabari + Download template web/admin/personalisation_logo.html.twig - + admin::setup:personalisation_logo: error text dimension - admin::setup:personalisation_logo: error text dimension + Error: the size of the file is incorrect, please choose a file size: 120 x 41 px in .png web/admin/personalisation_logo.html.twig - + admin::setup:personalisation_logo: error text file type - admin::setup:personalisation_logo: error text file type + Error: the format of the file is incorrect, please choose a file in .png web/admin/personalisation_logo.html.twig - + admin::setup:personalisation_logo: help text - admin::setup:personalisation_logo: help text + Import your logo at the maximum file size: 120 x 41 px in .png web/admin/personalisation_logo.html.twig - + admin::setup:personalisation_logo: select file - admin::setup:personalisation_logo: select file + Choose a file web/admin/personalisation_logo.html.twig @@ -9667,9 +9667,9 @@ Add date SearchEngine/Elastic/ElasticSearchEngine.php - + date de modification - date de modification + Modification date SearchEngine/Elastic/ElasticSearchEngine.php @@ -10506,9 +10506,9 @@ See documentation for more examples https://docs.phraseanet.com prod/orders/order_box.html.twig prod/orders/order_box.html.twig - + original logo - original logo + Original logo Form/Configuration/PersonalisationLogoFormType.php @@ -10599,9 +10599,9 @@ See documentation for more examples https://docs.phraseanet.com per month web/admin/editusers_quotas.html.twig - + personalize logo - personalize logo + Customize logo Form/Configuration/PersonalisationLogoFormType.php @@ -10634,9 +10634,9 @@ See documentation for more examples https://docs.phraseanet.com Mount Database from a distant host. web/admin/databases.html.twig - + phraseanet:: Preferences - phraseanet:: Preferences + Preferences web/prod/index.html.twig @@ -11454,9 +11454,9 @@ See documentation for more examples https://docs.phraseanet.com Only a media of type video can be edited Controller/Prod/LanguageController.php - + prod:edit: suggested_values - Suggested values + Suggested values Controller/Prod/LanguageController.php @@ -11689,9 +11689,9 @@ It is possible to place several search areas Database web/report/form_date_and_base.html.twig - + report:: 3 - Collections - report:: 3 - Collections + Collections web/report/form_date_and_base.html.twig @@ -11700,9 +11700,9 @@ It is possible to place several search areas web/report/report_layout_child.html.twig web/report/report_layout_child.html.twig - + report:: 4 - Fields - report:: 4 - Fields + Fields web/report/report_layout_child.html.twig @@ -11717,9 +11717,9 @@ It is possible to place several search areas web/report/report_layout.html.twig web/report/all_content.html.twig - + report:: Databox content - report:: Databox content + Databox content web/report/report_layout.html.twig @@ -11767,9 +11767,9 @@ It is possible to place several search areas Users information corresponding to %critere% module/report/nav.php - + report:: Phraseanet report - report:: Phraseanet report + Phraseanet report web/report/report_layout.html.twig @@ -12211,9 +12211,9 @@ It is possible to place several search areas Add link web/admin/setup.html.twig - + setup::custom-link:help-menu - Help Menu + Help Menu Form/Configuration/CustomLinkFormType.php From 00321b581aa8c1e17935de919a4aee2dfad04dad Mon Sep 17 00:00:00 2001 From: Jennifer Date: Tue, 21 May 2019 12:12:29 +0200 Subject: [PATCH 15/80] Translated using Weblate (French) Currently translated at 95.5% (2292 of 2398 strings) PHRAS-2589 --- resources/locales/messages.fr.xlf | 156 +++++++++++++++--------------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/resources/locales/messages.fr.xlf b/resources/locales/messages.fr.xlf index 5a384183c7..ee69b1cc05 100644 --- a/resources/locales/messages.fr.xlf +++ b/resources/locales/messages.fr.xlf @@ -2614,9 +2614,9 @@ Téléchargement de documents actions/Download/prepare.html.twig - + Drag and drop the pin to move position - Glissé déposé l'icon pour modifier la position. + Glisser-déposer l'icône pour modifier la position Controller/Prod/LanguageController.php @@ -2645,14 +2645,14 @@ Form/Login/PhraseaForgotPasswordForm.php Form/Login/PhraseaRegisterForm.php - + E-mail domain - E-mail domain + Domaine email actions/Feedback/list.html.twig - + EN - EN + EN Form/Configuration/CustomLinkFormType.php @@ -2670,9 +2670,9 @@ ERREUR : Toutes les balises "subdefgroup" nécessitent un attribut "name" lib/classes/databox.php - + ES - ES + ES Form/Configuration/CustomLinkFormType.php @@ -2680,9 +2680,9 @@ Editer admin/task-manager/templates.html.twig - + Edit position - Modifier la position + Modifier la position Controller/Prod/LanguageController.php @@ -3170,9 +3170,9 @@ Export ajouté dans la file d'attente. Controller/Prod/ExportController.php - + FR - FR + FR Form/Configuration/CustomLinkFormType.php @@ -3452,9 +3452,9 @@ Media/Subdef/Image.php Media/Subdef/Unknown.php - + Geo Search - Recherche géolocalisé + Recherche géolocalisée web/prod/index.html.twig @@ -3615,9 +3615,9 @@ Adresse IP web/account/sessions.html.twig - + ISO - ISO + ISO SearchEngine/Elastic/ElasticsearchOptions.php @@ -3843,9 +3843,9 @@ Conserver la synchronisation entre Bridge et les API clientes. TaskManager/Job/BridgeJob.php - + Keyboard shortcuts - Raccourcis claviers + Raccourcis claviers Controller/Prod/LanguageController.php @@ -3920,9 +3920,9 @@ admin/statusbit/edit.html.twig admin/statusbit/edit.html.twig - + Language - Langue + Langue web/prod/index.html.twig @@ -4293,9 +4293,9 @@ Type Mime web/common/technical_datas.html.twig - + MimeType - MimeType + MimeType SearchEngine/Elastic/ElasticsearchOptions.php @@ -4548,9 +4548,9 @@ Aucune correspondance trouvée web/geonames/city_list.html.twig - + No metadata available - Pas de méta données disponible + Aucune métadonnée disponible actions/Tools/metadata.html.twig @@ -4831,9 +4831,9 @@ Normale Controller/Root/LoginController.php - + Orientation - Orientation + Orientation SearchEngine/Elastic/ElasticsearchOptions.php @@ -4863,9 +4863,9 @@ prod/upload/lazaret.html.twig prod/upload/lazaret.html.twig - + Pages - Pages + Pages actions/Feedback/ListsMacros.html.twig @@ -4912,19 +4912,19 @@ L'année dernière WorkZone/Browser/Browser.html.twig - + Path - Path + Chemin web/admin/subdefs.html.twig - + Pause - Pause + Pause Controller/Prod/LanguageController.php - + Pays - Pays + Pays prod/User/Add.html.twig @@ -4983,9 +4983,9 @@ Phraseanet recommande fortement l'utilisation de %link_start%MariaDB%link_end% à la place de MySQL. web/setup/step2.html.twig - + Play - Play + Play Controller/Prod/LanguageController.php @@ -5832,9 +5832,9 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis La colonne Password est manquante. Le script s'est arrêté. user/import/file.html.twig - + Résultats des derniers envois effectués pour cette application - Résultats des derniers envois effectués pour cette application + Résultats des derniers envois effectués pour cette application web/developers/application.html.twig @@ -5889,9 +5889,9 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis Sauvegarder toutes les modifications admin/fields/templates.html.twig - + Save the list - Save the list + Sauvegarder la liste actions/Feedback/list.html.twig @@ -5914,9 +5914,9 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis Moteur de recherche Form/Configuration/MainConfigurationFormType.php - + Search for existing user - Search for existing user + Rechercher un utilisateur existant actions/Feedback/List-Share.html.twig @@ -5957,9 +5957,9 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis Voir les autres prod/actions/Push.html.twig - + See the list - See the list + Voir la liste actions/Feedback/list.html.twig @@ -6115,9 +6115,9 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis Partager Controller/Prod/LanguageController.php - + Share my list - Share my list + Partager ma liste actions/Feedback/list.html.twig @@ -6367,9 +6367,9 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis Sous-définition admin/databox/details.html.twig - + Submit - Envoyé + Envoyer Controller/Prod/LanguageController.php @@ -8908,29 +8908,29 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le Réglage d'agrégation admin/search-engine/search-engine-settings.html.twig - + admin::setup:personalisation_logo: download gabari - admin::setup:personalisation_logo: download gabari + Télécharger le gabarit web/admin/personalisation_logo.html.twig - + admin::setup:personalisation_logo: error text dimension - admin::setup:personalisation_logo: error text dimension + Erreur: La taille du fichier est incorrecte, merci de choisir la taille de 120 x 41 px au format .png web/admin/personalisation_logo.html.twig - + admin::setup:personalisation_logo: error text file type - admin::setup:personalisation_logo: error text file type + Erreur: Le format du fichier est incorrect, merci de choisir un fichier au format .png web/admin/personalisation_logo.html.twig - + admin::setup:personalisation_logo: help text - admin::setup:personalisation_logo: help text + Importez votre logo à la taille maximale de 120 x 41 px au format .png web/admin/personalisation_logo.html.twig - + admin::setup:personalisation_logo: select file - admin::setup:personalisation_logo: select file + Sélectionnez un fichier web/admin/personalisation_logo.html.twig @@ -9601,9 +9601,9 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le prod/Share/record.html.twig prod/Share/record.html.twig - + create_subdef_button_label - Ajouter une sous définition + Ajouter une sous définition web/admin/subdefs.html.twig @@ -9646,9 +9646,9 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le create_subdef_modal_subdefinition_name web/admin/subdefs.html.twig - + created_on - created_on + créé le web/prod/index.html.twig @@ -9667,9 +9667,9 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le Date d'ajout SearchEngine/Elastic/ElasticSearchEngine.php - + date de modification - date de modification + date de modification SearchEngine/Elastic/ElasticSearchEngine.php @@ -9960,9 +9960,9 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le L'opérateur SAUF permet d’exclure un terme de la recherche prod/results/help.html.twig - + help::help-section-bullet: use-OR-between-terms - L'opérateur OU permet de rechercher plusieurs termes contenus dans les notices des médias + L'opérateur OU permet de rechercher plusieurs termes contenus dans les notices des médias prod/results/help.html.twig @@ -10022,14 +10022,14 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le Facettes Masquées web/prod/index.html.twig - + index::advance_search: order-by-hits - Trier les facettes par hits + Trier les facettes par hits web/prod/index.html.twig - + index:advanced-preferences:: use truncation - Activer la troncature + Activer la troncature web/prod/index.html.twig @@ -10505,9 +10505,9 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le prod/orders/order_box.html.twig prod/orders/order_box.html.twig - + original logo - original logo + Logo d'origine Form/Configuration/PersonalisationLogoFormType.php @@ -10598,9 +10598,9 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le par mois web/admin/editusers_quotas.html.twig - + personalize logo - personalize logo + Personnaliser le logo Form/Configuration/PersonalisationLogoFormType.php @@ -11407,9 +11407,9 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le Remplacer le terme web/prod/tab_thesaurus.html.twig - + prod::toolbar : video editor - Outils video + Outils vidéo web/prod/toolbar.html.twig @@ -13049,9 +13049,9 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le Votre version est à jour : web/admin/databases.html.twig - + updated_on - updated_on + mis à jour le web/prod/index.html.twig From 3821e8af005f22bcdea8f19fd2740a4050a6351b Mon Sep 17 00:00:00 2001 From: Jennifer Date: Tue, 21 May 2019 12:33:20 +0200 Subject: [PATCH 16/80] Translated using Weblate (German) Currently translated at 92.9% (2228 of 2398 strings) --- resources/locales/messages.de.xlf | 32 +++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/resources/locales/messages.de.xlf b/resources/locales/messages.de.xlf index ba3749d6f2..60bd9547fb 100644 --- a/resources/locales/messages.de.xlf +++ b/resources/locales/messages.de.xlf @@ -2464,9 +2464,9 @@ web/report/report_layout_child.html.twig web/report/form_date_and_base.html.twig - + Design of personalization logo section - Design of personalization logo section + Logo Anpassung Form/Configuration/GeneralFormType.php @@ -3923,9 +3923,9 @@ admin/statusbit/edit.html.twig admin/statusbit/edit.html.twig - + Language - Language + Sprache web/prod/index.html.twig @@ -8908,29 +8908,29 @@ Aggregateinstellungen admin/search-engine/search-engine-settings.html.twig - + admin::setup:personalisation_logo: download gabari - admin::setup:personalisation_logo: download gabari + Template herunterladen web/admin/personalisation_logo.html.twig - + admin::setup:personalisation_logo: error text dimension - admin::setup:personalisation_logo: error text dimension + Fehler: Dateigrösse ist falsch, bitte wählen Sie aus: 120 x 41 px in .png web/admin/personalisation_logo.html.twig - + admin::setup:personalisation_logo: error text file type - admin::setup:personalisation_logo: error text file type + Fehler: Das Datei-Format ist falsch, bitte wählen Sie eine Datei in .png web/admin/personalisation_logo.html.twig - + admin::setup:personalisation_logo: help text - admin::setup:personalisation_logo: help text + Importieren Sie Ihr Logo: 120 x 41 px max in .png web/admin/personalisation_logo.html.twig - + admin::setup:personalisation_logo: select file - admin::setup:personalisation_logo: select file + Datei auswählen web/admin/personalisation_logo.html.twig @@ -10505,9 +10505,9 @@ prod/orders/order_box.html.twig prod/orders/order_box.html.twig - + original logo - original logo + Originales logo Form/Configuration/PersonalisationLogoFormType.php From 3db65cc514cad7ae79faf073414ba1da84a78bf4 Mon Sep 17 00:00:00 2001 From: Nicolas Maillat Date: Tue, 21 May 2019 14:59:40 +0200 Subject: [PATCH 17/80] Dublincore Databox template update. PHRAS-2534 #comment Set type for all fields of this databox template #time 30m --- lib/conf.d/data_templates/DublinCore.xml | 34 ++++++++++++------------ 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/lib/conf.d/data_templates/DublinCore.xml b/lib/conf.d/data_templates/DublinCore.xml index e50bf58612..31e874a13d 100644 --- a/lib/conf.d/data_templates/DublinCore.xml +++ b/lib/conf.d/data_templates/DublinCore.xml @@ -182,26 +182,26 @@ - - <Creator src="XMP-dc:Creator" report="1" /> - <Subject src="XMP-dc:Subject" multi="1"/> - <Description src="XMP-dc:Description" report="0" /> + <Title src="XMP-dc:Title" type="string" thumbtitle="1" report="1" /> + <Creator src="XMP-dc:Creator" type="string" report="1" /> + <Subject src="XMP-dc:Subject" type="string" multi="1"/> + <Description src="XMP-dc:Description" type="string" report="0" /> <Publisher src="XMP-dc:Publisher" type="date" report="0" /> - <Contributor src="XMP-dc:Contributor" report="0"/> + <Contributor src="XMP-dc:Contributor" type="string" report="0"/> <Date src="XMP-dc:Date" type="date" report="0" /> - <Type src="XMP-dc:Type" report="1" /> - <Format src="XMP-dc:Format" report="0" /> - <Identifier src="XMP-dc:Identifier" report="1" /> - <Source src="XMP-dc:Source" report="0" /> - <Language src="XMP-dc:Language" report="0" /> - <Relation src="XMP-dc:Relation" report="0" /> - <Coverage src="XMP-dc:Coverage" report="1" /> - <Rights src="XMP-dc:Rights" report="0" /> - <Comments src="" business="1" report="0" /> + <Type src="XMP-dc:Type" type="string" report="1" /> + <Format src="XMP-dc:Format" type="string" report="0" /> + <Identifier src="XMP-dc:Identifier" type="string" report="1" /> + <Source src="XMP-dc:Source" type="string" report="0" /> + <Language src="XMP-dc:Language" type="string" report="0" /> + <Relation src="XMP-dc:Relation" type="string" report="0" /> + <Coverage src="XMP-dc:Coverage" type="string" report="1" /> + <Rights src="XMP-dc:Rights" type="string" report="0" /> + <Comments src="" business="1" type="string" report="0" /> <Filename src="Phraseanet:tf-basename" readonly="1" type="string" report="1"/> - <CameraDevice src="IFD0:Model" readonly="1" report="0" /> - <Latitude src="GPS:GPSLatitude" readonly="1" report="0" /> - <Longitude src="GPS:GPSLongitude" readonly="1" report="0"/> + <CameraDevice src="IFD0:Model" type="string" readonly="1" report="0" /> + <Latitude src="GPS:GPSLatitude" type="number" readonly="1" report="0" /> + <Longitude src="GPS:GPSLongitude" type="number" readonly="1" report="0"/> <ArchiveDate src="Phraseanet:tf-archivedate" readonly="1" type="date" report="0" /> <LastEditDate src="Phraseanet:tf-editdate" readonly="1" type="date" report="0" /> </description> From 3c4046b432f6279cfdb76d7741b7c194c5b65178 Mon Sep 17 00:00:00 2001 From: aina-esokia <asr@esokia-webagency.com> Date: Tue, 21 May 2019 18:07:41 +0400 Subject: [PATCH 18/80] commit doctrine proxies files --- .gitignore | 2 +- ...hemyPhraseaModelEntitiesAggregateToken.php | 235 ++++ ..._AlchemyPhraseaModelEntitiesApiAccount.php | 312 +++++ ...hemyPhraseaModelEntitiesApiApplication.php | 510 ++++++++ ..._CG__AlchemyPhraseaModelEntitiesApiLog.php | 455 +++++++ ...lchemyPhraseaModelEntitiesApiOauthCode.php | 334 +++++ ...raseaModelEntitiesApiOauthRefreshToken.php | 312 +++++ ...chemyPhraseaModelEntitiesApiOauthToken.php | 356 ++++++ ...AlchemyPhraseaModelEntitiesAuthFailure.php | 279 +++++ ..._CG__AlchemyPhraseaModelEntitiesBasket.php | 488 ++++++++ ...chemyPhraseaModelEntitiesBasketElement.php | 389 ++++++ .../__CG__AlchemyPhraseaModelEntitiesFeed.php | 587 +++++++++ ...__AlchemyPhraseaModelEntitiesFeedEntry.php | 422 +++++++ ...G__AlchemyPhraseaModelEntitiesFeedItem.php | 345 ++++++ ...chemyPhraseaModelEntitiesFeedPublisher.php | 279 +++++ ...__AlchemyPhraseaModelEntitiesFeedToken.php | 257 ++++ ...chemyPhraseaModelEntitiesFtpCredential.php | 433 +++++++ ...__AlchemyPhraseaModelEntitiesFtpExport.php | 609 ++++++++++ ...myPhraseaModelEntitiesFtpExportElement.php | 433 +++++++ ...myPhraseaModelEntitiesLazaretAttribute.php | 301 +++++ ...lchemyPhraseaModelEntitiesLazaretCheck.php | 257 ++++ ...AlchemyPhraseaModelEntitiesLazaretFile.php | 521 ++++++++ ...hemyPhraseaModelEntitiesLazaretSession.php | 290 +++++ ...__CG__AlchemyPhraseaModelEntitiesOrder.php | 411 +++++++ ...lchemyPhraseaModelEntitiesOrderElement.php | 323 +++++ ..._CG__AlchemyPhraseaModelEntitiesPreset.php | 301 +++++ ...lchemyPhraseaModelEntitiesRegistration.php | 345 ++++++ ..._CG__AlchemyPhraseaModelEntitiesSecret.php | 224 ++++ ...CG__AlchemyPhraseaModelEntitiesSession.php | 510 ++++++++ ...chemyPhraseaModelEntitiesSessionModule.php | 279 +++++ ...CG__AlchemyPhraseaModelEntitiesStoryWZ.php | 301 +++++ .../__CG__AlchemyPhraseaModelEntitiesTask.php | 433 +++++++ ...__CG__AlchemyPhraseaModelEntitiesToken.php | 334 +++++ .../__CG__AlchemyPhraseaModelEntitiesUser.php | 1082 +++++++++++++++++ ...eaModelEntitiesUserNotificationSetting.php | 301 +++++ ...__AlchemyPhraseaModelEntitiesUserQuery.php | 257 ++++ ...AlchemyPhraseaModelEntitiesUserSetting.php | 301 +++++ ...emyPhraseaModelEntitiesUsrAuthProvider.php | 301 +++++ ...CG__AlchemyPhraseaModelEntitiesUsrList.php | 356 ++++++ ...lchemyPhraseaModelEntitiesUsrListEntry.php | 279 +++++ ...lchemyPhraseaModelEntitiesUsrListOwner.php | 301 +++++ ...hemyPhraseaModelEntitiesValidationData.php | 301 +++++ ...aseaModelEntitiesValidationParticipant.php | 389 ++++++ ...yPhraseaModelEntitiesValidationSession.php | 378 ++++++ ...lchemyPhraseaModelEntitiesWebhookEvent.php | 301 +++++ ...raseaModelEntitiesWebhookEventDelivery.php | 312 +++++ ...hraseaModelEntitiesWebhookEventPayload.php | 246 ++++ 47 files changed, 16971 insertions(+), 1 deletion(-) create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesAggregateToken.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiAccount.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiApplication.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiLog.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiOauthCode.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiOauthRefreshToken.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiOauthToken.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesAuthFailure.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesBasket.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesBasketElement.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeed.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeedEntry.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeedItem.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeedPublisher.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeedToken.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesFtpCredential.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesFtpExport.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesFtpExportElement.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretAttribute.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretCheck.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretFile.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretSession.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesOrder.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesOrderElement.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesPreset.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesRegistration.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesSecret.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesSession.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesSessionModule.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesStoryWZ.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesTask.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesToken.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesUser.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesUserNotificationSetting.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesUserQuery.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesUserSetting.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesUsrAuthProvider.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesUsrList.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesUsrListEntry.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesUsrListOwner.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesValidationData.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesValidationParticipant.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesValidationSession.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesWebhookEvent.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesWebhookEventDelivery.php create mode 100644 resources/proxies/__CG__AlchemyPhraseaModelEntitiesWebhookEventPayload.php diff --git a/.gitignore b/.gitignore index 0e0d55c9b7..dc81372af0 100644 --- a/.gitignore +++ b/.gitignore @@ -21,7 +21,7 @@ !/config/configuration.sample.yml # Exclude generated proxies from doctrine2 -/resources/proxies +#/resources/proxies # Exclude temporaries resources (zip files, quarantine documents etc ..) folder /tmp diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesAggregateToken.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesAggregateToken.php new file mode 100644 index 0000000000..f2fba09691 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesAggregateToken.php @@ -0,0 +1,235 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class AggregateToken extends \Alchemy\Phrasea\Model\Entities\AggregateToken implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\AggregateToken' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\AggregateToken' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\AggregateToken' . "\0" . 'value']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\AggregateToken' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\AggregateToken' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\AggregateToken' . "\0" . 'value']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (AggregateToken $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function setValue($value) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setValue', [$value]); + + return parent::setValue($value); + } + + /** + * {@inheritDoc} + */ + public function getValue() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getValue', []); + + return parent::getValue(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiAccount.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiAccount.php new file mode 100644 index 0000000000..f5a1c4c5b9 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiAccount.php @@ -0,0 +1,312 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class ApiAccount extends \Alchemy\Phrasea\Model\Entities\ApiAccount implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiAccount' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiAccount' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiAccount' . "\0" . 'revoked', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiAccount' . "\0" . 'apiVersion', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiAccount' . "\0" . 'application', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiAccount' . "\0" . 'tokens', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiAccount' . "\0" . 'created']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiAccount' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiAccount' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiAccount' . "\0" . 'revoked', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiAccount' . "\0" . 'apiVersion', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiAccount' . "\0" . 'application', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiAccount' . "\0" . 'tokens', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiAccount' . "\0" . 'created']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (ApiAccount $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function setApiVersion($apiVersion) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setApiVersion', [$apiVersion]); + + return parent::setApiVersion($apiVersion); + } + + /** + * {@inheritDoc} + */ + public function getApiVersion() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getApiVersion', []); + + return parent::getApiVersion(); + } + + /** + * {@inheritDoc} + */ + public function setApplication(\Alchemy\Phrasea\Model\Entities\ApiApplication $application) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setApplication', [$application]); + + return parent::setApplication($application); + } + + /** + * {@inheritDoc} + */ + public function getApplication() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getApplication', []); + + return parent::getApplication(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setRevoked($revoked) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRevoked', [$revoked]); + + return parent::setRevoked($revoked); + } + + /** + * {@inheritDoc} + */ + public function isRevoked() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isRevoked', []); + + return parent::isRevoked(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function addTokens(\Alchemy\Phrasea\Model\Entities\ApiOauthToken $token) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addTokens', [$token]); + + return parent::addTokens($token); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiApplication.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiApplication.php new file mode 100644 index 0000000000..fd9cba3cc3 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiApplication.php @@ -0,0 +1,510 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class ApiApplication extends \Alchemy\Phrasea\Model\Entities\ApiApplication implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'creator', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'type', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'description', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'website', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'clientId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'clientSecret', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'redirectUri', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'activated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'grantPassword', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'accounts', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'webhookUrl']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'creator', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'type', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'description', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'website', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'clientId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'clientSecret', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'redirectUri', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'activated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'grantPassword', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'accounts', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiApplication' . "\0" . 'webhookUrl']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (ApiApplication $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function setActivated($activated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setActivated', [$activated]); + + return parent::setActivated($activated); + } + + /** + * {@inheritDoc} + */ + public function isActivated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isActivated', []); + + return parent::isActivated(); + } + + /** + * {@inheritDoc} + */ + public function setClientId($clientId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setClientId', [$clientId]); + + return parent::setClientId($clientId); + } + + /** + * {@inheritDoc} + */ + public function getClientId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getClientId', []); + + return parent::getClientId(); + } + + /** + * {@inheritDoc} + */ + public function setClientSecret($clientSecret) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setClientSecret', [$clientSecret]); + + return parent::setClientSecret($clientSecret); + } + + /** + * {@inheritDoc} + */ + public function getClientSecret() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getClientSecret', []); + + return parent::getClientSecret(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setCreator(\Alchemy\Phrasea\Model\Entities\User $creator = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreator', [$creator]); + + return parent::setCreator($creator); + } + + /** + * {@inheritDoc} + */ + public function getCreator() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreator', []); + + return parent::getCreator(); + } + + /** + * {@inheritDoc} + */ + public function setDescription($description) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDescription', [$description]); + + return parent::setDescription($description); + } + + /** + * {@inheritDoc} + */ + public function getDescription() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDescription', []); + + return parent::getDescription(); + } + + /** + * {@inheritDoc} + */ + public function setGrantPassword($grantPassword) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setGrantPassword', [$grantPassword]); + + return parent::setGrantPassword($grantPassword); + } + + /** + * {@inheritDoc} + */ + public function isPasswordGranted() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isPasswordGranted', []); + + return parent::isPasswordGranted(); + } + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setName($name) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setName', [$name]); + + return parent::setName($name); + } + + /** + * {@inheritDoc} + */ + public function getName() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getName', []); + + return parent::getName(); + } + + /** + * {@inheritDoc} + */ + public function setNonce($nonce) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setNonce', [$nonce]); + + return parent::setNonce($nonce); + } + + /** + * {@inheritDoc} + */ + public function getNonce() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getNonce', []); + + return parent::getNonce(); + } + + /** + * {@inheritDoc} + */ + public function setRedirectUri($redirectUri) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRedirectUri', [$redirectUri]); + + return parent::setRedirectUri($redirectUri); + } + + /** + * {@inheritDoc} + */ + public function getRedirectUri() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRedirectUri', []); + + return parent::getRedirectUri(); + } + + /** + * {@inheritDoc} + */ + public function setType($type) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setType', [$type]); + + return parent::setType($type); + } + + /** + * {@inheritDoc} + */ + public function getType() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getType', []); + + return parent::getType(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setWebsite($website) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setWebsite', [$website]); + + return parent::setWebsite($website); + } + + /** + * {@inheritDoc} + */ + public function getWebsite() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getWebsite', []); + + return parent::getWebsite(); + } + + /** + * {@inheritDoc} + */ + public function setWebhookUrl($webhookUrl) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setWebhookUrl', [$webhookUrl]); + + return parent::setWebhookUrl($webhookUrl); + } + + /** + * {@inheritDoc} + */ + public function getWebhookUrl() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getWebhookUrl', []); + + return parent::getWebhookUrl(); + } + + /** + * {@inheritDoc} + */ + public function addAccount(\Alchemy\Phrasea\Model\Entities\ApiAccount $account) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addAccount', [$account]); + + return parent::addAccount($account); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiLog.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiLog.php new file mode 100644 index 0000000000..327edb3e7d --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiLog.php @@ -0,0 +1,455 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class ApiLog extends \Alchemy\Phrasea\Model\Entities\ApiLog implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'account', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'route', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'method', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'statusCode', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'format', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'resource', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'general', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'aspect', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'action', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'errorCode', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'errorMessage']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'account', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'route', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'method', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'statusCode', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'format', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'resource', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'general', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'aspect', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'action', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'errorCode', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiLog' . "\0" . 'errorMessage']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (ApiLog $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function setAccount(\Alchemy\Phrasea\Model\Entities\ApiAccount $account) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAccount', [$account]); + + return parent::setAccount($account); + } + + /** + * {@inheritDoc} + */ + public function getAccount() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAccount', []); + + return parent::getAccount(); + } + + /** + * {@inheritDoc} + */ + public function setAction($action) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAction', [$action]); + + return parent::setAction($action); + } + + /** + * {@inheritDoc} + */ + public function getAction() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAction', []); + + return parent::getAction(); + } + + /** + * {@inheritDoc} + */ + public function setAspect($aspect) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAspect', [$aspect]); + + return parent::setAspect($aspect); + } + + /** + * {@inheritDoc} + */ + public function getAspect() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAspect', []); + + return parent::getAspect(); + } + + /** + * {@inheritDoc} + */ + public function setErrorCode($errorCode) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setErrorCode', [$errorCode]); + + return parent::setErrorCode($errorCode); + } + + /** + * {@inheritDoc} + */ + public function getErrorCode() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getErrorCode', []); + + return parent::getErrorCode(); + } + + /** + * {@inheritDoc} + */ + public function setErrorMessage($errorMessage) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setErrorMessage', [$errorMessage]); + + return parent::setErrorMessage($errorMessage); + } + + /** + * {@inheritDoc} + */ + public function getErrorMessage() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getErrorMessage', []); + + return parent::getErrorMessage(); + } + + /** + * {@inheritDoc} + */ + public function setFormat($format) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setFormat', [$format]); + + return parent::setFormat($format); + } + + /** + * {@inheritDoc} + */ + public function getFormat() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFormat', []); + + return parent::getFormat(); + } + + /** + * {@inheritDoc} + */ + public function setGeneral($general) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setGeneral', [$general]); + + return parent::setGeneral($general); + } + + /** + * {@inheritDoc} + */ + public function getGeneral() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getGeneral', []); + + return parent::getGeneral(); + } + + /** + * {@inheritDoc} + */ + public function setResource($resource) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setResource', [$resource]); + + return parent::setResource($resource); + } + + /** + * {@inheritDoc} + */ + public function getResource() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getResource', []); + + return parent::getResource(); + } + + /** + * {@inheritDoc} + */ + public function setRoute($route) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRoute', [$route]); + + return parent::setRoute($route); + } + + /** + * {@inheritDoc} + */ + public function getRoute() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRoute', []); + + return parent::getRoute(); + } + + /** + * {@inheritDoc} + */ + public function setStatusCode($statusCode) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setStatusCode', [$statusCode]); + + return parent::setStatusCode($statusCode); + } + + /** + * {@inheritDoc} + */ + public function getStatusCode() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getStatusCode', []); + + return parent::getStatusCode(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setMethod($method) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setMethod', [$method]); + + return parent::setMethod($method); + } + + /** + * {@inheritDoc} + */ + public function getMethod() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getMethod', []); + + return parent::getMethod(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiOauthCode.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiOauthCode.php new file mode 100644 index 0000000000..74b09734af --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiOauthCode.php @@ -0,0 +1,334 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class ApiOauthCode extends \Alchemy\Phrasea\Model\Entities\ApiOauthCode implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthCode' . "\0" . 'code', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthCode' . "\0" . 'account', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthCode' . "\0" . 'redirectUri', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthCode' . "\0" . 'expires', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthCode' . "\0" . 'scope', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthCode' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthCode' . "\0" . 'updated']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthCode' . "\0" . 'code', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthCode' . "\0" . 'account', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthCode' . "\0" . 'redirectUri', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthCode' . "\0" . 'expires', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthCode' . "\0" . 'scope', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthCode' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthCode' . "\0" . 'updated']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (ApiOauthCode $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function setAccount(\Alchemy\Phrasea\Model\Entities\ApiAccount $account) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAccount', [$account]); + + return parent::setAccount($account); + } + + /** + * {@inheritDoc} + */ + public function getAccount() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAccount', []); + + return parent::getAccount(); + } + + /** + * {@inheritDoc} + */ + public function setCode($code) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCode', [$code]); + + return parent::setCode($code); + } + + /** + * {@inheritDoc} + */ + public function getCode() + { + if ($this->__isInitialized__ === false) { + return parent::getCode(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCode', []); + + return parent::getCode(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setExpires($timestamp) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setExpires', [$timestamp]); + + return parent::setExpires($timestamp); + } + + /** + * {@inheritDoc} + */ + public function getExpires() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getExpires', []); + + return parent::getExpires(); + } + + /** + * {@inheritDoc} + */ + public function setRedirectUri($redirectUri) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRedirectUri', [$redirectUri]); + + return parent::setRedirectUri($redirectUri); + } + + /** + * {@inheritDoc} + */ + public function getRedirectUri() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRedirectUri', []); + + return parent::getRedirectUri(); + } + + /** + * {@inheritDoc} + */ + public function setScope($scope) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setScope', [$scope]); + + return parent::setScope($scope); + } + + /** + * {@inheritDoc} + */ + public function getScope() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getScope', []); + + return parent::getScope(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiOauthRefreshToken.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiOauthRefreshToken.php new file mode 100644 index 0000000000..98f60ef277 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiOauthRefreshToken.php @@ -0,0 +1,312 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class ApiOauthRefreshToken extends \Alchemy\Phrasea\Model\Entities\ApiOauthRefreshToken implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthRefreshToken' . "\0" . 'refreshToken', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthRefreshToken' . "\0" . 'account', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthRefreshToken' . "\0" . 'expires', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthRefreshToken' . "\0" . 'scope', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthRefreshToken' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthRefreshToken' . "\0" . 'updated']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthRefreshToken' . "\0" . 'refreshToken', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthRefreshToken' . "\0" . 'account', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthRefreshToken' . "\0" . 'expires', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthRefreshToken' . "\0" . 'scope', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthRefreshToken' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthRefreshToken' . "\0" . 'updated']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (ApiOauthRefreshToken $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function setAccount(\Alchemy\Phrasea\Model\Entities\ApiAccount $account) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAccount', [$account]); + + return parent::setAccount($account); + } + + /** + * {@inheritDoc} + */ + public function getAccount() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAccount', []); + + return parent::getAccount(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setExpires($expires) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setExpires', [$expires]); + + return parent::setExpires($expires); + } + + /** + * {@inheritDoc} + */ + public function getExpires() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getExpires', []); + + return parent::getExpires(); + } + + /** + * {@inheritDoc} + */ + public function setRefreshToken($refreshToken) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRefreshToken', [$refreshToken]); + + return parent::setRefreshToken($refreshToken); + } + + /** + * {@inheritDoc} + */ + public function getRefreshToken() + { + if ($this->__isInitialized__ === false) { + return parent::getRefreshToken(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRefreshToken', []); + + return parent::getRefreshToken(); + } + + /** + * {@inheritDoc} + */ + public function setScope($scope) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setScope', [$scope]); + + return parent::setScope($scope); + } + + /** + * {@inheritDoc} + */ + public function getScope() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getScope', []); + + return parent::getScope(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiOauthToken.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiOauthToken.php new file mode 100644 index 0000000000..7ae62f9184 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesApiOauthToken.php @@ -0,0 +1,356 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class ApiOauthToken extends \Alchemy\Phrasea\Model\Entities\ApiOauthToken implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthToken' . "\0" . 'oauthToken', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthToken' . "\0" . 'sessionId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthToken' . "\0" . 'account', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthToken' . "\0" . 'expires', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthToken' . "\0" . 'lastUsed', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthToken' . "\0" . 'scope', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthToken' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthToken' . "\0" . 'updated']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthToken' . "\0" . 'oauthToken', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthToken' . "\0" . 'sessionId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthToken' . "\0" . 'account', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthToken' . "\0" . 'expires', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthToken' . "\0" . 'lastUsed', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthToken' . "\0" . 'scope', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthToken' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ApiOauthToken' . "\0" . 'updated']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (ApiOauthToken $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function setAccount(\Alchemy\Phrasea\Model\Entities\ApiAccount $account) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAccount', [$account]); + + return parent::setAccount($account); + } + + /** + * {@inheritDoc} + */ + public function getAccount() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAccount', []); + + return parent::getAccount(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setExpires($expires = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setExpires', [$expires]); + + return parent::setExpires($expires); + } + + /** + * {@inheritDoc} + */ + public function getExpires() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getExpires', []); + + return parent::getExpires(); + } + + /** + * {@inheritDoc} + */ + public function setOauthToken($oauthToken) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setOauthToken', [$oauthToken]); + + return parent::setOauthToken($oauthToken); + } + + /** + * {@inheritDoc} + */ + public function getOauthToken() + { + if ($this->__isInitialized__ === false) { + return parent::getOauthToken(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getOauthToken', []); + + return parent::getOauthToken(); + } + + /** + * {@inheritDoc} + */ + public function setScope($scope) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setScope', [$scope]); + + return parent::setScope($scope); + } + + /** + * {@inheritDoc} + */ + public function getScope() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getScope', []); + + return parent::getScope(); + } + + /** + * {@inheritDoc} + */ + public function setSessionId($sessionId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSessionId', [$sessionId]); + + return parent::setSessionId($sessionId); + } + + /** + * {@inheritDoc} + */ + public function getSessionId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSessionId', []); + + return parent::getSessionId(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setLastUsed(\DateTime $lastUsed) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLastUsed', [$lastUsed]); + + return parent::setLastUsed($lastUsed); + } + + /** + * {@inheritDoc} + */ + public function getLastUsed() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLastUsed', []); + + return parent::getLastUsed(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesAuthFailure.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesAuthFailure.php new file mode 100644 index 0000000000..67ad235a87 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesAuthFailure.php @@ -0,0 +1,279 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class AuthFailure extends \Alchemy\Phrasea\Model\Entities\AuthFailure implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\AuthFailure' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\AuthFailure' . "\0" . 'username', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\AuthFailure' . "\0" . 'ip', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\AuthFailure' . "\0" . 'locked', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\AuthFailure' . "\0" . 'created']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\AuthFailure' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\AuthFailure' . "\0" . 'username', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\AuthFailure' . "\0" . 'ip', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\AuthFailure' . "\0" . 'locked', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\AuthFailure' . "\0" . 'created']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (AuthFailure $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setUsername($username) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUsername', [$username]); + + return parent::setUsername($username); + } + + /** + * {@inheritDoc} + */ + public function getUsername() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUsername', []); + + return parent::getUsername(); + } + + /** + * {@inheritDoc} + */ + public function setIp($ip) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setIp', [$ip]); + + return parent::setIp($ip); + } + + /** + * {@inheritDoc} + */ + public function getIp() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getIp', []); + + return parent::getIp(); + } + + /** + * {@inheritDoc} + */ + public function setLocked($locked) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLocked', [$locked]); + + return parent::setLocked($locked); + } + + /** + * {@inheritDoc} + */ + public function getLocked() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLocked', []); + + return parent::getLocked(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesBasket.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesBasket.php new file mode 100644 index 0000000000..aedc9247ff --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesBasket.php @@ -0,0 +1,488 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class Basket extends \Alchemy\Phrasea\Model\Entities\Basket implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'description', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'isRead', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'pusher', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'archived', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'validation', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'elements', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'order']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'description', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'isRead', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'pusher', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'archived', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'validation', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'elements', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Basket' . "\0" . 'order']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (Basket $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setName($name) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setName', [$name]); + + return parent::setName($name); + } + + /** + * {@inheritDoc} + */ + public function getName() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getName', []); + + return parent::getName(); + } + + /** + * {@inheritDoc} + */ + public function setDescription($description) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDescription', [$description]); + + return parent::setDescription($description); + } + + /** + * {@inheritDoc} + */ + public function getDescription() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDescription', []); + + return parent::getDescription(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function markRead() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'markRead', []); + + return parent::markRead(); + } + + /** + * {@inheritDoc} + */ + public function markUnread() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'markUnread', []); + + return parent::markUnread(); + } + + /** + * {@inheritDoc} + */ + public function isRead() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isRead', []); + + return parent::isRead(); + } + + /** + * {@inheritDoc} + */ + public function setPusher(\Alchemy\Phrasea\Model\Entities\User $user = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPusher', [$user]); + + return parent::setPusher($user); + } + + /** + * {@inheritDoc} + */ + public function getPusher() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPusher', []); + + return parent::getPusher(); + } + + /** + * {@inheritDoc} + */ + public function setArchived($archived) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setArchived', [$archived]); + + return parent::setArchived($archived); + } + + /** + * {@inheritDoc} + */ + public function getArchived() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getArchived', []); + + return parent::getArchived(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setValidation(\Alchemy\Phrasea\Model\Entities\ValidationSession $validation = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setValidation', [$validation]); + + return parent::setValidation($validation); + } + + /** + * {@inheritDoc} + */ + public function getValidation() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getValidation', []); + + return parent::getValidation(); + } + + /** + * {@inheritDoc} + */ + public function addElement(\Alchemy\Phrasea\Model\Entities\BasketElement $element) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addElement', [$element]); + + return parent::addElement($element); + } + + /** + * {@inheritDoc} + */ + public function removeElement(\Alchemy\Phrasea\Model\Entities\BasketElement $element) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeElement', [$element]); + + return parent::removeElement($element); + } + + /** + * {@inheritDoc} + */ + public function setOrder(\Alchemy\Phrasea\Model\Entities\Order $order = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setOrder', [$order]); + + return parent::setOrder($order); + } + + /** + * {@inheritDoc} + */ + public function getOrder() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getOrder', []); + + return parent::getOrder(); + } + + /** + * {@inheritDoc} + */ + public function getElements() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getElements', []); + + return parent::getElements(); + } + + /** + * {@inheritDoc} + */ + public function getElementsByOrder($order) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getElementsByOrder', [$order]); + + return parent::getElementsByOrder($order); + } + + /** + * {@inheritDoc} + */ + public function hasRecord(\Alchemy\Phrasea\Application $app, \record_adapter $record) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'hasRecord', [$app, $record]); + + return parent::hasRecord($app, $record); + } + + /** + * {@inheritDoc} + */ + public function getSize(\Alchemy\Phrasea\Application $app) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSize', [$app]); + + return parent::getSize($app); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesBasketElement.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesBasketElement.php new file mode 100644 index 0000000000..724d8a5c47 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesBasketElement.php @@ -0,0 +1,389 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class BasketElement extends \Alchemy\Phrasea\Model\Entities\BasketElement implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\BasketElement' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\BasketElement' . "\0" . 'record_id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\BasketElement' . "\0" . 'sbas_id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\BasketElement' . "\0" . 'ord', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\BasketElement' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\BasketElement' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\BasketElement' . "\0" . 'validation_datas', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\BasketElement' . "\0" . 'basket']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\BasketElement' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\BasketElement' . "\0" . 'record_id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\BasketElement' . "\0" . 'sbas_id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\BasketElement' . "\0" . 'ord', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\BasketElement' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\BasketElement' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\BasketElement' . "\0" . 'validation_datas', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\BasketElement' . "\0" . 'basket']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (BasketElement $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setRecordId($recordId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRecordId', [$recordId]); + + return parent::setRecordId($recordId); + } + + /** + * {@inheritDoc} + */ + public function getRecordId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRecordId', []); + + return parent::getRecordId(); + } + + /** + * {@inheritDoc} + */ + public function setSbasId($sbasId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSbasId', [$sbasId]); + + return parent::setSbasId($sbasId); + } + + /** + * {@inheritDoc} + */ + public function getSbasId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSbasId', []); + + return parent::getSbasId(); + } + + /** + * {@inheritDoc} + */ + public function getRecord(\Alchemy\Phrasea\Application $app) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRecord', [$app]); + + return parent::getRecord($app); + } + + /** + * {@inheritDoc} + */ + public function setRecord(\record_adapter $record) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRecord', [$record]); + + return parent::setRecord($record); + } + + /** + * {@inheritDoc} + */ + public function setOrd($ord) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setOrd', [$ord]); + + return parent::setOrd($ord); + } + + /** + * {@inheritDoc} + */ + public function getOrd() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getOrd', []); + + return parent::getOrd(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function addValidationData(\Alchemy\Phrasea\Model\Entities\ValidationData $validationDatas) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addValidationData', [$validationDatas]); + + return parent::addValidationData($validationDatas); + } + + /** + * {@inheritDoc} + */ + public function removeValidationData(\Alchemy\Phrasea\Model\Entities\ValidationData $validationDatas) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeValidationData', [$validationDatas]); + + return parent::removeValidationData($validationDatas); + } + + /** + * {@inheritDoc} + */ + public function getValidationDatas() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getValidationDatas', []); + + return parent::getValidationDatas(); + } + + /** + * {@inheritDoc} + */ + public function setBasket(\Alchemy\Phrasea\Model\Entities\Basket $basket = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setBasket', [$basket]); + + return parent::setBasket($basket); + } + + /** + * {@inheritDoc} + */ + public function getBasket() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getBasket', []); + + return parent::getBasket(); + } + + /** + * {@inheritDoc} + */ + public function getUserValidationDatas(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUserValidationDatas', [$user]); + + return parent::getUserValidationDatas($user); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeed.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeed.php new file mode 100644 index 0000000000..b8addb8e6b --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeed.php @@ -0,0 +1,587 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class Feed extends \Alchemy\Phrasea\Model\Entities\Feed implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'public', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'iconUrl', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'baseId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'title', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'subtitle', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'createdOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'updatedOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'publishers', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'entries', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'tokens']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'public', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'iconUrl', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'baseId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'title', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'subtitle', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'createdOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'updatedOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'publishers', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'entries', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Feed' . "\0" . 'tokens']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (Feed $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setIsPublic($public) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setIsPublic', [$public]); + + return parent::setIsPublic($public); + } + + /** + * {@inheritDoc} + */ + public function isPublic() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isPublic', []); + + return parent::isPublic(); + } + + /** + * {@inheritDoc} + */ + public function setIconUrl($iconUrl) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setIconUrl', [$iconUrl]); + + return parent::setIconUrl($iconUrl); + } + + /** + * {@inheritDoc} + */ + public function getIconUrl() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getIconUrl', []); + + return parent::getIconUrl(); + } + + /** + * {@inheritDoc} + */ + public function setBaseId($baseId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setBaseId', [$baseId]); + + return parent::setBaseId($baseId); + } + + /** + * {@inheritDoc} + */ + public function getBaseId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getBaseId', []); + + return parent::getBaseId(); + } + + /** + * {@inheritDoc} + */ + public function setTitle($title) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setTitle', [$title]); + + return parent::setTitle($title); + } + + /** + * {@inheritDoc} + */ + public function getTitle() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTitle', []); + + return parent::getTitle(); + } + + /** + * {@inheritDoc} + */ + public function addPublisher(\Alchemy\Phrasea\Model\Entities\FeedPublisher $publishers) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addPublisher', [$publishers]); + + return parent::addPublisher($publishers); + } + + /** + * {@inheritDoc} + */ + public function removePublisher(\Alchemy\Phrasea\Model\Entities\FeedPublisher $publishers) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'removePublisher', [$publishers]); + + return parent::removePublisher($publishers); + } + + /** + * {@inheritDoc} + */ + public function getPublishers() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPublishers', []); + + return parent::getPublishers(); + } + + /** + * {@inheritDoc} + */ + public function addEntry(\Alchemy\Phrasea\Model\Entities\FeedEntry $entries) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addEntry', [$entries]); + + return parent::addEntry($entries); + } + + /** + * {@inheritDoc} + */ + public function removeEntry(\Alchemy\Phrasea\Model\Entities\FeedEntry $entries) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeEntry', [$entries]); + + return parent::removeEntry($entries); + } + + /** + * {@inheritDoc} + */ + public function getEntries() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getEntries', []); + + return parent::getEntries(); + } + + /** + * {@inheritDoc} + */ + public function getOwner() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getOwner', []); + + return parent::getOwner(); + } + + /** + * {@inheritDoc} + */ + public function isOwner(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isOwner', [$user]); + + return parent::isOwner($user); + } + + /** + * {@inheritDoc} + */ + public function getCollection(\Alchemy\Phrasea\Application $app) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCollection', [$app]); + + return parent::getCollection($app); + } + + /** + * {@inheritDoc} + */ + public function setCollection(\collection $collection = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCollection', [$collection]); + + return parent::setCollection($collection); + } + + /** + * {@inheritDoc} + */ + public function setCreatedOn($createdOn) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreatedOn', [$createdOn]); + + return parent::setCreatedOn($createdOn); + } + + /** + * {@inheritDoc} + */ + public function getCreatedOn() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreatedOn', []); + + return parent::getCreatedOn(); + } + + /** + * {@inheritDoc} + */ + public function setUpdatedOn($updatedOn) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdatedOn', [$updatedOn]); + + return parent::setUpdatedOn($updatedOn); + } + + /** + * {@inheritDoc} + */ + public function getUpdatedOn() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdatedOn', []); + + return parent::getUpdatedOn(); + } + + /** + * {@inheritDoc} + */ + public function isPublisher(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isPublisher', [$user]); + + return parent::isPublisher($user); + } + + /** + * {@inheritDoc} + */ + public function getPublisher(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPublisher', [$user]); + + return parent::getPublisher($user); + } + + /** + * {@inheritDoc} + */ + public function setSubtitle($subtitle) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSubtitle', [$subtitle]); + + return parent::setSubtitle($subtitle); + } + + /** + * {@inheritDoc} + */ + public function getSubtitle() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSubtitle', []); + + return parent::getSubtitle(); + } + + /** + * {@inheritDoc} + */ + public function isAggregated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isAggregated', []); + + return parent::isAggregated(); + } + + /** + * {@inheritDoc} + */ + public function getCountTotalEntries() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCountTotalEntries', []); + + return parent::getCountTotalEntries(); + } + + /** + * {@inheritDoc} + */ + public function hasAccess(\Alchemy\Phrasea\Model\Entities\User $user, \Alchemy\Phrasea\Application $app) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'hasAccess', [$user, $app]); + + return parent::hasAccess($user, $app); + } + + /** + * {@inheritDoc} + */ + public function addToken(\Alchemy\Phrasea\Model\Entities\FeedToken $tokens) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addToken', [$tokens]); + + return parent::addToken($tokens); + } + + /** + * {@inheritDoc} + */ + public function removeToken(\Alchemy\Phrasea\Model\Entities\FeedToken $tokens) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeToken', [$tokens]); + + return parent::removeToken($tokens); + } + + /** + * {@inheritDoc} + */ + public function getTokens() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTokens', []); + + return parent::getTokens(); + } + + /** + * {@inheritDoc} + */ + public function addEntrie(\Alchemy\Phrasea\Model\Entities\FeedEntry $entries) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addEntrie', [$entries]); + + return parent::addEntrie($entries); + } + + /** + * {@inheritDoc} + */ + public function removeEntrie(\Alchemy\Phrasea\Model\Entities\FeedEntry $entries) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeEntrie', [$entries]); + + return parent::removeEntrie($entries); + } + + /** + * {@inheritDoc} + */ + public function hasPage($pageNumber, $nbEntriesByPage) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'hasPage', [$pageNumber, $nbEntriesByPage]); + + return parent::hasPage($pageNumber, $nbEntriesByPage); + } + + /** + * {@inheritDoc} + */ + public function isAccessible(\Alchemy\Phrasea\Model\Entities\User $user, \Alchemy\Phrasea\Application $app) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isAccessible', [$user, $app]); + + return parent::isAccessible($user, $app); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeedEntry.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeedEntry.php new file mode 100644 index 0000000000..ced6ae2482 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeedEntry.php @@ -0,0 +1,422 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class FeedEntry extends \Alchemy\Phrasea\Model\Entities\FeedEntry implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'title', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'subtitle', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'authorName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'authorEmail', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'createdOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'updatedOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'items', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'publisher', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'feed']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'title', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'subtitle', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'authorName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'authorEmail', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'createdOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'updatedOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'items', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'publisher', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedEntry' . "\0" . 'feed']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (FeedEntry $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setTitle($title) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setTitle', [$title]); + + return parent::setTitle($title); + } + + /** + * {@inheritDoc} + */ + public function getTitle() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTitle', []); + + return parent::getTitle(); + } + + /** + * {@inheritDoc} + */ + public function setSubtitle($subtitle) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSubtitle', [$subtitle]); + + return parent::setSubtitle($subtitle); + } + + /** + * {@inheritDoc} + */ + public function getSubtitle() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSubtitle', []); + + return parent::getSubtitle(); + } + + /** + * {@inheritDoc} + */ + public function setAuthorName($authorName) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAuthorName', [$authorName]); + + return parent::setAuthorName($authorName); + } + + /** + * {@inheritDoc} + */ + public function getAuthorName() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAuthorName', []); + + return parent::getAuthorName(); + } + + /** + * {@inheritDoc} + */ + public function setAuthorEmail($authorEmail) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAuthorEmail', [$authorEmail]); + + return parent::setAuthorEmail($authorEmail); + } + + /** + * {@inheritDoc} + */ + public function getAuthorEmail() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAuthorEmail', []); + + return parent::getAuthorEmail(); + } + + /** + * {@inheritDoc} + */ + public function setCreatedOn($createdOn) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreatedOn', [$createdOn]); + + return parent::setCreatedOn($createdOn); + } + + /** + * {@inheritDoc} + */ + public function getCreatedOn() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreatedOn', []); + + return parent::getCreatedOn(); + } + + /** + * {@inheritDoc} + */ + public function setUpdatedOn($updatedOn) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdatedOn', [$updatedOn]); + + return parent::setUpdatedOn($updatedOn); + } + + /** + * {@inheritDoc} + */ + public function getUpdatedOn() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdatedOn', []); + + return parent::getUpdatedOn(); + } + + /** + * {@inheritDoc} + */ + public function addItem(\Alchemy\Phrasea\Model\Entities\FeedItem $items) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addItem', [$items]); + + return parent::addItem($items); + } + + /** + * {@inheritDoc} + */ + public function removeItem(\Alchemy\Phrasea\Model\Entities\FeedItem $items) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeItem', [$items]); + + return parent::removeItem($items); + } + + /** + * {@inheritDoc} + */ + public function getItems() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getItems', []); + + return parent::getItems(); + } + + /** + * {@inheritDoc} + */ + public function setPublisher(\Alchemy\Phrasea\Model\Entities\FeedPublisher $publisher = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPublisher', [$publisher]); + + return parent::setPublisher($publisher); + } + + /** + * {@inheritDoc} + */ + public function getPublisher() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPublisher', []); + + return parent::getPublisher(); + } + + /** + * {@inheritDoc} + */ + public function setFeed(\Alchemy\Phrasea\Model\Entities\Feed $feed = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setFeed', [$feed]); + + return parent::setFeed($feed); + } + + /** + * {@inheritDoc} + */ + public function getFeed() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFeed', []); + + return parent::getFeed(); + } + + /** + * {@inheritDoc} + */ + public function isPublisher(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isPublisher', [$user]); + + return parent::isPublisher($user); + } + + /** + * {@inheritDoc} + */ + public function getItem($id) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getItem', [$id]); + + return parent::getItem($id); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeedItem.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeedItem.php new file mode 100644 index 0000000000..f45349c56f --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeedItem.php @@ -0,0 +1,345 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class FeedItem extends \Alchemy\Phrasea\Model\Entities\FeedItem implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedItem' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedItem' . "\0" . 'recordId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedItem' . "\0" . 'sbasId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedItem' . "\0" . 'ord', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedItem' . "\0" . 'createdOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedItem' . "\0" . 'updatedOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedItem' . "\0" . 'entry']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedItem' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedItem' . "\0" . 'recordId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedItem' . "\0" . 'sbasId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedItem' . "\0" . 'ord', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedItem' . "\0" . 'createdOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedItem' . "\0" . 'updatedOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedItem' . "\0" . 'entry']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (FeedItem $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setRecordId($recordId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRecordId', [$recordId]); + + return parent::setRecordId($recordId); + } + + /** + * {@inheritDoc} + */ + public function getRecordId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRecordId', []); + + return parent::getRecordId(); + } + + /** + * {@inheritDoc} + */ + public function setSbasId($sbasId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSbasId', [$sbasId]); + + return parent::setSbasId($sbasId); + } + + /** + * {@inheritDoc} + */ + public function getSbasId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSbasId', []); + + return parent::getSbasId(); + } + + /** + * {@inheritDoc} + */ + public function setEntry(\Alchemy\Phrasea\Model\Entities\FeedEntry $entry = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setEntry', [$entry]); + + return parent::setEntry($entry); + } + + /** + * {@inheritDoc} + */ + public function getEntry() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getEntry', []); + + return parent::getEntry(); + } + + /** + * {@inheritDoc} + */ + public function setOrd($ord) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setOrd', [$ord]); + + return parent::setOrd($ord); + } + + /** + * {@inheritDoc} + */ + public function getOrd() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getOrd', []); + + return parent::getOrd(); + } + + /** + * {@inheritDoc} + */ + public function setCreatedOn($createdOn) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreatedOn', [$createdOn]); + + return parent::setCreatedOn($createdOn); + } + + /** + * {@inheritDoc} + */ + public function getCreatedOn() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreatedOn', []); + + return parent::getCreatedOn(); + } + + /** + * {@inheritDoc} + */ + public function setUpdatedOn($updatedOn) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdatedOn', [$updatedOn]); + + return parent::setUpdatedOn($updatedOn); + } + + /** + * {@inheritDoc} + */ + public function getUpdatedOn() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdatedOn', []); + + return parent::getUpdatedOn(); + } + + /** + * {@inheritDoc} + */ + public function setLastInFeedItem() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLastInFeedItem', []); + + return parent::setLastInFeedItem(); + } + + /** + * {@inheritDoc} + */ + public function getRecord(\Alchemy\Phrasea\Application $app) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRecord', [$app]); + + return parent::getRecord($app); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeedPublisher.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeedPublisher.php new file mode 100644 index 0000000000..5e02d7c0a5 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeedPublisher.php @@ -0,0 +1,279 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class FeedPublisher extends \Alchemy\Phrasea\Model\Entities\FeedPublisher implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedPublisher' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedPublisher' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedPublisher' . "\0" . 'owner', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedPublisher' . "\0" . 'createdOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedPublisher' . "\0" . 'feed']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedPublisher' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedPublisher' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedPublisher' . "\0" . 'owner', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedPublisher' . "\0" . 'createdOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedPublisher' . "\0" . 'feed']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (FeedPublisher $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function setIsOwner($owner) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setIsOwner', [$owner]); + + return parent::setIsOwner($owner); + } + + /** + * {@inheritDoc} + */ + public function isOwner() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isOwner', []); + + return parent::isOwner(); + } + + /** + * {@inheritDoc} + */ + public function setFeed(\Alchemy\Phrasea\Model\Entities\Feed $feed = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setFeed', [$feed]); + + return parent::setFeed($feed); + } + + /** + * {@inheritDoc} + */ + public function getFeed() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFeed', []); + + return parent::getFeed(); + } + + /** + * {@inheritDoc} + */ + public function setCreatedOn($createdOn) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreatedOn', [$createdOn]); + + return parent::setCreatedOn($createdOn); + } + + /** + * {@inheritDoc} + */ + public function getCreatedOn() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreatedOn', []); + + return parent::getCreatedOn(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeedToken.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeedToken.php new file mode 100644 index 0000000000..e7bfbd3ce9 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFeedToken.php @@ -0,0 +1,257 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class FeedToken extends \Alchemy\Phrasea\Model\Entities\FeedToken implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedToken' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedToken' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedToken' . "\0" . 'value', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedToken' . "\0" . 'feed']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedToken' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedToken' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedToken' . "\0" . 'value', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FeedToken' . "\0" . 'feed']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (FeedToken $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function setFeed(\Alchemy\Phrasea\Model\Entities\Feed $feed = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setFeed', [$feed]); + + return parent::setFeed($feed); + } + + /** + * {@inheritDoc} + */ + public function getFeed() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFeed', []); + + return parent::getFeed(); + } + + /** + * {@inheritDoc} + */ + public function setValue($value) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setValue', [$value]); + + return parent::setValue($value); + } + + /** + * {@inheritDoc} + */ + public function getValue() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getValue', []); + + return parent::getValue(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFtpCredential.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFtpCredential.php new file mode 100644 index 0000000000..735cd9bcaa --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFtpCredential.php @@ -0,0 +1,433 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class FtpCredential extends \Alchemy\Phrasea\Model\Entities\FtpCredential implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'active', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'address', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'login', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'password', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'receptionFolder', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'repositoryPrefixName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'passive', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'ssl', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'maxRetry', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'updated']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'active', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'address', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'login', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'password', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'receptionFolder', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'repositoryPrefixName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'passive', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'ssl', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'maxRetry', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpCredential' . "\0" . 'updated']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (FtpCredential $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function isActive() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isActive', []); + + return parent::isActive(); + } + + /** + * {@inheritDoc} + */ + public function setActive($active) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setActive', [$active]); + + return parent::setActive($active); + } + + /** + * {@inheritDoc} + */ + public function getAddress() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAddress', []); + + return parent::getAddress(); + } + + /** + * {@inheritDoc} + */ + public function setAddress($address) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAddress', [$address]); + + return parent::setAddress($address); + } + + /** + * {@inheritDoc} + */ + public function getLogin() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLogin', []); + + return parent::getLogin(); + } + + /** + * {@inheritDoc} + */ + public function setLogin($login) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLogin', [$login]); + + return parent::setLogin($login); + } + + /** + * {@inheritDoc} + */ + public function getPassword() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPassword', []); + + return parent::getPassword(); + } + + /** + * {@inheritDoc} + */ + public function setPassword($password) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPassword', [$password]); + + return parent::setPassword($password); + } + + /** + * {@inheritDoc} + */ + public function getReceptionFolder() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getReceptionFolder', []); + + return parent::getReceptionFolder(); + } + + /** + * {@inheritDoc} + */ + public function setReceptionFolder($receptionFolder) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setReceptionFolder', [$receptionFolder]); + + return parent::setReceptionFolder($receptionFolder); + } + + /** + * {@inheritDoc} + */ + public function getRepositoryPrefixName() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRepositoryPrefixName', []); + + return parent::getRepositoryPrefixName(); + } + + /** + * {@inheritDoc} + */ + public function setRepositoryPrefixName($repositoryPrefixName) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRepositoryPrefixName', [$repositoryPrefixName]); + + return parent::setRepositoryPrefixName($repositoryPrefixName); + } + + /** + * {@inheritDoc} + */ + public function isPassive() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isPassive', []); + + return parent::isPassive(); + } + + /** + * {@inheritDoc} + */ + public function setPassive($passive) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPassive', [$passive]); + + return parent::setPassive($passive); + } + + /** + * {@inheritDoc} + */ + public function isSsl() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isSsl', []); + + return parent::isSsl(); + } + + /** + * {@inheritDoc} + */ + public function setSsl($ssl) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSsl', [$ssl]); + + return parent::setSsl($ssl); + } + + /** + * {@inheritDoc} + */ + public function getMaxRetry() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getMaxRetry', []); + + return parent::getMaxRetry(); + } + + /** + * {@inheritDoc} + */ + public function setMaxRetry($maxRetry) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setMaxRetry', [$maxRetry]); + + return parent::setMaxRetry($maxRetry); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFtpExport.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFtpExport.php new file mode 100644 index 0000000000..22bf515985 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFtpExport.php @@ -0,0 +1,609 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class FtpExport extends \Alchemy\Phrasea\Model\Entities\FtpExport implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'crash', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'nbretry', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'mail', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'addr', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'ssl', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'login', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'pwd', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'passif', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'destfolder', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'sendermail', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'textMailSender', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'textMailReceiver', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'foldertocreate', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'logfile', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'elements', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'updated']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'crash', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'nbretry', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'mail', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'addr', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'ssl', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'login', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'pwd', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'passif', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'destfolder', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'sendermail', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'textMailSender', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'textMailReceiver', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'foldertocreate', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'logfile', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'elements', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExport' . "\0" . 'updated']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (FtpExport $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function setCrash($crash) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCrash', [$crash]); + + return parent::setCrash($crash); + } + + /** + * {@inheritDoc} + */ + public function getCrash() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCrash', []); + + return parent::getCrash(); + } + + /** + * {@inheritDoc} + */ + public function incrementCrash() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'incrementCrash', []); + + return parent::incrementCrash(); + } + + /** + * {@inheritDoc} + */ + public function setNbretry($nbretry) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setNbretry', [$nbretry]); + + return parent::setNbretry($nbretry); + } + + /** + * {@inheritDoc} + */ + public function getNbretry() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getNbretry', []); + + return parent::getNbretry(); + } + + /** + * {@inheritDoc} + */ + public function setMail($mail) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setMail', [$mail]); + + return parent::setMail($mail); + } + + /** + * {@inheritDoc} + */ + public function getMail() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getMail', []); + + return parent::getMail(); + } + + /** + * {@inheritDoc} + */ + public function setAddr($addr) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAddr', [$addr]); + + return parent::setAddr($addr); + } + + /** + * {@inheritDoc} + */ + public function getAddr() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAddr', []); + + return parent::getAddr(); + } + + /** + * {@inheritDoc} + */ + public function setSsl($ssl) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSsl', [$ssl]); + + return parent::setSsl($ssl); + } + + /** + * {@inheritDoc} + */ + public function isSsl() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isSsl', []); + + return parent::isSsl(); + } + + /** + * {@inheritDoc} + */ + public function setLogin($login) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLogin', [$login]); + + return parent::setLogin($login); + } + + /** + * {@inheritDoc} + */ + public function getLogin() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLogin', []); + + return parent::getLogin(); + } + + /** + * {@inheritDoc} + */ + public function setPwd($pwd) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPwd', [$pwd]); + + return parent::setPwd($pwd); + } + + /** + * {@inheritDoc} + */ + public function getPwd() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPwd', []); + + return parent::getPwd(); + } + + /** + * {@inheritDoc} + */ + public function setPassif($passif) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPassif', [$passif]); + + return parent::setPassif($passif); + } + + /** + * {@inheritDoc} + */ + public function isPassif() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isPassif', []); + + return parent::isPassif(); + } + + /** + * {@inheritDoc} + */ + public function setDestfolder($destfolder) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDestfolder', [$destfolder]); + + return parent::setDestfolder($destfolder); + } + + /** + * {@inheritDoc} + */ + public function getDestfolder() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDestfolder', []); + + return parent::getDestfolder(); + } + + /** + * {@inheritDoc} + */ + public function setSendermail($sendermail) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSendermail', [$sendermail]); + + return parent::setSendermail($sendermail); + } + + /** + * {@inheritDoc} + */ + public function getSendermail() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSendermail', []); + + return parent::getSendermail(); + } + + /** + * {@inheritDoc} + */ + public function setTextMailSender($textMailSender) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setTextMailSender', [$textMailSender]); + + return parent::setTextMailSender($textMailSender); + } + + /** + * {@inheritDoc} + */ + public function getTextMailSender() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTextMailSender', []); + + return parent::getTextMailSender(); + } + + /** + * {@inheritDoc} + */ + public function setTextMailReceiver($textMailReceiver) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setTextMailReceiver', [$textMailReceiver]); + + return parent::setTextMailReceiver($textMailReceiver); + } + + /** + * {@inheritDoc} + */ + public function getTextMailReceiver() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTextMailReceiver', []); + + return parent::getTextMailReceiver(); + } + + /** + * {@inheritDoc} + */ + public function setFoldertocreate($foldertocreate) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setFoldertocreate', [$foldertocreate]); + + return parent::setFoldertocreate($foldertocreate); + } + + /** + * {@inheritDoc} + */ + public function getFoldertocreate() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFoldertocreate', []); + + return parent::getFoldertocreate(); + } + + /** + * {@inheritDoc} + */ + public function setLogfile($logfile) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLogfile', [$logfile]); + + return parent::setLogfile($logfile); + } + + /** + * {@inheritDoc} + */ + public function isLogfile() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isLogfile', []); + + return parent::isLogfile(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function addElement(\Alchemy\Phrasea\Model\Entities\FtpExportElement $elements) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addElement', [$elements]); + + return parent::addElement($elements); + } + + /** + * {@inheritDoc} + */ + public function removeElement(\Alchemy\Phrasea\Model\Entities\FtpExportElement $elements) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeElement', [$elements]); + + return parent::removeElement($elements); + } + + /** + * {@inheritDoc} + */ + public function getElements() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getElements', []); + + return parent::getElements(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFtpExportElement.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFtpExportElement.php new file mode 100644 index 0000000000..ff215082cb --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesFtpExportElement.php @@ -0,0 +1,433 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class FtpExportElement extends \Alchemy\Phrasea\Model\Entities\FtpExportElement implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'recordId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'baseId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'subdef', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'filename', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'folder', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'error', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'done', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'export', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'businessfields', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'updated']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'recordId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'baseId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'subdef', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'filename', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'folder', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'error', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'done', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'export', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'businessfields', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\FtpExportElement' . "\0" . 'updated']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (FtpExportElement $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setRecordId($recordId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRecordId', [$recordId]); + + return parent::setRecordId($recordId); + } + + /** + * {@inheritDoc} + */ + public function getRecordId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRecordId', []); + + return parent::getRecordId(); + } + + /** + * {@inheritDoc} + */ + public function setBaseId($baseId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setBaseId', [$baseId]); + + return parent::setBaseId($baseId); + } + + /** + * {@inheritDoc} + */ + public function getBaseId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getBaseId', []); + + return parent::getBaseId(); + } + + /** + * {@inheritDoc} + */ + public function setSubdef($subdef) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSubdef', [$subdef]); + + return parent::setSubdef($subdef); + } + + /** + * {@inheritDoc} + */ + public function getSubdef() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSubdef', []); + + return parent::getSubdef(); + } + + /** + * {@inheritDoc} + */ + public function setFilename($filename) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setFilename', [$filename]); + + return parent::setFilename($filename); + } + + /** + * {@inheritDoc} + */ + public function getFilename() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFilename', []); + + return parent::getFilename(); + } + + /** + * {@inheritDoc} + */ + public function setFolder($folder) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setFolder', [$folder]); + + return parent::setFolder($folder); + } + + /** + * {@inheritDoc} + */ + public function getFolder() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFolder', []); + + return parent::getFolder(); + } + + /** + * {@inheritDoc} + */ + public function setError($error) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setError', [$error]); + + return parent::setError($error); + } + + /** + * {@inheritDoc} + */ + public function isError() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isError', []); + + return parent::isError(); + } + + /** + * {@inheritDoc} + */ + public function setDone($done) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDone', [$done]); + + return parent::setDone($done); + } + + /** + * {@inheritDoc} + */ + public function isDone() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isDone', []); + + return parent::isDone(); + } + + /** + * {@inheritDoc} + */ + public function setBusinessfields($businessfields) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setBusinessfields', [$businessfields]); + + return parent::setBusinessfields($businessfields); + } + + /** + * {@inheritDoc} + */ + public function isBusinessfields() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isBusinessfields', []); + + return parent::isBusinessfields(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setExport(\Alchemy\Phrasea\Model\Entities\FtpExport $export = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setExport', [$export]); + + return parent::setExport($export); + } + + /** + * {@inheritDoc} + */ + public function getExport() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getExport', []); + + return parent::getExport(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretAttribute.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretAttribute.php new file mode 100644 index 0000000000..4f5f4b6c05 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretAttribute.php @@ -0,0 +1,301 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class LazaretAttribute extends \Alchemy\Phrasea\Model\Entities\LazaretAttribute implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretAttribute' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretAttribute' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretAttribute' . "\0" . 'value', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretAttribute' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretAttribute' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretAttribute' . "\0" . 'lazaretFile']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretAttribute' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretAttribute' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretAttribute' . "\0" . 'value', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretAttribute' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretAttribute' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretAttribute' . "\0" . 'lazaretFile']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (LazaretAttribute $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setName($name) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setName', [$name]); + + return parent::setName($name); + } + + /** + * {@inheritDoc} + */ + public function getName() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getName', []); + + return parent::getName(); + } + + /** + * {@inheritDoc} + */ + public function setValue($value) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setValue', [$value]); + + return parent::setValue($value); + } + + /** + * {@inheritDoc} + */ + public function getValue() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getValue', []); + + return parent::getValue(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setLazaretFile(\Alchemy\Phrasea\Model\Entities\LazaretFile $lazaretFile = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLazaretFile', [$lazaretFile]); + + return parent::setLazaretFile($lazaretFile); + } + + /** + * {@inheritDoc} + */ + public function getLazaretFile() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLazaretFile', []); + + return parent::getLazaretFile(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretCheck.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretCheck.php new file mode 100644 index 0000000000..9f502cc744 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretCheck.php @@ -0,0 +1,257 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class LazaretCheck extends \Alchemy\Phrasea\Model\Entities\LazaretCheck implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretCheck' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretCheck' . "\0" . 'checkClassname', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretCheck' . "\0" . 'lazaretFile']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretCheck' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretCheck' . "\0" . 'checkClassname', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretCheck' . "\0" . 'lazaretFile']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (LazaretCheck $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setCheckClassname($checkClassname) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCheckClassname', [$checkClassname]); + + return parent::setCheckClassname($checkClassname); + } + + /** + * {@inheritDoc} + */ + public function getCheckClassname() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCheckClassname', []); + + return parent::getCheckClassname(); + } + + /** + * {@inheritDoc} + */ + public function setLazaretFile(\Alchemy\Phrasea\Model\Entities\LazaretFile $lazaretFile = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLazaretFile', [$lazaretFile]); + + return parent::setLazaretFile($lazaretFile); + } + + /** + * {@inheritDoc} + */ + public function getLazaretFile() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLazaretFile', []); + + return parent::getLazaretFile(); + } + + /** + * {@inheritDoc} + */ + public function getReason(\Symfony\Component\Translation\TranslatorInterface $translator) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getReason', [$translator]); + + return parent::getReason($translator); + } + + /** + * {@inheritDoc} + */ + public function listConflicts(\Alchemy\Phrasea\Application $app) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'listConflicts', [$app]); + + return parent::listConflicts($app); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretFile.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretFile.php new file mode 100644 index 0000000000..dab6e47808 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretFile.php @@ -0,0 +1,521 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class LazaretFile extends \Alchemy\Phrasea\Model\Entities\LazaretFile implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'filename', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'thumbFilename', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'originalName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'base_id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'uuid', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'sha256', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'forced', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'attributes', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'checks', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'session']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'filename', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'thumbFilename', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'originalName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'base_id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'uuid', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'sha256', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'forced', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'attributes', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'checks', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretFile' . "\0" . 'session']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (LazaretFile $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setFilename($filename) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setFilename', [$filename]); + + return parent::setFilename($filename); + } + + /** + * {@inheritDoc} + */ + public function getFilename() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFilename', []); + + return parent::getFilename(); + } + + /** + * {@inheritDoc} + */ + public function setThumbFilename($thumbFilename) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setThumbFilename', [$thumbFilename]); + + return parent::setThumbFilename($thumbFilename); + } + + /** + * {@inheritDoc} + */ + public function getThumbFilename() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getThumbFilename', []); + + return parent::getThumbFilename(); + } + + /** + * {@inheritDoc} + */ + public function setOriginalName($originalName) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setOriginalName', [$originalName]); + + return parent::setOriginalName($originalName); + } + + /** + * {@inheritDoc} + */ + public function getOriginalName() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getOriginalName', []); + + return parent::getOriginalName(); + } + + /** + * {@inheritDoc} + */ + public function setBaseId($baseId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setBaseId', [$baseId]); + + return parent::setBaseId($baseId); + } + + /** + * {@inheritDoc} + */ + public function getBaseId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getBaseId', []); + + return parent::getBaseId(); + } + + /** + * {@inheritDoc} + */ + public function getCollection(\Alchemy\Phrasea\Application $app) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCollection', [$app]); + + return parent::getCollection($app); + } + + /** + * {@inheritDoc} + */ + public function setUuid($uuid) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUuid', [$uuid]); + + return parent::setUuid($uuid); + } + + /** + * {@inheritDoc} + */ + public function getUuid() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUuid', []); + + return parent::getUuid(); + } + + /** + * {@inheritDoc} + */ + public function setSha256($sha256) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSha256', [$sha256]); + + return parent::setSha256($sha256); + } + + /** + * {@inheritDoc} + */ + public function getSha256() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSha256', []); + + return parent::getSha256(); + } + + /** + * {@inheritDoc} + */ + public function setForced($forced) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setForced', [$forced]); + + return parent::setForced($forced); + } + + /** + * {@inheritDoc} + */ + public function getForced() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getForced', []); + + return parent::getForced(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function addAttribute(\Alchemy\Phrasea\Model\Entities\LazaretAttribute $attributes) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addAttribute', [$attributes]); + + return parent::addAttribute($attributes); + } + + /** + * {@inheritDoc} + */ + public function removeAttribute(\Alchemy\Phrasea\Model\Entities\LazaretAttribute $attributes) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeAttribute', [$attributes]); + + return parent::removeAttribute($attributes); + } + + /** + * {@inheritDoc} + */ + public function getAttributes() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAttributes', []); + + return parent::getAttributes(); + } + + /** + * {@inheritDoc} + */ + public function addCheck(\Alchemy\Phrasea\Model\Entities\LazaretCheck $checks) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addCheck', [$checks]); + + return parent::addCheck($checks); + } + + /** + * {@inheritDoc} + */ + public function removeCheck(\Alchemy\Phrasea\Model\Entities\LazaretCheck $checks) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeCheck', [$checks]); + + return parent::removeCheck($checks); + } + + /** + * {@inheritDoc} + */ + public function getCheckerName(\Alchemy\Phrasea\Model\Entities\LazaretCheck $checks) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCheckerName', [$checks]); + + return parent::getCheckerName($checks); + } + + /** + * {@inheritDoc} + */ + public function getChecks() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getChecks', []); + + return parent::getChecks(); + } + + /** + * {@inheritDoc} + */ + public function getChecksWhithNameKey() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getChecksWhithNameKey', []); + + return parent::getChecksWhithNameKey(); + } + + /** + * {@inheritDoc} + */ + public function setSession(\Alchemy\Phrasea\Model\Entities\LazaretSession $session = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSession', [$session]); + + return parent::setSession($session); + } + + /** + * {@inheritDoc} + */ + public function getSession() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSession', []); + + return parent::getSession(); + } + + /** + * {@inheritDoc} + */ + public function getRecordsToSubstitute(\Alchemy\Phrasea\Application $app, $includeReason = false) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRecordsToSubstitute', [$app, $includeReason]); + + return parent::getRecordsToSubstitute($app, $includeReason); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretSession.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretSession.php new file mode 100644 index 0000000000..1f678d61aa --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesLazaretSession.php @@ -0,0 +1,290 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class LazaretSession extends \Alchemy\Phrasea\Model\Entities\LazaretSession implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretSession' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretSession' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretSession' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretSession' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretSession' . "\0" . 'files']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretSession' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretSession' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretSession' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretSession' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\LazaretSession' . "\0" . 'files']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (LazaretSession $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function addFile(\Alchemy\Phrasea\Model\Entities\LazaretFile $files) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addFile', [$files]); + + return parent::addFile($files); + } + + /** + * {@inheritDoc} + */ + public function removeFile(\Alchemy\Phrasea\Model\Entities\LazaretFile $files) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeFile', [$files]); + + return parent::removeFile($files); + } + + /** + * {@inheritDoc} + */ + public function getFiles() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFiles', []); + + return parent::getFiles(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesOrder.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesOrder.php new file mode 100644 index 0000000000..fb1bc56456 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesOrder.php @@ -0,0 +1,411 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class Order extends \Alchemy\Phrasea\Model\Entities\Order implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'orderUsage', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'todo', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'deadline', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'createdOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'elements', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'basket', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'notificationMethod']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'orderUsage', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'todo', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'deadline', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'createdOn', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'elements', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'basket', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Order' . "\0" . 'notificationMethod']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (Order $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getDeadline() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDeadline', []); + + return parent::getDeadline(); + } + + /** + * {@inheritDoc} + */ + public function setDeadline($deadline) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDeadline', [$deadline]); + + return parent::setDeadline($deadline); + } + + /** + * {@inheritDoc} + */ + public function getCreatedOn() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreatedOn', []); + + return parent::getCreatedOn(); + } + + /** + * {@inheritDoc} + */ + public function setCreatedOn($createdOn) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreatedOn', [$createdOn]); + + return parent::setCreatedOn($createdOn); + } + + /** + * {@inheritDoc} + */ + public function addElement(\Alchemy\Phrasea\Model\Entities\OrderElement $elements) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addElement', [$elements]); + + return parent::addElement($elements); + } + + /** + * {@inheritDoc} + */ + public function removeElement(\Alchemy\Phrasea\Model\Entities\OrderElement $elements) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeElement', [$elements]); + + return parent::removeElement($elements); + } + + /** + * {@inheritDoc} + */ + public function getElements() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getElements', []); + + return parent::getElements(); + } + + /** + * {@inheritDoc} + */ + public function getTodo() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTodo', []); + + return parent::getTodo(); + } + + /** + * {@inheritDoc} + */ + public function setTodo($todo) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setTodo', [$todo]); + + return parent::setTodo($todo); + } + + /** + * {@inheritDoc} + */ + public function decrementTodo($count) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'decrementTodo', [$count]); + + return parent::decrementTodo($count); + } + + /** + * {@inheritDoc} + */ + public function getTotal() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTotal', []); + + return parent::getTotal(); + } + + /** + * {@inheritDoc} + */ + public function getTotalTreatedItems() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTotalTreatedItems', []); + + return parent::getTotalTreatedItems(); + } + + /** + * {@inheritDoc} + */ + public function getOrderUsage() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getOrderUsage', []); + + return parent::getOrderUsage(); + } + + /** + * {@inheritDoc} + */ + public function setOrderUsage($orderUsage) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setOrderUsage', [$orderUsage]); + + return parent::setOrderUsage($orderUsage); + } + + /** + * {@inheritDoc} + */ + public function getBasket() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getBasket', []); + + return parent::getBasket(); + } + + /** + * {@inheritDoc} + */ + public function setBasket(\Alchemy\Phrasea\Model\Entities\Basket $basket = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setBasket', [$basket]); + + return parent::setBasket($basket); + } + + /** + * {@inheritDoc} + */ + public function getNotificationMethod() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getNotificationMethod', []); + + return parent::getNotificationMethod(); + } + + /** + * {@inheritDoc} + */ + public function setNotificationMethod($methodName) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setNotificationMethod', [$methodName]); + + return parent::setNotificationMethod($methodName); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesOrderElement.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesOrderElement.php new file mode 100644 index 0000000000..7f6addfb66 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesOrderElement.php @@ -0,0 +1,323 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class OrderElement extends \Alchemy\Phrasea\Model\Entities\OrderElement implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\OrderElement' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\OrderElement' . "\0" . 'baseId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\OrderElement' . "\0" . 'recordId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\OrderElement' . "\0" . 'orderMaster', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\OrderElement' . "\0" . 'deny', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\OrderElement' . "\0" . 'order']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\OrderElement' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\OrderElement' . "\0" . 'baseId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\OrderElement' . "\0" . 'recordId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\OrderElement' . "\0" . 'orderMaster', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\OrderElement' . "\0" . 'deny', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\OrderElement' . "\0" . 'order']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (OrderElement $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setOrderMaster(\Alchemy\Phrasea\Model\Entities\User $user = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setOrderMaster', [$user]); + + return parent::setOrderMaster($user); + } + + /** + * {@inheritDoc} + */ + public function getOrderMaster() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getOrderMaster', []); + + return parent::getOrderMaster(); + } + + /** + * {@inheritDoc} + */ + public function setDeny($deny) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDeny', [$deny]); + + return parent::setDeny($deny); + } + + /** + * {@inheritDoc} + */ + public function getDeny() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDeny', []); + + return parent::getDeny(); + } + + /** + * {@inheritDoc} + */ + public function setOrder(\Alchemy\Phrasea\Model\Entities\Order $order = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setOrder', [$order]); + + return parent::setOrder($order); + } + + /** + * {@inheritDoc} + */ + public function getOrder() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getOrder', []); + + return parent::getOrder(); + } + + /** + * {@inheritDoc} + */ + public function setBaseId($baseId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setBaseId', [$baseId]); + + return parent::setBaseId($baseId); + } + + /** + * {@inheritDoc} + */ + public function getBaseId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getBaseId', []); + + return parent::getBaseId(); + } + + /** + * {@inheritDoc} + */ + public function setRecordId($recordId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRecordId', [$recordId]); + + return parent::setRecordId($recordId); + } + + /** + * {@inheritDoc} + */ + public function getRecordId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRecordId', []); + + return parent::getRecordId(); + } + + /** + * {@inheritDoc} + */ + public function getRecord(\Alchemy\Phrasea\Application $app) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRecord', [$app]); + + return parent::getRecord($app); + } + + /** + * {@inheritDoc} + */ + public function getSbasId(\Alchemy\Phrasea\Application $app) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSbasId', [$app]); + + return parent::getSbasId($app); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesPreset.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesPreset.php new file mode 100644 index 0000000000..09ce97b8d1 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesPreset.php @@ -0,0 +1,301 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class Preset extends \Alchemy\Phrasea\Model\Entities\Preset implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Preset' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Preset' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Preset' . "\0" . 'sbasId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Preset' . "\0" . 'title', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Preset' . "\0" . 'data', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Preset' . "\0" . 'created']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Preset' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Preset' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Preset' . "\0" . 'sbasId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Preset' . "\0" . 'title', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Preset' . "\0" . 'data', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Preset' . "\0" . 'created']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (Preset $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getSbasId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSbasId', []); + + return parent::getSbasId(); + } + + /** + * {@inheritDoc} + */ + public function setSbasId($sbasId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSbasId', [$sbasId]); + + return parent::setSbasId($sbasId); + } + + /** + * {@inheritDoc} + */ + public function getTitle() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTitle', []); + + return parent::getTitle(); + } + + /** + * {@inheritDoc} + */ + public function setTitle($title) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setTitle', [$title]); + + return parent::setTitle($title); + } + + /** + * {@inheritDoc} + */ + public function setData(array $data) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setData', [$data]); + + return parent::setData($data); + } + + /** + * {@inheritDoc} + */ + public function getData() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getData', []); + + return parent::getData(); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesRegistration.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesRegistration.php new file mode 100644 index 0000000000..1fcab3649c --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesRegistration.php @@ -0,0 +1,345 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class Registration extends \Alchemy\Phrasea\Model\Entities\Registration implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Registration' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Registration' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Registration' . "\0" . 'baseId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Registration' . "\0" . 'pending', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Registration' . "\0" . 'rejected', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Registration' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Registration' . "\0" . 'updated']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Registration' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Registration' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Registration' . "\0" . 'baseId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Registration' . "\0" . 'pending', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Registration' . "\0" . 'rejected', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Registration' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Registration' . "\0" . 'updated']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (Registration $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setPending($pending) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPending', [$pending]); + + return parent::setPending($pending); + } + + /** + * {@inheritDoc} + */ + public function isPending() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isPending', []); + + return parent::isPending(); + } + + /** + * {@inheritDoc} + */ + public function setRejected($rejected) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRejected', [$rejected]); + + return parent::setRejected($rejected); + } + + /** + * {@inheritDoc} + */ + public function isRejected() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isRejected', []); + + return parent::isRejected(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function getCollection(\Alchemy\Phrasea\Application $app) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCollection', [$app]); + + return parent::getCollection($app); + } + + /** + * {@inheritDoc} + */ + public function setCollection(\collection $collection) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCollection', [$collection]); + + return parent::setCollection($collection); + } + + /** + * {@inheritDoc} + */ + public function setBaseId($baseId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setBaseId', [$baseId]); + + return parent::setBaseId($baseId); + } + + /** + * {@inheritDoc} + */ + public function getBaseId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getBaseId', []); + + return parent::getBaseId(); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesSecret.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesSecret.php new file mode 100644 index 0000000000..f19489a2a2 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesSecret.php @@ -0,0 +1,224 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class Secret extends \Alchemy\Phrasea\Model\Entities\Secret implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Secret' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Secret' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Secret' . "\0" . 'token', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Secret' . "\0" . 'creator']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Secret' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Secret' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Secret' . "\0" . 'token', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Secret' . "\0" . 'creator']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (Secret $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function getCreator() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreator', []); + + return parent::getCreator(); + } + + /** + * {@inheritDoc} + */ + public function getToken() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getToken', []); + + return parent::getToken(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesSession.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesSession.php new file mode 100644 index 0000000000..f2fb2a0d34 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesSession.php @@ -0,0 +1,510 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class Session extends \Alchemy\Phrasea\Model\Entities\Session implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'user_agent', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'ip_address', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'platform', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'browser_name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'browser_version', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'screen_width', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'screen_height', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'token', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'modules']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'user_agent', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'ip_address', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'platform', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'browser_name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'browser_version', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'screen_width', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'screen_height', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'token', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Session' . "\0" . 'modules']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (Session $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function setUserAgent($userAgent) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUserAgent', [$userAgent]); + + return parent::setUserAgent($userAgent); + } + + /** + * {@inheritDoc} + */ + public function getUserAgent() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUserAgent', []); + + return parent::getUserAgent(); + } + + /** + * {@inheritDoc} + */ + public function setIpAddress($ipAddress) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setIpAddress', [$ipAddress]); + + return parent::setIpAddress($ipAddress); + } + + /** + * {@inheritDoc} + */ + public function getIpAddress() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getIpAddress', []); + + return parent::getIpAddress(); + } + + /** + * {@inheritDoc} + */ + public function setPlatform($platform) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPlatform', [$platform]); + + return parent::setPlatform($platform); + } + + /** + * {@inheritDoc} + */ + public function getPlatform() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPlatform', []); + + return parent::getPlatform(); + } + + /** + * {@inheritDoc} + */ + public function setBrowserName($browserName) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setBrowserName', [$browserName]); + + return parent::setBrowserName($browserName); + } + + /** + * {@inheritDoc} + */ + public function getBrowserName() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getBrowserName', []); + + return parent::getBrowserName(); + } + + /** + * {@inheritDoc} + */ + public function setBrowserVersion($browserVersion) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setBrowserVersion', [$browserVersion]); + + return parent::setBrowserVersion($browserVersion); + } + + /** + * {@inheritDoc} + */ + public function getBrowserVersion() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getBrowserVersion', []); + + return parent::getBrowserVersion(); + } + + /** + * {@inheritDoc} + */ + public function setScreenWidth($screenWidth) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setScreenWidth', [$screenWidth]); + + return parent::setScreenWidth($screenWidth); + } + + /** + * {@inheritDoc} + */ + public function getScreenWidth() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getScreenWidth', []); + + return parent::getScreenWidth(); + } + + /** + * {@inheritDoc} + */ + public function setScreenHeight($screenHeight) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setScreenHeight', [$screenHeight]); + + return parent::setScreenHeight($screenHeight); + } + + /** + * {@inheritDoc} + */ + public function getScreenHeight() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getScreenHeight', []); + + return parent::getScreenHeight(); + } + + /** + * {@inheritDoc} + */ + public function setToken($token) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setToken', [$token]); + + return parent::setToken($token); + } + + /** + * {@inheritDoc} + */ + public function getToken() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getToken', []); + + return parent::getToken(); + } + + /** + * {@inheritDoc} + */ + public function setNonce($nonce) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setNonce', [$nonce]); + + return parent::setNonce($nonce); + } + + /** + * {@inheritDoc} + */ + public function getNonce() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getNonce', []); + + return parent::getNonce(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function addModule(\Alchemy\Phrasea\Model\Entities\SessionModule $modules) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addModule', [$modules]); + + return parent::addModule($modules); + } + + /** + * {@inheritDoc} + */ + public function removeModule(\Alchemy\Phrasea\Model\Entities\SessionModule $modules) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeModule', [$modules]); + + return parent::removeModule($modules); + } + + /** + * {@inheritDoc} + */ + public function getModules() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getModules', []); + + return parent::getModules(); + } + + /** + * {@inheritDoc} + */ + public function getModuleById($moduleId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getModuleById', [$moduleId]); + + return parent::getModuleById($moduleId); + } + + /** + * {@inheritDoc} + */ + public function hasModuleId($moduleId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'hasModuleId', [$moduleId]); + + return parent::hasModuleId($moduleId); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesSessionModule.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesSessionModule.php new file mode 100644 index 0000000000..a583607d6a --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesSessionModule.php @@ -0,0 +1,279 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class SessionModule extends \Alchemy\Phrasea\Model\Entities\SessionModule implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\SessionModule' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\SessionModule' . "\0" . 'module_id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\SessionModule' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\SessionModule' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\SessionModule' . "\0" . 'session']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\SessionModule' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\SessionModule' . "\0" . 'module_id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\SessionModule' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\SessionModule' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\SessionModule' . "\0" . 'session']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (SessionModule $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setModuleId($moduleId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setModuleId', [$moduleId]); + + return parent::setModuleId($moduleId); + } + + /** + * {@inheritDoc} + */ + public function getModuleId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getModuleId', []); + + return parent::getModuleId(); + } + + /** + * {@inheritDoc} + */ + public function setCreated($created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setSession(\Alchemy\Phrasea\Model\Entities\Session $session = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSession', [$session]); + + return parent::setSession($session); + } + + /** + * {@inheritDoc} + */ + public function getSession() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSession', []); + + return parent::getSession(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesStoryWZ.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesStoryWZ.php new file mode 100644 index 0000000000..6cc3aa9154 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesStoryWZ.php @@ -0,0 +1,301 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class StoryWZ extends \Alchemy\Phrasea\Model\Entities\StoryWZ implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\StoryWZ' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\StoryWZ' . "\0" . 'sbas_id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\StoryWZ' . "\0" . 'record_id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\StoryWZ' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\StoryWZ' . "\0" . 'created']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\StoryWZ' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\StoryWZ' . "\0" . 'sbas_id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\StoryWZ' . "\0" . 'record_id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\StoryWZ' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\StoryWZ' . "\0" . 'created']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (StoryWZ $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setSbasId($sbasId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSbasId', [$sbasId]); + + return parent::setSbasId($sbasId); + } + + /** + * {@inheritDoc} + */ + public function getSbasId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSbasId', []); + + return parent::getSbasId(); + } + + /** + * {@inheritDoc} + */ + public function setRecordId($recordId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRecordId', [$recordId]); + + return parent::setRecordId($recordId); + } + + /** + * {@inheritDoc} + */ + public function getRecordId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRecordId', []); + + return parent::getRecordId(); + } + + /** + * {@inheritDoc} + */ + public function getRecord(\Alchemy\Phrasea\Application $app) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRecord', [$app]); + + return parent::getRecord($app); + } + + /** + * {@inheritDoc} + */ + public function setRecord(\record_adapter $record) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRecord', [$record]); + + return parent::setRecord($record); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesTask.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesTask.php new file mode 100644 index 0000000000..40d1f5651b --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesTask.php @@ -0,0 +1,433 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class Task extends \Alchemy\Phrasea\Model\Entities\Task implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'jobId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'settings', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'completed', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'status', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'crashed', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'singleRun', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'lastExecution', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'period']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'jobId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'settings', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'completed', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'status', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'crashed', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'singleRun', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'lastExecution', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Task' . "\0" . 'period']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (Task $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setName($name) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setName', [$name]); + + return parent::setName($name); + } + + /** + * {@inheritDoc} + */ + public function getName() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getName', []); + + return parent::getName(); + } + + /** + * {@inheritDoc} + */ + public function setJobId($jobId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setJobId', [$jobId]); + + return parent::setJobId($jobId); + } + + /** + * {@inheritDoc} + */ + public function getJobId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getJobId', []); + + return parent::getJobId(); + } + + /** + * {@inheritDoc} + */ + public function setSettings($settings) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSettings', [$settings]); + + return parent::setSettings($settings); + } + + /** + * {@inheritDoc} + */ + public function getSettings() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSettings', []); + + return parent::getSettings(); + } + + /** + * {@inheritDoc} + */ + public function setCompleted($completed) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCompleted', [$completed]); + + return parent::setCompleted($completed); + } + + /** + * {@inheritDoc} + */ + public function isCompleted() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isCompleted', []); + + return parent::isCompleted(); + } + + /** + * {@inheritDoc} + */ + public function setStatus($status) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setStatus', [$status]); + + return parent::setStatus($status); + } + + /** + * {@inheritDoc} + */ + public function getStatus() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getStatus', []); + + return parent::getStatus(); + } + + /** + * {@inheritDoc} + */ + public function setCrashed($crashed) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCrashed', [$crashed]); + + return parent::setCrashed($crashed); + } + + /** + * {@inheritDoc} + */ + public function getCrashed() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCrashed', []); + + return parent::getCrashed(); + } + + /** + * {@inheritDoc} + */ + public function setSingleRun($singleRun) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSingleRun', [$singleRun]); + + return parent::setSingleRun($singleRun); + } + + /** + * {@inheritDoc} + */ + public function isSingleRun() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isSingleRun', []); + + return parent::isSingleRun(); + } + + /** + * {@inheritDoc} + */ + public function setCreated($created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated($updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setExecuted($lastExecution) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setExecuted', [$lastExecution]); + + return parent::setExecuted($lastExecution); + } + + /** + * {@inheritDoc} + */ + public function getLastExecution() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLastExecution', []); + + return parent::getLastExecution(); + } + + /** + * {@inheritDoc} + */ + public function getPeriod() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPeriod', []); + + return parent::getPeriod(); + } + + /** + * {@inheritDoc} + */ + public function setPeriod($period) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPeriod', [$period]); + + return parent::setPeriod($period); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesToken.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesToken.php new file mode 100644 index 0000000000..430803b116 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesToken.php @@ -0,0 +1,334 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class Token extends \Alchemy\Phrasea\Model\Entities\Token implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Token' . "\0" . 'value', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Token' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Token' . "\0" . 'type', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Token' . "\0" . 'data', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Token' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Token' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Token' . "\0" . 'expiration']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Token' . "\0" . 'value', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Token' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Token' . "\0" . 'type', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Token' . "\0" . 'data', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Token' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Token' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\Token' . "\0" . 'expiration']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (Token $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function setValue($value) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setValue', [$value]); + + return parent::setValue($value); + } + + /** + * {@inheritDoc} + */ + public function getValue() + { + if ($this->__isInitialized__ === false) { + return parent::getValue(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getValue', []); + + return parent::getValue(); + } + + /** + * {@inheritDoc} + */ + public function setType($type) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setType', [$type]); + + return parent::setType($type); + } + + /** + * {@inheritDoc} + */ + public function getType() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getType', []); + + return parent::getType(); + } + + /** + * {@inheritDoc} + */ + public function setData($data) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setData', [$data]); + + return parent::setData($data); + } + + /** + * {@inheritDoc} + */ + public function getData() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getData', []); + + return parent::getData(); + } + + /** + * {@inheritDoc} + */ + public function setCreated($created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated($updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setExpiration(\DateTime $expiration = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setExpiration', [$expiration]); + + return parent::setExpiration($expiration); + } + + /** + * {@inheritDoc} + */ + public function getExpiration() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getExpiration', []); + + return parent::getExpiration(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUser.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUser.php new file mode 100644 index 0000000000..5bd1144ed7 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUser.php @@ -0,0 +1,1082 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class User extends \Alchemy\Phrasea\Model\Entities\User implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'login', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'email', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'password', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'saltedPassword', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'firstName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'gender', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'address', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'city', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'country', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'zipCode', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'geonameId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'locale', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'timezone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'job', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'activity', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'company', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'phone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'fax', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'admin', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'guest', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'requestNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ldapCreated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastAppliedTemplate', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'pushList', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeFtpProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastConnection', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailLocked', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'deleted', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'templateOwner', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ftpCredential', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'queries', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'settings', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'notificationSettings']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'login', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'email', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'password', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'nonce', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'saltedPassword', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'firstName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastName', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'gender', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'address', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'city', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'country', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'zipCode', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'geonameId', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'locale', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'timezone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'job', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'activity', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'company', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'phone', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'fax', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'admin', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'guest', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'requestNotificationsActivated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ldapCreated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastAppliedTemplate', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'pushList', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'canChangeFtpProfil', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'lastConnection', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'mailLocked', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'deleted', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'templateOwner', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'ftpCredential', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'queries', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'settings', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\User' . "\0" . 'notificationSettings']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (User $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function getLogin() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLogin', []); + + return parent::getLogin(); + } + + /** + * {@inheritDoc} + */ + public function setLogin($login) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLogin', [$login]); + + return parent::setLogin($login); + } + + /** + * {@inheritDoc} + */ + public function getEmail() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getEmail', []); + + return parent::getEmail(); + } + + /** + * {@inheritDoc} + */ + public function setEmail($email) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setEmail', [$email]); + + return parent::setEmail($email); + } + + /** + * {@inheritDoc} + */ + public function getPassword() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPassword', []); + + return parent::getPassword(); + } + + /** + * {@inheritDoc} + */ + public function setPassword($password) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPassword', [$password]); + + return parent::setPassword($password); + } + + /** + * {@inheritDoc} + */ + public function getNonce() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getNonce', []); + + return parent::getNonce(); + } + + /** + * {@inheritDoc} + */ + public function setNonce($nonce) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setNonce', [$nonce]); + + return parent::setNonce($nonce); + } + + /** + * {@inheritDoc} + */ + public function isSaltedPassword() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isSaltedPassword', []); + + return parent::isSaltedPassword(); + } + + /** + * {@inheritDoc} + */ + public function setSaltedPassword($saltedPassword) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSaltedPassword', [$saltedPassword]); + + return parent::setSaltedPassword($saltedPassword); + } + + /** + * {@inheritDoc} + */ + public function getFirstName() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFirstName', []); + + return parent::getFirstName(); + } + + /** + * {@inheritDoc} + */ + public function setFirstName($firstName) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setFirstName', [$firstName]); + + return parent::setFirstName($firstName); + } + + /** + * {@inheritDoc} + */ + public function getLastName() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLastName', []); + + return parent::getLastName(); + } + + /** + * {@inheritDoc} + */ + public function setLastName($lastName) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLastName', [$lastName]); + + return parent::setLastName($lastName); + } + + /** + * {@inheritDoc} + */ + public function getGender() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getGender', []); + + return parent::getGender(); + } + + /** + * {@inheritDoc} + */ + public function setGender($gender) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setGender', [$gender]); + + return parent::setGender($gender); + } + + /** + * {@inheritDoc} + */ + public function getAddress() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAddress', []); + + return parent::getAddress(); + } + + /** + * {@inheritDoc} + */ + public function setAddress($address) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAddress', [$address]); + + return parent::setAddress($address); + } + + /** + * {@inheritDoc} + */ + public function getCity() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCity', []); + + return parent::getCity(); + } + + /** + * {@inheritDoc} + */ + public function setCity($city) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCity', [$city]); + + return parent::setCity($city); + } + + /** + * {@inheritDoc} + */ + public function getCountry() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCountry', []); + + return parent::getCountry(); + } + + /** + * {@inheritDoc} + */ + public function setCountry($country) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCountry', [$country]); + + return parent::setCountry($country); + } + + /** + * {@inheritDoc} + */ + public function getZipCode() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getZipCode', []); + + return parent::getZipCode(); + } + + /** + * {@inheritDoc} + */ + public function setZipCode($zipCode) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setZipCode', [$zipCode]); + + return parent::setZipCode($zipCode); + } + + /** + * {@inheritDoc} + */ + public function getGeonameId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getGeonameId', []); + + return parent::getGeonameId(); + } + + /** + * {@inheritDoc} + */ + public function setGeonameId($geonameId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setGeonameId', [$geonameId]); + + return parent::setGeonameId($geonameId); + } + + /** + * {@inheritDoc} + */ + public function getLocale() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLocale', []); + + return parent::getLocale(); + } + + /** + * {@inheritDoc} + */ + public function setLocale($locale) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLocale', [$locale]); + + return parent::setLocale($locale); + } + + /** + * {@inheritDoc} + */ + public function getTimezone() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTimezone', []); + + return parent::getTimezone(); + } + + /** + * {@inheritDoc} + */ + public function setTimezone($timezone) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setTimezone', [$timezone]); + + return parent::setTimezone($timezone); + } + + /** + * {@inheritDoc} + */ + public function getJob() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getJob', []); + + return parent::getJob(); + } + + /** + * {@inheritDoc} + */ + public function setJob($job) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setJob', [$job]); + + return parent::setJob($job); + } + + /** + * {@inheritDoc} + */ + public function getActivity() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getActivity', []); + + return parent::getActivity(); + } + + /** + * {@inheritDoc} + */ + public function setActivity($activity) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setActivity', [$activity]); + + return parent::setActivity($activity); + } + + /** + * {@inheritDoc} + */ + public function getCompany() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCompany', []); + + return parent::getCompany(); + } + + /** + * {@inheritDoc} + */ + public function setCompany($company) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCompany', [$company]); + + return parent::setCompany($company); + } + + /** + * {@inheritDoc} + */ + public function getPhone() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPhone', []); + + return parent::getPhone(); + } + + /** + * {@inheritDoc} + */ + public function setPhone($phone) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPhone', [$phone]); + + return parent::setPhone($phone); + } + + /** + * {@inheritDoc} + */ + public function getFax() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFax', []); + + return parent::getFax(); + } + + /** + * {@inheritDoc} + */ + public function setFax($fax) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setFax', [$fax]); + + return parent::setFax($fax); + } + + /** + * {@inheritDoc} + */ + public function isAdmin() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isAdmin', []); + + return parent::isAdmin(); + } + + /** + * {@inheritDoc} + */ + public function setAdmin($admin) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAdmin', [$admin]); + + return parent::setAdmin($admin); + } + + /** + * {@inheritDoc} + */ + public function isGuest() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isGuest', []); + + return parent::isGuest(); + } + + /** + * {@inheritDoc} + */ + public function setGuest($guest) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setGuest', [$guest]); + + return parent::setGuest($guest); + } + + /** + * {@inheritDoc} + */ + public function hasMailNotificationsActivated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'hasMailNotificationsActivated', []); + + return parent::hasMailNotificationsActivated(); + } + + /** + * {@inheritDoc} + */ + public function setMailNotificationsActivated($mailNotifications) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setMailNotificationsActivated', [$mailNotifications]); + + return parent::setMailNotificationsActivated($mailNotifications); + } + + /** + * {@inheritDoc} + */ + public function hasRequestNotificationsActivated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'hasRequestNotificationsActivated', []); + + return parent::hasRequestNotificationsActivated(); + } + + /** + * {@inheritDoc} + */ + public function setRequestNotificationsActivated($requestNotifications) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRequestNotificationsActivated', [$requestNotifications]); + + return parent::setRequestNotificationsActivated($requestNotifications); + } + + /** + * {@inheritDoc} + */ + public function hasLdapCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'hasLdapCreated', []); + + return parent::hasLdapCreated(); + } + + /** + * {@inheritDoc} + */ + public function setLdapCreated($ldapCreated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLdapCreated', [$ldapCreated]); + + return parent::setLdapCreated($ldapCreated); + } + + /** + * {@inheritDoc} + */ + public function getTemplateOwner() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTemplateOwner', []); + + return parent::getTemplateOwner(); + } + + /** + * {@inheritDoc} + */ + public function setTemplateOwner(\Alchemy\Phrasea\Model\Entities\User $owner) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setTemplateOwner', [$owner]); + + return parent::setTemplateOwner($owner); + } + + /** + * {@inheritDoc} + */ + public function getLastAppliedTemplate() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLastAppliedTemplate', []); + + return parent::getLastAppliedTemplate(); + } + + /** + * {@inheritDoc} + */ + public function setLastAppliedTemplate(\Alchemy\Phrasea\Model\Entities\User $lastAppliedTemplate) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLastAppliedTemplate', [$lastAppliedTemplate]); + + return parent::setLastAppliedTemplate($lastAppliedTemplate); + } + + /** + * {@inheritDoc} + */ + public function getPushList() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPushList', []); + + return parent::getPushList(); + } + + /** + * {@inheritDoc} + */ + public function setPushList($pushList) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPushList', [$pushList]); + + return parent::setPushList($pushList); + } + + /** + * {@inheritDoc} + */ + public function canChangeProfil() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'canChangeProfil', []); + + return parent::canChangeProfil(); + } + + /** + * {@inheritDoc} + */ + public function setCanChangeProfil($canChangeProfil) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCanChangeProfil', [$canChangeProfil]); + + return parent::setCanChangeProfil($canChangeProfil); + } + + /** + * {@inheritDoc} + */ + public function canChangeFtpProfil() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'canChangeFtpProfil', []); + + return parent::canChangeFtpProfil(); + } + + /** + * {@inheritDoc} + */ + public function setCanChangeFtpProfil($canChangeFtpProfil) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCanChangeFtpProfil', [$canChangeFtpProfil]); + + return parent::setCanChangeFtpProfil($canChangeFtpProfil); + } + + /** + * {@inheritDoc} + */ + public function getLastConnection() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLastConnection', []); + + return parent::getLastConnection(); + } + + /** + * {@inheritDoc} + */ + public function setLastConnection(\DateTime $lastConnection) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLastConnection', [$lastConnection]); + + return parent::setLastConnection($lastConnection); + } + + /** + * {@inheritDoc} + */ + public function isMailLocked() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isMailLocked', []); + + return parent::isMailLocked(); + } + + /** + * {@inheritDoc} + */ + public function setMailLocked($mailLocked) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setMailLocked', [$mailLocked]); + + return parent::setMailLocked($mailLocked); + } + + /** + * {@inheritDoc} + */ + public function isDeleted() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isDeleted', []); + + return parent::isDeleted(); + } + + /** + * {@inheritDoc} + */ + public function setDeleted($deleted) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDeleted', [$deleted]); + + return parent::setDeleted($deleted); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getFtpCredential() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFtpCredential', []); + + return parent::getFtpCredential(); + } + + /** + * {@inheritDoc} + */ + public function setFtpCredential(\Alchemy\Phrasea\Model\Entities\FtpCredential $ftpCredential = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setFtpCredential', [$ftpCredential]); + + return parent::setFtpCredential($ftpCredential); + } + + /** + * {@inheritDoc} + */ + public function getQueries() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getQueries', []); + + return parent::getQueries(); + } + + /** + * {@inheritDoc} + */ + public function addQuery(\Alchemy\Phrasea\Model\Entities\UserQuery $query) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addQuery', [$query]); + + return parent::addQuery($query); + } + + /** + * {@inheritDoc} + */ + public function getSettings() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSettings', []); + + return parent::getSettings(); + } + + /** + * {@inheritDoc} + */ + public function addSetting(\Alchemy\Phrasea\Model\Entities\UserSetting $setting) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addSetting', [$setting]); + + return parent::addSetting($setting); + } + + /** + * {@inheritDoc} + */ + public function getNotificationSettings() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getNotificationSettings', []); + + return parent::getNotificationSettings(); + } + + /** + * {@inheritDoc} + */ + public function addNotificationSettings(\Alchemy\Phrasea\Model\Entities\UserNotificationSetting $notificationSetting) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addNotificationSettings', [$notificationSetting]); + + return parent::addNotificationSettings($notificationSetting); + } + + /** + * {@inheritDoc} + */ + public function isTemplate() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isTemplate', []); + + return parent::isTemplate(); + } + + /** + * {@inheritDoc} + */ + public function isSpecial() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isSpecial', []); + + return parent::isSpecial(); + } + + /** + * {@inheritDoc} + */ + public function getDisplayName() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDisplayName', []); + + return parent::getDisplayName(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUserNotificationSetting.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUserNotificationSetting.php new file mode 100644 index 0000000000..19d059f974 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUserNotificationSetting.php @@ -0,0 +1,301 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class UserNotificationSetting extends \Alchemy\Phrasea\Model\Entities\UserNotificationSetting implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserNotificationSetting' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserNotificationSetting' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserNotificationSetting' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserNotificationSetting' . "\0" . 'value', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserNotificationSetting' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserNotificationSetting' . "\0" . 'updated']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserNotificationSetting' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserNotificationSetting' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserNotificationSetting' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserNotificationSetting' . "\0" . 'value', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserNotificationSetting' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserNotificationSetting' . "\0" . 'updated']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (UserNotificationSetting $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getName() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getName', []); + + return parent::getName(); + } + + /** + * {@inheritDoc} + */ + public function setName($name) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setName', [$name]); + + return parent::setName($name); + } + + /** + * {@inheritDoc} + */ + public function getValue() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getValue', []); + + return parent::getValue(); + } + + /** + * {@inheritDoc} + */ + public function setValue($value) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setValue', [$value]); + + return parent::setValue($value); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated($updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUserQuery.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUserQuery.php new file mode 100644 index 0000000000..69b72b6dba --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUserQuery.php @@ -0,0 +1,257 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class UserQuery extends \Alchemy\Phrasea\Model\Entities\UserQuery implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserQuery' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserQuery' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserQuery' . "\0" . 'query', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserQuery' . "\0" . 'created']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserQuery' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserQuery' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserQuery' . "\0" . 'query', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserQuery' . "\0" . 'created']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (UserQuery $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getQuery() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getQuery', []); + + return parent::getQuery(); + } + + /** + * {@inheritDoc} + */ + public function setQuery($query) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setQuery', [$query]); + + return parent::setQuery($query); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUserSetting.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUserSetting.php new file mode 100644 index 0000000000..699e7e1859 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUserSetting.php @@ -0,0 +1,301 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class UserSetting extends \Alchemy\Phrasea\Model\Entities\UserSetting implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserSetting' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserSetting' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserSetting' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserSetting' . "\0" . 'value', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserSetting' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserSetting' . "\0" . 'updated']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserSetting' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserSetting' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserSetting' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserSetting' . "\0" . 'value', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserSetting' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UserSetting' . "\0" . 'updated']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (UserSetting $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getName() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getName', []); + + return parent::getName(); + } + + /** + * {@inheritDoc} + */ + public function setName($name) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setName', [$name]); + + return parent::setName($name); + } + + /** + * {@inheritDoc} + */ + public function getValue() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getValue', []); + + return parent::getValue(); + } + + /** + * {@inheritDoc} + */ + public function setValue($value) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setValue', [$value]); + + return parent::setValue($value); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUsrAuthProvider.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUsrAuthProvider.php new file mode 100644 index 0000000000..da663885ad --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUsrAuthProvider.php @@ -0,0 +1,301 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class UsrAuthProvider extends \Alchemy\Phrasea\Model\Entities\UsrAuthProvider implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrAuthProvider' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrAuthProvider' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrAuthProvider' . "\0" . 'provider', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrAuthProvider' . "\0" . 'distant_id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrAuthProvider' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrAuthProvider' . "\0" . 'updated']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrAuthProvider' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrAuthProvider' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrAuthProvider' . "\0" . 'provider', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrAuthProvider' . "\0" . 'distant_id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrAuthProvider' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrAuthProvider' . "\0" . 'updated']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (UsrAuthProvider $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function setProvider($provider) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setProvider', [$provider]); + + return parent::setProvider($provider); + } + + /** + * {@inheritDoc} + */ + public function getProvider() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getProvider', []); + + return parent::getProvider(); + } + + /** + * {@inheritDoc} + */ + public function setDistantId($distantId) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDistantId', [$distantId]); + + return parent::setDistantId($distantId); + } + + /** + * {@inheritDoc} + */ + public function getDistantId() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDistantId', []); + + return parent::getDistantId(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUsrList.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUsrList.php new file mode 100644 index 0000000000..8f7c5b5156 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUsrList.php @@ -0,0 +1,356 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class UsrList extends \Alchemy\Phrasea\Model\Entities\UsrList implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrList' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrList' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrList' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrList' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrList' . "\0" . 'owners', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrList' . "\0" . 'entries']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrList' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrList' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrList' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrList' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrList' . "\0" . 'owners', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrList' . "\0" . 'entries']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (UsrList $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setName($name) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setName', [$name]); + + return parent::setName($name); + } + + /** + * {@inheritDoc} + */ + public function getName() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getName', []); + + return parent::getName(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function addOwner(\Alchemy\Phrasea\Model\Entities\UsrListOwner $owners) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addOwner', [$owners]); + + return parent::addOwner($owners); + } + + /** + * {@inheritDoc} + */ + public function removeOwner(\Alchemy\Phrasea\Model\Entities\UsrListOwner $owners) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeOwner', [$owners]); + + return parent::removeOwner($owners); + } + + /** + * {@inheritDoc} + */ + public function getOwners() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getOwners', []); + + return parent::getOwners(); + } + + /** + * {@inheritDoc} + */ + public function addEntrie(\Alchemy\Phrasea\Model\Entities\UsrListEntry $entries) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addEntrie', [$entries]); + + return parent::addEntrie($entries); + } + + /** + * {@inheritDoc} + */ + public function removeEntrie(\Alchemy\Phrasea\Model\Entities\UsrListEntry $entries) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeEntrie', [$entries]); + + return parent::removeEntrie($entries); + } + + /** + * {@inheritDoc} + */ + public function getEntries() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getEntries', []); + + return parent::getEntries(); + } + + /** + * {@inheritDoc} + */ + public function hasAccess(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'hasAccess', [$user]); + + return parent::hasAccess($user); + } + + /** + * {@inheritDoc} + */ + public function getOwner(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getOwner', [$user]); + + return parent::getOwner($user); + } + + /** + * {@inheritDoc} + */ + public function has(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'has', [$user]); + + return parent::has($user); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUsrListEntry.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUsrListEntry.php new file mode 100644 index 0000000000..229db893bf --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUsrListEntry.php @@ -0,0 +1,279 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class UsrListEntry extends \Alchemy\Phrasea\Model\Entities\UsrListEntry implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListEntry' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListEntry' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListEntry' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListEntry' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListEntry' . "\0" . 'list']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListEntry' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListEntry' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListEntry' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListEntry' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListEntry' . "\0" . 'list']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (UsrListEntry $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setList(\Alchemy\Phrasea\Model\Entities\UsrList $list = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setList', [$list]); + + return parent::setList($list); + } + + /** + * {@inheritDoc} + */ + public function getList() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getList', []); + + return parent::getList(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUsrListOwner.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUsrListOwner.php new file mode 100644 index 0000000000..3894723bd9 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesUsrListOwner.php @@ -0,0 +1,301 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class UsrListOwner extends \Alchemy\Phrasea\Model\Entities\UsrListOwner implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner' . "\0" . 'role', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner' . "\0" . 'list']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner' . "\0" . 'user', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner' . "\0" . 'role', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\UsrListOwner' . "\0" . 'list']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (UsrListOwner $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function setRole($role) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRole', [$role]); + + return parent::setRole($role); + } + + /** + * {@inheritDoc} + */ + public function getRole() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRole', []); + + return parent::getRole(); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setList(\Alchemy\Phrasea\Model\Entities\UsrList $list = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setList', [$list]); + + return parent::setList($list); + } + + /** + * {@inheritDoc} + */ + public function getList() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getList', []); + + return parent::getList(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesValidationData.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesValidationData.php new file mode 100644 index 0000000000..d3385b983c --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesValidationData.php @@ -0,0 +1,301 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class ValidationData extends \Alchemy\Phrasea\Model\Entities\ValidationData implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationData' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationData' . "\0" . 'agreement', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationData' . "\0" . 'note', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationData' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationData' . "\0" . 'participant', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationData' . "\0" . 'basket_element']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationData' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationData' . "\0" . 'agreement', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationData' . "\0" . 'note', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationData' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationData' . "\0" . 'participant', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationData' . "\0" . 'basket_element']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (ValidationData $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setAgreement($agreement) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAgreement', [$agreement]); + + return parent::setAgreement($agreement); + } + + /** + * {@inheritDoc} + */ + public function getAgreement() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAgreement', []); + + return parent::getAgreement(); + } + + /** + * {@inheritDoc} + */ + public function setNote($note) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setNote', [$note]); + + return parent::setNote($note); + } + + /** + * {@inheritDoc} + */ + public function getNote() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getNote', []); + + return parent::getNote(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setParticipant(\Alchemy\Phrasea\Model\Entities\ValidationParticipant $participant = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setParticipant', [$participant]); + + return parent::setParticipant($participant); + } + + /** + * {@inheritDoc} + */ + public function getParticipant() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getParticipant', []); + + return parent::getParticipant(); + } + + /** + * {@inheritDoc} + */ + public function setBasketElement(\Alchemy\Phrasea\Model\Entities\BasketElement $basketElement = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setBasketElement', [$basketElement]); + + return parent::setBasketElement($basketElement); + } + + /** + * {@inheritDoc} + */ + public function getBasketElement() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getBasketElement', []); + + return parent::getBasketElement(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesValidationParticipant.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesValidationParticipant.php new file mode 100644 index 0000000000..a299076712 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesValidationParticipant.php @@ -0,0 +1,389 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class ValidationParticipant extends \Alchemy\Phrasea\Model\Entities\ValidationParticipant implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'is_aware', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'is_confirmed', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'can_agree', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'can_see_others', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'reminded', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'datas', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'session', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'user']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'is_aware', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'is_confirmed', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'can_agree', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'can_see_others', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'reminded', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'datas', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'session', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationParticipant' . "\0" . 'user']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (ValidationParticipant $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setUser(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]); + + return parent::setUser($user); + } + + /** + * {@inheritDoc} + */ + public function getUser() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []); + + return parent::getUser(); + } + + /** + * {@inheritDoc} + */ + public function setIsAware($isAware) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setIsAware', [$isAware]); + + return parent::setIsAware($isAware); + } + + /** + * {@inheritDoc} + */ + public function getIsAware() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getIsAware', []); + + return parent::getIsAware(); + } + + /** + * {@inheritDoc} + */ + public function setIsConfirmed($isConfirmed) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setIsConfirmed', [$isConfirmed]); + + return parent::setIsConfirmed($isConfirmed); + } + + /** + * {@inheritDoc} + */ + public function getIsConfirmed() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getIsConfirmed', []); + + return parent::getIsConfirmed(); + } + + /** + * {@inheritDoc} + */ + public function setCanAgree($canAgree) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCanAgree', [$canAgree]); + + return parent::setCanAgree($canAgree); + } + + /** + * {@inheritDoc} + */ + public function getCanAgree() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCanAgree', []); + + return parent::getCanAgree(); + } + + /** + * {@inheritDoc} + */ + public function setCanSeeOthers($canSeeOthers) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCanSeeOthers', [$canSeeOthers]); + + return parent::setCanSeeOthers($canSeeOthers); + } + + /** + * {@inheritDoc} + */ + public function getCanSeeOthers() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCanSeeOthers', []); + + return parent::getCanSeeOthers(); + } + + /** + * {@inheritDoc} + */ + public function setReminded($reminded) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setReminded', [$reminded]); + + return parent::setReminded($reminded); + } + + /** + * {@inheritDoc} + */ + public function getReminded() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getReminded', []); + + return parent::getReminded(); + } + + /** + * {@inheritDoc} + */ + public function addData(\Alchemy\Phrasea\Model\Entities\ValidationData $datas) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addData', [$datas]); + + return parent::addData($datas); + } + + /** + * {@inheritDoc} + */ + public function removeData(\Alchemy\Phrasea\Model\Entities\ValidationData $datas) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeData', [$datas]); + + return parent::removeData($datas); + } + + /** + * {@inheritDoc} + */ + public function getDatas() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDatas', []); + + return parent::getDatas(); + } + + /** + * {@inheritDoc} + */ + public function setSession(\Alchemy\Phrasea\Model\Entities\ValidationSession $session = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSession', [$session]); + + return parent::setSession($session); + } + + /** + * {@inheritDoc} + */ + public function getSession() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSession', []); + + return parent::getSession(); + } + + /** + * {@inheritDoc} + */ + public function isReleasable() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isReleasable', []); + + return parent::isReleasable(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesValidationSession.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesValidationSession.php new file mode 100644 index 0000000000..1d8f3697d0 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesValidationSession.php @@ -0,0 +1,378 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class ValidationSession extends \Alchemy\Phrasea\Model\Entities\ValidationSession implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationSession' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationSession' . "\0" . 'initiator', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationSession' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationSession' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationSession' . "\0" . 'expires', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationSession' . "\0" . 'basket', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationSession' . "\0" . 'participants']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationSession' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationSession' . "\0" . 'initiator', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationSession' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationSession' . "\0" . 'updated', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationSession' . "\0" . 'expires', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationSession' . "\0" . 'basket', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\ValidationSession' . "\0" . 'participants']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (ValidationSession $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setInitiator(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setInitiator', [$user]); + + return parent::setInitiator($user); + } + + /** + * {@inheritDoc} + */ + public function getInitiator() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getInitiator', []); + + return parent::getInitiator(); + } + + /** + * {@inheritDoc} + */ + public function isInitiator(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isInitiator', [$user]); + + return parent::isInitiator($user); + } + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function setUpdated(\DateTime $updated) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpdated', [$updated]); + + return parent::setUpdated($updated); + } + + /** + * {@inheritDoc} + */ + public function getUpdated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpdated', []); + + return parent::getUpdated(); + } + + /** + * {@inheritDoc} + */ + public function setExpires($expires) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setExpires', [$expires]); + + return parent::setExpires($expires); + } + + /** + * {@inheritDoc} + */ + public function getExpires() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getExpires', []); + + return parent::getExpires(); + } + + /** + * {@inheritDoc} + */ + public function setBasket(\Alchemy\Phrasea\Model\Entities\Basket $basket = NULL) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setBasket', [$basket]); + + return parent::setBasket($basket); + } + + /** + * {@inheritDoc} + */ + public function getBasket() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getBasket', []); + + return parent::getBasket(); + } + + /** + * {@inheritDoc} + */ + public function addParticipant(\Alchemy\Phrasea\Model\Entities\ValidationParticipant $participants) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'addParticipant', [$participants]); + + return parent::addParticipant($participants); + } + + /** + * {@inheritDoc} + */ + public function removeParticipant(\Alchemy\Phrasea\Model\Entities\ValidationParticipant $participants) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeParticipant', [$participants]); + + return parent::removeParticipant($participants); + } + + /** + * {@inheritDoc} + */ + public function getParticipants() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getParticipants', []); + + return parent::getParticipants(); + } + + /** + * {@inheritDoc} + */ + public function isFinished() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isFinished', []); + + return parent::isFinished(); + } + + /** + * {@inheritDoc} + */ + public function getValidationString(\Alchemy\Phrasea\Application $app, \Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getValidationString', [$app, $user]); + + return parent::getValidationString($app, $user); + } + + /** + * {@inheritDoc} + */ + public function getParticipant(\Alchemy\Phrasea\Model\Entities\User $user) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getParticipant', [$user]); + + return parent::getParticipant($user); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesWebhookEvent.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesWebhookEvent.php new file mode 100644 index 0000000000..7c4f5f2dda --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesWebhookEvent.php @@ -0,0 +1,301 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class WebhookEvent extends \Alchemy\Phrasea\Model\Entities\WebhookEvent implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEvent' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEvent' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEvent' . "\0" . 'type', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEvent' . "\0" . 'data', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEvent' . "\0" . 'processed', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEvent' . "\0" . 'created']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEvent' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEvent' . "\0" . 'name', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEvent' . "\0" . 'type', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEvent' . "\0" . 'data', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEvent' . "\0" . 'processed', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEvent' . "\0" . 'created']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (WebhookEvent $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setData(array $data) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setData', [$data]); + + return parent::setData($data); + } + + /** + * {@inheritDoc} + */ + public function getData() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getData', []); + + return parent::getData(); + } + + /** + * {@inheritDoc} + */ + public function setName($name) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setName', [$name]); + + return parent::setName($name); + } + + /** + * {@inheritDoc} + */ + public function getName() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getName', []); + + return parent::getName(); + } + + /** + * {@inheritDoc} + */ + public function setProcessed($processed) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setProcessed', [$processed]); + + return parent::setProcessed($processed); + } + + /** + * {@inheritDoc} + */ + public function isProcessed() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isProcessed', []); + + return parent::isProcessed(); + } + + /** + * {@inheritDoc} + */ + public function getType() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getType', []); + + return parent::getType(); + } + + /** + * {@inheritDoc} + */ + public function setType($type) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setType', [$type]); + + return parent::setType($type); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesWebhookEventDelivery.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesWebhookEventDelivery.php new file mode 100644 index 0000000000..b47b04061f --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesWebhookEventDelivery.php @@ -0,0 +1,312 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class WebhookEventDelivery extends \Alchemy\Phrasea\Model\Entities\WebhookEventDelivery implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventDelivery' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventDelivery' . "\0" . 'application', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventDelivery' . "\0" . 'event', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventDelivery' . "\0" . 'delivered', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventDelivery' . "\0" . 'deliveryTries', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventDelivery' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventDelivery' . "\0" . 'payload']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventDelivery' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventDelivery' . "\0" . 'application', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventDelivery' . "\0" . 'event', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventDelivery' . "\0" . 'delivered', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventDelivery' . "\0" . 'deliveryTries', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventDelivery' . "\0" . 'created', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventDelivery' . "\0" . 'payload']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (WebhookEventDelivery $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function setCreated(\DateTime $created) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCreated', [$created]); + + return parent::setCreated($created); + } + + /** + * {@inheritDoc} + */ + public function getCreated() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCreated', []); + + return parent::getCreated(); + } + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return (int) parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function setDelivered($delivered) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDelivered', [$delivered]); + + return parent::setDelivered($delivered); + } + + /** + * {@inheritDoc} + */ + public function isDelivered() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'isDelivered', []); + + return parent::isDelivered(); + } + + /** + * {@inheritDoc} + */ + public function getDeliveryTries() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDeliveryTries', []); + + return parent::getDeliveryTries(); + } + + /** + * {@inheritDoc} + */ + public function setDeliverTries($try) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDeliverTries', [$try]); + + return parent::setDeliverTries($try); + } + + /** + * {@inheritDoc} + */ + public function getThirdPartyApplication() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getThirdPartyApplication', []); + + return parent::getThirdPartyApplication(); + } + + /** + * {@inheritDoc} + */ + public function setThirdPartyApplication(\Alchemy\Phrasea\Model\Entities\ApiApplication $application) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setThirdPartyApplication', [$application]); + + return parent::setThirdPartyApplication($application); + } + + /** + * {@inheritDoc} + */ + public function setWebhookEvent(\Alchemy\Phrasea\Model\Entities\WebhookEvent $event) + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'setWebhookEvent', [$event]); + + return parent::setWebhookEvent($event); + } + + /** + * {@inheritDoc} + */ + public function getWebhookEvent() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getWebhookEvent', []); + + return parent::getWebhookEvent(); + } + + /** + * {@inheritDoc} + */ + public function getPayload() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPayload', []); + + return parent::getPayload(); + } + +} diff --git a/resources/proxies/__CG__AlchemyPhraseaModelEntitiesWebhookEventPayload.php b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesWebhookEventPayload.php new file mode 100644 index 0000000000..c170e0dac3 --- /dev/null +++ b/resources/proxies/__CG__AlchemyPhraseaModelEntitiesWebhookEventPayload.php @@ -0,0 +1,246 @@ +<?php + +namespace Alchemy\Phrasea\Model\Proxies\__CG__\Alchemy\Phrasea\Model\Entities; + +/** + * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR + */ +class WebhookEventPayload extends \Alchemy\Phrasea\Model\Entities\WebhookEventPayload implements \Doctrine\ORM\Proxy\Proxy +{ + /** + * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with + * three parameters, being respectively the proxy object to be initialized, the method that triggered the + * initialization process and an array of ordered parameters that were passed to that method. + * + * @see \Doctrine\Common\Persistence\Proxy::__setInitializer + */ + public $__initializer__; + + /** + * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object + * + * @see \Doctrine\Common\Persistence\Proxy::__setCloner + */ + public $__cloner__; + + /** + * @var boolean flag indicating if this object was already initialized + * + * @see \Doctrine\Common\Persistence\Proxy::__isInitialized + */ + public $__isInitialized__ = false; + + /** + * @var array properties to be lazy loaded, with keys being the property + * names and values being their default values + * + * @see \Doctrine\Common\Persistence\Proxy::__getLazyProperties + */ + public static $lazyPropertiesDefaults = []; + + + + /** + * @param \Closure $initializer + * @param \Closure $cloner + */ + public function __construct($initializer = null, $cloner = null) + { + + $this->__initializer__ = $initializer; + $this->__cloner__ = $cloner; + } + + + + + + + + /** + * + * @return array + */ + public function __sleep() + { + if ($this->__isInitialized__) { + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventPayload' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventPayload' . "\0" . 'delivery', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventPayload' . "\0" . 'requestPayload', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventPayload' . "\0" . 'responsePayload', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventPayload' . "\0" . 'statusCode', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventPayload' . "\0" . 'headers']; + } + + return ['__isInitialized__', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventPayload' . "\0" . 'id', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventPayload' . "\0" . 'delivery', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventPayload' . "\0" . 'requestPayload', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventPayload' . "\0" . 'responsePayload', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventPayload' . "\0" . 'statusCode', '' . "\0" . 'Alchemy\\Phrasea\\Model\\Entities\\WebhookEventPayload' . "\0" . 'headers']; + } + + /** + * + */ + public function __wakeup() + { + if ( ! $this->__isInitialized__) { + $this->__initializer__ = function (WebhookEventPayload $proxy) { + $proxy->__setInitializer(null); + $proxy->__setCloner(null); + + $existingProperties = get_object_vars($proxy); + + foreach ($proxy->__getLazyProperties() as $property => $defaultValue) { + if ( ! array_key_exists($property, $existingProperties)) { + $proxy->$property = $defaultValue; + } + } + }; + + } + } + + /** + * + */ + public function __clone() + { + $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []); + } + + /** + * Forces initialization of the proxy + */ + public function __load() + { + $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []); + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __isInitialized() + { + return $this->__isInitialized__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitialized($initialized) + { + $this->__isInitialized__ = $initialized; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setInitializer(\Closure $initializer = null) + { + $this->__initializer__ = $initializer; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __getInitializer() + { + return $this->__initializer__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + */ + public function __setCloner(\Closure $cloner = null) + { + $this->__cloner__ = $cloner; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific cloning logic + */ + public function __getCloner() + { + return $this->__cloner__; + } + + /** + * {@inheritDoc} + * @internal generated method: use only when explicitly handling proxy specific loading logic + * @static + */ + public function __getLazyProperties() + { + return self::$lazyPropertiesDefaults; + } + + + /** + * {@inheritDoc} + */ + public function getId() + { + if ($this->__isInitialized__ === false) { + return parent::getId(); + } + + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []); + + return parent::getId(); + } + + /** + * {@inheritDoc} + */ + public function getDelivery() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDelivery', []); + + return parent::getDelivery(); + } + + /** + * {@inheritDoc} + */ + public function getRequestPayload() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRequestPayload', []); + + return parent::getRequestPayload(); + } + + /** + * {@inheritDoc} + */ + public function getResponsePayload() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getResponsePayload', []); + + return parent::getResponsePayload(); + } + + /** + * {@inheritDoc} + */ + public function getStatusCode() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getStatusCode', []); + + return parent::getStatusCode(); + } + + /** + * {@inheritDoc} + */ + public function getResponseHeaders() + { + + $this->__initializer__ && $this->__initializer__->__invoke($this, 'getResponseHeaders', []); + + return parent::getResponseHeaders(); + } + +} From bc181dcfea7530456038827dddc3157ea3d4d130 Mon Sep 17 00:00:00 2001 From: nmaillat <maillat@alchemy.fr> Date: Wed, 22 May 2019 17:07:56 +0200 Subject: [PATCH 19/80] PHRAS-2597 #comment removing bridge section and update section geoloc, embed-bundle , search engine, RGPD #time 3h --- lib/conf.d/configuration.yml | 96 ++++++++++++++++++++++++++---------- 1 file changed, 70 insertions(+), 26 deletions(-) diff --git a/lib/conf.d/configuration.yml b/lib/conf.d/configuration.yml index 33bd2ddb84..d898f87e83 100644 --- a/lib/conf.d/configuration.yml +++ b/lib/conf.d/configuration.yml @@ -1,4 +1,5 @@ servername: 'http://local.phrasea/' +Console_logger_enabled_environments: [test] languages: available: [] default: 'fr' @@ -6,7 +7,6 @@ main: maintenance: false key: '' api_require_ssl: true - delete-account-require-email-confirmation: true database: host: 'sql-host' port: 3306 @@ -24,10 +24,33 @@ main: options: {} search-engine: type: elasticsearch - # type: phrasea options: - host: localhost + host: 'localhost' port: 9200 + index: '' + shards: 3 + replicas: 0 + minScore: 2 + highlight: true + maxResultWindow: 500000 + populate_order: RECORD_ID + populate_direction: DESC + activeTab: '#elastic-search' + base_aggregate_limit: 10 + collection_aggregate_limit: 10 + doctype_aggregate_limit: 0 + camera_model_aggregate_limit: 0 + iso_aggregate_limit: 0 + aperture_aggregate_limit: 0 + shutterspeed_aggregate_limit: 0 + flashfired_aggregate_limit: 0 + framerate_aggregate_limit: 0 + audiosamplerate_aggregate_limit: 0 + videocodec_aggregate_limit: 0 + audiocodec_aggregate_limit: 0 + orientation_aggregate_limit: 0 + colorspace_aggregate_limit: 0 + mimetype_aggregate_limit: 0 task-manager: status: started enabled: true @@ -68,26 +91,20 @@ main: download: null lazaret: null caption: null - bridge: - youtube: - enabled: false - client_id: null - client_secret: null - developer_key: null - flickr: - enabled: false - client_id: null - client_secret: null - dailymotion: - enabled: false - client_id: null - client_secret: null + trusted-proxies: [] debugger: allowed-ips: [] border-manager: enabled: true - extension-mapping: { } + extension-mapping: + otc: application/vnd.oasis.opendocument.chart-template + ttc: application/x-font-ttf + xlsx: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet + docx: application/msword + pptx: application/vnd.ms-powerpoint + mxf: application/mxf + mp4: video/mp4 checkers: - type: Checker\Sha256 @@ -121,6 +138,9 @@ border-manager: enabled: false options: mediatypes: [Audio, Document, Flash, Image, Video] +user_account: + deleting_policies: + email_confirmation: true authentication: auto-create: templates: { } @@ -202,8 +222,9 @@ embed_bundle: video: player: videojs autoplay: false - coverSubdef: thumbnail - available-speeds: + cover_subdef: thumbnail + message_start: StartOfMessage + available_speeds: - 1 - 1.5 - 3 @@ -211,13 +232,34 @@ embed_bundle: player: videojs autoplay: false document: - player: flexpaper + #player: flexpaper enable-pdfjs: true geocoding-providers: - name: 'mapBox' enabled: true public-key: '' + map-layers: + - + name: Light + value: 'mapbox://styles/mapbox/light-v9' + - + name: Streets + value: 'mapbox://styles/mapbox/streets-v9' + - + name: Basic + value: 'mapbox://styles/mapbox/basic-v9' + - + name: Satellite + value: 'mapbox://styles/mapbox/satellite-v9' + - + name: Dark + value: 'mapbox://styles/mapbox/dark-v9' + transition-mapboxgl: + - + animate: true + speed: '2.2' + curve: '1.42' default-position: - 2.335062 - 48.879162 @@ -233,15 +275,17 @@ geocoding-providers: # - # name: Latitude # type: lat + geonames-field-mapping: true + cityfields: 'City, Ville' + provincefields: Province + countryfields: 'Country, Pays' video-editor: vttFieldName: VideoTextTrackChapters - seekBackwardStep: 1000 # in ms - seekForwardStep: 1000 # in ms + seekBackwardStep: 500 # in ms + seekForwardStep: 500 # in ms playbackRates: - 1 - '1.5' - 3 -user_account: - deleting_policies: - email_confirmation: true + From 4812d2833314a6e03b766441dfd79e51723d656a Mon Sep 17 00:00:00 2001 From: nmaillat <maillat@alchemy.fr> Date: Wed, 22 May 2019 23:51:42 +0200 Subject: [PATCH 20/80] PHRAS-2595 #comment set geoloc config: Assets position source is now provide by Phraseanet technical data --- lib/conf.d/configuration.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/conf.d/configuration.yml b/lib/conf.d/configuration.yml index d898f87e83..95ffd6027b 100644 --- a/lib/conf.d/configuration.yml +++ b/lib/conf.d/configuration.yml @@ -1,5 +1,4 @@ servername: 'http://local.phrasea/' -Console_logger_enabled_environments: [test] languages: available: [] default: 'fr' @@ -287,5 +286,5 @@ video-editor: - 1 - '1.5' - 3 - +Console_logger_enabled_environments: [test] From bf6da6f4385b828efb4ee04dd1dc947162149953 Mon Sep 17 00:00:00 2001 From: Alexandre BRACH <alexandre.brach@gmail.com> Date: Thu, 23 May 2019 12:16:24 +0200 Subject: [PATCH 21/80] fpm service doesn't use root account anymore --- Dockerfile | 11 +++++++---- docker/phraseanet/boot.sh | 3 +++ 2 files changed, 10 insertions(+), 4 deletions(-) create mode 100755 docker/phraseanet/boot.sh diff --git a/Dockerfile b/Dockerfile index 8455c0e70a..c967fb593c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,5 @@ FROM php:7.1-fpm-stretch as builder - RUN apt-get update \ && apt-get install -y \ apt-transport-https \ @@ -135,8 +134,13 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/* \ && mkdir -p /var/log/supervisor +RUN mkdir /entrypoint /var/alchemy \ + && useradd -u 1000 app \ + && mkdir -p /home/app/.composer \ + && chown -R app: /home/app /var/alchemy -COPY --from=builder /var/alchemy /var/alchemy/Phraseanet +COPY --from=builder --chown=app /var/alchemy /var/alchemy/Phraseanet +ADD ./docker/phraseanet/ / RUN mkdir -p /var/alchemy/Phraseanet/logs \ && chmod -R 777 /var/alchemy/Phraseanet/logs \ && mkdir -p /var/alchemy/Phraseanet/cache \ @@ -150,11 +154,10 @@ RUN mkdir -p /var/alchemy/Phraseanet/logs \ && mkdir -p /var/alchemy/Phraseanet/config \ && chmod -R 777 /var/alchemy/Phraseanet/config WORKDIR /var/alchemy/Phraseanet -CMD ["php-fpm"] +CMD ["/boot.sh"] # phraseanet-nginx FROM nginx:1.15 as phraseanet-nginx RUN useradd -u 1000 app ADD ./docker/nginx/ / COPY --from=builder /var/alchemy/www /var/alchemy/Phraseanet/www - diff --git a/docker/phraseanet/boot.sh b/docker/phraseanet/boot.sh new file mode 100755 index 0000000000..80804ce3a9 --- /dev/null +++ b/docker/phraseanet/boot.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +php-fpm From 04dce19fe35fe0888e2a79e5deb4108b3b7aafea Mon Sep 17 00:00:00 2001 From: nmaillat <maillat@alchemy.fr> Date: Thu, 23 May 2019 14:07:50 +0200 Subject: [PATCH 22/80] PHRAS-2595 #comment geoloc remove old name property add map-provider --- lib/conf.d/configuration.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/conf.d/configuration.yml b/lib/conf.d/configuration.yml index 95ffd6027b..4803532646 100644 --- a/lib/conf.d/configuration.yml +++ b/lib/conf.d/configuration.yml @@ -235,7 +235,7 @@ embed_bundle: enable-pdfjs: true geocoding-providers: - - name: 'mapBox' + map-provider: 'mapboxWebGL' enabled: true public-key: '' map-layers: @@ -265,9 +265,9 @@ geocoding-providers: default-zoom: 2 marker-default-zoom: 11 position-fields: - - - name: GpsCompositePosition - type: latlng + #- + # name: GpsCompositePosition + # type: latlng # - # name: Longitude # type: lng From 11254a1b2cc46ecaa142ffc74dca3da84f335029 Mon Sep 17 00:00:00 2001 From: nmaillat <maillat@alchemy.fr> Date: Thu, 23 May 2019 15:10:20 +0200 Subject: [PATCH 23/80] PHRAS-2595 #comment rename enable_pdfjs --- lib/conf.d/configuration.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/conf.d/configuration.yml b/lib/conf.d/configuration.yml index 4803532646..71580cbbfe 100644 --- a/lib/conf.d/configuration.yml +++ b/lib/conf.d/configuration.yml @@ -232,7 +232,7 @@ embed_bundle: autoplay: false document: #player: flexpaper - enable-pdfjs: true + enable_pdfjs: true geocoding-providers: - map-provider: 'mapboxWebGL' From 256637024da71d9e60cc53b5bb29468a126f0f54 Mon Sep 17 00:00:00 2001 From: Nicolas Maillat <maillat@alchemy.fr> Date: Thu, 23 May 2019 16:03:08 +0200 Subject: [PATCH 24/80] Update config.yml --- .circleci/config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index e5921af091..582319826d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -61,7 +61,8 @@ jobs: - run: node -v - run: npm -v - run: npm install -g yarn - - run: /opt/circleci/nodejs/v10.12.0/bin/yarn install + - run: ln -s /opt/circleci/nodejs/v10.12.0/bin/yarn /usr/local/bin/yarn + - run: yarn install - run: if [[ ! -e elasticsearch-2.3.3 ]]; then wget --no-check-certificate https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-2.3.3.tar.gz && tar -xvf elasticsearch-2.3.3.tar.gz && elasticsearch-2.3.3/bin/plugin install analysis-icu; fi - run: command: elasticsearch-2.3.3/bin/elasticsearch From 4f359035ef384e121de82ad31e0bf65185062771 Mon Sep 17 00:00:00 2001 From: Nicolas Maillat <maillat@alchemy.fr> Date: Thu, 23 May 2019 16:19:41 +0200 Subject: [PATCH 25/80] PHRAS-2561 #comment rm yarn link before --- .circleci/config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 582319826d..7ce9464ae5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -61,7 +61,8 @@ jobs: - run: node -v - run: npm -v - run: npm install -g yarn - - run: ln -s /opt/circleci/nodejs/v10.12.0/bin/yarn /usr/local/bin/yarn + - run: rm ~/.yarn/bin/yarn + - run: ln -s /opt/circleci/nodejs/v10.12.0/bin/yarn ~/.yarn/bin/yarn - run: yarn install - run: if [[ ! -e elasticsearch-2.3.3 ]]; then wget --no-check-certificate https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-2.3.3.tar.gz && tar -xvf elasticsearch-2.3.3.tar.gz && elasticsearch-2.3.3/bin/plugin install analysis-icu; fi - run: From b4634a8bf73ba15f60535dd382f86e9445ea6ebe Mon Sep 17 00:00:00 2001 From: nmaillat <maillat@alchemy.fr> Date: Thu, 23 May 2019 22:07:56 +0200 Subject: [PATCH 26/80] PHRAS-2598 #comment add type string to fields, change to number lat and long for iptc's model #time 1h --- lib/conf.d/data_templates/en-simple.xml | 40 +++++++++++------------ lib/conf.d/data_templates/fr-simple.xml | 42 ++++++++++++------------- 2 files changed, 41 insertions(+), 41 deletions(-) diff --git a/lib/conf.d/data_templates/en-simple.xml b/lib/conf.d/data_templates/en-simple.xml index d4a00c347b..5c5b10910d 100644 --- a/lib/conf.d/data_templates/en-simple.xml +++ b/lib/conf.d/data_templates/en-simple.xml @@ -182,27 +182,27 @@ </subdefs> <description> - <Object src="IPTC:ObjectName" /> - <Category src="IPTC:Category"/> - <SupplCategory src="IPTC:SupplementalCategories" multi="1"/> - <Keywords src="IPTC:Keywords" multi="1"/> - <SpecialInstruct src="IPTC:SpecialInstructions"/> + <Object src="IPTC:ObjectName" type="string"/> + <Category src="IPTC:Category" type="string"/> + <SupplCategory src="IPTC:SupplementalCategories" type="string" multi="1"/> + <Keywords src="IPTC:Keywords" type="string" multi="1"/> + <SpecialInstruct src="IPTC:SpecialInstructions" type="string"/> <Date src="IPTC:DateCreated" type="date" /> - <Byline src="IPTC:By-line"/> - <BylineTitle src="IPTC:By-lineTitle"/> - <City src="IPTC:City" /> - <Province src="IPTC:Province-State" /> - <Country src="IPTC:Country-PrimaryLocationName" /> - <OriginalRef src="IPTC:OriginalTransmissionReference" /> - <Headline src="IPTC:Headline" report="1" thumbtitle="1" /> - <Credit src="IPTC:Credit" report="1" /> - <Source src="IPTC:Source" /> - <Caption src="IPTC:Caption-Abstract" /> - <CaptionWriter src="IPTC:Writer-Editor" /> - <Longitude src="GPS:GPSLongitude" readonly="1"/> - <Latitude src="GPS:GPSLatitude" readonly="1"/> - <CameraModel src="IFD0:Model" readonly="1"/> - <FileName src="Phraseanet:tf-basename" readonly="1" type="string" /> + <Byline src="IPTC:By-line" type="string"/> + <BylineTitle src="IPTC:By-lineTitle" type="string"/> + <City src="IPTC:City" type="string"/> + <Province src="IPTC:Province-State" type="string"/> + <Country src="IPTC:Country-PrimaryLocationName" type="string"/> + <OriginalRef src="IPTC:OriginalTransmissionReference" type="string"/> + <Headline src="IPTC:Headline" type="string" report="1" thumbtitle="1"/> + <Credit src="IPTC:Credit" type="string" report="1"/> + <Source src="IPTC:Source" type="string"/> + <Caption src="IPTC:Caption-Abstract" type="string"/> + <CaptionWriter src="IPTC:Writer-Editor" type="string"/> + <Longitude src="GPS:GPSLongitude" type="number" readonly="1"/> + <Latitude src="GPS:GPSLatitude" type="number" readonly="1"/> + <CameraModel src="IFD0:Model" type="string" readonly="1"/> + <FileName src="Phraseanet:tf-basename" type="string" readonly="1"/> </description> <statbits> diff --git a/lib/conf.d/data_templates/fr-simple.xml b/lib/conf.d/data_templates/fr-simple.xml index 3ada8adaa6..49ab36b98d 100644 --- a/lib/conf.d/data_templates/fr-simple.xml +++ b/lib/conf.d/data_templates/fr-simple.xml @@ -182,27 +182,27 @@ </subdefs> <description> - <Objet src="IPTC:ObjectName" /> - <Categorie src="IPTC:Category"/> - <AutresCategories src="IPTC:SupplementalCategories" multi="1"/> - <MotsCles src="IPTC:Keywords" multi="1"/> - <Observations src="IPTC:SpecialInstructions"/> - <Date src="IPTC:DateCreated" type="date" /> - <Signature src="IPTC:By-line"/> - <TitreCredits src="IPTC:By-lineTitle"/> - <Ville src="IPTC:City" /> - <Province src="IPTC:Province-State" /> - <Pays src="IPTC:Country-PrimaryLocationName" /> - <ReferencesOriginales src="IPTC:OriginalTransmissionReference" /> - <Titre src="IPTC:Headline" report="1" thumbtitle="1" /> - <Credit src="IPTC:Credit" report="1" /> - <Source src="IPTC:Source" /> - <Legende src="IPTC:Caption-Abstract" /> - <Redacteur src="IPTC:Writer-Editor" /> - <Longitude src="GPS:GPSLongitude" readonly="1"/> - <Latitude src="GPS:GPSLatitude" readonly="1"/> - <AppareilPhoto src="IFD0:Model" readonly="1"/> - <NomDeFichier src="Phraseanet:tf-basename" readonly="1" type="string" /> + <Objet src="IPTC:ObjectName" type="string"/> + <Categorie src="IPTC:Category" type="string"/> + <AutresCategories src="IPTC:SupplementalCategories" type="string" multi="1"/> + <MotsCles src="IPTC:Keywords" type="string" multi="1"/> + <Observations src="IPTC:SpecialInstructions" type="string"/> + <Date src="IPTC:DateCreated" type="date"/> + <Signature src="IPTC:By-line" type="string"/> + <TitreCredits src="IPTC:By-lineTitle" type="string"/> + <Ville src="IPTC:City" type="string" /> + <Province src="IPTC:Province-State" type="string"/> + <Pays src="IPTC:Country-PrimaryLocationName" type="string"/> + <ReferencesOriginales src="IPTC:OriginalTransmissionReference" type="string"/> + <Titre src="IPTC:Headline" type="string" report="1" thumbtitle="1" /> + <Credit src="IPTC:Credit" type="string" report="1" /> + <Source src="IPTC:Source" type="string"/> + <Legende src="IPTC:Caption-Abstract" type="string"/> + <Redacteur src="IPTC:Writer-Editor" type="string"/> + <Longitude src="GPS:GPSLongitude" type="number" readonly="1"/> + <Latitude src="GPS:GPSLatitude" type="number" readonly="1"/> + <AppareilPhoto src="IFD0:Model" type="string" readonly="1"/> + <NomDeFichier src="Phraseanet:tf-basename" type="string" readonly="1"/> </description> <statbits> From a38a702ff4945a539b9f0d507d3ec689e183ee9e Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana <hra@esokia.com> Date: Fri, 24 May 2019 11:18:55 +0400 Subject: [PATCH 27/80] PHRAS-2592 #comment update composer.json for embed-bundle #time 1h --- composer.json | 2 +- composer.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index ad1d0d3489..bc207d2612 100644 --- a/composer.json +++ b/composer.json @@ -47,7 +47,7 @@ "php": ">=5.5.9", "ext-intl": "*", "alchemy-fr/tcpdf-clone": "~6.0", - "alchemy/embed-bundle": "^2.0.2", + "alchemy/embed-bundle": "^2.0.3", "alchemy/geonames-api-consumer": "~0.1.0", "alchemy/mediavorus": "^0.4.4", "alchemy/oauth2php": "1.1.0", diff --git a/composer.lock b/composer.lock index 37acc17bdb..614855691c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "f7b0fedd863f0f1aa5841665b563305d", + "content-hash": "de1d9335418b121d0ede26765b0a9e7d", "packages": [ { "name": "alchemy-fr/tcpdf-clone", @@ -131,16 +131,16 @@ }, { "name": "alchemy/embed-bundle", - "version": "2.0.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/alchemy-fr/embed-bundle.git", - "reference": "36c788a38bfed3ed19fdc4e1cc0290f0a674e4b9" + "reference": "e02e25a04911210eaedff0adb9cf7589010c473b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/alchemy-fr/embed-bundle/zipball/36c788a38bfed3ed19fdc4e1cc0290f0a674e4b9", - "reference": "36c788a38bfed3ed19fdc4e1cc0290f0a674e4b9", + "url": "https://api.github.com/repos/alchemy-fr/embed-bundle/zipball/e02e25a04911210eaedff0adb9cf7589010c473b", + "reference": "e02e25a04911210eaedff0adb9cf7589010c473b", "shasum": "" }, "require-dev": { @@ -178,10 +178,10 @@ ], "description": "Embed resources bundle", "support": { - "source": "https://github.com/alchemy-fr/embed-bundle/tree/2.0.1", + "source": "https://github.com/alchemy-fr/embed-bundle/tree/2.0.3", "issues": "https://github.com/alchemy-fr/embed-bundle/issues" }, - "time": "2019-05-14T12:25:18+00:00" + "time": "2019-05-23T15:23:14+00:00" }, { "name": "alchemy/geonames-api-consumer", From f9a82d6b4144081b3a75e3d58fb8a1e85763d127 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana <hra@esokia.com> Date: Fri, 24 May 2019 15:37:39 +0400 Subject: [PATCH 28/80] PHRAS-2419 #comment update phraseanet-production-version to 0.354.12-d #time 15m --- package.json | 2 +- yarn.lock | 2789 ++------------------------------------------------ 2 files changed, 69 insertions(+), 2722 deletions(-) diff --git a/package.json b/package.json index 26a23d6279..d9638b20bb 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "normalize-css": "^2.1.0", "npm": "^6.0.0", "npm-modernizr": "^2.8.3", - "phraseanet-production-client": "0.34.11", + "phraseanet-production-client": "0.34.12-d", "requirejs": "^2.3.5", "tinymce": "^4.0.28", "underscore": "^1.8.3", diff --git a/yarn.lock b/yarn.lock index e307354fa5..f2a8b9173f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1434,168 +1434,6 @@ ansi-align@^2.0.0: dependencies: string-width "^2.0.0" -ansi-bgblack@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-bgblack/-/ansi-bgblack-0.1.1.tgz#a68ba5007887701b6aafbe3fa0dadfdfa8ee3ca2" - integrity sha1-poulAHiHcBtqr74/oNrf36juPKI= - dependencies: - ansi-wrap "0.1.0" - -ansi-bgblue@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-bgblue/-/ansi-bgblue-0.1.1.tgz#67bdc04edc9b9b5278969da196dea3d75c8c3613" - integrity sha1-Z73ATtybm1J4lp2hlt6j11yMNhM= - dependencies: - ansi-wrap "0.1.0" - -ansi-bgcyan@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-bgcyan/-/ansi-bgcyan-0.1.1.tgz#58489425600bde9f5507068dd969ebfdb50fe768" - integrity sha1-WEiUJWAL3p9VBwaN2Wnr/bUP52g= - dependencies: - ansi-wrap "0.1.0" - -ansi-bggreen@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-bggreen/-/ansi-bggreen-0.1.1.tgz#4e3191248529943f4321e96bf131d1c13816af49" - integrity sha1-TjGRJIUplD9DIelr8THRwTgWr0k= - dependencies: - ansi-wrap "0.1.0" - -ansi-bgmagenta@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-bgmagenta/-/ansi-bgmagenta-0.1.1.tgz#9b28432c076eaa999418672a3efbe19391c2c7a1" - integrity sha1-myhDLAduqpmUGGcqPvvhk5HCx6E= - dependencies: - ansi-wrap "0.1.0" - -ansi-bgred@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-bgred/-/ansi-bgred-0.1.1.tgz#a76f92838382ba43290a6c1778424f984d6f1041" - integrity sha1-p2+Sg4OCukMpCmwXeEJPmE1vEEE= - dependencies: - ansi-wrap "0.1.0" - -ansi-bgwhite@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-bgwhite/-/ansi-bgwhite-0.1.1.tgz#6504651377a58a6ececd0331994e480258e11ba8" - integrity sha1-ZQRlE3elim7OzQMxmU5IAljhG6g= - dependencies: - ansi-wrap "0.1.0" - -ansi-bgyellow@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-bgyellow/-/ansi-bgyellow-0.1.1.tgz#c3fe2eb08cd476648029e6874d15a0b38f61d44f" - integrity sha1-w/4usIzUdmSAKeaHTRWgs49h1E8= - dependencies: - ansi-wrap "0.1.0" - -ansi-black@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-black/-/ansi-black-0.1.1.tgz#f6185e889360b2545a1ec50c0bf063fc43032453" - integrity sha1-9hheiJNgslRaHsUMC/Bj/EMDJFM= - dependencies: - ansi-wrap "0.1.0" - -ansi-blue@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-blue/-/ansi-blue-0.1.1.tgz#15b804990e92fc9ca8c5476ce8f699777c21edbf" - integrity sha1-FbgEmQ6S/JyoxUds6PaZd3wh7b8= - dependencies: - ansi-wrap "0.1.0" - -ansi-bold@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-bold/-/ansi-bold-0.1.1.tgz#3e63950af5acc2ae2e670e6f67deb115d1a5f505" - integrity sha1-PmOVCvWswq4uZw5vZ96xFdGl9QU= - dependencies: - ansi-wrap "0.1.0" - -ansi-colors@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-0.1.0.tgz#334ac36cd3ead708de5c69e19a98d1864226b43f" - integrity sha1-M0rDbNPq1wjeXGnhmpjRhkImtD8= - dependencies: - ansi-bgblack "^0.1.1" - ansi-bgblue "^0.1.1" - ansi-bgcyan "^0.1.1" - ansi-bggreen "^0.1.1" - ansi-bgmagenta "^0.1.1" - ansi-bgred "^0.1.1" - ansi-bgwhite "^0.1.1" - ansi-bgyellow "^0.1.1" - ansi-black "^0.1.1" - ansi-blue "^0.1.1" - ansi-bold "^0.1.1" - ansi-cyan "^0.1.1" - ansi-dim "^0.1.1" - ansi-gray "^0.1.1" - ansi-green "^0.1.1" - ansi-grey "^0.1.1" - ansi-hidden "^0.1.1" - ansi-inverse "^0.1.1" - ansi-italic "^0.1.1" - ansi-magenta "^0.1.1" - ansi-red "^0.1.1" - ansi-reset "^0.1.1" - ansi-strikethrough "^0.1.1" - ansi-underline "^0.1.1" - ansi-white "^0.1.1" - ansi-yellow "^0.1.1" - lazy-cache "^0.2.4" - -ansi-colors@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-0.2.0.tgz#72c31de2a0d9a2ccd0cac30cc9823eeb2f6434b5" - integrity sha1-csMd4qDZoszQysMMyYI+6y9kNLU= - dependencies: - ansi-bgblack "^0.1.1" - ansi-bgblue "^0.1.1" - ansi-bgcyan "^0.1.1" - ansi-bggreen "^0.1.1" - ansi-bgmagenta "^0.1.1" - ansi-bgred "^0.1.1" - ansi-bgwhite "^0.1.1" - ansi-bgyellow "^0.1.1" - ansi-black "^0.1.1" - ansi-blue "^0.1.1" - ansi-bold "^0.1.1" - ansi-cyan "^0.1.1" - ansi-dim "^0.1.1" - ansi-gray "^0.1.1" - ansi-green "^0.1.1" - ansi-grey "^0.1.1" - ansi-hidden "^0.1.1" - ansi-inverse "^0.1.1" - ansi-italic "^0.1.1" - ansi-magenta "^0.1.1" - ansi-red "^0.1.1" - ansi-reset "^0.1.1" - ansi-strikethrough "^0.1.1" - ansi-underline "^0.1.1" - ansi-white "^0.1.1" - ansi-yellow "^0.1.1" - lazy-cache "^2.0.1" - -ansi-cyan@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873" - integrity sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM= - dependencies: - ansi-wrap "0.1.0" - -ansi-dim@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-dim/-/ansi-dim-0.1.1.tgz#40de4c603aa8086d8e7a86b8ff998d5c36eefd6c" - integrity sha1-QN5MYDqoCG2Oeoa4/5mNXDbu/Ww= - dependencies: - ansi-wrap "0.1.0" - -ansi-escapes@^1.1.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" - integrity sha1-06ioOzGapneTZisT52HHkRQiMG4= - ansi-escapes@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" @@ -1608,55 +1446,6 @@ ansi-gray@^0.1.1: dependencies: ansi-wrap "0.1.0" -ansi-green@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-green/-/ansi-green-0.1.1.tgz#8a5d9a979e458d57c40e33580b37390b8e10d0f7" - integrity sha1-il2al55FjVfEDjNYCzc5C44Q0Pc= - dependencies: - ansi-wrap "0.1.0" - -ansi-grey@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-grey/-/ansi-grey-0.1.1.tgz#59d98b6ac2ba19f8a51798e9853fba78339a33c1" - integrity sha1-WdmLasK6GfilF5jphT+6eDOaM8E= - dependencies: - ansi-wrap "0.1.0" - -ansi-hidden@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-hidden/-/ansi-hidden-0.1.1.tgz#ed6a4c498d2bb7cbb289dbf2a8d1dcc8567fae0f" - integrity sha1-7WpMSY0rt8uyidvyqNHcyFZ/rg8= - dependencies: - ansi-wrap "0.1.0" - -ansi-inverse@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-inverse/-/ansi-inverse-0.1.1.tgz#b6af45826fe826bfb528a6c79885794355ccd269" - integrity sha1-tq9Fgm/oJr+1KKbHmIV5Q1XM0mk= - dependencies: - ansi-wrap "0.1.0" - -ansi-italic@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-italic/-/ansi-italic-0.1.1.tgz#104743463f625c142a036739cf85eda688986f23" - integrity sha1-EEdDRj9iXBQqA2c5z4XtpoiYbyM= - dependencies: - ansi-wrap "0.1.0" - -ansi-magenta@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-magenta/-/ansi-magenta-0.1.1.tgz#063b5ba16fb3f23e1cfda2b07c0a89de11e430ae" - integrity sha1-BjtboW+z8j4c/aKwfAqJ3hHkMK4= - dependencies: - ansi-wrap "0.1.0" - -ansi-red@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c" - integrity sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw= - dependencies: - ansi-wrap "0.1.0" - ansi-regex@^0.2.0, ansi-regex@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" @@ -1672,20 +1461,6 @@ ansi-regex@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= -ansi-reset@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-reset/-/ansi-reset-0.1.1.tgz#e7e71292c3c7ddcd4d62ef4a6c7c05980911c3b7" - integrity sha1-5+cSksPH3c1NYu9KbHwFmAkRw7c= - dependencies: - ansi-wrap "0.1.0" - -ansi-strikethrough@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-strikethrough/-/ansi-strikethrough-0.1.1.tgz#d84877140b2cff07d1c93ebce69904f68885e568" - integrity sha1-2Eh3FAss/wfRyT685pkE9oiF5Wg= - dependencies: - ansi-wrap "0.1.0" - ansi-styles@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de" @@ -1708,32 +1483,11 @@ ansi-styles@~1.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" integrity sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg= -ansi-underline@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-underline/-/ansi-underline-0.1.1.tgz#dfc920f4c97b5977ea162df8ffb988308aaa71a4" - integrity sha1-38kg9Ml7WXfqFi34/7mIMIqqcaQ= - dependencies: - ansi-wrap "0.1.0" - -ansi-white@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-white/-/ansi-white-0.1.1.tgz#9c77b7c193c5ee992e6011d36ec4c921b4578944" - integrity sha1-nHe3wZPF7pkuYBHTbsTJIbRXiUQ= - dependencies: - ansi-wrap "0.1.0" - ansi-wrap@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768= -ansi-yellow@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/ansi-yellow/-/ansi-yellow-0.1.1.tgz#cb9356f2f46c732f0e3199e6102955a77da83c1d" - integrity sha1-y5NW8vRscy8OMZnmEClVp32oPB0= - dependencies: - ansi-wrap "0.1.0" - ansicolors@~0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef" @@ -1812,25 +1566,11 @@ arr-diff@^4.0.0: resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= -arr-flatten@^1.0.1, arr-flatten@^1.0.3, arr-flatten@^1.1.0: +arr-flatten@^1.0.1, arr-flatten@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== -arr-map@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/arr-map/-/arr-map-2.0.2.tgz#3a77345ffc1cf35e2a91825601f9e58f2e24cac4" - integrity sha1-Onc0X/wc814qkYJWAfnljy4kysQ= - dependencies: - make-iterator "^1.0.0" - -arr-pluck@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/arr-pluck/-/arr-pluck-0.1.0.tgz#f8ad6d708f87900881e23afd830d52290a766775" - integrity sha1-+K1tcI+HkAiB4jr9gw1SKQp2Z3U= - dependencies: - arr-map "^2.0.0" - arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" @@ -1856,15 +1596,6 @@ array-slice@^1.0.0: resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w== -array-sort@^0.1.2: - version "0.1.4" - resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-0.1.4.tgz#662855eaeb671b4188df4451b2f24a0753992b23" - integrity sha512-BNcM+RXxndPxiZ2rd76k6nyQLRZr2/B/sdi8pQ+Joafr5AH279L40dfokSUTp8O+AaqYjXWhblBWa2st2nc4fQ== - dependencies: - default-compare "^1.0.0" - get-value "^2.0.6" - kind-of "^5.0.2" - array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -1892,13 +1623,6 @@ arraybuffer.slice@~0.0.7: resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog== -arrayify-compact@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/arrayify-compact/-/arrayify-compact-0.2.0.tgz#459170e155ca12bb514484839c9d71507c80ec4d" - integrity sha1-RZFw4VXKErtRRISDnJ1xUHyA7E0= - dependencies: - arr-flatten "^1.0.1" - arrify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -1916,79 +1640,6 @@ asn1@~0.2.3: dependencies: safer-buffer "~2.1.0" -assemble-core@^0.25.0: - version "0.25.0" - resolved "https://registry.yarnpkg.com/assemble-core/-/assemble-core-0.25.0.tgz#65917bfcaf9cd6b14d9b91d031a0dd99aaf43964" - integrity sha1-ZZF7/K+c1rFNm5HQMaDdmar0OWQ= - dependencies: - assemble-fs "^0.6.0" - assemble-render-file "^0.7.1" - assemble-streams "^0.6.0" - base-task "^0.6.1" - define-property "^0.2.5" - lazy-cache "^2.0.1" - templates "^0.24.0" - -assemble-fs@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/assemble-fs/-/assemble-fs-0.6.0.tgz#ba4cbeb74b5d1bdee6d528a965ad3b7d96def0e8" - integrity sha1-uky+t0tdG97m1SipZa07fZbe8Og= - dependencies: - assemble-handle "^0.1.2" - extend-shallow "^2.0.1" - is-valid-app "^0.2.0" - lazy-cache "^2.0.1" - stream-combiner "^0.2.2" - through2 "^2.0.1" - vinyl-fs "^2.4.3" - -assemble-handle@^0.1.2: - version "0.1.4" - resolved "https://registry.yarnpkg.com/assemble-handle/-/assemble-handle-0.1.4.tgz#e837b5bb23e75c9b05257d807e162f692cce216e" - integrity sha1-6De1uyPnXJsFJX2AfhYvaSzOIW4= - dependencies: - through2 "^2.0.3" - -assemble-loader@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/assemble-loader/-/assemble-loader-0.6.1.tgz#d069aa64184e1732843fe1ec18082123576955d8" - integrity sha1-0GmqZBhOFzKEP+HsGAghI1dpVdg= - dependencies: - extend-shallow "^2.0.1" - file-contents "^0.2.4" - fs-exists-sync "^0.1.0" - has-glob "^0.1.1" - is-registered "^0.1.5" - is-valid-glob "^0.3.0" - is-valid-instance "^0.1.0" - isobject "^2.1.0" - lazy-cache "^2.0.1" - load-templates "^0.11.3" - -assemble-render-file@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/assemble-render-file/-/assemble-render-file-0.7.2.tgz#83aa95f5ed77d5cb4aea8abc74f224a1545571c6" - integrity sha1-g6qV9e131ctK6oq8dPIkoVRVccY= - dependencies: - debug "^2.2.0" - is-valid-app "^0.1.2" - lazy-cache "^2.0.1" - mixin-deep "^1.1.3" - through2 "^2.0.1" - -assemble-streams@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/assemble-streams/-/assemble-streams-0.6.0.tgz#90e9216a836996d268370bedac71bb31d8c9ab5f" - integrity sha1-kOkhaoNpltJoNwvtrHG7MdjJq18= - dependencies: - assemble-handle "^0.1.2" - is-registered "^0.1.4" - is-valid-instance "^0.1.0" - lazy-cache "^2.0.1" - match-file "^0.2.0" - src-stream "^0.1.1" - through2 "^2.0.1" - assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" @@ -1999,60 +1650,16 @@ assertion-error@1.0.0: resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.0.tgz#c7f85438fdd466bc7ca16ab90c81513797a5d23b" integrity sha1-x/hUOP3UZrx8oWq5DIFRN5el0js= -assign-deep@^0.4.3: - version "0.4.7" - resolved "https://registry.yarnpkg.com/assign-deep/-/assign-deep-0.4.7.tgz#7f66886a0bdae6d652abb1497f6edfc2c7ab14cf" - integrity sha512-tYlXoIH6RM2rclkx9uLXDKPKrDGsnxoWHE2J5+9tq2StAXeAAo8hLPZtOqwt22p8r6H5hnMgd8Oz8qPJl3W31g== - dependencies: - assign-symbols "^0.1.1" - is-primitive "^2.0.0" - kind-of "^5.0.2" - -assign-symbols@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-0.1.1.tgz#cb025944ef4ec8a3693f086e9e112c74e3a0fed9" - integrity sha1-ywJZRO9OyKNpPwhunhEsdOOg/tk= - assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= -async-array-reduce@^0.2.0, async-array-reduce@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/async-array-reduce/-/async-array-reduce-0.2.1.tgz#c8be010a2b5cd00dea96c81116034693dfdd82d1" - integrity sha1-yL4BCitc0A3qlsgRFgNGk9/dgtE= - -async-done@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/async-done/-/async-done-0.4.0.tgz#ab8053f5f62290f8bfc58f37cd9b73070b3307b9" - integrity sha1-q4BT9fYikPi/xY83zZtzBwszB7k= - dependencies: - end-of-stream "^0.1.4" - next-tick "^0.2.2" - once "^1.3.0" - stream-exhaust "^1.0.0" - -async-done@^1.1.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.3.1.tgz#14b7b73667b864c8f02b5b253fc9c6eddb777f3e" - integrity sha512-R1BaUeJ4PMoLNJuk+0tLJgjmEqVsdN118+Z8O+alhnQDQgy0kmD5Mqi0DNEmMx2LM0Ed5yekKu+ZXYvIHceicg== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.2" - process-nextick-args "^1.0.7" - stream-exhaust "^1.0.1" - async-each-series@0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432" integrity sha1-dhfBkXQB/Yykooqtzj266Yr+tDI= -async-each-series@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-1.1.0.tgz#f42fd8155d38f21a5b8ea07c28e063ed1700b138" - integrity sha1-9C/YFV048hpbjqB8KOBj7RcAsTg= - async-each@^1.0.0, async-each@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" @@ -2063,32 +1670,17 @@ async-foreach@^0.1.3: resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= -async-helpers@^0.3.9: - version "0.3.17" - resolved "https://registry.yarnpkg.com/async-helpers/-/async-helpers-0.3.17.tgz#3d91af1ff853d62e9809b0f31c4bdac79baa6ba4" - integrity sha512-LfgCyvmK6ZiC7pyqOgli2zfkWL4HYbEb+HXvGgdmqVBgsOOtQz5rSF8Ii/H/1cNNtrfj1KsdZE/lUMeIY3Qcwg== - dependencies: - co "^4.6.0" - kind-of "^6.0.0" - async-limiter@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" integrity sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg== -async-settle@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-0.2.1.tgz#767462d5738008dc75eac4246223528f21371396" - integrity sha1-dnRi1XOACNx16sQkYiNSjyE3E5Y= - dependencies: - async-done "^0.4.0" - async@0.9.x: version "0.9.2" resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= -async@1.5.2, async@1.x, async@^1.5.2: +async@1.5.2, async@1.x: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= @@ -2159,21 +1751,6 @@ babylon@^6.15.0: resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== -bach@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/bach/-/bach-0.5.0.tgz#3ffa6a3741773ebc0d24be5fda4bc5e85b5b1da1" - integrity sha1-P/pqN0F3PrwNJL5f2kvF6FtbHaE= - dependencies: - async-done "^1.1.1" - async-settle "^0.2.1" - lodash.filter "^4.1.0" - lodash.flatten "^4.0.0" - lodash.foreach "^4.0.0" - lodash.initial "^4.0.1" - lodash.last "^3.0.0" - lodash.map "^4.1.0" - now-and-later "0.0.6" - backbone@^1.3.3: version "1.4.0" resolved "https://registry.yarnpkg.com/backbone/-/backbone-1.4.0.tgz#54db4de9df7c3811c3f032f34749a4cd27f3bd12" @@ -2191,333 +1768,6 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= -base-argv@^0.4.2: - version "0.4.5" - resolved "https://registry.yarnpkg.com/base-argv/-/base-argv-0.4.5.tgz#05a9571cdc276940de196ffc874eeeb899cb103d" - integrity sha1-BalXHNwnaUDeGW/8h07uuJnLED0= - dependencies: - arr-diff "^2.0.0" - arr-union "^3.1.0" - debug "^2.2.0" - define-property "^0.2.5" - expand-args "^0.4.1" - extend-shallow "^2.0.1" - lazy-cache "^1.0.3" - -base-cli-process@^0.1.18: - version "0.1.19" - resolved "https://registry.yarnpkg.com/base-cli-process/-/base-cli-process-0.1.19.tgz#320d3c8154df71096d481818e76fe6d7e4793636" - integrity sha1-Mg08gVTfcQltSBgY52/m1+R5NjY= - dependencies: - arr-union "^3.1.0" - arrayify-compact "^0.2.0" - base-cli "^0.5.0" - base-cli-schema "^0.1.19" - base-config-process "^0.1.9" - base-cwd "^0.3.4" - base-option "^0.8.4" - base-pkg "^0.2.4" - debug "^2.6.2" - export-files "^2.1.1" - fs-exists-sync "^0.1.0" - is-valid-app "^0.2.1" - kind-of "^3.1.0" - lazy-cache "^2.0.2" - log-utils "^0.2.1" - merge-deep "^3.0.0" - mixin-deep "^1.2.0" - object.pick "^1.2.0" - pad-right "^0.2.2" - union-value "^1.0.0" - -base-cli-schema@^0.1.19: - version "0.1.19" - resolved "https://registry.yarnpkg.com/base-cli-schema/-/base-cli-schema-0.1.19.tgz#81f4182f4cf0bb83671f11763e49cb05b92e8241" - integrity sha1-gfQYL0zwu4NnHxF2PknLBbkugkE= - dependencies: - arr-flatten "^1.0.1" - array-unique "^0.2.1" - debug "^2.2.0" - define-property "^0.2.5" - export-files "^2.1.1" - extend-shallow "^2.0.1" - "falsey" "^0.3.0" - fs-exists-sync "^0.1.0" - has-glob "^0.1.1" - has-value "^0.3.1" - kind-of "^3.0.3" - lazy-cache "^2.0.1" - map-schema "^0.2.3" - merge-deep "^3.0.0" - mixin-deep "^1.1.3" - resolve "^1.1.7" - tableize-object "^0.1.0" - -base-cli@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/base-cli/-/base-cli-0.5.0.tgz#53e65d8e0f5b28aa11068fec8dd4e95d72ef3ce8" - integrity sha1-U+Zdjg9bKKoRBo/sjdTpXXLvPOg= - dependencies: - base-argv "^0.4.2" - base-config "^0.5.2" - -base-compose@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/base-compose/-/base-compose-0.2.1.tgz#ade49a97f5a2448bd56bcb340b4f7468c6fbe2d7" - integrity sha1-reSal/WiRIvVa8s0C090aMb74tc= - dependencies: - copy-task "^0.1.0" - lazy-cache "^2.0.1" - mixin-deep "^1.1.3" - -base-config-process@^0.1.9: - version "0.1.9" - resolved "https://registry.yarnpkg.com/base-config-process/-/base-config-process-0.1.9.tgz#8a63a61989ee63550cc8cfdc3f6c0275fda0b46e" - integrity sha1-imOmGYnuY1UMyM/cP2wCdf2gtG4= - dependencies: - base-config "^0.5.2" - base-config-schema "^0.1.18" - base-cwd "^0.3.4" - base-option "^0.8.4" - debug "^2.2.0" - export-files "^2.1.1" - is-valid-app "^0.2.0" - lazy-cache "^2.0.1" - micromatch "^2.3.10" - mixin-deep "^1.1.3" - -base-config-schema@^0.1.18: - version "0.1.24" - resolved "https://registry.yarnpkg.com/base-config-schema/-/base-config-schema-0.1.24.tgz#4fbe14bec56dc1aede7fedd06928e919f8721fa9" - integrity sha1-T74UvsVtwa7ef+3QaSjpGfhyH6k= - dependencies: - arr-flatten "^1.0.3" - array-unique "^0.3.2" - base-pkg "^0.2.4" - camel-case "^3.0.0" - debug "^2.6.6" - define-property "^1.0.0" - export-files "^2.1.1" - extend-shallow "^2.0.1" - has-glob "^1.0.0" - has-value "^0.3.1" - inflection "^1.12.0" - kind-of "^3.2.0" - lazy-cache "^2.0.2" - load-templates "^1.0.2" - map-schema "^0.2.4" - matched "^0.4.4" - mixin-deep "^1.2.0" - resolve "^1.3.3" - -base-config@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/base-config/-/base-config-0.5.2.tgz#ab603c01d13158be2e62ec77ffb231e28f488e1f" - integrity sha1-q2A8AdExWL4uYux3/7Ix4o9Ijh8= - dependencies: - isobject "^2.0.0" - lazy-cache "^1.0.3" - map-config "^0.5.0" - resolve-dir "^0.1.0" - -base-cwd@^0.3.1, base-cwd@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/base-cwd/-/base-cwd-0.3.4.tgz#4d00ab6350a046e1ad4ab9c2326da1794b3e4f01" - integrity sha1-TQCrY1CgRuGtSrnCMm2heUs+TwE= - dependencies: - empty-dir "^0.2.0" - find-pkg "^0.1.2" - is-valid-app "^0.2.0" - -base-data@^0.6.0: - version "0.6.2" - resolved "https://registry.yarnpkg.com/base-data/-/base-data-0.6.2.tgz#019d71cf2c6691d85fae9d7c88a5e54ac68ae5fb" - integrity sha512-wH2ViG6CUO2AaeHSEt6fJTyQAk5gl0oY456DoSC5h8mnHrWUbvdctMCuF53CXgBmi0oalZQppKNH0iamG5+uqw== - dependencies: - arr-flatten "^1.1.0" - cache-base "^1.0.0" - extend-shallow "^2.0.1" - get-value "^2.0.6" - has-glob "^1.0.0" - has-value "^1.0.0" - is-registered "^0.1.5" - is-valid-app "^0.3.0" - kind-of "^5.0.0" - lazy-cache "^2.0.2" - merge-value "^1.0.0" - mixin-deep "^1.2.0" - read-file "^0.2.0" - resolve-glob "^1.0.0" - set-value "^2.0.0" - union-value "^1.0.0" - -base-engines@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/base-engines/-/base-engines-0.2.1.tgz#697800ca8ab888a33789738dbfaccb818a2a5a7b" - integrity sha1-aXgAyoq4iKM3iXONv6zLgYoqWns= - dependencies: - debug "^2.2.0" - define-property "^0.2.5" - engine-cache "^0.19.0" - is-valid-app "^0.1.2" - lazy-cache "^2.0.1" - -base-env@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/base-env/-/base-env-0.3.1.tgz#a959341fef13ac1cd372a3fe2d6eee11d11061bb" - integrity sha512-/HxC8QV1m/bWqvjcu4WZl4Um1HRpTAjuY31uiFUEukXsXge4WIvNvGKG/gCs2PrpBFPCybowA406V/ivdPknpQ== - dependencies: - base-namespace "^0.2.0" - contains-path "^0.1.0" - debug "^2.2.0" - extend-shallow "^2.0.1" - fs-exists-sync "^0.1.0" - global-modules "^0.2.2" - is-absolute "^0.2.5" - is-valid-app "^0.1.0" - is-valid-instance "^0.1.0" - kind-of "^3.0.3" - os-homedir "^1.0.1" - resolve-file "^0.3.0" - -base-generators@^0.4.5: - version "0.4.6" - resolved "https://registry.yarnpkg.com/base-generators/-/base-generators-0.4.6.tgz#e1a993621e5b442af8e0c811315a326f987c9ea6" - integrity sha1-4amTYh5bRCr44MgRMVoyb5h8nqY= - dependencies: - async-each-series "^1.1.0" - base-compose "^0.2.1" - base-cwd "^0.3.1" - base-data "^0.6.0" - base-env "^0.3.0" - base-option "^0.8.4" - base-pkg "^0.2.4" - base-plugins "^0.4.13" - base-task "^0.6.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - global-modules "^0.2.2" - is-valid-app "^0.2.0" - is-valid-instance "^0.2.0" - kind-of "^3.0.3" - lazy-cache "^2.0.1" - mixin-deep "^1.1.3" - -base-helpers@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/base-helpers/-/base-helpers-0.1.1.tgz#da4e1e2b2f8008ecdce93f11efddb6de06333fb3" - integrity sha1-2k4eKy+ACOzc6T8R79223gYzP7M= - dependencies: - debug "^2.2.0" - define-property "^0.2.5" - is-valid-app "^0.1.0" - lazy-cache "^2.0.1" - load-helpers "^0.2.11" - -base-namespace@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/base-namespace/-/base-namespace-0.2.0.tgz#44b2cbba667563cc44e6daeb4efe403bb0ab3da0" - integrity sha1-RLLLumZ1Y8xE5trrTv5AO7CrPaA= - dependencies: - is-valid-app "^0.1.0" - -base-option@^0.8.2, base-option@^0.8.3, base-option@^0.8.4: - version "0.8.4" - resolved "https://registry.yarnpkg.com/base-option/-/base-option-0.8.4.tgz#11417fa9244f227a4d537b4d291723462787d5c7" - integrity sha1-EUF/qSRPInpNU3tNKRcjRieH1cc= - dependencies: - define-property "^0.2.5" - get-value "^2.0.6" - is-valid-app "^0.2.0" - isobject "^2.1.0" - lazy-cache "^2.0.1" - mixin-deep "^1.1.3" - option-cache "^3.4.0" - set-value "^0.3.3" - -base-pkg@^0.2.4: - version "0.2.5" - resolved "https://registry.yarnpkg.com/base-pkg/-/base-pkg-0.2.5.tgz#7ec2e13fa7cf2ab82acd99a4116852c488a2ca68" - integrity sha512-/POxajlgBhVsknwLXnqnbp//bAMh7SkDgHF+z/uoYnFqk46e05c3MxSEmn5vFCB8g4rHHKxAPLKrU/4Yb3vUdA== - dependencies: - cache-base "^1.0.0" - debug "^2.6.8" - define-property "^1.0.0" - expand-pkg "^0.1.8" - extend-shallow "^2.0.1" - is-valid-app "^0.3.0" - log-utils "^0.2.1" - pkg-store "^0.2.2" - -base-plugins@^0.4.12, base-plugins@^0.4.13: - version "0.4.13" - resolved "https://registry.yarnpkg.com/base-plugins/-/base-plugins-0.4.13.tgz#91df178dc37f86842dea286d79e48fb86b5aac3d" - integrity sha1-kd8XjcN/hoQt6ihteeSPuGtarD0= - dependencies: - define-property "^0.2.5" - is-registered "^0.1.5" - isobject "^2.1.0" - -base-questions@^0.7.3: - version "0.7.4" - resolved "https://registry.yarnpkg.com/base-questions/-/base-questions-0.7.4.tgz#f64f848261ed6c828f4983d7812f40d303782146" - integrity sha1-9k+EgmHtbIKPSYPXgS9A0wN4IUY= - dependencies: - base-store "^0.4.4" - clone-deep "^0.2.4" - debug "^2.2.0" - define-property "^0.2.5" - is-valid-app "^0.2.0" - isobject "^2.1.0" - lazy-cache "^2.0.1" - mixin-deep "^1.1.3" - question-store "^0.11.0" - -base-routes@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/base-routes/-/base-routes-0.2.2.tgz#0a614d172d49045d8c9387713f860df3c405341e" - integrity sha1-CmFNFy1JBF2Mk4dxP4YN88QFNB4= - dependencies: - debug "^2.2.0" - en-route "^0.7.5" - is-valid-app "^0.2.0" - lazy-cache "^2.0.1" - template-error "^0.1.2" - -base-runtimes@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/base-runtimes/-/base-runtimes-0.2.0.tgz#188e3e66824ccb1598b3287b4ea5b935a1b85045" - integrity sha1-GI4+ZoJMyxWYsyh7TqW5NaG4UEU= - dependencies: - extend-shallow "^2.0.1" - is-valid-app "^0.2.0" - lazy-cache "^2.0.1" - log-utils "^0.1.4" - micromatch "^2.3.10" - time-diff "^0.3.1" - -base-store@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/base-store/-/base-store-0.4.4.tgz#258df6b8a62ee06ff15000c949d0fd7c28baf266" - integrity sha1-JY32uKYu4G/xUADJSdD9fCi68mY= - dependencies: - data-store "^0.16.0" - debug "^2.2.0" - extend-shallow "^2.0.1" - is-registered "^0.1.4" - is-valid-instance "^0.1.0" - lazy-cache "^2.0.1" - project-name "^0.2.5" - -base-task@^0.6.1: - version "0.6.2" - resolved "https://registry.yarnpkg.com/base-task/-/base-task-0.6.2.tgz#467d60bae0737b3b8969bff57fa44494989981c0" - integrity sha1-Rn1guuBzezuJab/1f6RElJiZgcA= - dependencies: - composer "^0.13.0" - is-valid-app "^0.1.0" - base64-arraybuffer@0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" @@ -2541,20 +1791,6 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" -base@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/base/-/base-0.8.1.tgz#6900bb300f2c7596c99f3d83bab8722d818b748f" - integrity sha1-aQC7MA8sdZbJnz2DurhyLYGLdI8= - dependencies: - arr-union "^3.1.0" - cache-base "^0.8.2" - class-utils "^0.3.2" - component-emitter "^1.2.0" - debug "^2.2.0" - define-property "^0.2.5" - lazy-cache "^1.0.3" - mixin-deep "^1.1.3" - batch@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" @@ -2932,23 +2168,7 @@ cacache@^11.0.1, cacache@^11.3.2: unique-filename "^1.1.1" y18n "^4.0.0" -cache-base@^0.8.2, cache-base@^0.8.4: - version "0.8.5" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-0.8.5.tgz#60ceb3504021eceec7011fd3384b7f4e95729bfa" - integrity sha1-YM6zUEAh7O7HAR/TOEt/TpVym/o= - dependencies: - collection-visit "^0.2.1" - component-emitter "^1.2.1" - get-value "^2.0.5" - has-value "^0.3.1" - isobject "^3.0.0" - lazy-cache "^2.0.1" - set-value "^0.4.2" - to-object-path "^0.3.0" - union-value "^0.2.3" - unset-value "^0.1.1" - -cache-base@^1.0.0, cache-base@^1.0.1: +cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== @@ -2983,14 +2203,6 @@ callsite@1.0.0: resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" integrity sha1-KAOY5dZkvXQDi28JBRU+borxvCA= -camel-case@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" - integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= - dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" - camelcase-keys@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" @@ -3160,7 +2372,7 @@ cidr-regex@^2.0.10: dependencies: ip-regex "^2.1.0" -class-utils@^0.3.2, class-utils@^0.3.5: +class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== @@ -3191,13 +2403,6 @@ cli-columns@^3.1.2: string-width "^2.0.0" strip-ansi "^3.0.1" -cli-cursor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - integrity sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc= - dependencies: - restore-cursor "^1.0.1" - cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" @@ -3222,11 +2427,6 @@ cli-table@^0.3.0: dependencies: colors "1.0.3" -cli-width@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-1.1.1.tgz#a4d293ef67ebb7b88d4a4d42c0ccf00c4d1e366d" - integrity sha1-pNKT72frt7iNSk1CwMzwDE0eNm0= - cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" @@ -3264,17 +2464,6 @@ clone-buffer@^1.0.0: resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= -clone-deep@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" - integrity sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY= - dependencies: - for-own "^0.1.3" - is-plain-object "^2.0.1" - kind-of "^3.0.2" - lazy-cache "^1.0.3" - shallow-clone "^0.1.2" - clone-stats@^0.0.1, clone-stats@~0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" @@ -3327,15 +2516,6 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= -collection-visit@^0.2.0, collection-visit@^0.2.1, collection-visit@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-0.2.3.tgz#2f62483caecc95f083b9a454a3ee9e6139ad7957" - integrity sha1-L2JIPK7MlfCDuaRUo+6eYTmteVc= - dependencies: - lazy-cache "^2.0.1" - map-visit "^0.1.5" - object-visit "^0.3.4" - collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -3413,25 +2593,6 @@ commander@2.8.x: dependencies: graceful-readlink ">= 1.0.0" -common-config@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/common-config/-/common-config-0.1.0.tgz#d1f1a741afa0cbf6a5ef09752bdfc2e677d8b4ef" - integrity sha1-0fGnQa+gy/al7wl1K9/C5nfYtO8= - dependencies: - composer "^0.13.0" - data-store "^0.16.1" - get-value "^2.0.6" - lazy-cache "^2.0.1" - log-utils "^0.2.0" - object.pick "^1.1.2" - omit-empty "^0.4.1" - question-cache "^0.4.0" - set-value "^0.3.3" - strip-color "^0.1.0" - tableize-object "^0.1.0" - text-table "^0.2.0" - yargs-parser "^2.4.0" - component-bind@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" @@ -3442,7 +2603,7 @@ component-emitter@1.2.1: resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY= -component-emitter@^1.2.0, component-emitter@^1.2.1: +component-emitter@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== @@ -3452,24 +2613,6 @@ component-inherit@0.0.3: resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= -composer@^0.13.0: - version "0.13.0" - resolved "https://registry.yarnpkg.com/composer/-/composer-0.13.0.tgz#1dbcb15f19a906deee49a9c3d137e654bbc6d0e2" - integrity sha1-HbyxXxmpBt7uSanD0TfmVLvG0OI= - dependencies: - array-unique "^0.2.1" - bach "^0.5.0" - co "^4.6.0" - component-emitter "^1.2.1" - define-property "^0.2.5" - extend-shallow "^2.0.1" - is-generator "^1.0.3" - is-glob "^2.0.1" - isobject "^2.1.0" - lazy-cache "^2.0.1" - micromatch "^2.3.8" - nanoseconds "^0.1.0" - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -3543,11 +2686,6 @@ console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control- resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - convert-source-map@^1.1.1, convert-source-map@^1.5.1: version "1.6.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" @@ -3577,11 +2715,6 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -copy-task@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/copy-task/-/copy-task-0.1.0.tgz#4c34fe9ae54f2aaf609ed32f85b8f797a1f46ab6" - integrity sha1-TDT+muVPKq9gntMvhbj3l6H0arY= - core-js@^2.0.0, core-js@^2.4.0: version "2.6.5" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.5.tgz#44bc8d249e7fb2ff5d00e0341a7ffb94fbf67895" @@ -3638,21 +2771,6 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" -cwd@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/cwd/-/cwd-0.10.0.tgz#172400694057c22a13b0cf16162c7e4b7a7fe567" - integrity sha1-FyQAaUBXwioTsM8WFix+S3p/5Wc= - dependencies: - find-pkg "^0.1.2" - fs-exists-sync "^0.1.0" - -cwd@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/cwd/-/cwd-0.9.1.tgz#41e10a7e1ab833dc59c2eca83814c7de77b5a4fd" - integrity sha1-QeEKfhq4M9xZwuyoOBTH3ne1pP0= - dependencies: - find-pkg "^0.1.0" - cyclist@~0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" @@ -3682,25 +2800,6 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -data-store@^0.16.0, data-store@^0.16.1: - version "0.16.1" - resolved "https://registry.yarnpkg.com/data-store/-/data-store-0.16.1.tgz#e69c03a5cac15d1ff33f0254c96783653e688304" - integrity sha1-5pwDpcrBXR/zPwJUyWeDZT5ogwQ= - dependencies: - cache-base "^0.8.4" - clone-deep "^0.2.4" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - graceful-fs "^4.1.4" - has-own-deep "^0.1.4" - lazy-cache "^2.0.1" - mkdirp "^0.5.1" - project-name "^0.2.5" - resolve-dir "^0.1.0" - rimraf "^2.5.3" - union-value "^0.2.3" - dateformat@^1.0.7-1.2.3: version "1.0.12" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" @@ -3731,7 +2830,7 @@ debug@*, debug@^4.1.0: dependencies: ms "^2.1.1" -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.4.1, debug@^2.6.0, debug@^2.6.2, debug@^2.6.3, debug@^2.6.6, debug@^2.6.8: +debug@2.6.9, debug@^2.2.0, debug@^2.3.3: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -3752,7 +2851,7 @@ debug@^3.0.0, debug@^3.1.0, debug@^3.2.6: dependencies: ms "^2.1.1" -debuglog@*, debuglog@^1.0.1: +debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= @@ -3767,13 +2866,6 @@ decode-uri-component@^0.2.0: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= -deep-bind@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/deep-bind/-/deep-bind-0.3.0.tgz#95c31dd84a1cd1b381119a2c42edb90db485bc33" - integrity sha1-lcMd2Eoc0bOBEZosQu25DbSFvDM= - dependencies: - mixin-deep "^1.1.3" - deep-eql@0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" @@ -3796,22 +2888,6 @@ deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -default-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" - integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ== - dependencies: - kind-of "^5.0.2" - -defaults-deep@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/defaults-deep/-/defaults-deep-0.2.4.tgz#a479cfeafce025810fb93aa8d2dde0ee2d677cc6" - integrity sha512-V6BtqzcMvn0EPOy7f+SfMhfmTawq+7UQdt9yZH0EBK89+IHo5f+Hse/qzTorAXOBrQpxpwb6cB/8OgtaMrT+Fg== - dependencies: - for-own "^0.1.3" - is-extendable "^0.1.1" - lazy-cache "^0.2.3" - defaults@^1.0.0, defaults@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" @@ -3871,21 +2947,6 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= -delimiter-regex@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/delimiter-regex/-/delimiter-regex-1.3.1.tgz#6385cae14004dbc0c1cd8dffffeb863d51999eff" - integrity sha1-Y4XK4UAE28DBzY3//+uGPVGZnv8= - dependencies: - extend-shallow "^1.1.2" - -delimiter-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/delimiter-regex/-/delimiter-regex-2.0.0.tgz#0d0f6f61d9915591fd43087a8e9585d3e2115a75" - integrity sha1-DQ9vYdmRVZH9Qwh6jpWF0+IRWnU= - dependencies: - extend-shallow "^1.1.2" - isobject "^2.1.0" - density-clustering@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/density-clustering/-/density-clustering-1.3.0.tgz#dc9f59c8f0ab97e1624ac64930fd3194817dcac5" @@ -3985,12 +3046,7 @@ duplexer3@^0.1.4: resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= -duplexer@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= - -duplexify@^3.2.0, duplexify@^3.4.2, duplexify@^3.5.0, duplexify@^3.6.0: +duplexify@^3.4.2, duplexify@^3.5.0, duplexify@^3.6.0: version "3.7.1" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== @@ -4047,25 +3103,6 @@ emojis-list@^2.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= -empty-dir@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/empty-dir/-/empty-dir-0.2.1.tgz#809ee48a1eb4ad1cb510c2572d66fd0ed84d01ab" - integrity sha1-gJ7kih60rRy1EMJXLWb9DthNAas= - dependencies: - fs-exists-sync "^0.1.0" - -en-route@^0.7.5: - version "0.7.5" - resolved "https://registry.yarnpkg.com/en-route/-/en-route-0.7.5.tgz#e8230e73836c5e95c6757e0442d3c113124bdd98" - integrity sha1-6CMOc4NsXpXGdX4EQtPBExJL3Zg= - dependencies: - arr-flatten "^1.0.1" - debug "^2.2.0" - extend-shallow "^2.0.1" - kind-of "^3.0.2" - lazy-cache "^1.0.3" - path-to-regexp "^1.2.1" - encodeurl@~1.0.1, encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -4078,13 +3115,6 @@ encoding@^0.1.11: dependencies: iconv-lite "~0.4.13" -end-of-stream@^0.1.4, end-of-stream@~0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf" - integrity sha1-jhdyBsPICDfYVjLouTWd/osvbq8= - dependencies: - once "~1.3.0" - end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.1" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" @@ -4092,36 +3122,12 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -engine-base@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/engine-base/-/engine-base-0.1.3.tgz#d59c9cc52e7dd6dd2b49ae7bf5fb44994f7016a5" - integrity sha1-1ZycxS591t0rSa579ftEmU9wFqU= +end-of-stream@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf" + integrity sha1-jhdyBsPICDfYVjLouTWd/osvbq8= dependencies: - component-emitter "^1.2.1" - delimiter-regex "^2.0.0" - engine "^0.1.12" - engine-utils "^0.1.1" - lazy-cache "^2.0.2" - mixin-deep "^1.1.3" - object.omit "^2.0.1" - object.pick "^1.2.0" - -engine-cache@^0.19.0: - version "0.19.4" - resolved "https://registry.yarnpkg.com/engine-cache/-/engine-cache-0.19.4.tgz#8224966fbdf6a65e780ec79df87b6b2cb82395b2" - integrity sha1-giSWb732pl54Dsed+HtrLLgjlbI= - dependencies: - async-helpers "^0.3.9" - extend-shallow "^2.0.1" - helper-cache "^0.7.2" - isobject "^3.0.0" - lazy-cache "^2.0.2" - mixin-deep "^1.1.3" - -engine-utils@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/engine-utils/-/engine-utils-0.1.1.tgz#addf4708dd85a05a3217a97797eab8a013c4f80e" - integrity sha1-rd9HCN2FoFoyF6l3l+q4oBPE+A4= + once "~1.3.0" engine.io-client@~3.2.0: version "3.2.1" @@ -4180,19 +3186,6 @@ engine.io@~3.2.0: engine.io-parser "~2.1.0" ws "~3.3.1" -engine@^0.1.12, engine@^0.1.5: - version "0.1.12" - resolved "https://registry.yarnpkg.com/engine/-/engine-0.1.12.tgz#f87e8c90bb80cd3f58597ac569593ee46da2742d" - integrity sha1-+H6MkLuAzT9YWXrFaVk+5G2idC0= - dependencies: - assign-deep "^0.4.3" - collection-visit "^0.2.0" - get-value "^1.2.1" - kind-of "^2.0.1" - lazy-cache "^0.2.3" - object.omit "^2.0.0" - set-value "^0.2.0" - err-code@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" @@ -4212,11 +3205,6 @@ error-ex@^1.2.0: dependencies: is-arrayish "^0.2.1" -error-symbol@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/error-symbol/-/error-symbol-0.1.0.tgz#0a4dae37d600d15a29ba453d8ef920f1844333f6" - integrity sha1-Ck2uN9YA0VopukU9jvkg8YRDM/Y= - es-abstract@^1.12.0, es-abstract@^1.5.0: version "1.13.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" @@ -4371,24 +3359,6 @@ execa@^0.7.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - integrity sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g= - -expand-args@^0.4.1: - version "0.4.3" - resolved "https://registry.yarnpkg.com/expand-args/-/expand-args-0.4.3.tgz#3a8662241c581757c8cd37fb77677ac602ff9d98" - integrity sha1-OoZiJBxYF1fIzTf7d2d6xgL/nZg= - dependencies: - expand-object "^0.4.2" - kind-of "^3.0.3" - lazy-cache "^2.0.1" - minimist "^1.2.0" - mixin-deep "^1.1.3" - omit-empty "^0.4.1" - set-value "^0.3.3" - expand-brackets@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" @@ -4409,36 +3379,6 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expand-object@^0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/expand-object/-/expand-object-0.4.2.tgz#b7f27ef69c2fdcc62b0f9390c0cb47bc06bb06ea" - integrity sha1-t/J+9pwv3MYrD5OQwMtHvAa7Buo= - dependencies: - get-stdin "^5.0.1" - is-number "^2.1.0" - minimist "^1.2.0" - set-value "^0.3.3" - -expand-pkg@^0.1.8: - version "0.1.9" - resolved "https://registry.yarnpkg.com/expand-pkg/-/expand-pkg-0.1.9.tgz#7d58a809a70e3956f08e372fee005da964fb4fb4" - integrity sha512-Qqtqzx/e8tODrDr0H8HtO7+nftN0wH9bsk3948KpKBZLrc86Cm3/8mRKJmDfNSDWWcuKsilMmFlKPhYx5gHYuA== - dependencies: - component-emitter "^1.2.1" - debug "^2.4.1" - defaults-deep "^0.2.4" - export-files "^2.1.1" - get-value "^2.0.6" - kind-of "^3.1.0" - lazy-cache "^2.0.2" - load-pkg "^3.0.1" - mixin-deep "^1.1.3" - normalize-pkg "^0.3.20" - omit-empty "^0.4.1" - parse-author "^1.0.0" - parse-git-config "^1.1.1" - repo-utils "^0.3.7" - expand-range@^1.8.1: version "1.8.2" resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" @@ -4446,35 +3386,14 @@ expand-range@^1.8.1: dependencies: fill-range "^2.1.0" -expand-tilde@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" - integrity sha1-C4HrqJflo9MdHD0QL48BRB5VlEk= - dependencies: - os-homedir "^1.0.1" - -expand-tilde@^2.0.0, expand-tilde@^2.0.1, expand-tilde@^2.0.2: +expand-tilde@^2.0.0, expand-tilde@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= dependencies: homedir-polyfill "^1.0.1" -export-files@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/export-files/-/export-files-2.1.1.tgz#bbf64574053a09e4eb98e5f43501d572b2c3ce7f" - integrity sha1-u/ZFdAU6CeTrmOX0NQHVcrLDzn8= - dependencies: - lazy-cache "^1.0.3" - -extend-shallow@^1.1.2, extend-shallow@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071" - integrity sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE= - dependencies: - kind-of "^1.1.0" - -extend-shallow@^2.0.0, extend-shallow@^2.0.1: +extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= @@ -4554,13 +3473,6 @@ falafel@^2.1.0: isarray "0.0.1" object-keys "^1.0.6" -"falsey@^0.3.0": - version "0.3.2" - resolved "https://registry.yarnpkg.com/falsey/-/falsey-0.3.2.tgz#b21c90c5c34660fc192bf909575db95b6880d597" - integrity sha512-lxEuefF5MBIVDmE6XeqCdM4BWk1+vYmGZtkbKZ/VFcg6uBBw6fXNEbWmxCjDdQlFc9hy450nkiWwM3VAW6G1qg== - dependencies: - kind-of "^5.0.2" - fancy-log@^1.0.0, fancy-log@^1.1.0: version "1.3.3" resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" @@ -4598,14 +3510,6 @@ figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== -figures@^1.4.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" - figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" @@ -4613,55 +3517,6 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" -file-contents@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/file-contents/-/file-contents-0.2.4.tgz#0506f7b8eff62afa45ae45da4df9e9d47df453cb" - integrity sha1-BQb3uO/2KvpFrkXaTfnp1H30U8s= - dependencies: - extend-shallow "^2.0.0" - file-stat "^0.1.0" - graceful-fs "^4.1.2" - is-buffer "^1.1.0" - is-utf8 "^0.2.0" - lazy-cache "^0.2.3" - through2 "^2.0.0" - -file-contents@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/file-contents/-/file-contents-1.0.1.tgz#af25bbfd3d3446384fad806649d8808bcfee1ec8" - integrity sha1-ryW7/T00RjhPrYBmSdiAi8/uHsg= - dependencies: - define-property "^0.2.5" - extend-shallow "^2.0.1" - is-buffer "^1.1.4" - kind-of "^3.1.0" - lazy-cache "^2.0.2" - strip-bom-buffer "^0.1.1" - strip-bom-string "^0.1.2" - through2 "^2.0.3" - -file-is-binary@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-is-binary/-/file-is-binary-1.0.0.tgz#5e41806d1bcae458c8fec32fe3ce122dbbbc4356" - integrity sha1-XkGAbRvK5FjI/sMv484SLbu8Q1Y= - dependencies: - is-binary-buffer "^1.0.0" - isobject "^3.0.0" - -file-name@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/file-name/-/file-name-0.1.0.tgz#12b122f120f9c34dbc176c1ab81a548aced6def7" - integrity sha1-ErEi8SD5w028F2wauBpUis7W3vc= - -file-stat@^0.1.0: - version "0.1.3" - resolved "https://registry.yarnpkg.com/file-stat/-/file-stat-0.1.3.tgz#d0f1961d7d10732928120a6e6955471c2a5b5411" - integrity sha1-0PGWHX0QcykoEgpuaVVHHCpbVBE= - dependencies: - graceful-fs "^4.1.2" - lazy-cache "^0.2.3" - through2 "^2.0.0" - filelist@0.0.x: version "0.0.6" resolved "https://registry.yarnpkg.com/filelist/-/filelist-0.0.6.tgz#58a641ad1f57574a27fe87a440ef318834b55719" @@ -4714,14 +3569,6 @@ finalhandler@1.1.0: statuses "~1.3.1" unpipe "~1.0.0" -find-file-up@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/find-file-up/-/find-file-up-0.1.3.tgz#cf68091bcf9f300a40da411b37da5cce5a2fbea0" - integrity sha1-z2gJG8+fMApA2kEbN9pczlovvqA= - dependencies: - fs-exists-sync "^0.1.0" - resolve-dir "^0.1.0" - find-index@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" @@ -4732,13 +3579,6 @@ find-npm-prefix@^1.0.2: resolved "https://registry.yarnpkg.com/find-npm-prefix/-/find-npm-prefix-1.0.2.tgz#8d8ce2c78b3b4b9e66c8acc6a37c231eb841cfdf" integrity sha512-KEftzJ+H90x6pcKtdXZEPsQse8/y/UnvzRKrOSQFprnrGaFuJ62fVkP34Iu2IYuMvyauCyoLTNkJZgrrGA2wkA== -find-pkg@^0.1.0, find-pkg@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/find-pkg/-/find-pkg-0.1.2.tgz#1bdc22c06e36365532e2a248046854b9788da557" - integrity sha1-G9wiwG42NlUy4qJIBGhUuXiNpVc= - dependencies: - find-file-up "^0.1.2" - find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -4834,17 +3674,12 @@ for-each@^0.3.3: dependencies: is-callable "^1.1.3" -for-in@^0.1.3: - version "0.1.8" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" - integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE= - for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= -for-own@^0.1.1, for-own@^0.1.3, for-own@^0.1.4: +for-own@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= @@ -4922,11 +3757,6 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-exists-sync@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" - integrity sha1-mC1ok6+RjnLQjeyehnP/K1qNat0= - fs-extra@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" @@ -5109,11 +3939,6 @@ get-stdin@^4.0.1: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= -get-stdin@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" - integrity sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g= - get-stream@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" @@ -5126,29 +3951,11 @@ get-stream@^4.0.0, get-stream@^4.1.0: dependencies: pump "^3.0.0" -get-value@^1.2.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-1.3.1.tgz#8ac7ef4f20382392b2646548f9b9ad2dc6c89642" - integrity sha1-isfvTyA4I5KyZGVI+bmtLcbIlkI= - dependencies: - arr-flatten "^1.0.1" - is-extendable "^0.1.1" - lazy-cache "^0.2.4" - noncharacters "^1.1.0" - -get-value@^2.0.3, get-value@^2.0.5, get-value@^2.0.6: +get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= -get-view@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/get-view/-/get-view-0.1.3.tgz#3660ac058ba13df9749cabcaa6bcb96d41aa0ea0" - integrity sha1-NmCsBYuhPfl0nKvKpry5bUGqDqA= - dependencies: - isobject "^3.0.0" - match-file "^0.2.1" - getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" @@ -5156,25 +3963,6 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -git-config-path@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/git-config-path/-/git-config-path-1.0.1.tgz#6d33f7ed63db0d0e118131503bab3aca47d54664" - integrity sha1-bTP37WPbDQ4RgTFQO6s6ykfVRmQ= - dependencies: - extend-shallow "^2.0.1" - fs-exists-sync "^0.1.0" - homedir-polyfill "^1.0.0" - -git-repo-name@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/git-repo-name/-/git-repo-name-0.6.0.tgz#af09884656aa537ec625c7087008175cd61228ff" - integrity sha1-rwmIRlaqU37GJccIcAgXXNYSKP8= - dependencies: - cwd "^0.9.1" - file-name "^0.1.0" - lazy-cache "^1.0.4" - remote-origin-url "^0.5.1" - glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -5190,7 +3978,7 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob-parent@^3.0.0, glob-parent@^3.0.1, glob-parent@^3.1.0: +glob-parent@^3.0.1, glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= @@ -5210,20 +3998,6 @@ glob-stream@^3.1.5: through2 "^0.6.1" unique-stream "^1.0.0" -glob-stream@^5.3.2: - version "5.3.5" - resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22" - integrity sha1-pVZlqajM3EGRWofHAeMtTgFvrSI= - dependencies: - extend "^3.0.0" - glob "^5.0.3" - glob-parent "^3.0.0" - micromatch "^2.3.7" - ordered-read-streams "^0.3.0" - through2 "^0.6.0" - to-absolute-glob "^0.1.1" - unique-stream "^2.0.2" - glob-watcher@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b" @@ -5269,7 +4043,7 @@ glob@^4.3.1: minimatch "^2.0.1" once "^1.3.0" -glob@^5.0.15, glob@^5.0.3: +glob@^5.0.15: version "5.0.15" resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= @@ -5280,7 +4054,7 @@ glob@^5.0.15, glob@^5.0.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@~7.1.1: +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@~7.1.1: version "7.1.4" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== @@ -5308,14 +4082,6 @@ global-dirs@^0.1.0: dependencies: ini "^1.3.4" -global-modules@^0.2.2, global-modules@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" - integrity sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0= - dependencies: - global-prefix "^0.1.4" - is-windows "^0.2.0" - global-modules@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" @@ -5325,16 +4091,6 @@ global-modules@^1.0.0: is-windows "^1.0.1" resolve-dir "^1.0.0" -global-prefix@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" - integrity sha1-jTvGuNo8qBEqFg2NSW/wRiv+948= - dependencies: - homedir-polyfill "^1.0.0" - ini "^1.3.4" - is-windows "^0.2.0" - which "^1.2.12" - global-prefix@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" @@ -5415,7 +4171,7 @@ graceful-fs@^3.0.0: dependencies: natives "^1.1.0" -graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@~4.1.4: +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@~4.1.4: version "4.1.15" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== @@ -5435,7 +4191,7 @@ graceful-fs@~2.0.0: resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= -gray-matter@^3.0.2, gray-matter@^3.0.8: +gray-matter@^3.0.8: version "3.1.1" resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-3.1.1.tgz#101f80d9e69eeca6765cdce437705b18f40876ac" integrity sha512-nZ1qjLmayEv0/wt3sHig7I0s3/sJO0dkAaKYQ5YAOApUtYEOonXSFdWvL1khvnZMTvov4UufkqlFsilPnejEXA== @@ -5450,18 +4206,6 @@ grid-index@^1.0.0: resolved "https://registry.yarnpkg.com/grid-index/-/grid-index-1.1.0.tgz#97f8221edec1026c8377b86446a7c71e79522ea7" integrity sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA== -group-array@^0.3.0: - version "0.3.3" - resolved "https://registry.yarnpkg.com/group-array/-/group-array-0.3.3.tgz#bbd9d2f718df4be33f0fb90432aaf1b4360e498f" - integrity sha1-u9nS9xjfS+M/D7kEMqrxtDYOSY8= - dependencies: - arr-flatten "^1.0.1" - for-own "^0.1.4" - get-value "^2.0.6" - kind-of "^3.1.0" - split-string "^1.0.1" - union-value "^0.2.3" - growl@1.10.3: version "1.10.3" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f" @@ -5483,15 +4227,6 @@ gulp-autoprefixer@^3.1.0: through2 "^2.0.0" vinyl-sourcemaps-apply "^0.2.0" -gulp-choose-files@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/gulp-choose-files/-/gulp-choose-files-0.1.3.tgz#86b15f0630073ab673d5725beec63eaa148550f9" - integrity sha1-hrFfBjAHOrZz1XJb7sY+qhSFUPk= - dependencies: - extend-shallow "^2.0.1" - question-cache "^0.5.1" - through2 "^2.0.1" - gulp-concat-util@^0.5.4: version "0.5.5" resolved "https://registry.yarnpkg.com/gulp-concat-util/-/gulp-concat-util-0.5.5.tgz#c8f0633b4e6e950ff93c475b3c8d3b84be03b7dc" @@ -5598,17 +4333,6 @@ gulp-sass@^3.1.0: through2 "^2.0.0" vinyl-sourcemaps-apply "^0.2.0" -gulp-sourcemaps@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz#b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c" - integrity sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw= - dependencies: - convert-source-map "^1.1.1" - graceful-fs "^4.1.2" - strip-bom "^2.0.0" - through2 "^2.0.0" - vinyl "^1.0.0" - gulp-uglify@^1.4.2: version "1.5.4" resolved "https://registry.yarnpkg.com/gulp-uglify/-/gulp-uglify-1.5.4.tgz#524788d87666d09f9d0c21fb2177f90039a658c9" @@ -5785,20 +4509,6 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= -has-glob@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/has-glob/-/has-glob-0.1.1.tgz#a261c4c2a6c667e0c77b700a7f297c39ef3aa589" - integrity sha1-omHEwqbGZ+DHe3AKfyl8Oe86pYk= - dependencies: - is-glob "^2.0.1" - -has-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-glob/-/has-glob-1.0.0.tgz#9aaa9eedbffb1ba3990a7b0010fb678ee0081207" - integrity sha1-mqqe7b/7G6OZCnsAEPtnjuAIEgc= - dependencies: - is-glob "^3.0.0" - has-gulplog@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" @@ -5806,11 +4516,6 @@ has-gulplog@^0.1.0: dependencies: sparkles "^1.0.0" -has-own-deep@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-own-deep/-/has-own-deep-0.1.4.tgz#91eb0cda278083158f8042a28316434e9afe7876" - integrity sha1-kesM2ieAgxWPgEKigxZDTpr+eHY= - has-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" @@ -5872,16 +4577,7 @@ he@1.1.1: resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" integrity sha1-k0EP0hsAlzUVH4howvJx80J+I/0= -helper-cache@^0.7.2: - version "0.7.2" - resolved "https://registry.yarnpkg.com/helper-cache/-/helper-cache-0.7.2.tgz#024562c4b4b8b2ab2ab531d00be16ec496518b90" - integrity sha1-AkVixLS4sqsqtTHQC+FuxJZRi5A= - dependencies: - extend-shallow "^2.0.1" - lazy-cache "^0.2.3" - lodash.bind "^3.1.0" - -homedir-polyfill@^1.0.0, homedir-polyfill@^1.0.1: +homedir-polyfill@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== @@ -6026,7 +4722,7 @@ imports-loader@^0.7.1: loader-utils "^1.0.2" source-map "^0.5.6" -imurmurhash@*, imurmurhash@^0.1.4: +imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= @@ -6053,11 +4749,6 @@ individual@^2.0.0: resolved "https://registry.yarnpkg.com/individual/-/individual-2.0.0.tgz#833b097dad23294e76117a98fb38e0d9ad61bb97" integrity sha1-gzsJfa0jKU52EXqY+zjg2a1hu5c= -inflection@^1.10.0, inflection@^1.12.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.12.0.tgz#a200935656d6f5f6bc4dc7502e1aecb703228416" - integrity sha1-ogCTVlbW9fa8TcdQLhrstwMihBY= - inflight@^1.0.4, inflight@^1.0.6, inflight@~1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -6066,11 +4757,6 @@ inflight@^1.0.4, inflight@^1.0.6, inflight@~1.0.6: once "^1.3.0" wrappy "1" -info-symbol@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/info-symbol/-/info-symbol-0.1.0.tgz#27841d72867ddb4242cd612d79c10633881c6a78" - integrity sha1-J4QdcoZ920JCzWEtecEGM4gcang= - inherits@1: version "1.0.2" resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" @@ -6100,31 +4786,6 @@ init-package-json@^1.10.3: validate-npm-package-license "^3.0.1" validate-npm-package-name "^3.0.0" -inquirer2@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/inquirer2/-/inquirer2-0.1.1.tgz#bc5424a814357c41e65e2e957fe536aeea9bf1f6" - integrity sha1-vFQkqBQ1fEHmXi6Vf+U2ruqb8fY= - dependencies: - ansi-escapes "^1.1.1" - ansi-regex "^2.0.0" - arr-flatten "^1.0.1" - arr-pluck "^0.1.0" - array-unique "^0.2.1" - chalk "^1.1.1" - cli-cursor "^1.0.2" - cli-width "^1.1.0" - extend-shallow "^2.0.1" - figures "^1.4.0" - is-number "^2.1.0" - is-plain-object "^2.0.1" - lazy-cache "^1.0.3" - lodash.where "^3.1.0" - readline2 "^1.0.1" - run-async "^0.1.0" - rx-lite "^4.0.7" - strip-color "^0.1.0" - through2 "^2.0.0" - inquirer@^3.0.1: version "3.3.0" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" @@ -6182,14 +4843,6 @@ irregular-plurals@^1.0.0: resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.4.0.tgz#2ca9b033651111855412f16be5d77c62a458a766" integrity sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y= -is-absolute@^0.2.5, is-absolute@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.2.6.tgz#20de69f3db942ef2d87b9c2da36f172235b1b5eb" - integrity sha1-IN5p89uULvLYe5wto28XIjWxtes= - dependencies: - is-relative "^0.2.1" - is-windows "^0.2.0" - is-absolute@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" @@ -6212,16 +4865,7 @@ is-accessor-descriptor@^1.0.0: dependencies: kind-of "^6.0.0" -is-answer@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-answer/-/is-answer-0.1.1.tgz#cc1c2f186f85cf2650220bde359d862187d49cb6" - integrity sha1-zBwvGG+FzyZQIgveNZ2GIYfUnLY= - dependencies: - has-values "^0.1.4" - is-primitive "^2.0.0" - omit-empty "^0.4.1" - -is-arguments@^1.0.2, is-arguments@^1.0.4: +is-arguments@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== @@ -6231,13 +4875,6 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= -is-binary-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-binary-buffer/-/is-binary-buffer-1.0.0.tgz#bc6031290b65cbf799b9d9502b50fd5375524007" - integrity sha1-vGAxKQtly/eZudlQK1D9U3VSQAc= - dependencies: - is-buffer "^1.1.5" - is-binary-path@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" @@ -6245,7 +4882,7 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" -is-buffer@^1.0.2, is-buffer@^1.1.0, is-buffer@^1.1.4, is-buffer@^1.1.5: +is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== @@ -6335,7 +4972,7 @@ is-extendable@^0.1.0, is-extendable@^0.1.1: resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= -is-extendable@^1.0.0, is-extendable@^1.0.1: +is-extendable@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== @@ -6381,11 +5018,6 @@ is-generator-function@^1.0.7: resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.7.tgz#d2132e529bb0000a7f80794d4bdf5cd5e5813522" integrity sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw== -is-generator@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-generator/-/is-generator-1.0.3.tgz#c14c21057ed36e328db80347966c693f886389f3" - integrity sha1-wUwhBX7TbjKNuANHlmxpP4hjifM= - is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -6393,7 +5025,7 @@ is-glob@^2.0.0, is-glob@^2.0.1: dependencies: is-extglob "^1.0.0" -is-glob@^3.0.0, is-glob@^3.1.0: +is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= @@ -6432,7 +5064,7 @@ is-number-like@^1.0.3: dependencies: lodash.isfinite "^3.3.2" -is-number@^2.0.2, is-number@^2.1.0: +is-number@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= @@ -6519,21 +5151,6 @@ is-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= -is-registered@^0.1.4, is-registered@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/is-registered/-/is-registered-0.1.5.tgz#1d346977419d665e2ac6c84013535685e6f76f7f" - integrity sha1-HTRpd0GdZl4qxshAE1NWheb3b38= - dependencies: - define-property "^0.2.5" - isobject "^2.1.0" - -is-relative@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.2.1.tgz#d27f4c7d516d175fb610db84bbeef23c3bc97aa5" - integrity sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU= - dependencies: - is-unc-path "^0.1.1" - is-relative@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" @@ -6563,13 +5180,6 @@ is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -is-unc-path@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-0.1.2.tgz#6ab053a72573c10250ff416a3814c35178af39b9" - integrity sha1-arBTpyVzwQJQ/0FqOBTDUXivObk= - dependencies: - unc-path-regex "^0.1.0" - is-unc-path@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" @@ -6582,80 +5192,6 @@ is-utf8@^0.2.0: resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= -is-valid-app@^0.1.0, is-valid-app@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/is-valid-app/-/is-valid-app-0.1.2.tgz#2f67cbb3baf64d659c70d043fc91139b5a8b9590" - integrity sha1-L2fLs7r2TWWccNBD/JETm1qLlZA= - dependencies: - debug "^2.2.0" - is-registered "^0.1.5" - is-valid-instance "^0.1.0" - lazy-cache "^2.0.1" - -is-valid-app@^0.2.0, is-valid-app@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-valid-app/-/is-valid-app-0.2.1.tgz#65cf195bbd71bd776cb161991c684248d65dff89" - integrity sha1-Zc8ZW71xvXdssWGZHGhCSNZd/4k= - dependencies: - debug "^2.2.0" - is-registered "^0.1.5" - is-valid-instance "^0.2.0" - lazy-cache "^2.0.1" - -is-valid-app@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-valid-app/-/is-valid-app-0.3.0.tgz#78106b751f3ca32385fb45492bf29417b5993c80" - integrity sha1-eBBrdR88oyOF+0VJK/KUF7WZPIA= - dependencies: - debug "^2.6.3" - is-registered "^0.1.5" - is-valid-instance "^0.3.0" - lazy-cache "^2.0.2" - -is-valid-glob@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-0.3.0.tgz#d4b55c69f51886f9b65c70d6c2622d37e29f48fe" - integrity sha1-1LVcafUYhvm2XHDWwmItN+KfSP4= - -is-valid-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" - integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= - -is-valid-instance@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-valid-instance/-/is-valid-instance-0.1.0.tgz#7ad5c6a3886dfdf7d9cc78049ceff2171a9907b3" - integrity sha1-etXGo4ht/ffZzHgEnO/yFxqZB7M= - dependencies: - isobject "^2.1.0" - pascalcase "^0.1.1" - -is-valid-instance@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/is-valid-instance/-/is-valid-instance-0.2.0.tgz#e1a9ff1106b8cbae0007ea6a20f89d546a2a5a0f" - integrity sha1-4an/EQa4y64AB+pqIPidVGoqWg8= - dependencies: - isobject "^2.1.0" - pascalcase "^0.1.1" - -is-valid-instance@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-valid-instance/-/is-valid-instance-0.3.0.tgz#f4ac73023c4d4d8b9bc3b3ec3e66630516e28e9e" - integrity sha1-9KxzAjxNTYubw7PsPmZjBRbijp4= - dependencies: - isobject "^3.0.0" - pascalcase "^0.1.1" - -is-whitespace@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-whitespace/-/is-whitespace-0.3.0.tgz#1639ecb1be036aec69a54cbb401cfbed7114ab7f" - integrity sha1-Fjnssb4DauxppUy7QBz77XEUq38= - -is-windows@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" - integrity sha1-3hqm1j6indJIc3tp8f+LgALSEIw= - is-windows@^1.0.1, is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -6686,12 +5222,7 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -isobject@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-1.0.2.tgz#f0f9b8ce92dd540fa0740882e3835a2e022ec78a" - integrity sha1-8Pm4zpLdVA+gdAiC44NaLgIux4o= - -isobject@^2.0.0, isobject@^2.1.0: +isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= @@ -6871,11 +5402,6 @@ json-schema@0.2.3: resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" @@ -6940,19 +5466,7 @@ keycode@^2.2.0: resolved "https://registry.yarnpkg.com/keycode/-/keycode-2.2.0.tgz#3d0af56dc7b8b8e5cba8d0a97f107204eec22b04" integrity sha1-PQr1bce4uOXLqNCpfxByBO7CKwQ= -kind-of@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz#140a3d2d41a36d2efcfa9377b62c24f8495a5c44" - integrity sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ= - -kind-of@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" - integrity sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU= - dependencies: - is-buffer "^1.0.2" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.0.4, kind-of@^3.1.0, kind-of@^3.2.0, kind-of@^3.2.2: +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= @@ -6990,45 +5504,16 @@ latest-version@^3.0.0: dependencies: package-json "^4.0.0" -layouts@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/layouts/-/layouts-0.11.0.tgz#c620e8b3cb88fc8c492db4538a7dd540a4df7f22" - integrity sha1-xiDos8uI/IxJLbRTin3VQKTffyI= - dependencies: - delimiter-regex "^1.3.1" - "falsey" "^0.3.0" - get-view "^0.1.1" - lazy-cache "^1.0.3" - -lazy-cache@^0.2.3, lazy-cache@^0.2.4: - version "0.2.7" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" - integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U= - -lazy-cache@^1.0.3, lazy-cache@^1.0.4: +lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= -lazy-cache@^2.0.1, lazy-cache@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264" - integrity sha1-uRkKT5EzVGlIQIWfio9whNiCImQ= - dependencies: - set-getter "^0.1.0" - lazy-property@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lazy-property/-/lazy-property-1.0.0.tgz#84ddc4b370679ba8bd4cdcfa4c06b43d57111147" integrity sha1-hN3Es3Bnm6i9TNz6TAa0PVcREUc= -lazystream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" - integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= - dependencies: - readable-stream "^2.0.5" - lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -7111,7 +5596,7 @@ libnpm@^2.0.1: read-package-json "^2.0.13" stringify-package "^1.0.0" -libnpmaccess@*, libnpmaccess@^3.0.1: +libnpmaccess@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-3.0.1.tgz#5b3a9de621f293d425191aa2e779102f84167fa8" integrity sha512-RlZ7PNarCBt+XbnP7R6PoVgOq9t+kou5rvhaInoNibhPO7eMlRfS0B8yjatgn2yaHIwWNyoJDolC/6Lc5L/IQA== @@ -7140,7 +5625,7 @@ libnpmhook@^5.0.2: get-stream "^4.0.0" npm-registry-fetch "^3.8.0" -libnpmorg@*, libnpmorg@^1.0.0: +libnpmorg@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/libnpmorg/-/libnpmorg-1.0.0.tgz#979b868c48ba28c5820e3bb9d9e73c883c16a232" integrity sha512-o+4eVJBoDGMgRwh2lJY0a8pRV2c/tQM/SxlqXezjcAg26Qe9jigYVs+Xk0vvlYDWCDhP0g74J8UwWeAgsB7gGw== @@ -7165,7 +5650,7 @@ libnpmpublish@^1.1.0: semver "^5.5.1" ssri "^6.0.1" -libnpmsearch@*, libnpmsearch@^2.0.0: +libnpmsearch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/libnpmsearch/-/libnpmsearch-2.0.0.tgz#de05af47ada81554a5f64276a69599070d4a5685" integrity sha512-vd+JWbTGzOSfiOc+72MU6y7WqmBXn49egCCrIXp27iE/88bX8EpG64ST1blWQI1bSMUr9l1AKPMVsqa2tS5KWA== @@ -7174,7 +5659,7 @@ libnpmsearch@*, libnpmsearch@^2.0.0: get-stream "^4.0.0" npm-registry-fetch "^3.8.0" -libnpmteam@*, libnpmteam@^1.0.1: +libnpmteam@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/libnpmteam/-/libnpmteam-1.0.1.tgz#ff704b1b6c06ea674b3b1101ac3e305f5114f213" integrity sha512-gDdrflKFCX7TNwOMX1snWojCoDE5LoRWcfOC0C/fqF7mBq8Uz9zWAX4B2RllYETNO7pBupBaSyBDkTAC15cAMg== @@ -7222,17 +5707,6 @@ lineclip@^1.1.5: resolved "https://registry.yarnpkg.com/lineclip/-/lineclip-1.1.5.tgz#2bf26067d94354feabf91e42768236db5616fd13" integrity sha1-K/JgZ9lDVP6r+R5CdoI221YW/RM= -load-helpers@^0.2.11: - version "0.2.11" - resolved "https://registry.yarnpkg.com/load-helpers/-/load-helpers-0.2.11.tgz#f4bd8b218435c052e5e39dfa7713229d571ea423" - integrity sha1-9L2LIYQ1wFLl4536dxMinVcepCM= - dependencies: - extend-shallow "^2.0.1" - is-valid-glob "^0.3.0" - lazy-cache "^2.0.1" - matched "^0.4.1" - resolve-dir "^0.1.0" - load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -7244,41 +5718,6 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -load-pkg@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/load-pkg/-/load-pkg-3.0.1.tgz#9230b37ec04e569003060bc58951e3ed508d594f" - integrity sha1-kjCzfsBOVpADBgvFiVHj7VCNWU8= - dependencies: - find-pkg "^0.1.0" - -load-templates@^0.11.3: - version "0.11.4" - resolved "https://registry.yarnpkg.com/load-templates/-/load-templates-0.11.4.tgz#cf293defb6b5860ff5b8c449daa1c0c7bb728de9" - integrity sha1-zyk977a1hg/1uMRJ2qHAx7tyjek= - dependencies: - define-property "^0.2.5" - extend-shallow "^2.0.1" - glob-parent "^2.0.0" - has-glob "^0.1.1" - is-valid-glob "^0.3.0" - lazy-cache "^2.0.1" - matched "^0.4.1" - to-file "^0.2.0" - -load-templates@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/load-templates/-/load-templates-1.0.2.tgz#09f38e95c8ef4bfb785bd7fca8ebfd32b230bc87" - integrity sha1-CfOOlcjvS/t4W9f8qOv9MrIwvIc= - dependencies: - extend-shallow "^2.0.1" - file-contents "^1.0.0" - glob-parent "^3.1.0" - is-glob "^3.1.0" - kind-of "^3.1.0" - lazy-cache "^2.0.2" - matched "^0.4.4" - vinyl "^2.0.1" - loader-utils@^1.0.2: version "1.2.3" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" @@ -7329,11 +5768,6 @@ lockfile@^1.0.4: dependencies: signal-exit "^3.0.2" -lodash._arrayfilter@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._arrayfilter/-/lodash._arrayfilter-3.0.0.tgz#2debe11eec69e5dcc6f4b86137128a48f1524237" - integrity sha1-LevhHuxp5dzG9LhhNxKKSPFSQjc= - lodash._baseassign@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" @@ -7342,64 +5776,11 @@ lodash._baseassign@^3.0.0: lodash._basecopy "^3.0.0" lodash.keys "^3.0.0" -lodash._basecallback@^3.0.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/lodash._basecallback/-/lodash._basecallback-3.3.1.tgz#b7b2bb43dc2160424a21ccf26c57e443772a8e27" - integrity sha1-t7K7Q9whYEJKIczybFfkQ3cqjic= - dependencies: - lodash._baseisequal "^3.0.0" - lodash._bindcallback "^3.0.0" - lodash.isarray "^3.0.0" - lodash.pairs "^3.0.0" - lodash._basecopy@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" integrity sha1-jaDmqHbPNEwK2KVIghEd08XHyjY= -lodash._baseeach@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/lodash._baseeach/-/lodash._baseeach-3.0.4.tgz#cf8706572ca144e8d9d75227c990da982f932af3" - integrity sha1-z4cGVyyhROjZ11InyZDamC+TKvM= - dependencies: - lodash.keys "^3.0.0" - -lodash._basefilter@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._basefilter/-/lodash._basefilter-3.0.0.tgz#4b76403df0e286d03d5e0f7295ed3441e101d121" - integrity sha1-S3ZAPfDihtA9Xg9yle00QeEB0SE= - dependencies: - lodash._baseeach "^3.0.0" - -lodash._baseindexof@*: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c" - integrity sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw= - -lodash._baseisequal@^3.0.0: - version "3.0.7" - resolved "https://registry.yarnpkg.com/lodash._baseisequal/-/lodash._baseisequal-3.0.7.tgz#d8025f76339d29342767dcc887ce5cb95a5b51f1" - integrity sha1-2AJfdjOdKTQnZ9zIh85cuVpbUfE= - dependencies: - lodash.isarray "^3.0.0" - lodash.istypedarray "^3.0.0" - lodash.keys "^3.0.0" - -lodash._baseismatch@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/lodash._baseismatch/-/lodash._baseismatch-3.1.3.tgz#0728fc48efa11699d3d5f2d73049f2ab13c40fd5" - integrity sha1-Byj8SO+hFpnT1fLXMEnyqxPED9U= - dependencies: - lodash._baseisequal "^3.0.0" - -lodash._basematches@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash._basematches/-/lodash._basematches-3.2.0.tgz#f47e03f07ec20784ab0968d0cb6cb597e2101158" - integrity sha1-9H4D8H7CB4SrCWjQy2y1l+IQEVg= - dependencies: - lodash._baseismatch "^3.0.0" - lodash.pairs "^3.0.0" - lodash._basetostring@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" @@ -7418,16 +5799,11 @@ lodash._basevalues@^3.0.0: resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" integrity sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc= -lodash._bindcallback@*, lodash._bindcallback@^3.0.0: +lodash._bindcallback@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" integrity sha1-5THCdkTPi1epnhftlbNcdIeJOS4= -lodash._cacheindexof@*: - version "3.0.2" - resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92" - integrity sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI= - lodash._createassigner@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz#838a5bae2fdaca63ac22dee8e19fa4e6d6970b11" @@ -7437,25 +5813,11 @@ lodash._createassigner@^3.0.0: lodash._isiterateecall "^3.0.0" lodash.restparam "^3.0.0" -lodash._createcache@*: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093" - integrity sha1-VtagZAF2JeeevKa4AY4XRAvc8JM= - dependencies: - lodash._getnative "^3.0.0" - lodash._createset@~4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY= -lodash._createwrapper@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash._createwrapper/-/lodash._createwrapper-3.2.0.tgz#df453e664163217b895a454065af1c47a0ea3c4d" - integrity sha1-30U+ZkFjIXuJWkVAZa8cR6DqPE0= - dependencies: - lodash._root "^3.0.0" - lodash._escapehtmlchar@~2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/lodash._escapehtmlchar/-/lodash._escapehtmlchar-2.4.1.tgz#df67c3bb6b7e8e1e831ab48bfa0795b92afe899d" @@ -7468,7 +5830,7 @@ lodash._escapestringchar@~2.4.1: resolved "https://registry.yarnpkg.com/lodash._escapestringchar/-/lodash._escapestringchar-2.4.1.tgz#ecfe22618a2ade50bfeea43937e51df66f0edb72" integrity sha1-7P4iYYoq3lC/7qQ5N+Ud9m8O23I= -lodash._getnative@*, lodash._getnative@^3.0.0: +lodash._getnative@^3.0.0: version "3.9.1" resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= @@ -7513,11 +5875,6 @@ lodash._reinterpolate@^3.0.0: resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= -lodash._replaceholders@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._replaceholders/-/lodash._replaceholders-3.0.0.tgz#8abbb7126c431f7ed744f7baaf39f08bc9bd9d58" - integrity sha1-iru3EmxDH37XRPe6rznwi8m9nVg= - lodash._reunescapedhtml@~2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/lodash._reunescapedhtml/-/lodash._reunescapedhtml-2.4.1.tgz#747c4fc40103eb3bb8a0976e571f7a2659e93ba7" @@ -7547,20 +5904,6 @@ lodash.assign@^3.2.0: lodash._createassigner "^3.0.0" lodash.keys "^3.0.0" -lodash.assign@^4.0.6: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" - integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc= - -lodash.bind@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-3.1.0.tgz#f95f48638d7d8bbb5854f908266527999fbfa4bb" - integrity sha1-+V9IY419i7tYVPkIJmUnmZ+/pLs= - dependencies: - lodash._createwrapper "^3.0.0" - lodash._replaceholders "^3.0.0" - lodash.restparam "^3.0.0" - lodash.clonedeep@^4.3.2, lodash.clonedeep@^4.5.0, lodash.clonedeep@~4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" @@ -7595,26 +5938,6 @@ lodash.escape@~2.4.1: lodash._reunescapedhtml "~2.4.1" lodash.keys "~2.4.1" -lodash.filter@^4.1.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" - integrity sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4= - -lodash.flatten@^4.0.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= - -lodash.foreach@^4.0.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" - integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= - -lodash.initial@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.initial/-/lodash.initial-4.1.1.tgz#e53f64891265ddc404e986d2c28f77bed943591a" - integrity sha1-5T9kiRJl3cQE6YbSwo93vtlDWRo= - lodash.isarguments@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" @@ -7625,11 +5948,6 @@ lodash.isarray@^3.0.0: resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U= -lodash.isequal@^4.0.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= - lodash.isfinite@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3" @@ -7642,11 +5960,6 @@ lodash.isobject@~2.4.1: dependencies: lodash._objecttypes "~2.4.1" -lodash.istypedarray@^3.0.0: - version "3.0.6" - resolved "https://registry.yarnpkg.com/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz#c9a477498607501d8e8494d283b87c39281cef62" - integrity sha1-yaR3SYYHUB2OhJTSg7h8OSgc72I= - lodash.keys@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" @@ -7665,29 +5978,12 @@ lodash.keys@~2.4.1: lodash._shimkeys "~2.4.1" lodash.isobject "~2.4.1" -lodash.last@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash.last/-/lodash.last-3.0.0.tgz#242f663112dd4c6e63728c60a3c909d1bdadbd4c" - integrity sha1-JC9mMRLdTG5jcoxgo8kJ0b2tvUw= - -lodash.map@^4.1.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" - integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= - lodash.merge@^4.6.0: version "4.6.1" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.1.tgz#adc25d9cb99b9391c59624f379fbba60d7111d54" integrity sha512-AOYza4+Hf5z1/0Hztxpm2/xiPZgi/cjMqdnKTUWTBSKchJlxXXuUSxCCl8rJlf4g6yww/j6mA8nC8Hw/EZWxKQ== -lodash.pairs@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash.pairs/-/lodash.pairs-3.0.1.tgz#bbe08d5786eeeaa09a15c91ebf0dcb7d2be326a9" - integrity sha1-u+CNV4bu6qCaFckevw3LfSvjJqk= - dependencies: - lodash.keys "^3.0.0" - -lodash.restparam@*, lodash.restparam@^3.0.0: +lodash.restparam@^3.0.0: version "3.6.1" resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU= @@ -7758,17 +6054,6 @@ lodash.values@~2.4.1: dependencies: lodash.keys "~2.4.1" -lodash.where@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.where/-/lodash.where-3.1.0.tgz#2e784b9c93368d5d75aaee332ce176022f2b9553" - integrity sha1-LnhLnJM2jV11qu4zLOF2Ai8rlVM= - dependencies: - lodash._arrayfilter "^3.0.0" - lodash._basecallback "^3.0.0" - lodash._basefilter "^3.0.0" - lodash._basematches "^3.0.0" - lodash.isarray "^3.0.0" - lodash.without@~4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" @@ -7784,40 +6069,6 @@ lodash@~1.0.1: resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" integrity sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE= -log-ok@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/log-ok/-/log-ok-0.1.1.tgz#bea3dd36acd0b8a7240d78736b5b97c65444a334" - integrity sha1-vqPdNqzQuKckDXhza1uXxlREozQ= - dependencies: - ansi-green "^0.1.1" - success-symbol "^0.1.0" - -log-utils@^0.1.0, log-utils@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/log-utils/-/log-utils-0.1.5.tgz#de0f38f957f4cd6ebd5dcb6875d8a3b9ae074f77" - integrity sha1-3g84+Vf0zW69Xctoddijua4HT3c= - dependencies: - ansi-colors "^0.1.0" - error-symbol "^0.1.0" - info-symbol "^0.1.0" - log-ok "^0.1.1" - success-symbol "^0.1.0" - time-stamp "^1.0.1" - warning-symbol "^0.1.0" - -log-utils@^0.2.0, log-utils@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/log-utils/-/log-utils-0.2.1.tgz#a4c217a0dd9a50515d9b920206091ab3d4e031cf" - integrity sha1-pMIXoN2aUFFdm5ICBgkas9TgMc8= - dependencies: - ansi-colors "^0.2.0" - error-symbol "^0.1.0" - info-symbol "^0.1.0" - log-ok "^0.1.1" - success-symbol "^0.1.0" - time-stamp "^1.0.1" - warning-symbol "^0.1.0" - lolex@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/lolex/-/lolex-1.3.2.tgz#7c3da62ffcb30f0f5a80a2566ca24e45d8a01f31" @@ -7843,11 +6094,6 @@ loud-rejection@^1.0.0, loud-rejection@^1.2.0: currently-unhandled "^0.4.1" signal-exit "^3.0.0" -lower-case@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" - integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= - lowercase-keys@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" @@ -7930,45 +6176,11 @@ map-cache@^0.2.0, map-cache@^0.2.2: resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= -map-config@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/map-config/-/map-config-0.5.0.tgz#1702607e267af7a370c8a9d0c62ba6524feb6fe5" - integrity sha1-FwJgfiZ696NwyKnQxiumUk/rb+U= - dependencies: - array-unique "^0.2.1" - async "^1.5.2" - map-obj@^1.0.0, map-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= -map-schema@^0.2.3, map-schema@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/map-schema/-/map-schema-0.2.4.tgz#c19551834fc3c07a04597b7a5afb44a475af95b4" - integrity sha1-wZVRg0/DwHoEWXt6WvtEpHWvlbQ= - dependencies: - arr-union "^3.1.0" - collection-visit "^0.2.3" - component-emitter "^1.2.1" - debug "^2.6.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - get-value "^2.0.6" - is-primitive "^2.0.0" - kind-of "^3.1.0" - lazy-cache "^2.0.2" - log-utils "^0.2.1" - longest "^1.0.1" - mixin-deep "^1.1.3" - object.omit "^2.0.1" - object.pick "^1.2.0" - omit-empty "^0.4.1" - pad-right "^0.2.2" - set-value "^0.4.0" - sort-object-arrays "^0.1.1" - union-value "^0.2.3" - map-stream@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.0.4.tgz#5ec6de90213ef6c7b2eb9367e9ade8da4efdb68b" @@ -7979,14 +6191,6 @@ map-stream@>=0.0.4: resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.0.7.tgz#8a1f07896d82b10926bd3744a2420009f88974a8" integrity sha1-ih8HiW2CsQkmvTdEokIACfiJdKg= -map-visit@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-0.1.5.tgz#dbe43927ce5525b80dfc1573a44d68c51f26816b" - integrity sha1-2+Q5J85VJbgN/BVzpE1oxR8mgWs= - dependencies: - lazy-cache "^2.0.1" - object-visit "^0.3.4" - map-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" @@ -8086,42 +6290,6 @@ mapbox@^1.0.0-beta10: es6-promise "^4.0.5" rest "^2.0.0" -match-file@^0.2.0, match-file@^0.2.1: - version "0.2.2" - resolved "https://registry.yarnpkg.com/match-file/-/match-file-0.2.2.tgz#26e6bcf1b390a661f6126faf8ac501e33eccfae9" - integrity sha1-Jua88bOQpmH2Em+visUB4z7M+uk= - dependencies: - is-glob "^3.1.0" - isobject "^3.0.0" - micromatch "^2.3.11" - -matched@^0.4.1, matched@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/matched/-/matched-0.4.4.tgz#56d7b7eb18033f0cf9bc52eb2090fac7dc1e89fa" - integrity sha1-Vte36xgDPwz5vFLrIJD6x9weifo= - dependencies: - arr-union "^3.1.0" - async-array-reduce "^0.2.0" - extend-shallow "^2.0.1" - fs-exists-sync "^0.1.0" - glob "^7.0.5" - has-glob "^0.1.1" - is-valid-glob "^0.3.0" - lazy-cache "^2.0.1" - resolve-dir "^0.1.0" - -matched@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/matched/-/matched-1.0.2.tgz#1d95d77dd5f1b5075a9e94acde5462ffd85f317a" - integrity sha512-7ivM1jFZVTOOS77QsR+TtYHH0ecdLclMkqbf5qiJdX2RorqfhsL65QHySPZgDE0ZjHoh+mQUNHTanNXIlzXd0Q== - dependencies: - arr-union "^3.1.0" - async-array-reduce "^0.2.1" - glob "^7.1.2" - has-glob "^1.0.0" - is-valid-glob "^1.0.0" - resolve-dir "^1.0.0" - math-random@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c" @@ -8155,15 +6323,6 @@ meow@^3.3.0, meow@^3.7.0: redent "^1.0.0" trim-newlines "^1.0.0" -merge-deep@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2" - integrity sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA== - dependencies: - arr-union "^3.1.0" - clone-deep "^0.2.4" - kind-of "^3.0.2" - merge-source-map@1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.0.4.tgz#a5de46538dae84d4114cc5ea02b4772a6346701f" @@ -8171,13 +6330,6 @@ merge-source-map@1.0.4: dependencies: source-map "^0.5.6" -merge-stream@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-0.1.8.tgz#48a07b3b4a121d74a3edbfdcdb4b08adbf0240b1" - integrity sha1-SKB7O0oSHXSj7b/c20sIrb8CQLE= - dependencies: - through2 "^0.6.1" - merge-stream@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" @@ -8185,17 +6337,7 @@ merge-stream@^1.0.0: dependencies: readable-stream "^2.0.1" -merge-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/merge-value/-/merge-value-1.0.0.tgz#d28f8d41c0b37426e032d1059a0d0343302de502" - integrity sha512-fJMmvat4NeKz63Uv9iHWcPDjCWcCkoiRoajRTEO8hlhUC6rwaHg0QCF9hBOTjZmm4JuglPckPSTtcuJL5kp0TQ== - dependencies: - get-value "^2.0.6" - is-extendable "^1.0.0" - mixin-deep "^1.2.0" - set-value "^2.0.0" - -micromatch@^2.1.5, micromatch@^2.3.10, micromatch@^2.3.11, micromatch@^2.3.7, micromatch@^2.3.8: +micromatch@^2.1.5, micromatch@^2.3.11: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= @@ -8345,7 +6487,7 @@ mitt@^1.1.3: resolved "https://registry.yarnpkg.com/mitt/-/mitt-1.1.3.tgz#528c506238a05dce11cd914a741ea2cc332da9b8" integrity sha512-mUDCnVNsAi+eD6qA0HkRkwYczbLHJ49z17BGe2PYRhZL4wpZUFZGJHU7/5tmvohoma+Hdn0Vh/oJTiPEmgSruA== -mixin-deep@^1.1.3, mixin-deep@^1.2.0: +mixin-deep@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ== @@ -8353,14 +6495,6 @@ mixin-deep@^1.1.3, mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mixin-object@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" - integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4= - dependencies: - for-in "^0.1.3" - is-extendable "^0.1.1" - mkdirp@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" @@ -8463,11 +6597,6 @@ mustache@2.2.1: resolved "https://registry.yarnpkg.com/mustache/-/mustache-2.2.1.tgz#2c40ca21c278f53150682bcf9090e41a3339b876" integrity sha1-LEDKIcJ49TFQaCvPkJDkGjM5uHY= -mute-stream@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0" - integrity sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA= - mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -8505,11 +6634,6 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" -nanoseconds@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/nanoseconds/-/nanoseconds-0.1.0.tgz#69ec39fcd00e77ab3a72de0a43342824cd79233a" - integrity sha1-aew5/NAOd6s6ct4KQzQoJM15Izo= - natives@^1.1.0: version "1.1.6" resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb" @@ -8534,18 +6658,6 @@ neo-async@^2.6.0: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== -next-tick@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-0.2.2.tgz#75da4a927ee5887e39065880065b7336413b310d" - integrity sha1-ddpKkn7liH45BliABltzNkE7MQ0= - -no-case@^2.2.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" - integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== - dependencies: - lower-case "^1.1.1" - node-emoji@^1.0.4: version "1.10.0" resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.10.0.tgz#8886abd25d9c7bb61802a658523d1f8d2a89b2da" @@ -8644,11 +6756,6 @@ node-sass@^4.8.3: chalk "~0.4.0" underscore "~1.6.0" -noncharacters@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/noncharacters/-/noncharacters-1.1.0.tgz#af33df30fd50ed3c53cd202258f25ada90b540d2" - integrity sha1-rzPfMP1Q7TxTzSAiWPJa2pC1QNI= - "nopt@2 || 3", nopt@3.x: version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" @@ -8693,30 +6800,6 @@ normalize-path@^3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-pkg@^0.3.20: - version "0.3.20" - resolved "https://registry.yarnpkg.com/normalize-pkg/-/normalize-pkg-0.3.20.tgz#2ee737149517850d9ceff5a6234af5ef89c515a8" - integrity sha1-Luc3FJUXhQ2c7/WmI0r174nFFag= - dependencies: - arr-union "^3.1.0" - array-unique "^0.3.2" - component-emitter "^1.2.1" - export-files "^2.1.1" - extend-shallow "^2.0.1" - fs-exists-sync "^0.1.0" - get-value "^2.0.6" - kind-of "^3.0.4" - lazy-cache "^2.0.1" - map-schema "^0.2.3" - minimist "^1.2.0" - mixin-deep "^1.1.3" - omit-empty "^0.4.1" - parse-git-config "^1.0.2" - repo-utils "^0.3.6" - semver "^5.3.0" - stringify-author "^0.1.3" - write-json "^0.2.2" - normalize-range@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" @@ -8727,13 +6810,6 @@ nouislider@^9.2.0: resolved "https://registry.yarnpkg.com/nouislider/-/nouislider-9.2.0.tgz#e87c507de2b0b4d075038b5a42547c7dbbebaf69" integrity sha1-6HxQfeKwtNB1A4taQlR8fbvrr2k= -now-and-later@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-0.0.6.tgz#18a14dc3fc495dc06cfbe028f00be16ddac4faea" - integrity sha1-GKFNw/xJXcBs++Ao8AvhbdrE+uo= - dependencies: - once "^1.3.0" - npm-audit-report@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-1.3.2.tgz#303bc78cd9e4c226415076a4f7e528c89fc77018" @@ -8810,7 +6886,7 @@ npm-pick-manifest@^2.2.3: npm-package-arg "^6.0.0" semver "^5.4.1" -npm-profile@*, npm-profile@^4.0.1: +npm-profile@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-profile/-/npm-profile-4.0.1.tgz#d350f7a5e6b60691c7168fbb8392c3603583f5aa" integrity sha512-NQ1I/1Q7YRtHZXkcuU1/IyHeLy6pd+ScKg4+DQHdfsm769TGq6HPrkbuNJVJS4zwE+0mvvmeULzQdWn2L2EsVA== @@ -8843,7 +6919,7 @@ npm-user-validate@~1.0.0: resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-1.0.0.tgz#8ceca0f5cea04d4e93519ef72d0557a75122e951" integrity sha1-jOyg9c6gTU6TUZ73LQVXp1Ei6VE= -npm@^6.0.0, npm@^6.9.0: +npm@^6.0.0: version "6.9.0" resolved "https://registry.yarnpkg.com/npm/-/npm-6.9.0.tgz#5296720486814a64a7fb082de00c4b5cfd11211f" integrity sha512-91V+zB5hDxO+Jyp2sUKS7juHlIM95dGQxTeQtmZI1nAI/7kjWXFipPrtwwKjhyKmV4GsS2LzJhrxRjGWsU9z/w== @@ -8982,7 +7058,7 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@*, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0: +object-assign@*, object-assign@^4.0.1, object-assign@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -9026,13 +7102,6 @@ object-path@^0.9.0: resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.9.2.tgz#0fd9a74fc5fad1ae3968b586bda5c632bd6c05a5" integrity sha1-D9mnT8X60a45aLWGvaXGMr1sBaU= -object-visit@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-0.3.4.tgz#ae15cf86f0b2fdd551771636448452c54c3da829" - integrity sha1-rhXPhvCy/dVRdxY2RIRSxUw9qCk= - dependencies: - isobject "^2.0.0" - object-visit@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" @@ -9068,7 +7137,7 @@ object.map@^1.0.0: for-own "^1.0.0" make-iterator "^1.0.0" -object.omit@^2.0.0, object.omit@^2.0.1: +object.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" integrity sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo= @@ -9076,32 +7145,13 @@ object.omit@^2.0.0, object.omit@^2.0.1: for-own "^0.1.4" is-extendable "^0.1.1" -object.pick@^1.1.2, object.pick@^1.2.0, object.pick@^1.3.0: +object.pick@^1.2.0, object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= dependencies: isobject "^3.0.1" -omit-empty@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/omit-empty/-/omit-empty-0.3.6.tgz#6d38405f2aa61c911eb504fe68805c566d85c316" - integrity sha1-bThAXyqmHJEetQT+aIBcVm2FwxY= - dependencies: - has-values "^0.1.4" - is-date-object "^1.0.1" - isobject "^2.0.0" - reduce-object "^0.1.3" - -omit-empty@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/omit-empty/-/omit-empty-0.4.1.tgz#294a3782f2cb20c7497c4122b6237c9dcc0c63ab" - integrity sha1-KUo3gvLLIMdJfEEitiN8ncwMY6s= - dependencies: - has-values "^0.1.4" - kind-of "^3.0.3" - reduce-object "^0.1.3" - on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -9109,7 +7159,7 @@ on-finished@~2.3.0: dependencies: ee-first "1.1.1" -once@1.x, once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0, once@~1.4.0: +once@1.x, once@^1.3.0, once@^1.3.1, once@^1.4.0, once@~1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -9123,11 +7173,6 @@ once@~1.3.0: dependencies: wrappy "1" -onetime@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k= - onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" @@ -9160,21 +7205,6 @@ optimist@^0.6.1: minimist "~0.0.1" wordwrap "~0.0.2" -option-cache@^3.3.5, option-cache@^3.4.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/option-cache/-/option-cache-3.5.0.tgz#cb765155ba2a861c1109ff26e2a20eaa06612b2b" - integrity sha1-y3ZRVboqhhwRCf8m4qIOqgZhKys= - dependencies: - arr-flatten "^1.0.3" - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^0.3.1" - kind-of "^3.2.2" - lazy-cache "^2.0.2" - set-value "^0.4.3" - to-object-path "^0.3.0" - optionator@^0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" @@ -9201,14 +7231,6 @@ ordered-read-streams@^0.1.0: resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126" integrity sha1-/VZamvjrRHO6abbtijQ1LLVS8SY= -ordered-read-streams@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz#7137e69b3298bb342247a1bbee3881c80e2fd78b" - integrity sha1-cTfmmzKYuzQiR6G77jiByA4v14s= - dependencies: - is-stream "^1.0.1" - readable-stream "^2.0.1" - os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" @@ -9336,18 +7358,6 @@ pacote@^9.1.0, pacote@^9.2.3, pacote@^9.5.0: unique-filename "^1.1.1" which "^1.3.1" -pad-right@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/pad-right/-/pad-right-0.2.2.tgz#6fbc924045d244f2a2a244503060d3bfc6009774" - integrity sha1-b7ySQEXSRPKiokRQMGDTv8YAl3Q= - dependencies: - repeat-string "^1.5.2" - -paginationator@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/paginationator/-/paginationator-0.1.4.tgz#84786dd3850aae1f11bbb911b0c1e0851b538106" - integrity sha1-hHht04UKrh8Ru7kRsMHghRtTgQY= - pako@~0.2.0: version "0.2.9" resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" @@ -9362,11 +7372,6 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" -parse-author@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-author/-/parse-author-1.0.0.tgz#5ec1590062977bd9cb3962e9173b87586437f5df" - integrity sha1-XsFZAGKXe9nLOWLpFzuHWGQ39d8= - parse-filepath@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" @@ -9376,21 +7381,6 @@ parse-filepath@^1.0.1: map-cache "^0.2.0" path-root "^0.1.1" -parse-git-config@^1.0.2, parse-git-config@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/parse-git-config/-/parse-git-config-1.1.1.tgz#d3a9984317132f57398712bba438e129590ddf8c" - integrity sha1-06mYQxcTL1c5hxK7pDjhKVkN34w= - dependencies: - extend-shallow "^2.0.1" - fs-exists-sync "^0.1.0" - git-config-path "^1.0.1" - ini "^1.3.4" - -parse-github-url@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-0.3.2.tgz#76ef01ebfe0b1e9c0f493672952cc6a4cd9cb260" - integrity sha1-du8B6/4LHpwPSTZylSzGpM2csmA= - parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" @@ -9433,19 +7423,6 @@ parseqs@0.0.5: dependencies: better-assert "~1.0.0" -parser-front-matter@^1.4.1: - version "1.6.4" - resolved "https://registry.yarnpkg.com/parser-front-matter/-/parser-front-matter-1.6.4.tgz#71fe3288a51c7b8734163f3793f3fdc24b0a8a90" - integrity sha512-eqtUnI5+COkf1CQOYo8FmykN5Zs+5Yr60f/7GcPgQDZEEjdE/VZ4WMaMo9g37foof8h64t/TH2Uvk2Sq0fDy/g== - dependencies: - extend-shallow "^2.0.1" - file-is-binary "^1.0.0" - gray-matter "^3.0.2" - isobject "^3.0.1" - lazy-cache "^2.0.2" - mixin-deep "^1.2.0" - trim-leading-lines "^0.1.1" - parseuri@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" @@ -9512,13 +7489,6 @@ path-root@^0.1.1: dependencies: path-root-regex "^0.1.0" -path-to-regexp@^1.2.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" - integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30= - dependencies: - isarray "0.0.1" - path-type@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" @@ -9590,10 +7560,10 @@ phraseanet-common@^0.4.1: js-cookie "^2.1.0" pym.js "^1.3.1" -phraseanet-production-client@0.34.11: - version "0.34.11" - resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.11.tgz#6fb3c3b20c0ff45242b4fc1c91f4cc52711742fe" - integrity sha512-sKvs5FCVYP3m5OvU999BC3CLaLL7AVkdlgBTBAK85MDpS8pMYkJf3fZlS5CCymyOdkeTaoK1CF7AKxcCl5jkag== +phraseanet-production-client@0.34.12-d: + version "0.34.12-d" + resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.12-d.tgz#ed3ef9a5e261a61d24d9abad44fbca5ca37b38e6" + integrity sha512-23y7fpOa+zKCJU2bpyCrGs03GTHAnbUhIabmTZPnee2gff9gIS/gBiZ2tugsougT59uCQeQUVVDwjbqBsLvKOw== dependencies: "@mapbox/mapbox-gl-language" "^0.9.2" "@turf/turf" "^5.1.6" @@ -9624,13 +7594,11 @@ phraseanet-production-client@0.34.11: mapbox-gl-circle "^1.6.5" mapbox.js "^2.4.0" nouislider "^9.2.0" - npm "^6.9.0" phraseanet-common "^0.4.1" pym.js "^1.3.1" rx "^4.1.0" sprintf-js "^1.1.1" underscore "^1.8.3" - update "^0.7.4" video.js "^6.2.4" videojs-flash "^2.1.0" videojs-hotkeys "^0.2.20" @@ -9663,17 +7631,6 @@ pkcs7@^1.0.2: resolved "https://registry.yarnpkg.com/pkcs7/-/pkcs7-1.0.2.tgz#b6dba527528c2942bfc122ce2dafcdb5e59074e7" integrity sha1-ttulJ1KMKUK/wSLOLa/NteWQdOc= -pkg-store@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/pkg-store/-/pkg-store-0.2.2.tgz#b1f5c0f8620a59fd66586acc5e256f4c2c37a0d8" - integrity sha1-sfXA+GIKWf1mWGrMXiVvTCw3oNg= - dependencies: - cache-base "^0.8.2" - kind-of "^3.0.2" - lazy-cache "^1.0.3" - union-value "^0.2.3" - write-json "^0.2.2" - plur@^2.0.0: version "2.1.2" resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" @@ -9734,19 +7691,6 @@ pretty-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= -pretty-time@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-0.2.0.tgz#7a3bdec4049c620cd7c42b7f342b74d56e73d74e" - integrity sha1-ejvexAScYgzXxCt/NCt01W5z104= - dependencies: - is-number "^2.0.2" - nanoseconds "^0.1.0" - -process-nextick-args@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M= - process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" @@ -9767,15 +7711,6 @@ progress@^1.1.8: resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" integrity sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74= -project-name@^0.2.4, project-name@^0.2.5, project-name@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/project-name/-/project-name-0.2.6.tgz#3e4f781fe1ee94b0786a9bae53506376c379af69" - integrity sha1-Pk94H+HulLB4apuuU1BjdsN5r2k= - dependencies: - find-pkg "^0.1.2" - git-repo-name "^0.6.0" - minimist "^1.2.0" - promise-inflight@^1.0.1, promise-inflight@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" @@ -9908,69 +7843,6 @@ query-string@^6.2.0: split-on-first "^1.0.0" strict-uri-encode "^2.0.0" -question-cache@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/question-cache/-/question-cache-0.4.0.tgz#e2b9937fc5fb7dc60fbb9f105f1fa254b33dea7d" - integrity sha1-4rmTf8X7fcYPu58QXx+iVLM96n0= - dependencies: - arr-flatten "^1.0.1" - arr-union "^3.1.0" - async "1.5.2" - debug "^2.2.0" - define-property "^0.2.5" - get-value "^2.0.5" - has-value "^0.3.1" - inquirer2 "^0.1.1" - is-answer "^0.1.0" - isobject "^2.0.0" - lazy-cache "^1.0.3" - mixin-deep "^1.1.3" - omit-empty "^0.3.6" - option-cache "^3.3.5" - os-homedir "^1.0.1" - project-name "^0.2.4" - set-value "^0.3.3" - to-choices "^0.2.0" - use "^1.1.2" - -question-cache@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/question-cache/-/question-cache-0.5.1.tgz#0bc27329175341707df5acd31ef2ddf67029168d" - integrity sha1-C8JzKRdTQXB99azTHvLd9nApFo0= - dependencies: - arr-flatten "^1.0.1" - arr-union "^3.1.0" - async-each-series "^1.1.0" - debug "^2.2.0" - define-property "^0.2.5" - get-value "^2.0.6" - has-value "^0.3.1" - inquirer2 "^0.1.1" - is-answer "^0.1.0" - isobject "^2.1.0" - lazy-cache "^2.0.1" - mixin-deep "^1.1.3" - omit-empty "^0.4.1" - option-cache "^3.4.0" - os-homedir "^1.0.1" - project-name "^0.2.5" - set-value "^0.3.3" - to-choices "^0.2.0" - use "^2.0.0" - -question-store@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/question-store/-/question-store-0.11.1.tgz#81fd4d445f4d5adc2a6223c2523fa7123e04fd7d" - integrity sha1-gf1NRF9NWtwqYiPCUj+nEj4E/X0= - dependencies: - common-config "^0.1.0" - data-store "^0.16.1" - debug "^2.2.0" - is-answer "^0.1.0" - lazy-cache "^2.0.1" - project-name "^0.2.6" - question-cache "^0.5.1" - quickselect@^1.0.0, quickselect@^1.0.1: version "1.1.1" resolved "https://registry.yarnpkg.com/quickselect/-/quickselect-1.1.1.tgz#852e412ce418f237ad5b660d70cffac647ae94c2" @@ -10074,11 +7946,6 @@ read-cmd-shim@^1.0.1, read-cmd-shim@~1.0.1: dependencies: graceful-fs "^4.1.2" -read-file@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/read-file/-/read-file-0.2.0.tgz#70c6baf8842ec7d1540f981fd0e6aed4c81bd545" - integrity sha1-cMa6+IQux9FUD5gf0Oau1Mgb1UU= - read-installed@~4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/read-installed/-/read-installed-4.0.3.tgz#ff9b8b67f187d1e4c29b9feb31f6b223acd19067" @@ -10140,7 +8007,7 @@ read@1, read@^1.0.7, read@~1.0.1, read@~1.0.7: dependencies: mute-stream "~0.0.4" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.3, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.3, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -10182,7 +8049,7 @@ readable-stream@~1.1.10, readable-stream@~1.1.9: isarray "0.0.1" string_decoder "~0.10.x" -readdir-scoped-modules@*, readdir-scoped-modules@^1.0.0: +readdir-scoped-modules@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747" integrity sha1-n6+jfShr5dksuuve4DDcm19AZ0c= @@ -10201,15 +8068,6 @@ readdirp@^2.0.0, readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" -readline2@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35" - integrity sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - mute-stream "0.0.5" - rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -10232,13 +8090,6 @@ redeyed@~0.4.0: dependencies: esprima "~1.0.4" -reduce-object@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/reduce-object/-/reduce-object-0.1.3.tgz#d549d40a6c2936fa4e3e9b78ca89c93314594218" - integrity sha1-1UnUCmwpNvpOPpt4yonJMxRZQhg= - dependencies: - for-own "^0.1.1" - regenerator-runtime@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" @@ -10279,20 +8130,6 @@ registry-url@^3.0.3: dependencies: rc "^1.0.1" -relative@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/relative/-/relative-3.0.2.tgz#0dcd8ec54a5d35a3c15e104503d65375b5a5367f" - integrity sha1-Dc2OxUpdNaPBXhBFA9ZTdbWlNn8= - dependencies: - isobject "^2.0.0" - -remote-origin-url@^0.5.1: - version "0.5.3" - resolved "https://registry.yarnpkg.com/remote-origin-url/-/remote-origin-url-0.5.3.tgz#b9fc6ced2c826690d0b07218b2b8c17fcec88e87" - integrity sha512-crQ7Xk1m/F2IiwBx5oTqk/c0hjoumrEz+a36+ZoVupskQRE/q7pAwHKsTNeiZ31sbSTELvVlVv4h1W0Xo5szKg== - dependencies: - parse-git-config "^1.1.1" - remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -10325,24 +8162,6 @@ replace-ext@^1.0.0: resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= -repo-utils@^0.3.6, repo-utils@^0.3.7: - version "0.3.7" - resolved "https://registry.yarnpkg.com/repo-utils/-/repo-utils-0.3.7.tgz#4ab66af340cb11fa7e5cf80581e92be97c1bf7ae" - integrity sha1-SrZq80DLEfp+XPgFgekr6Xwb964= - dependencies: - extend-shallow "^2.0.1" - get-value "^2.0.6" - git-config-path "^1.0.1" - is-absolute "^0.2.6" - kind-of "^3.0.4" - lazy-cache "^2.0.1" - mixin-deep "^1.1.3" - omit-empty "^0.4.1" - parse-author "^1.0.0" - parse-git-config "^1.0.2" - parse-github-url "^0.3.2" - project-name "^0.2.6" - request-capture-har@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/request-capture-har/-/request-capture-har-1.2.2.tgz#cd692cfb2cc744fd84a3358aac6ee51528cf720d" @@ -10401,14 +8220,6 @@ requires-port@1.x.x: resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= -resolve-dir@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" - integrity sha1-shklmlYC+sXFxJatiUpujMQwJh4= - dependencies: - expand-tilde "^1.2.2" - global-modules "^0.2.3" - resolve-dir@^1.0.0, resolve-dir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" @@ -10417,49 +8228,11 @@ resolve-dir@^1.0.0, resolve-dir@^1.0.1: expand-tilde "^2.0.0" global-modules "^1.0.0" -resolve-file@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/resolve-file/-/resolve-file-0.2.2.tgz#14dbec5a19d384f5d6dc64a29fd662815d317696" - integrity sha1-FNvsWhnThPXW3GSin9ZigV0xdpY= - dependencies: - cwd "^0.10.0" - expand-tilde "^2.0.1" - extend-shallow "^2.0.1" - fs-exists-sync "^0.1.0" - global-modules "^0.2.3" - homedir-polyfill "^1.0.0" - lazy-cache "^2.0.1" - resolve "^1.1.7" - -resolve-file@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/resolve-file/-/resolve-file-0.3.0.tgz#11e1fb464566d3a7c500cb7e9481e8f0b00a14ef" - integrity sha1-EeH7RkVm06fFAMt+lIHo8LAKFO8= - dependencies: - cwd "^0.10.0" - expand-tilde "^2.0.2" - extend-shallow "^2.0.1" - fs-exists-sync "^0.1.0" - homedir-polyfill "^1.0.1" - lazy-cache "^2.0.2" - resolve "^1.2.0" - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-glob/-/resolve-glob-1.0.0.tgz#c6142b0f850367607aae27506be7985d3a8c6931" - integrity sha512-wSW9pVGJRs89k0wEXhM7C6+va9998NsDhgc0Y+6Nv8hrHsu0hUS7Ug10J1EiVtU6N2tKlSNvx9wLihL8Ao22Lg== - dependencies: - extend-shallow "^2.0.1" - is-valid-glob "^1.0.0" - matched "^1.0.2" - relative "^3.0.2" - resolve-dir "^1.0.0" - resolve-protobuf-schema@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz#9ca9a9e69cf192bbdaf1006ec1973948aa4a3758" @@ -10477,7 +8250,7 @@ resolve@1.1.x: resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= -resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.2.0, resolve@^1.3.3: +resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0: version "1.10.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.1.tgz#664842ac960795bbe758221cdccda61fb64b5f18" integrity sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA== @@ -10497,14 +8270,6 @@ rest@^2.0.0: resolved "https://registry.yarnpkg.com/rest/-/rest-2.0.0.tgz#6dfadf66a405c49cfbd5b4bd25b59fd29cd861bc" integrity sha1-bfrfZqQFxJz71bS9JbWf0pzYYbw= -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - integrity sha1-NGYfRohjJ/7SmRR5FSJS35LapUE= - dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" - restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -10518,18 +8283,6 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -rethrow@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/rethrow/-/rethrow-0.2.3.tgz#c5528f190e89ec7535889452a1be68996b5f6616" - integrity sha1-xVKPGQ6J7HU1iJRSob5omWtfZhY= - dependencies: - ansi-bgred "^0.1.1" - ansi-red "^0.1.1" - ansi-yellow "^0.1.1" - extend-shallow "^1.1.4" - lazy-cache "^0.2.3" - right-align "^0.1.3" - retry@^0.10.0: version "0.10.1" resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" @@ -10540,14 +8293,14 @@ retry@^0.12.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= -right-align@^0.1.1, right-align@^0.1.3: +right-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8= dependencies: align-text "^0.1.1" -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.0, rimraf@^2.5.2, rimraf@^2.5.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.0, rimraf@^2.5.2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== @@ -10582,13 +8335,6 @@ robust-sum@^1.0.0: resolved "https://registry.yarnpkg.com/robust-sum/-/robust-sum-1.0.0.tgz#16646e525292b4d25d82757a286955e0bbfa53d9" integrity sha1-FmRuUlKStNJdgnV6KGlV4Lv6U9k= -run-async@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389" - integrity sha1-yK1KXhEGYeQCp9IbUw4AnyX444k= - dependencies: - once "^1.3.0" - run-async@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" @@ -10622,7 +8368,7 @@ rx-lite-aggregates@^4.0.8: dependencies: rx-lite "*" -rx-lite@*, rx-lite@^4.0.7, rx-lite@^4.0.8: +rx-lite@*, rx-lite@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" integrity sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ= @@ -10785,31 +8531,7 @@ set-blocking@^2.0.0, set-blocking@~2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= -set-getter@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376" - integrity sha1-12nBgsnVpR9AkUXy+6guXoboA3Y= - dependencies: - to-object-path "^0.3.0" - -set-value@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.2.0.tgz#73b0a6825c158c6a16a82bbdc95775bf2a825fab" - integrity sha1-c7CmglwVjGoWqCu9yVd1vyqCX6s= - dependencies: - isobject "^1.0.0" - noncharacters "^1.1.0" - -set-value@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.3.3.tgz#b81223681638a1088fd88a435b8a9d32dae8d9ba" - integrity sha1-uBIjaBY4oQiP2IpDW4qdMtro2bo= - dependencies: - extend-shallow "^2.0.1" - isobject "^2.0.0" - to-object-path "^0.2.0" - -set-value@^0.4.0, set-value@^0.4.2, set-value@^0.4.3: +set-value@^0.4.3: version "0.4.3" resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE= @@ -10847,16 +8569,6 @@ sha@~2.0.1: graceful-fs "^4.1.2" readable-stream "^2.0.2" -shallow-clone@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" - integrity sha1-WQnodLp3EG1zrEFM/sH/yofZcGA= - dependencies: - is-extendable "^0.1.1" - kind-of "^2.0.1" - lazy-cache "^0.2.3" - mixin-object "^2.0.1" - shallow-copy@~0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170" @@ -11066,13 +8778,6 @@ sort-desc@^0.1.1: resolved "https://registry.yarnpkg.com/sort-desc/-/sort-desc-0.1.1.tgz#198b8c0cdeb095c463341861e3925d4ee359a9ee" integrity sha1-GYuMDN6wlcRjNBhh45JdTuNZqe4= -sort-object-arrays@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/sort-object-arrays/-/sort-object-arrays-0.1.1.tgz#99f55cf205a491dde1f52f096a36a26b09b4832f" - integrity sha1-mfVc8gWkkd3h9S8Jajaiawm0gy8= - dependencies: - kind-of "^3.0.2" - sort-object@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/sort-object/-/sort-object-0.3.2.tgz#98e0d199ede40e07c61a84403c61d6c3b290f9e2" @@ -11177,13 +8882,6 @@ split-on-first@^1.0.0: resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== -split-string@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-1.0.1.tgz#bcbab3f4152acee3a0d6ab2479c0d2879c3db3ce" - integrity sha1-vLqz9BUqzuOg1qskecDSh5w9s84= - dependencies: - extend-shallow "^2.0.1" - split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" @@ -11213,15 +8911,6 @@ squirejs@^0.2.1: resolved "https://registry.yarnpkg.com/squirejs/-/squirejs-0.2.1.tgz#0a52b13ded8a12adb43604e133fd29e4e027c667" integrity sha1-ClKxPe2KEq20NgThM/0p5OAnxmc= -src-stream@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/src-stream/-/src-stream-0.1.1.tgz#d93f46d281a3700281ec0f30b33a03143894a681" - integrity sha1-2T9G0oGjcAKB7A8wszoDFDiUpoE= - dependencies: - duplexify "^3.4.2" - merge-stream "^0.1.8" - through2 "^2.0.0" - sshpk@^1.7.0: version "1.16.1" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" @@ -11309,14 +8998,6 @@ stream-combiner2@^1.1.1: duplexer2 "~0.1.0" readable-stream "^2.0.2" -stream-combiner@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.2.2.tgz#aec8cbac177b56b6f4fa479ced8c1912cee52858" - integrity sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg= - dependencies: - duplexer "~0.1.1" - through "~2.3.4" - stream-consume@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.1.tgz#d3bdb598c2bd0ae82b8cac7ac50b1107a7996c48" @@ -11330,11 +9011,6 @@ stream-each@^1.1.0: end-of-stream "^1.1.0" stream-shift "^1.0.0" -stream-exhaust@^1.0.0, stream-exhaust@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" - integrity sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw== - stream-iterate@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/stream-iterate/-/stream-iterate-1.2.0.tgz#2bd7c77296c1702a46488b8ad41f79865eecd4e1" @@ -11406,11 +9082,6 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -stringify-author@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/stringify-author/-/stringify-author-0.1.3.tgz#d581e02ce0b55cda3c953e62add211fae4b0ef66" - integrity sha1-1YHgLOC1XNo8lT5irdIR+uSw72Y= - stringify-object@^2.3.0: version "2.4.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-2.4.0.tgz#c62d11023eb21fe2d9b087be039a26df3b22a09d" @@ -11450,22 +9121,6 @@ strip-ansi@~0.1.0: resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" integrity sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE= -strip-bom-buffer@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/strip-bom-buffer/-/strip-bom-buffer-0.1.1.tgz#ca3ddc4919c13f9fddf30b1dff100a9835248b4d" - integrity sha1-yj3cSRnBP5/d8wsd/xAKmDUki00= - dependencies: - is-buffer "^1.1.0" - is-utf8 "^0.2.0" - -strip-bom-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee" - integrity sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4= - dependencies: - first-chunk-stream "^1.0.0" - strip-bom "^2.0.0" - strip-bom-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca" @@ -11474,11 +9129,6 @@ strip-bom-stream@^2.0.0: first-chunk-stream "^2.0.0" strip-bom "^2.0.0" -strip-bom-string@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-0.1.2.tgz#9c6e720a313ba9836589518405ccfb88a5f41b9c" - integrity sha1-nG5yCjE7qYNliVGEBcz7iKX0G5w= - strip-bom-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" @@ -11504,11 +9154,6 @@ strip-bom@^3.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= -strip-color@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/strip-color/-/strip-color-0.1.0.tgz#106f65d3d3e6a2d9401cac0eb0ce8b8a702b4f7b" - integrity sha1-EG9l09PmotlAHKwOsM6LinArT3s= - strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" @@ -11526,11 +9171,6 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -success-symbol@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/success-symbol/-/success-symbol-0.1.0.tgz#24022e486f3bf1cdca094283b769c472d3b72897" - integrity sha1-JAIuSG878c3KCUKDt2nEctO3KJc= - supercluster@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/supercluster/-/supercluster-2.3.0.tgz#87ab56081bbea9a1d724df5351ee9e8c3af2f48b" @@ -11574,13 +9214,6 @@ symbol-observable@1.0.1: resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ= -tableize-object@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/tableize-object/-/tableize-object-0.1.0.tgz#7c29e0133b27d48b56b9e76d3a28d241df1b3a24" - integrity sha1-fCngEzsn1ItWuedtOijSQd8bOiQ= - dependencies: - isobject "^2.0.0" - tar-fs@^1.15.1: version "1.16.3" resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.3.tgz#966a628841da2c4010406a82167cbd5e0c72d509" @@ -11641,55 +9274,6 @@ tempfile@~0.1.2: dependencies: uuid "~1.4.0" -template-error@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/template-error/-/template-error-0.1.2.tgz#18c9f600d90f2f3dfba0833e37f7cb6f413542d4" - integrity sha1-GMn2ANkPLz37oIM+N/fLb0E1QtQ= - dependencies: - engine "^0.1.5" - kind-of "^2.0.1" - lazy-cache "^0.2.3" - rethrow "^0.2.3" - -templates@^0.24.0: - version "0.24.3" - resolved "https://registry.yarnpkg.com/templates/-/templates-0.24.3.tgz#8baba270e1a5727474db68575f821ce1b4fe4d05" - integrity sha1-i6uicOGlcnR022hXX4Ic4bT+TQU= - dependencies: - array-sort "^0.1.2" - async-each "^1.0.0" - base "^0.11.1" - base-data "^0.6.0" - base-engines "^0.2.0" - base-helpers "^0.1.1" - base-option "^0.8.3" - base-plugins "^0.4.13" - base-routes "^0.2.1" - debug "^2.2.0" - deep-bind "^0.3.0" - define-property "^0.2.5" - engine-base "^0.1.2" - export-files "^2.1.1" - extend-shallow "^2.0.1" - "falsey" "^0.3.0" - get-value "^2.0.6" - get-view "^0.1.1" - group-array "^0.3.0" - has-glob "^0.1.1" - has-value "^0.3.1" - inflection "^1.10.0" - is-valid-app "^0.2.0" - layouts "^0.11.0" - lazy-cache "^2.0.1" - match-file "^0.2.0" - mixin-deep "^1.1.3" - paginationator "^0.1.3" - pascalcase "^0.1.1" - set-value "^0.3.3" - template-error "^0.1.2" - vinyl-item "^0.1.0" - vinyl-view "^0.1.2" - term-size@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" @@ -11707,7 +9291,7 @@ ternary-stream@^2.0.1: merge-stream "^1.0.0" through2 "^2.0.1" -text-table@^0.2.0, text-table@~0.2.0: +text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= @@ -11725,23 +9309,7 @@ throttleit@^1.0.0: resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" integrity sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw= -through2-filter@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec" - integrity sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw= - dependencies: - through2 "~2.0.0" - xtend "~4.0.0" - -through2-filter@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" - integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== - dependencies: - through2 "~2.0.0" - xtend "~4.0.0" - -through2@0.6.5, through2@^0.6.0, through2@^0.6.1: +through2@0.6.5, through2@^0.6.1: version "0.6.5" resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" integrity sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg= @@ -11757,7 +9325,7 @@ through2@^0.5.0: readable-stream "~1.0.17" xtend "~3.0.0" -through2@^2.0.0, through2@^2.0.1, through2@^2.0.3, through2@~2.0.0, through2@~2.0.3: +through2@^2.0.0, through2@^2.0.1, through2@^2.0.3, through2@~2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -11765,7 +9333,7 @@ through2@^2.0.0, through2@^2.0.1, through2@^2.0.3, through2@~2.0.0, through2@~2. readable-stream "~2.3.6" xtend "~4.0.1" -through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.7, through@^2.3.8, through@~2.3.4: +through@2, "through@>=2.2.7 <3", through@^2.3.6, through@^2.3.7, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= @@ -11777,17 +9345,7 @@ tildify@^1.0.0, tildify@^1.1.2: dependencies: os-homedir "^1.0.0" -time-diff@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/time-diff/-/time-diff-0.3.1.tgz#25e8fb734eea9e6cb5e4b0394f05810b9c87c2d8" - integrity sha1-Jej7c07qnmy15LA5TwWBC5yHwtg= - dependencies: - extend-shallow "^2.0.1" - is-number "^2.1.0" - log-utils "^0.1.0" - pretty-time "^0.2.0" - -time-stamp@^1.0.0, time-stamp@^1.0.1: +time-stamp@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= @@ -11824,13 +9382,6 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -to-absolute-glob@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz#1cdfa472a9ef50c239ee66999b662ca0eb39937f" - integrity sha1-HN+kcqnvUMI57maZm2YsoOs5k38= - dependencies: - extend-shallow "^2.0.1" - to-array@0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" @@ -11841,36 +9392,6 @@ to-buffer@^1.1.1: resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== -to-choices@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/to-choices/-/to-choices-0.2.0.tgz#22e7e75a07d697d7e4cecbd56b1bf03c15654d73" - integrity sha1-IufnWgfWl9fkzsvVaxvwPBVlTXM= - dependencies: - ansi-gray "^0.1.1" - mixin-deep "^1.1.3" - -to-file@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/to-file/-/to-file-0.2.0.tgz#236c6c088065e570defbd15cf4b4e565be46ea93" - integrity sha1-I2xsCIBl5XDe+9Fc9LTlZb5G6pM= - dependencies: - define-property "^0.2.5" - extend-shallow "^2.0.1" - file-contents "^0.2.4" - glob-parent "^2.0.0" - is-valid-glob "^0.3.0" - isobject "^2.1.0" - lazy-cache "^2.0.1" - vinyl "^1.1.1" - -to-object-path@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.2.0.tgz#1634e1b52a88ba00e3949619fc0081dc9a3b07ca" - integrity sha1-FjThtSqIugDjlJYZ/ACB3Jo7B8o= - dependencies: - arr-flatten "^1.0.1" - is-arguments "^1.0.2" - to-object-path@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" @@ -11928,13 +9449,6 @@ tracejs@^0.1.8: resolved "https://registry.yarnpkg.com/tracejs/-/tracejs-0.1.8.tgz#6c26787b1853f1371634622c1c80bc44026c5d70" integrity sha1-bCZ4exhT8TcWNGIsHIC8RAJsXXA= -trim-leading-lines@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/trim-leading-lines/-/trim-leading-lines-0.1.1.tgz#0e7cac3e83042dcf95a74ed36966f17744d5c169" - integrity sha1-DnysPoMELc+Vp07TaWbxd0TVwWk= - dependencies: - is-whitespace "^0.3.0" - trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" @@ -12069,7 +9583,7 @@ unassertify@^2.0.0: through "^2.3.7" unassert "^1.3.1" -unc-path-regex@^0.1.0, unc-path-regex@^0.1.2: +unc-path-regex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= @@ -12092,16 +9606,6 @@ unflowify@^1.0.0: flow-remove-types "^1.1.2" through "^2.3.8" -union-value@^0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-0.2.4.tgz#7375152786679057e7b37aa676e83468fc0274f0" - integrity sha1-c3UVJ4ZnkFfns3qmdug0aPwCdPA= - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^0.4.3" - union-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" @@ -12131,14 +9635,6 @@ unique-stream@^1.0.0: resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b" integrity sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs= -unique-stream@^2.0.2: - version "2.3.1" - resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" - integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== - dependencies: - json-stable-stringify-without-jsonify "^1.0.1" - through2-filter "^3.0.0" - unique-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" @@ -12156,14 +9652,6 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= -unset-value@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-0.1.2.tgz#506810b867f27c2a5a6e9b04833631f6de58d310" - integrity sha1-UGgQuGfyfCpabpsEgzYx9t5Y0xA= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" @@ -12198,46 +9686,6 @@ update-notifier@^2.3.0, update-notifier@^2.5.0: semver-diff "^2.0.0" xdg-basedir "^3.0.0" -update@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/update/-/update-0.7.4.tgz#b1a091c11a3e28ae31ba2eef58b711b82ce98b14" - integrity sha1-saCRwRo+KK4xui7vWLcRuCzpixQ= - dependencies: - arr-union "^3.1.0" - assemble-core "^0.25.0" - assemble-loader "^0.6.1" - base-cli-process "^0.1.18" - base-config-process "^0.1.9" - base-generators "^0.4.5" - base-questions "^0.7.3" - base-runtimes "^0.2.0" - base-store "^0.4.4" - common-config "^0.1.0" - data-store "^0.16.1" - export-files "^2.1.1" - extend-shallow "^2.0.1" - find-pkg "^0.1.2" - fs-exists-sync "^0.1.0" - global-modules "^0.2.2" - gulp-choose-files "^0.1.3" - is-valid-app "^0.2.0" - isobject "^2.1.0" - lazy-cache "^2.0.1" - log-utils "^0.2.1" - parser-front-matter "^1.4.1" - resolve-dir "^0.1.0" - resolve-file "^0.2.0" - set-blocking "^2.0.0" - strip-color "^0.1.0" - text-table "^0.2.0" - through2 "^2.0.1" - yargs-parser "^2.4.1" - -upper-case@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" - integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= - uri-js@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" @@ -12262,23 +9710,6 @@ url-toolkit@^2.1.1, url-toolkit@^2.1.3: resolved "https://registry.yarnpkg.com/url-toolkit/-/url-toolkit-2.1.6.tgz#6d03246499e519aad224c44044a4ae20544154f2" integrity sha512-UaZ2+50am4HwrV2crR/JAf63Q4VvPYphe63WGeoJxeu8gmOm0qxPt+KsukfakPNrX9aymGNEkkaoICwn+OuvBw== -use@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/use/-/use-1.1.2.tgz#6e3832feb8689573494ac6a7acb5fefb377b2cd1" - integrity sha1-bjgy/rholXNJSsanrLX++zd7LNE= - dependencies: - define-property "^0.2.5" - isobject "^2.0.0" - -use@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/use/-/use-2.0.2.tgz#ae28a0d72f93bf22422a18a2e379993112dec8e8" - integrity sha1-riig1y+TvyJCKhii43mZMRLeyOg= - dependencies: - define-property "^0.2.5" - isobject "^3.0.0" - lazy-cache "^2.0.2" - use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" @@ -12354,11 +9785,6 @@ v8flags@^2.0.2: dependencies: user-home "^1.1.1" -vali-date@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6" - integrity sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY= - validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -12488,45 +9914,6 @@ vinyl-fs@^0.3.0: through2 "^0.6.1" vinyl "^0.4.0" -vinyl-fs@^2.4.3: - version "2.4.4" - resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-2.4.4.tgz#be6ff3270cb55dfd7d3063640de81f25d7532239" - integrity sha1-vm/zJwy1Xf19MGNkDegfJddTIjk= - dependencies: - duplexify "^3.2.0" - glob-stream "^5.3.2" - graceful-fs "^4.0.0" - gulp-sourcemaps "1.6.0" - is-valid-glob "^0.3.0" - lazystream "^1.0.0" - lodash.isequal "^4.0.0" - merge-stream "^1.0.0" - mkdirp "^0.5.0" - object-assign "^4.0.0" - readable-stream "^2.0.4" - strip-bom "^2.0.0" - strip-bom-stream "^1.0.0" - through2 "^2.0.0" - through2-filter "^2.0.0" - vali-date "^1.0.0" - vinyl "^1.0.0" - -vinyl-item@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/vinyl-item/-/vinyl-item-0.1.0.tgz#f27813c81142eba49ca5849de4f42f6fa0e5e098" - integrity sha1-8ngTyBFC66ScpYSd5PQvb6Dl4Jg= - dependencies: - base "^0.8.1" - base-option "^0.8.2" - base-plugins "^0.4.12" - clone "^1.0.2" - clone-stats "^1.0.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - isobject "^2.1.0" - lazy-cache "^2.0.1" - vinyl "^1.1.1" - vinyl-sourcemaps-apply@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" @@ -12534,19 +9921,6 @@ vinyl-sourcemaps-apply@^0.2.0: dependencies: source-map "^0.5.1" -vinyl-view@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/vinyl-view/-/vinyl-view-0.1.2.tgz#09ac6d7c801212bf0926bd9d4106f45e6c4fc977" - integrity sha1-CaxtfIASEr8JJr2dQQb0XmxPyXc= - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - engine-base "^0.1.2" - isobject "^2.1.0" - lazy-cache "^2.0.1" - mixin-deep "^1.1.3" - vinyl-item "^0.1.0" - vinyl@^0.2.1: version "0.2.3" resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.2.3.tgz#bca938209582ec5a49ad538a00fa1f125e513252" @@ -12571,7 +9945,7 @@ vinyl@^0.5.0: clone-stats "^0.0.1" replace-ext "0.0.1" -vinyl@^1.0.0, vinyl@^1.1.0, vinyl@^1.1.1, vinyl@^1.2.0: +vinyl@^1.1.0, vinyl@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" integrity sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ= @@ -12580,7 +9954,7 @@ vinyl@^1.0.0, vinyl@^1.1.0, vinyl@^1.1.1, vinyl@^1.2.0: clone-stats "^0.0.1" replace-ext "0.0.1" -vinyl@^2.0.0, vinyl@^2.0.1: +vinyl@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== @@ -12606,11 +9980,6 @@ vt-pbf@^3.0.1: "@mapbox/vector-tile" "^1.3.1" pbf "^3.0.5" -warning-symbol@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/warning-symbol/-/warning-symbol-0.1.0.tgz#bb31dd11b7a0f9d67ab2ed95f457b65825bbad21" - integrity sha1-uzHdEbeg+dZ6su2V9Fe2WCW7rSE= - wcwidth@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" @@ -12638,7 +10007,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@1, which@^1.0.9, which@^1.1.1, which@^1.2.10, which@^1.2.12, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: +which@1, which@^1.0.9, which@^1.1.1, which@^1.2.10, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -12718,20 +10087,6 @@ write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2: imurmurhash "^0.1.4" signal-exit "^3.0.2" -write-json@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/write-json/-/write-json-0.2.2.tgz#fa4e1529e9e763a4f92f07d9841317e3d248daf3" - integrity sha1-+k4VKennY6T5LwfZhBMX49JI2vM= - dependencies: - write "^0.2.1" - -write@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" - integrity sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c= - dependencies: - mkdirp "^0.5.1" - ws@~3.3.1: version "3.3.3" resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" @@ -12768,7 +10123,7 @@ xmlhttprequest-ssl@~1.5.4: resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" integrity sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4= -"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: +"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= @@ -12798,14 +10153,6 @@ yallist@^3.0.0, yallist@^3.0.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== -yargs-parser@^2.4.0, yargs-parser@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4" - integrity sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ= - dependencies: - camelcase "^3.0.0" - lodash.assign "^4.0.6" - yargs-parser@^4.1.0, yargs-parser@^4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" From 1f23de8f12475c437ff317e7af20eca9d6c96bfd Mon Sep 17 00:00:00 2001 From: Nicolas Maillat <maillat@alchemy.fr> Date: Fri, 24 May 2019 17:18:11 +0200 Subject: [PATCH 29/80] update readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ac7c1d9c87..90bb6dd4c9 100644 --- a/README.md +++ b/README.md @@ -56,9 +56,9 @@ The docker distribution come with 2 differents containers : The two images can be built respectively with these two commands : # nginx server - docker build --target phraseanet-nginx -t phraseanet-nginx . + docker build --target phraseanet-nginx -t local/phraseanet-nginx . # php-fpm application - docker build --target phraseanet -t phraseanet . + docker build --target phraseanet -t local/phraseanet . From 7a1ba7e567e7911efbd90a56c14eda8d717698f5 Mon Sep 17 00:00:00 2001 From: nmaillat <maillat@alchemy.fr> Date: Fri, 24 May 2019 19:03:08 +0200 Subject: [PATCH 30/80] PHRAS-2597 #comment geoloc fields fix and language #time 2h debug geolocfield and test --- lib/conf.d/configuration.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/conf.d/configuration.yml b/lib/conf.d/configuration.yml index 71580cbbfe..6850a7ad7e 100644 --- a/lib/conf.d/configuration.yml +++ b/lib/conf.d/configuration.yml @@ -1,6 +1,10 @@ servername: 'http://local.phrasea/' languages: - available: [] + available: + - fr + - en + - de + - nl default: 'fr' main: maintenance: false @@ -264,7 +268,7 @@ geocoding-providers: - 48.879162 default-zoom: 2 marker-default-zoom: 11 - position-fields: + position-fields: [] #- # name: GpsCompositePosition # type: latlng From 1eda490e65679126c12d9acc7ab787cfcbe2d83b Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana <hra@esokia.com> Date: Tue, 28 May 2019 15:30:10 +0400 Subject: [PATCH 31/80] PHRAS-2608 #comment Fix custom-link of nav-bar on responsive, hide the Navigation bar if there is no sub menu #time 2h --- resources/www/_shared/styles/_main-menu.scss | 25 +- templates/web/common/menubar.html.twig | 326 ++++++++++--------- 2 files changed, 182 insertions(+), 169 deletions(-) diff --git a/resources/www/_shared/styles/_main-menu.scss b/resources/www/_shared/styles/_main-menu.scss index 505474882e..270cb2252b 100644 --- a/resources/www/_shared/styles/_main-menu.scss +++ b/resources/www/_shared/styles/_main-menu.scss @@ -63,6 +63,9 @@ $mainMenuBottomBorder: none !default; #mainLogo { margin:0 5px; vertical-align: middle; + @media screen and (max-width: 1064px) { + max-width: 100px; + } } li { display: inline-block; @@ -160,7 +163,6 @@ $mainMenuBottomBorder: none !default; } #nav_menu_container, #nav_customlink_container, #nav_account_container { position: absolute; - top: 35px; z-index: 1000; .nav_menu { z-index: 1000; @@ -209,13 +211,13 @@ $mainMenuBottomBorder: none !default; } } #nav_menu_container { - left: 10px; + left: 0; width: 172px; .nav_menu { top: 9px; } .arrow-up { - left: 52px; + left: 10px; display: block; position: absolute; } @@ -223,7 +225,7 @@ $mainMenuBottomBorder: none !default; #nav_customlink_container { display: none; position: relative; - left: 10px; + left: 0; width: auto; .nav-wrapper-box { position: absolute; @@ -235,19 +237,21 @@ $mainMenuBottomBorder: none !default; .nav_menu { position: relative; li.menu-bar-item { - width: 100%; - left: 0; + /* width: 100%; + left: 0;*/ } li.menu-bar-item a { > span { padding: 0; display: inline-block; + max-width: 140px; + overflow: hidden; } } } } .arrow-up { - left: 82px; + left: 10px; display: block; position: absolute; } @@ -259,12 +263,13 @@ $mainMenuBottomBorder: none !default; width: auto; .nav-wrapper-box { position: absolute; - right: 10px; + right: -4px; background: #d8d8d8; border-radius: 5px; padding-right: 10px; padding-left: 10px; top: 9px; + width: 200px; .nav_menu { position: relative; li.menu-bar-item { @@ -275,12 +280,14 @@ $mainMenuBottomBorder: none !default; > span { padding: 0; display: inline-block; + max-width: 170px; + overflow: hidden; } } } } .arrow-up { - right: 23px; + right: 6px; display: block; position: absolute; } diff --git a/templates/web/common/menubar.html.twig b/templates/web/common/menubar.html.twig index 3b2d346cfa..21df62adf4 100644 --- a/templates/web/common/menubar.html.twig +++ b/templates/web/common/menubar.html.twig @@ -20,123 +20,188 @@ </li> <li class="show-menu" id="toggle-menu-main"> <img src="/assets/common/images/icons/menu-burger.png"/> - </li> - <div id="nav_menu_container" class="desktopmenu"> - <div class="arrow-up"></div> - <ol class="nav_menu"> - {% if module is defined and module != "lightbox" and app.getAuthenticator().isAuthenticated() %} - <li class="menu-bar-item"> - <a target="_blank" href="{{ path('prod') }}"> - <img src="/assets/common/images/icons/menu-prod.png" class="mobilemenu"/> - <span class="{% if module is defined and module == "prod" %}selected{% endif %}"> - {{ 'admin::monitor: production' | trans }} - </span> - </a> - </li> - {% if app['browser'].isNewGeneration and app['conf'].get(['registry', 'modules', 'thesaurus']) == true and app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('thesaurus') %} + <div id="nav_menu_container" class="desktopmenu"> + <div class="arrow-up"></div> + <ol class="nav_menu"> + {% if module is defined and module != "lightbox" and app.getAuthenticator().isAuthenticated() %} <li class="menu-bar-item"> - <a target="_blank" href="{{ path('thesaurus') }}"> - <img src="/assets/common/images/icons/menu-thesaurus.png" class="mobilemenu"/> - <span class="{% if module is defined and module == "thesaurus" %}selected{% endif %}"> - {{ 'admin::monitor: module thesaurus' | trans }} - </span> + <a target="_blank" href="{{ path('prod') }}"> + <img src="/assets/common/images/icons/menu-prod.png" class="mobilemenu"/> + <span class="{% if module is defined and module == "prod" %}selected{% endif %}"> + {{ 'admin::monitor: production' | trans }} + </span> </a> </li> - {% endif %} - - {# MODULE #} - {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('admin') %} - <li class="menu-bar-item"> - <a target="_blank" href="{{ path('admin') }}"> - <img src="/assets/common/images/icons/menu-admin.png" class="mobilemenu"/> - <span class="{% if module is defined and module == "admin" %}selected{% endif %}"> - {{ 'admin::monitor: module admin' | trans }} - </span> - </a> - </li> - {% endif %} - - {# MODULE #} - {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('report') %} - <li class="menu-bar-item"> - <a target="_blank" href="{{ path('report_dashboard') }}"> - <img src="/assets/common/images/icons/menu-report.png" class="mobilemenu"/> - <span class="{% if module is defined and module == "report" %}selected{% endif %}"> - {{ 'admin::monitor: module report' | trans }} - </span> - </a> - </li> - {% endif %} - - {# MODULE #} - <li class="menu-bar-item"> - <a id="validation_link" target="_blank" href="{{ path('lightbox') }}"> - <img src="/assets/common/images/icons/menu-lightbox.png" class="mobilemenu"/> - <span> - {{ 'admin::monitor: module validation' | trans }} - </span> - </a> - </li> - - {# MODULE #} - {% if module is defined and module == "prod" %} - {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('upload') %} + {% if app['browser'].isNewGeneration and app['conf'].get(['registry', 'modules', 'thesaurus']) == true and app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('thesaurus') %} <li class="menu-bar-item"> - {% set link = path('upload_html5_form') %} - - {% if not app['browser'].supportFileAPI() %} - {% set link = path('upload_flash_form') %} - {% endif %} - - <a href="{{ link }}" class="uploader-open-action" title="{{ 'Upload' | trans }}"> - <img src="/assets/common/images/icons/menu-upload.png" class="mobilemenu"/> - <span> - {{ 'admin::monitor: module upload' | trans }} - </span> + <a target="_blank" href="{{ path('thesaurus') }}"> + <img src="/assets/common/images/icons/menu-thesaurus.png" class="mobilemenu"/> + <span class="{% if module is defined and module == "thesaurus" %}selected{% endif %}"> + {{ 'admin::monitor: module thesaurus' | trans }} + </span> </a> </li> {% endif %} - {% endif %} - {# MODULE #} - {% if module == "prod" %} + + {# MODULE #} + {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('admin') %} + <li class="menu-bar-item"> + <a target="_blank" href="{{ path('admin') }}"> + <img src="/assets/common/images/icons/menu-admin.png" class="mobilemenu"/> + <span class="{% if module is defined and module == "admin" %}selected{% endif %}"> + {{ 'admin::monitor: module admin' | trans }} + </span> + </a> + </li> + {% endif %} + + {# MODULE #} + {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('report') %} + <li class="menu-bar-item"> + <a target="_blank" href="{{ path('report_dashboard') }}"> + <img src="/assets/common/images/icons/menu-report.png" class="mobilemenu"/> + <span class="{% if module is defined and module == "report" %}selected{% endif %}"> + {{ 'admin::monitor: module report' | trans }} + </span> + </a> + </li> + {% endif %} + + {# MODULE #} <li class="menu-bar-item"> - <a href="#" class="state-navigation" data-state="publication"> - <img src="/assets/common/images/icons/menu-publication.png" class="mobilemenu"/> + <a id="validation_link" target="_blank" href="{{ path('lightbox') }}"> + <img src="/assets/common/images/icons/menu-lightbox.png" class="mobilemenu"/> <span> - {{ 'Publications' | trans }} + {{ 'admin::monitor: module validation' | trans }} </span> </a> </li> - {% endif %} - {% if module is defined and module == "prod" and app.getAclForUser(app.getAuthenticatedUser()).has_right(constant('\\ACL::ORDER_MASTER')) %} - <li class="menu-bar-item"> - <a href="#" class="order-open-action" title="{{ 'Orders manager' | trans }}"> - <span> - {{ 'Commandes' | trans }} - </span> - </a> - </li> - {% endif %} + {# MODULE #} + {% if module is defined and module == "prod" %} + {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('upload') %} + <li class="menu-bar-item"> + {% set link = path('upload_html5_form') %} - {% endif %} - </ol> - </div> - <li class="show-menu" id="toggle-menu-link"> + {% if not app['browser'].supportFileAPI() %} + {% set link = path('upload_flash_form') %} + {% endif %} + + <a href="{{ link }}" class="uploader-open-action" title="{{ 'Upload' | trans }}"> + <img src="/assets/common/images/icons/menu-upload.png" class="mobilemenu"/> + <span> + {{ 'admin::monitor: module upload' | trans }} + </span> + </a> + </li> + {% endif %} + {% endif %} + + {# MODULE #} + {% if module == "prod" %} + <li class="menu-bar-item"> + <a href="#" class="state-navigation" data-state="publication"> + <img src="/assets/common/images/icons/menu-publication.png" class="mobilemenu"/> + <span> + {{ 'Publications' | trans }} + </span> + </a> + </li> + {% endif %} + + {% if module is defined and module == "prod" and app.getAclForUser(app.getAuthenticatedUser()).has_right(constant('\\ACL::ORDER_MASTER')) %} + <li class="menu-bar-item"> + <a href="#" class="order-open-action" title="{{ 'Orders manager' | trans }}"> + <span> + {{ 'Commandes' | trans }} + </span> + </a> + </li> + {% endif %} + + {% endif %} + </ol> + </div> + </li> + <li class="show-menu" id="toggle-menu-link" style="display: none"> <img src="/assets/common/images/icons/menu-web-site.png"/> + <div id="nav_customlink_container" class="mobile-link"> + <div class="arrow-up"></div> + <div class="nav-wrapper-box"> + <ol class="nav_menu"></ol> + </div> + </div> </li> <li class="show-menu" id="toggle-menu-account" style="float: right;margin-right: 16px;"> <img src="/assets/common/images/icons/menu-user.png"/> - </li> - <div id="nav_customlink_container"> - <div class="arrow-up"></div> - <div class="nav-wrapper-box"> - <ol class="nav_menu"></ol> + <div class="PNB right mobilemenu" id="nav_account_container"> + <div class="arrow-up"></div> + <div class="nav-wrapper-box"> + <ol class="nav_menu"> + + <li class="menu-bar-item"> + {% if app.getAuthenticator().isAuthenticated() %} + {% if app.getAuthenticatedUser().isGuest %} + <img src="/assets/common/images/icons/menu-name-user.png"/> + <span> + {{ 'Guest' | trans }} + </span> + {% else %} + <a target="_blank" href="{{ path('account') }}" title="{{ 'login:: Mon compte' | trans }}"> + <img src="/assets/common/images/icons/menu-name-user.png"/> + <span> + {{ app.getAuthenticatedUser().getDisplayName() }} + </span> + </a> + {% endif %} + {% endif %} + </li> + <li class="menu-bar-item"> + {% if app.getAuthenticator().isAuthenticated() %} + <a href="{{ path('logout', { 'redirect' : '..' ~ app['request'].getPathInfo() }) }}" + target="_self"> + <img src="/assets/common/images/icons/menu-logout.png"/> + <span> + {{ 'phraseanet:: deconnection' | trans }} + </span> + </a> + {% endif %} + </li> + <li class="menu-bar-item"> + <a target="_blank" href="https://docs.phraseanet.com/4.0/"> + <img src="/assets/common/images/icons/menu-help.png"/> + <span> + {{ 'phraseanet:: aide' | trans }} + <span style="display:inline-block;cursor:pointer;padding:0;border:none;padding-right:4px;padding-left:4px;" + id="help-trigger"></span> + </span> + </a> + </li> + {% if module is defined and module == "prod" %} + <li class="menu-bar-item"> + <a href="#"> + <img src="/assets/common/images/icons/menu-help.png"/> + <span style="" class="shortcuts-trigger"> + {{ 'phraseanet:: raccourcis clavier' | trans }} + </span> + </a> + </li> + {% endif %} + <li class="menu-bar-item"> + <a href="#"> + <img src="/assets/common/images/icons/menu-help.png"/> + <span style="" class="infoDialog" + infos="<div><span style='font-size:18px;'>PHRASEANET</span> {{ app['phraseanet.version'].getName() }} (V{{ app['phraseanet.version'].getNumber() }})</div><div></div><br/><div><a href='http://www.gnu.org/licenses/gpl.html' target='_blank'><img src='http://www.gnu.org/graphics/gplv3-88x31.png' style='vertical-align:middle;'/><span>License GNU GPL v3</span></a></div><br/><div><a href='http://www.phraseanet.com/' target='_blank'> © Copyright Alchemy 2005-{{ "now"|date("Y") }}</a><p style='margin-top: 10px' ><a href='../../gitlog.txt' target='_blank'>gitlog</a></p></div>">{{ 'phraseanet:: a propos' | trans }}</span> + </a> + </li> + </ol> + </div> </div> - </div> + </li> + </ol> </div> @@ -232,70 +297,6 @@ </li> {% endif %} </div> - - <div class="PNB right mobilemenu" id="nav_account_container"> - <div class="arrow-up"></div> - <div class="nav-wrapper-box"> - <ol class="nav_menu"> - - <li class="menu-bar-item"> - {% if app.getAuthenticator().isAuthenticated() %} - {% if app.getAuthenticatedUser().isGuest %} - <img src="/assets/common/images/icons/menu-name-user.png"/> - <span> - {{ 'Guest' | trans }} - </span> - {% else %} - <a target="_blank" href="{{ path('account') }}" title="{{ 'login:: Mon compte' | trans }}"> - <img src="/assets/common/images/icons/menu-name-user.png"/> - <span> - {{ app.getAuthenticatedUser().getDisplayName() }} - </span> - </a> - {% endif %} - {% endif %} - </li> - <li class="menu-bar-item"> - {% if app.getAuthenticator().isAuthenticated() %} - <a href="{{ path('logout', { 'redirect' : '..' ~ app['request'].getPathInfo() }) }}" - target="_self"> - <img src="/assets/common/images/icons/menu-logout.png"/> - <span> - {{ 'phraseanet:: deconnection' | trans }} - </span> - </a> - {% endif %} - </li> - <li class="menu-bar-item"> - <a target="_blank" href="https://docs.phraseanet.com/4.0/"> - <img src="/assets/common/images/icons/menu-help.png"/> - <span> - {{ 'phraseanet:: aide' | trans }} - <span style="display:inline-block;cursor:pointer;padding:0;border:none;padding-right:4px;padding-left:4px;" - id="help-trigger"></span> - </span> - </a> - </li> - {% if module is defined and module == "prod" %} - <li class="menu-bar-item"> - <a href="#"> - <img src="/assets/common/images/icons/menu-help.png"/> - <span style="" class="shortcuts-trigger"> - {{ 'phraseanet:: raccourcis clavier' | trans }} - </span> - </a> - </li> - {% endif %} - <li class="menu-bar-item"> - <a href="#"> - <img src="/assets/common/images/icons/menu-help.png"/> - <span style="" class="infoDialog" - infos="<div><span style='font-size:18px;'>PHRASEANET</span> {{ app['phraseanet.version'].getName() }} (V{{ app['phraseanet.version'].getNumber() }})</div><div></div><br/><div><a href='http://www.gnu.org/licenses/gpl.html' target='_blank'><img src='http://www.gnu.org/graphics/gplv3-88x31.png' style='vertical-align:middle;'/><span>License GNU GPL v3</span></a></div><br/><div><a href='http://www.phraseanet.com/' target='_blank'> © Copyright Alchemy 2005-{{ "now"|date("Y") }}</a><p style='margin-top: 10px' ><a href='../../gitlog.txt' target='_blank'>gitlog</a></p></div>">{{ 'phraseanet:: a propos' | trans }}</span> - </a> - </li> - </ol> - </div> - </div> </div> {% if app.getAuthenticator().isAuthenticated() and module == "prod" %} @@ -312,10 +313,15 @@ //seperate array based on location of link var seperatedLinksByLocation = _.groupBy(configurationSettingLinks, "linkLocation"); + for (key in seperatedLinksByLocation) { if (key === 'navigation-bar') { var sortedCustomLinks = _.sortBy(seperatedLinksByLocation[key], 'linkOrder'); - + /*show navigation-bar if there is some result*/ + console.log(sortedCustomLinks); + if (sortedCustomLinks != undefined ) { + $('#toggle-menu-link').show(); + } _.each(sortedCustomLinks, function (linksData) { if (linksData.linkLanguage == 'all' || linksData.linkLanguage === '{{ app['locale'] }}') { var styleAttr = ""; From c68ad4fd8f23483bc5bf3dd57b1f1e7e28177fc4 Mon Sep 17 00:00:00 2001 From: Jean-Yves Gaulier <gaulier@alchemy.fr> Date: Thu, 23 May 2019 17:27:56 +0200 Subject: [PATCH 32/80] PHRAS-2605_fix-unittest-bootstrap_4.1 fix default lng add missing cmd --- tests/bootstrap.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/bootstrap.sh b/tests/bootstrap.sh index d4bcfc5476..658fec4bab 100755 --- a/tests/bootstrap.sh +++ b/tests/bootstrap.sh @@ -34,7 +34,7 @@ then mv config/configuration.yml{,.backup} rm -f config/configuration-compiled.php fi -./bin/setup system:install --email=test@phraseanet.com --password=test --db-user=root --db-template=en --db-password=toor --databox=db_test --appbox=ab_test --server-name=http://127.0.0.1 -y $VERBOSITY +./bin/setup system:install --email=test@phraseanet.com --password=test --db-user=root --db-template=en-simple --db-password=toor --databox=db_test --appbox=ab_test --server-name=http://127.0.0.1 -y $VERBOSITY case "$INSTALL_MODE" in update) ./bin/developer ini:reset --email=test@phraseanet.com --password=test --run-patches --no-setup-dbs $VERBOSITY @@ -44,5 +44,6 @@ case "$INSTALL_MODE" in ;; esac ./bin/developer ini:setup-tests-dbs $VERBOSITY -./bin/console searchengine:index:create $VERBOSITY +./bin/console searchengine:index -ndcp --force $VERBOSITY ./bin/developer phraseanet:regenerate-sqlite $VERBOSITY +./bin/developer phraseanet:generate-js-fixtures $VERBOSITY \ No newline at end of file From dca1387a17710428609d0eea890b0dfa48c46a8a Mon Sep 17 00:00:00 2001 From: Jean-Yves Gaulier <gaulier@alchemy.fr> Date: Tue, 28 May 2019 14:58:35 +0200 Subject: [PATCH 33/80] PHRAS-2605_fix-unittest-bootstrap_4.1 fix conf --- lib/Alchemy/Phrasea/Application.php | 2 ++ .../Controller/Prod/LazaretController.php | 2 +- .../Core/Provider/LocaleServiceProvider.php | 3 +- lib/Alchemy/Phrasea/TaskManager/Notifier.php | 2 +- .../Alchemy/Tests/Phrasea/ApplicationTest.php | 1 + .../Phrasea/Controller/Prod/UploadTest.php | 1 + .../Fixtures/configuration-setup.yml | 33 ++++++++++++++++++ .../Configuration/Fixtures/configuration.yml | 33 ++++++++++++++++++ tests/classes/PhraseanetTestCase.php | 3 ++ tests/files/cestlafete.jpg | Bin 31487 -> 31664 bytes 10 files changed, 77 insertions(+), 3 deletions(-) diff --git a/lib/Alchemy/Phrasea/Application.php b/lib/Alchemy/Phrasea/Application.php index f586a4f93a..1e4fcb1764 100644 --- a/lib/Alchemy/Phrasea/Application.php +++ b/lib/Alchemy/Phrasea/Application.php @@ -256,6 +256,7 @@ class Application extends SilexApplication $this->register(new OrderServiceProvider()); $this->register(new WebhookServiceProvider()); + $this['monolog'] = $this->share( $this->extend('monolog', function (LoggerInterface $logger, Application $app) { @@ -273,6 +274,7 @@ class Application extends SilexApplication }) ); + $this['phraseanet.exception_handler'] = $this->share(function ($app) { /** @var PhraseaExceptionHandler $handler */ $handler = PhraseaExceptionHandler::register($app['debug']); diff --git a/lib/Alchemy/Phrasea/Controller/Prod/LazaretController.php b/lib/Alchemy/Phrasea/Controller/Prod/LazaretController.php index 035476d5fb..afb91cb23e 100644 --- a/lib/Alchemy/Phrasea/Controller/Prod/LazaretController.php +++ b/lib/Alchemy/Phrasea/Controller/Prod/LazaretController.php @@ -38,7 +38,7 @@ class LazaretController extends Controller * * @param Request $request The current request * - * @return Response + * @return String */ public function listElement(Request $request) { diff --git a/lib/Alchemy/Phrasea/Core/Provider/LocaleServiceProvider.php b/lib/Alchemy/Phrasea/Core/Provider/LocaleServiceProvider.php index fa816c9ef7..9a887155b7 100644 --- a/lib/Alchemy/Phrasea/Core/Provider/LocaleServiceProvider.php +++ b/lib/Alchemy/Phrasea/Core/Provider/LocaleServiceProvider.php @@ -43,7 +43,8 @@ class LocaleServiceProvider implements ServiceProviderInterface if (0 === count($enabledLanguages)) { $app['monolog']->error('Wrong language configuration, no language activated'); - + $app['monolog']->error(var_export(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS), true)); + // throw new \Exception('Wrong language configuration, no language activated'); return $availableLanguages; } diff --git a/lib/Alchemy/Phrasea/TaskManager/Notifier.php b/lib/Alchemy/Phrasea/TaskManager/Notifier.php index d85b9f5f59..101fb79753 100644 --- a/lib/Alchemy/Phrasea/TaskManager/Notifier.php +++ b/lib/Alchemy/Phrasea/TaskManager/Notifier.php @@ -25,7 +25,7 @@ class Notifier implements NotifierInterface private $logger; /** @var integer */ - private $timeout = 1; + private $timeout = 10; public function __construct(\ZMQSocket $socket, LoggerInterface $logger) { diff --git a/tests/Alchemy/Tests/Phrasea/ApplicationTest.php b/tests/Alchemy/Tests/Phrasea/ApplicationTest.php index 2046670917..0c45d2c2c4 100644 --- a/tests/Alchemy/Tests/Phrasea/ApplicationTest.php +++ b/tests/Alchemy/Tests/Phrasea/ApplicationTest.php @@ -152,6 +152,7 @@ class ApplicationTest extends \PhraseanetTestCase $sessionId = null; $app->post('/prod/upload/', function (Application $app) use (&$sessionId) { $sessionId = $app['session']->getId(); + return ""; }); $client = new Client($app); diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Prod/UploadTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Prod/UploadTest.php index 65832cf4dc..7245f53776 100644 --- a/tests/Alchemy/Tests/Phrasea/Controller/Prod/UploadTest.php +++ b/tests/Alchemy/Tests/Phrasea/Controller/Prod/UploadTest.php @@ -106,6 +106,7 @@ class UploadTest extends \PhraseanetAuthenticatedWebTestCase $record = new \record_adapter(self::$DI['app'], $id[0], $id[1]); $this->assertTrue($record->get_thumbnail()->is_physically_present()); + $zzz = $record->get_caption()->get_fields(); $fields = $record->get_caption()->get_fields(['FileName']); $field = array_pop($fields); $this->assertEquals('KIKOO.JPG', $field->get_serialized_values()); diff --git a/tests/Alchemy/Tests/Phrasea/Core/Configuration/Fixtures/configuration-setup.yml b/tests/Alchemy/Tests/Phrasea/Core/Configuration/Fixtures/configuration-setup.yml index 27eb933247..33bd2ddb84 100644 --- a/tests/Alchemy/Tests/Phrasea/Core/Configuration/Fixtures/configuration-setup.yml +++ b/tests/Alchemy/Tests/Phrasea/Core/Configuration/Fixtures/configuration-setup.yml @@ -6,6 +6,7 @@ main: maintenance: false key: '' api_require_ssl: true + delete-account-require-email-confirmation: true database: host: 'sql-host' port: 3306 @@ -212,3 +213,35 @@ embed_bundle: document: player: flexpaper enable-pdfjs: true +geocoding-providers: + - + name: 'mapBox' + enabled: true + public-key: '' + default-position: + - 2.335062 + - 48.879162 + default-zoom: 2 + marker-default-zoom: 11 + position-fields: + - + name: GpsCompositePosition + type: latlng + # - + # name: Longitude + # type: lng + # - + # name: Latitude + # type: lat +video-editor: + vttFieldName: VideoTextTrackChapters + seekBackwardStep: 1000 # in ms + seekForwardStep: 1000 # in ms + playbackRates: + - 1 + - '1.5' + - 3 + +user_account: + deleting_policies: + email_confirmation: true diff --git a/tests/Alchemy/Tests/Phrasea/Core/Configuration/Fixtures/configuration.yml b/tests/Alchemy/Tests/Phrasea/Core/Configuration/Fixtures/configuration.yml index 27eb933247..33bd2ddb84 100644 --- a/tests/Alchemy/Tests/Phrasea/Core/Configuration/Fixtures/configuration.yml +++ b/tests/Alchemy/Tests/Phrasea/Core/Configuration/Fixtures/configuration.yml @@ -6,6 +6,7 @@ main: maintenance: false key: '' api_require_ssl: true + delete-account-require-email-confirmation: true database: host: 'sql-host' port: 3306 @@ -212,3 +213,35 @@ embed_bundle: document: player: flexpaper enable-pdfjs: true +geocoding-providers: + - + name: 'mapBox' + enabled: true + public-key: '' + default-position: + - 2.335062 + - 48.879162 + default-zoom: 2 + marker-default-zoom: 11 + position-fields: + - + name: GpsCompositePosition + type: latlng + # - + # name: Longitude + # type: lng + # - + # name: Latitude + # type: lat +video-editor: + vttFieldName: VideoTextTrackChapters + seekBackwardStep: 1000 # in ms + seekForwardStep: 1000 # in ms + playbackRates: + - 1 + - '1.5' + - 3 + +user_account: + deleting_policies: + email_confirmation: true diff --git a/tests/classes/PhraseanetTestCase.php b/tests/classes/PhraseanetTestCase.php index 10a121af87..1f03956f86 100644 --- a/tests/classes/PhraseanetTestCase.php +++ b/tests/classes/PhraseanetTestCase.php @@ -273,6 +273,7 @@ abstract class PhraseanetTestCase extends WebTestCase static $decodedFixtureIds; if (is_null($decodedFixtureIds)) { + $p = sys_get_temp_dir().'/fixtures.json'; $decodedFixtureIds = json_decode(file_get_contents(sys_get_temp_dir().'/fixtures.json'), true); } self::$fixtureIds = $decodedFixtureIds; @@ -379,6 +380,8 @@ abstract class PhraseanetTestCase extends WebTestCase $app->boot(); + // $app['monolog'] = $this->getMock('Psr\Log\LoggerInterface'); + return $app; } diff --git a/tests/files/cestlafete.jpg b/tests/files/cestlafete.jpg index 698ec817b02d162ef301cc2c87de508aa5208a58..c0e8cd7f753059b09da50ccb8ebe769b3aa8319f 100755 GIT binary patch delta 109 zcmezWm2ty&#tn{)jE^QeF-~SOG?;vy@%v;MCJn2K+yY-;TlI{Rk^(Dz{k&qm#FYG` zRK4W<T>Xl~0)0b01O41weRVr71qB<hS}T|Q<kH;KypqYaOqzVCLYucSc~$@bc?2eO delta 31 ncmdn+o$>!y#tn{)jE0l{GRaJiV=QMfFrR##@%!d_X2S{q)jJG= From 0cbc5a8ef41bb4d916d92d3da54a3dfcac10d099 Mon Sep 17 00:00:00 2001 From: Jean-Yves Gaulier <gaulier@alchemy.fr> Date: Tue, 28 May 2019 15:06:06 +0200 Subject: [PATCH 34/80] PHRAS-2605_fix-unittest-bootstrap_4.1 remove debug --- lib/Alchemy/Phrasea/Core/Provider/LocaleServiceProvider.php | 2 -- tests/classes/PhraseanetTestCase.php | 2 -- 2 files changed, 4 deletions(-) diff --git a/lib/Alchemy/Phrasea/Core/Provider/LocaleServiceProvider.php b/lib/Alchemy/Phrasea/Core/Provider/LocaleServiceProvider.php index 9a887155b7..b99c41a979 100644 --- a/lib/Alchemy/Phrasea/Core/Provider/LocaleServiceProvider.php +++ b/lib/Alchemy/Phrasea/Core/Provider/LocaleServiceProvider.php @@ -43,8 +43,6 @@ class LocaleServiceProvider implements ServiceProviderInterface if (0 === count($enabledLanguages)) { $app['monolog']->error('Wrong language configuration, no language activated'); - $app['monolog']->error(var_export(debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS), true)); - // throw new \Exception('Wrong language configuration, no language activated'); return $availableLanguages; } diff --git a/tests/classes/PhraseanetTestCase.php b/tests/classes/PhraseanetTestCase.php index 1f03956f86..4b4e3bc37c 100644 --- a/tests/classes/PhraseanetTestCase.php +++ b/tests/classes/PhraseanetTestCase.php @@ -380,8 +380,6 @@ abstract class PhraseanetTestCase extends WebTestCase $app->boot(); - // $app['monolog'] = $this->getMock('Psr\Log\LoggerInterface'); - return $app; } From 1653c2494cf37419cd569a605293e85ad0748d76 Mon Sep 17 00:00:00 2001 From: Jean-Yves Gaulier <gaulier@alchemy.fr> Date: Tue, 28 May 2019 15:16:28 +0200 Subject: [PATCH 35/80] PHRAS-2605_fix-unittest-bootstrap_4.1 remove debug --- lib/Alchemy/Phrasea/Application.php | 2 -- lib/Alchemy/Phrasea/Core/Provider/LocaleServiceProvider.php | 1 + tests/Alchemy/Tests/Phrasea/Controller/Prod/UploadTest.php | 1 - tests/classes/PhraseanetTestCase.php | 1 - 4 files changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/Alchemy/Phrasea/Application.php b/lib/Alchemy/Phrasea/Application.php index 1e4fcb1764..f586a4f93a 100644 --- a/lib/Alchemy/Phrasea/Application.php +++ b/lib/Alchemy/Phrasea/Application.php @@ -256,7 +256,6 @@ class Application extends SilexApplication $this->register(new OrderServiceProvider()); $this->register(new WebhookServiceProvider()); - $this['monolog'] = $this->share( $this->extend('monolog', function (LoggerInterface $logger, Application $app) { @@ -274,7 +273,6 @@ class Application extends SilexApplication }) ); - $this['phraseanet.exception_handler'] = $this->share(function ($app) { /** @var PhraseaExceptionHandler $handler */ $handler = PhraseaExceptionHandler::register($app['debug']); diff --git a/lib/Alchemy/Phrasea/Core/Provider/LocaleServiceProvider.php b/lib/Alchemy/Phrasea/Core/Provider/LocaleServiceProvider.php index b99c41a979..fa816c9ef7 100644 --- a/lib/Alchemy/Phrasea/Core/Provider/LocaleServiceProvider.php +++ b/lib/Alchemy/Phrasea/Core/Provider/LocaleServiceProvider.php @@ -43,6 +43,7 @@ class LocaleServiceProvider implements ServiceProviderInterface if (0 === count($enabledLanguages)) { $app['monolog']->error('Wrong language configuration, no language activated'); + return $availableLanguages; } diff --git a/tests/Alchemy/Tests/Phrasea/Controller/Prod/UploadTest.php b/tests/Alchemy/Tests/Phrasea/Controller/Prod/UploadTest.php index 7245f53776..65832cf4dc 100644 --- a/tests/Alchemy/Tests/Phrasea/Controller/Prod/UploadTest.php +++ b/tests/Alchemy/Tests/Phrasea/Controller/Prod/UploadTest.php @@ -106,7 +106,6 @@ class UploadTest extends \PhraseanetAuthenticatedWebTestCase $record = new \record_adapter(self::$DI['app'], $id[0], $id[1]); $this->assertTrue($record->get_thumbnail()->is_physically_present()); - $zzz = $record->get_caption()->get_fields(); $fields = $record->get_caption()->get_fields(['FileName']); $field = array_pop($fields); $this->assertEquals('KIKOO.JPG', $field->get_serialized_values()); diff --git a/tests/classes/PhraseanetTestCase.php b/tests/classes/PhraseanetTestCase.php index 4b4e3bc37c..10a121af87 100644 --- a/tests/classes/PhraseanetTestCase.php +++ b/tests/classes/PhraseanetTestCase.php @@ -273,7 +273,6 @@ abstract class PhraseanetTestCase extends WebTestCase static $decodedFixtureIds; if (is_null($decodedFixtureIds)) { - $p = sys_get_temp_dir().'/fixtures.json'; $decodedFixtureIds = json_decode(file_get_contents(sys_get_temp_dir().'/fixtures.json'), true); } self::$fixtureIds = $decodedFixtureIds; From d757cf439a0c6fd8fe1c9a389d16a78ce9f9d654 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana <hra@esokia.com> Date: Wed, 29 May 2019 10:45:30 +0400 Subject: [PATCH 36/80] PHRAS-2608 Prod_Fix_responsive_custom_link #time 1h --- resources/www/_shared/styles/_main-menu.scss | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/resources/www/_shared/styles/_main-menu.scss b/resources/www/_shared/styles/_main-menu.scss index 270cb2252b..f5260f238a 100644 --- a/resources/www/_shared/styles/_main-menu.scss +++ b/resources/www/_shared/styles/_main-menu.scss @@ -211,13 +211,13 @@ $mainMenuBottomBorder: none !default; } } #nav_menu_container { - left: 0; + left: 5px; width: 172px; .nav_menu { top: 9px; } .arrow-up { - left: 10px; + left: 5px; display: block; position: absolute; } @@ -225,7 +225,7 @@ $mainMenuBottomBorder: none !default; #nav_customlink_container { display: none; position: relative; - left: 0; + left: 4px; width: auto; .nav-wrapper-box { position: absolute; @@ -251,7 +251,7 @@ $mainMenuBottomBorder: none !default; } } .arrow-up { - left: 10px; + left: 5px; display: block; position: absolute; } From 0e4e5782aa5d81423f06cf0d68a942f1a41c7a7f Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana <hra@esokia.com> Date: Fri, 31 May 2019 10:21:00 +0400 Subject: [PATCH 37/80] PHRAS-2608 #time 2h --- resources/www/_shared/styles/_main-menu.scss | 6 +- templates/web/common/menubar.html.twig | 319 ++++++++++--------- 2 files changed, 168 insertions(+), 157 deletions(-) diff --git a/resources/www/_shared/styles/_main-menu.scss b/resources/www/_shared/styles/_main-menu.scss index f5260f238a..62397154d7 100644 --- a/resources/www/_shared/styles/_main-menu.scss +++ b/resources/www/_shared/styles/_main-menu.scss @@ -38,13 +38,13 @@ $mainMenuBottomBorder: none !default; display: inline-block !important; } .show-menu { - display: none; i { font-size: 26px; vertical-align: middle; color: $mainMenuLinkActiveColor; } img { + display: none; margin-top: 5px; } } @@ -152,8 +152,10 @@ $mainMenuBottomBorder: none !default; } #mainMenu { .show-menu { - display: inline-block; cursor: pointer; + img { + display: inline-block; + } } .mobilemenu { display: block; diff --git a/templates/web/common/menubar.html.twig b/templates/web/common/menubar.html.twig index 21df62adf4..ac7001dbcc 100644 --- a/templates/web/common/menubar.html.twig +++ b/templates/web/common/menubar.html.twig @@ -1,11 +1,11 @@ <div id="mainMenu" class=""> {% set configuration = app['conf'].get(['registry', 'custom-links']) %} <div class="PNB menu-bar" style="overflow:hidden;"> - <ol> - <li> + <ol> + <li> <span class="title"> {% if app['conf'].get(['registry', 'general', 'personalize-logo-choice', 'logoChoice']) == 'personalize' and - app['conf'].get(['registry', 'general', 'personalize-logo-choice', 'personalizeFile']) == 'true' %} + app['conf'].get(['registry', 'general', 'personalize-logo-choice', 'personalizeFile']) == 'true' %} {% set extension = app['conf'].get(['registry', 'general', 'personalize-logo-choice', 'fileType']) %} {% set personalise_path = '/custom/minilogos/personalize_logo.' ~ extension %} @@ -17,192 +17,194 @@ {% endif %} </span> - </li> - <li class="show-menu" id="toggle-menu-main"> - <img src="/assets/common/images/icons/menu-burger.png"/> + </li> + <li class="show-menu" id="toggle-menu-main"> + <img src="/assets/common/images/icons/menu-burger.png"/> - <div id="nav_menu_container" class="desktopmenu"> - <div class="arrow-up"></div> - <ol class="nav_menu"> - {% if module is defined and module != "lightbox" and app.getAuthenticator().isAuthenticated() %} - <li class="menu-bar-item"> - <a target="_blank" href="{{ path('prod') }}"> - <img src="/assets/common/images/icons/menu-prod.png" class="mobilemenu"/> - <span class="{% if module is defined and module == "prod" %}selected{% endif %}"> + <div id="nav_menu_container" class="desktopmenu"> + <div class="arrow-up"></div> + <ol class="nav_menu"> + {% if module is defined and module != "lightbox" and app.getAuthenticator().isAuthenticated() %} + <li class="menu-bar-item"> + <a target="_blank" href="{{ path('prod') }}"> + <img src="/assets/common/images/icons/menu-prod.png" class="mobilemenu"/> + <span class="{% if module is defined and module == "prod" %}selected{% endif %}"> {{ 'admin::monitor: production' | trans }} </span> - </a> - </li> + </a> + </li> - {% if app['browser'].isNewGeneration and app['conf'].get(['registry', 'modules', 'thesaurus']) == true and app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('thesaurus') %} - <li class="menu-bar-item"> - <a target="_blank" href="{{ path('thesaurus') }}"> - <img src="/assets/common/images/icons/menu-thesaurus.png" class="mobilemenu"/> - <span class="{% if module is defined and module == "thesaurus" %}selected{% endif %}"> + {% if app['browser'].isNewGeneration and app['conf'].get(['registry', 'modules', 'thesaurus']) == true and app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('thesaurus') %} + <li class="menu-bar-item"> + <a target="_blank" href="{{ path('thesaurus') }}"> + <img src="/assets/common/images/icons/menu-thesaurus.png" class="mobilemenu"/> + <span class="{% if module is defined and module == "thesaurus" %}selected{% endif %}"> {{ 'admin::monitor: module thesaurus' | trans }} </span> - </a> - </li> - {% endif %} + </a> + </li> + {% endif %} - {# MODULE #} - {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('admin') %} - <li class="menu-bar-item"> - <a target="_blank" href="{{ path('admin') }}"> - <img src="/assets/common/images/icons/menu-admin.png" class="mobilemenu"/> - <span class="{% if module is defined and module == "admin" %}selected{% endif %}"> + {# MODULE #} + {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('admin') %} + <li class="menu-bar-item"> + <a target="_blank" href="{{ path('admin') }}"> + <img src="/assets/common/images/icons/menu-admin.png" class="mobilemenu"/> + <span class="{% if module is defined and module == "admin" %}selected{% endif %}"> {{ 'admin::monitor: module admin' | trans }} </span> - </a> - </li> - {% endif %} + </a> + </li> + {% endif %} - {# MODULE #} - {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('report') %} - <li class="menu-bar-item"> - <a target="_blank" href="{{ path('report_dashboard') }}"> - <img src="/assets/common/images/icons/menu-report.png" class="mobilemenu"/> - <span class="{% if module is defined and module == "report" %}selected{% endif %}"> + {# MODULE #} + {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('report') %} + <li class="menu-bar-item"> + <a target="_blank" href="{{ path('report_dashboard') }}"> + <img src="/assets/common/images/icons/menu-report.png" class="mobilemenu"/> + <span class="{% if module is defined and module == "report" %}selected{% endif %}"> {{ 'admin::monitor: module report' | trans }} </span> - </a> - </li> - {% endif %} + </a> + </li> + {% endif %} - {# MODULE #} - <li class="menu-bar-item"> - <a id="validation_link" target="_blank" href="{{ path('lightbox') }}"> - <img src="/assets/common/images/icons/menu-lightbox.png" class="mobilemenu"/> - <span> + {# MODULE #} + <li class="menu-bar-item"> + <a id="validation_link" target="_blank" href="{{ path('lightbox') }}"> + <img src="/assets/common/images/icons/menu-lightbox.png" class="mobilemenu"/> + <span> {{ 'admin::monitor: module validation' | trans }} </span> - </a> - </li> + </a> + </li> - {# MODULE #} - {% if module is defined and module == "prod" %} - {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('upload') %} - <li class="menu-bar-item"> - {% set link = path('upload_html5_form') %} + {# MODULE #} + {% if module is defined and module == "prod" %} + {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('upload') %} + <li class="menu-bar-item"> + {% set link = path('upload_html5_form') %} - {% if not app['browser'].supportFileAPI() %} - {% set link = path('upload_flash_form') %} - {% endif %} + {% if not app['browser'].supportFileAPI() %} + {% set link = path('upload_flash_form') %} + {% endif %} - <a href="{{ link }}" class="uploader-open-action" title="{{ 'Upload' | trans }}"> - <img src="/assets/common/images/icons/menu-upload.png" class="mobilemenu"/> - <span> + <a href="{{ link }}" class="uploader-open-action" + title="{{ 'Upload' | trans }}"> + <img src="/assets/common/images/icons/menu-upload.png" class="mobilemenu"/> + <span> {{ 'admin::monitor: module upload' | trans }} </span> - </a> - </li> - {% endif %} - {% endif %} + </a> + </li> + {% endif %} + {% endif %} - {# MODULE #} - {% if module == "prod" %} - <li class="menu-bar-item"> - <a href="#" class="state-navigation" data-state="publication"> - <img src="/assets/common/images/icons/menu-publication.png" class="mobilemenu"/> - <span> + {# MODULE #} + {% if module == "prod" %} + <li class="menu-bar-item"> + <a href="#" class="state-navigation" data-state="publication"> + <img src="/assets/common/images/icons/menu-publication.png" class="mobilemenu"/> + <span> {{ 'Publications' | trans }} </span> - </a> - </li> - {% endif %} + </a> + </li> + {% endif %} - {% if module is defined and module == "prod" and app.getAclForUser(app.getAuthenticatedUser()).has_right(constant('\\ACL::ORDER_MASTER')) %} - <li class="menu-bar-item"> - <a href="#" class="order-open-action" title="{{ 'Orders manager' | trans }}"> + {% if module is defined and module == "prod" and app.getAclForUser(app.getAuthenticatedUser()).has_right(constant('\\ACL::ORDER_MASTER')) %} + <li class="menu-bar-item"> + <a href="#" class="order-open-action" title="{{ 'Orders manager' | trans }}"> <span> {{ 'Commandes' | trans }} </span> - </a> - </li> - {% endif %} + </a> + </li> + {% endif %} - {% endif %} - </ol> - </div> - </li> - <li class="show-menu" id="toggle-menu-link" style="display: none"> - <img src="/assets/common/images/icons/menu-web-site.png"/> - <div id="nav_customlink_container" class="mobile-link"> - <div class="arrow-up"></div> - <div class="nav-wrapper-box"> - <ol class="nav_menu"></ol> - </div> - </div> - </li> - <li class="show-menu" id="toggle-menu-account" style="float: right;margin-right: 16px;"> - <img src="/assets/common/images/icons/menu-user.png"/> - <div class="PNB right mobilemenu" id="nav_account_container"> - <div class="arrow-up"></div> - <div class="nav-wrapper-box"> - <ol class="nav_menu"> + {% endif %} + </ol> + </div> + </li> + <li class="show-menu" id="toggle-menu-link"> + <img src="/assets/common/images/icons/menu-web-site.png"/> + <div id="nav_customlink_container" class="mobile-link"> + <div class="arrow-up"></div> + <div class="nav-wrapper-box"> + <ol class="nav_menu"></ol> + </div> + </div> + </li> + <li class="show-menu" id="toggle-menu-account" style="float: right;margin-right: 16px;"> + <img src="/assets/common/images/icons/menu-user.png"/> + <div class="PNB right mobilemenu" id="nav_account_container"> + <div class="arrow-up"></div> + <div class="nav-wrapper-box"> + <ol class="nav_menu"> - <li class="menu-bar-item"> - {% if app.getAuthenticator().isAuthenticated() %} - {% if app.getAuthenticatedUser().isGuest %} - <img src="/assets/common/images/icons/menu-name-user.png"/> - <span> + <li class="menu-bar-item"> + {% if app.getAuthenticator().isAuthenticated() %} + {% if app.getAuthenticatedUser().isGuest %} + <img src="/assets/common/images/icons/menu-name-user.png"/> + <span> {{ 'Guest' | trans }} </span> - {% else %} - <a target="_blank" href="{{ path('account') }}" title="{{ 'login:: Mon compte' | trans }}"> - <img src="/assets/common/images/icons/menu-name-user.png"/> - <span> + {% else %} + <a target="_blank" href="{{ path('account') }}" + title="{{ 'login:: Mon compte' | trans }}"> + <img src="/assets/common/images/icons/menu-name-user.png"/> + <span> {{ app.getAuthenticatedUser().getDisplayName() }} </span> - </a> - {% endif %} - {% endif %} - </li> - <li class="menu-bar-item"> - {% if app.getAuthenticator().isAuthenticated() %} - <a href="{{ path('logout', { 'redirect' : '..' ~ app['request'].getPathInfo() }) }}" - target="_self"> - <img src="/assets/common/images/icons/menu-logout.png"/> - <span> + </a> + {% endif %} + {% endif %} + </li> + <li class="menu-bar-item"> + {% if app.getAuthenticator().isAuthenticated() %} + <a href="{{ path('logout', { 'redirect' : '..' ~ app['request'].getPathInfo() }) }}" + target="_self"> + <img src="/assets/common/images/icons/menu-logout.png"/> + <span> {{ 'phraseanet:: deconnection' | trans }} </span> - </a> - {% endif %} - </li> - <li class="menu-bar-item"> - <a target="_blank" href="https://docs.phraseanet.com/4.0/"> - <img src="/assets/common/images/icons/menu-help.png"/> - <span> + </a> + {% endif %} + </li> + <li class="menu-bar-item"> + <a target="_blank" href="https://docs.phraseanet.com/4.0/"> + <img src="/assets/common/images/icons/menu-help.png"/> + <span> {{ 'phraseanet:: aide' | trans }} - <span style="display:inline-block;cursor:pointer;padding:0;border:none;padding-right:4px;padding-left:4px;" - id="help-trigger"></span> + <span style="display:inline-block;cursor:pointer;padding:0;border:none;padding-right:4px;padding-left:4px;" + id="help-trigger"></span> </span> - </a> - </li> - {% if module is defined and module == "prod" %} - <li class="menu-bar-item"> - <a href="#"> - <img src="/assets/common/images/icons/menu-help.png"/> - <span style="" class="shortcuts-trigger"> + </a> + </li> + {% if module is defined and module == "prod" %} + <li class="menu-bar-item"> + <a href="#"> + <img src="/assets/common/images/icons/menu-help.png"/> + <span style="" class="shortcuts-trigger"> {{ 'phraseanet:: raccourcis clavier' | trans }} </span> - </a> - </li> - {% endif %} - <li class="menu-bar-item"> - <a href="#"> - <img src="/assets/common/images/icons/menu-help.png"/> - <span style="" class="infoDialog" - infos="<div><span style='font-size:18px;'>PHRASEANET</span> {{ app['phraseanet.version'].getName() }} (V{{ app['phraseanet.version'].getNumber() }})</div><div></div><br/><div><a href='http://www.gnu.org/licenses/gpl.html' target='_blank'><img src='http://www.gnu.org/graphics/gplv3-88x31.png' style='vertical-align:middle;'/><span>License GNU GPL v3</span></a></div><br/><div><a href='http://www.phraseanet.com/' target='_blank'> © Copyright Alchemy 2005-{{ "now"|date("Y") }}</a><p style='margin-top: 10px' ><a href='../../gitlog.txt' target='_blank'>gitlog</a></p></div>">{{ 'phraseanet:: a propos' | trans }}</span> - </a> - </li> - </ol> - </div> - </div> - </li> + </a> + </li> + {% endif %} + <li class="menu-bar-item"> + <a href="#"> + <img src="/assets/common/images/icons/menu-help.png"/> + <span style="" class="infoDialog" + infos="<div><span style='font-size:18px;'>PHRASEANET</span> {{ app['phraseanet.version'].getName() }} (V{{ app['phraseanet.version'].getNumber() }})</div><div></div><br/><div><a href='http://www.gnu.org/licenses/gpl.html' target='_blank'><img src='http://www.gnu.org/graphics/gplv3-88x31.png' style='vertical-align:middle;'/><span>License GNU GPL v3</span></a></div><br/><div><a href='http://www.phraseanet.com/' target='_blank'> © Copyright Alchemy 2005-{{ "now"|date("Y") }}</a><p style='margin-top: 10px' ><a href='../../gitlog.txt' target='_blank'>gitlog</a></p></div>">{{ 'phraseanet:: a propos' | trans }}</span> + </a> + </li> + </ol> + </div> + </div> + </li> - </ol> + </ol> </div> @@ -299,7 +301,7 @@ </div> </div> - {% if app.getAuthenticator().isAuthenticated() and module == "prod" %} +{% if app.getAuthenticator().isAuthenticated() and module == "prod" %} <div style="display:none;z-index:30000;" id="notification_box"> {% set notifications = app['events-manager'].get_notifications %} {% include 'prod/notifications.html.twig' %} @@ -319,9 +321,16 @@ var sortedCustomLinks = _.sortBy(seperatedLinksByLocation[key], 'linkOrder'); /*show navigation-bar if there is some result*/ console.log(sortedCustomLinks); - if (sortedCustomLinks != undefined ) { - $('#toggle-menu-link').show(); - } + + $(window).resize(function () { + if (($(window).width() <= 1064) && (sortedCustomLinks != undefined)) { + $('#toggle-menu-link img').show(); + } else { + $('#toggle-menu-link img').hide(); + } + }); + + _.each(sortedCustomLinks, function (linksData) { if (linksData.linkLanguage == 'all' || linksData.linkLanguage === '{{ app['locale'] }}') { var styleAttr = ""; @@ -359,7 +368,7 @@ } } - $('#toggle-menu-main').on('click', function (event) { + $('#toggle-menu-main > img').on('click', function (event) { $('#nav_menu_container').toggle(); if ($('#nav_customlink_container').is(":visible")) { $('#nav_customlink_container').hide(); @@ -369,7 +378,7 @@ } }); - $('#toggle-menu-link').on('click', function (event) { + $('#toggle-menu-link > img').on('click', function (event) { $('#nav_customlink_container').toggle(); if ($('#nav_menu_container').is(":visible")) { $('#nav_menu_container').hide(); @@ -379,7 +388,7 @@ } }); - $('#toggle-menu-account').on('click', function (event) { + $('#toggle-menu-account > img').on('click', function (event) { $('#nav_account_container').toggle(); if ($('#nav_menu_container').is(":visible")) { $('#nav_menu_container').hide(); From 674fe1d8176140450147f236e56929276aed5869 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana <hra@esokia.com> Date: Fri, 31 May 2019 16:43:29 +0400 Subject: [PATCH 38/80] PHRAS-2574 #comment update phraseanet-production-client version to 0.34.15-d #time 0.5 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index d9638b20bb..a48c1808f9 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "normalize-css": "^2.1.0", "npm": "^6.0.0", "npm-modernizr": "^2.8.3", - "phraseanet-production-client": "0.34.12-d", + "phraseanet-production-client": "^0.34.15-d", "requirejs": "^2.3.5", "tinymce": "^4.0.28", "underscore": "^1.8.3", diff --git a/yarn.lock b/yarn.lock index f2a8b9173f..b1a1a03542 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7560,10 +7560,10 @@ phraseanet-common@^0.4.1: js-cookie "^2.1.0" pym.js "^1.3.1" -phraseanet-production-client@0.34.12-d: - version "0.34.12-d" - resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.12-d.tgz#ed3ef9a5e261a61d24d9abad44fbca5ca37b38e6" - integrity sha512-23y7fpOa+zKCJU2bpyCrGs03GTHAnbUhIabmTZPnee2gff9gIS/gBiZ2tugsougT59uCQeQUVVDwjbqBsLvKOw== +phraseanet-production-client@^0.34.15-d: + version "0.34.15-d" + resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.15-d.tgz#58335ce4747e00b58d2b31f1e1f61c4e9c0ebfb0" + integrity sha512-BQHPj7tO285KawxZh+M7ki2aKKqFil+pHxSgdFXcpPmfHqV4vyew7h2QL4XL8E6fu18tKIxxpQ6k2EDrKeCO4w== dependencies: "@mapbox/mapbox-gl-language" "^0.9.2" "@turf/turf" "^5.1.6" From e9aad5f579b3aaeaba744e59a4beab44708e36e7 Mon Sep 17 00:00:00 2001 From: Alexandre BRACH <alexandre.brach@gmail.com> Date: Fri, 31 May 2019 14:45:57 +0200 Subject: [PATCH 39/80] PHRDPL-34 #comment fix PHP version (from 7.1 to 7.0) --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index c967fb593c..01fdec58aa 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM php:7.1-fpm-stretch as builder +FROM php:7.0-fpm-stretch as builder RUN apt-get update \ && apt-get install -y \ @@ -92,7 +92,7 @@ COPY templates /var/alchemy/templates COPY tests /var/alchemy/tests # Phraseanet -FROM php:7.1-fpm-stretch as phraseanet +FROM php:7.0-fpm-stretch as phraseanet RUN apt-get update \ && apt-get install -y \ apt-transport-https \ From 0c9fef9a4f9d910f8bf02a0917000c1ffe8aba3d Mon Sep 17 00:00:00 2001 From: Alexandre BRACH <alexandre.brach@gmail.com> Date: Fri, 31 May 2019 19:15:26 +0200 Subject: [PATCH 40/80] PHRDPL-32 #comment fpm/nginx configuration variabilisable --- Dockerfile | 1 + docker/nginx/boot.sh | 6 + .../nginx/nginx.conf => nginx.conf.sample} | 1 + docker/phraseanet/boot.sh | 2 + docker/phraseanet/php-fpm.conf.sample | 125 ++++++++++++++++++ .../local/etc/php/php.ini => php.ini.sample} | 10 +- 6 files changed, 140 insertions(+), 5 deletions(-) create mode 100755 docker/nginx/boot.sh rename docker/nginx/{etc/nginx/nginx.conf => nginx.conf.sample} (97%) create mode 100644 docker/phraseanet/php-fpm.conf.sample rename docker/phraseanet/{usr/local/etc/php/php.ini => php.ini.sample} (99%) diff --git a/Dockerfile b/Dockerfile index 01fdec58aa..e55ffdbe17 100644 --- a/Dockerfile +++ b/Dockerfile @@ -161,3 +161,4 @@ FROM nginx:1.15 as phraseanet-nginx RUN useradd -u 1000 app ADD ./docker/nginx/ / COPY --from=builder /var/alchemy/www /var/alchemy/Phraseanet/www +CMD ["/boot.sh"] diff --git a/docker/nginx/boot.sh b/docker/nginx/boot.sh new file mode 100755 index 0000000000..4d702b6a6b --- /dev/null +++ b/docker/nginx/boot.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +cat /nginx.conf.sample +cat nginx.conf.sample | sed "s/\$MAX_BODY_SIZE/$MAX_BODY_SIZE/g" > /etc/nginx/nginx.conf +cat /etc/nginx/nginx.conf +nginx -g "daemon off;" diff --git a/docker/nginx/etc/nginx/nginx.conf b/docker/nginx/nginx.conf.sample similarity index 97% rename from docker/nginx/etc/nginx/nginx.conf rename to docker/nginx/nginx.conf.sample index 791d387942..1e75ba8a8f 100644 --- a/docker/nginx/etc/nginx/nginx.conf +++ b/docker/nginx/nginx.conf.sample @@ -60,6 +60,7 @@ http { location / { # First attempt to serve request as file, then # as directory, then fall back to index.html + client_max_body_size $MAX_BODY_SIZE; try_files $uri $uri/ @rewriteapp; } diff --git a/docker/phraseanet/boot.sh b/docker/phraseanet/boot.sh index 80804ce3a9..d38c260225 100755 --- a/docker/phraseanet/boot.sh +++ b/docker/phraseanet/boot.sh @@ -1,3 +1,5 @@ #!/bin/bash +envsubst < /php.ini.sample > /usr/local/etc/php/php.ini +envsubst < /php-fpm.conf.sample > /usr/local/etc/php-fpm.conf php-fpm diff --git a/docker/phraseanet/php-fpm.conf.sample b/docker/phraseanet/php-fpm.conf.sample new file mode 100644 index 0000000000..beb7ef081f --- /dev/null +++ b/docker/phraseanet/php-fpm.conf.sample @@ -0,0 +1,125 @@ +;;;;;;;;;;;;;;;;;;;;; +; FPM Configuration ; +;;;;;;;;;;;;;;;;;;;;; + +; All relative paths in this configuration file are relative to PHP's install +; prefix (/usr/local). This prefix can be dynamically changed by using the +; '-p' argument from the command line. + +;;;;;;;;;;;;;;;;;; +; Global Options ; +;;;;;;;;;;;;;;;;;; + +[global] +; Pid file +; Note: the default prefix is /usr/local/var +; Default Value: none +;pid = run/php-fpm.pid + +; Error log file +; If it's set to "syslog", log is sent to syslogd instead of being written +; in a local file. +; Note: the default prefix is /usr/local/var +; Default Value: log/php-fpm.log +error_log = /var/lib/phraseanet/logs/php-fpm.log + +; syslog_facility is used to specify what type of program is logging the +; message. This lets syslogd specify that messages from different facilities +; will be handled differently. +; See syslog(3) for possible values (ex daemon equiv LOG_DAEMON) +; Default Value: daemon +;syslog.facility = daemon + +; syslog_ident is prepended to every message. If you have multiple FPM +; instances running on the same server, you can change the default value +; which must suit common needs. +; Default Value: php-fpm +;syslog.ident = php-fpm + +; Log level +; Possible Values: alert, error, warning, notice, debug +; Default Value: notice +log_level = $PHP_LOG_LEVEL + +; If this number of child processes exit with SIGSEGV or SIGBUS within the time +; interval set by emergency_restart_interval then FPM will restart. A value +; of '0' means 'Off'. +; Default Value: 0 +;emergency_restart_threshold = 0 + +; Interval of time used by emergency_restart_interval to determine when +; a graceful restart will be initiated. This can be useful to work around +; accidental corruptions in an accelerator's shared memory. +; Available Units: s(econds), m(inutes), h(ours), or d(ays) +; Default Unit: seconds +; Default Value: 0 +;emergency_restart_interval = 0 + +; Time limit for child processes to wait for a reaction on signals from master. +; Available units: s(econds), m(inutes), h(ours), or d(ays) +; Default Unit: seconds +; Default Value: 0 +;process_control_timeout = 0 + +; The maximum number of processes FPM will fork. This has been design to control +; the global number of processes when using dynamic PM within a lot of pools. +; Use it with caution. +; Note: A value of 0 indicates no limit +; Default Value: 0 +; process.max = 128 + +; Specify the nice(2) priority to apply to the master process (only if set) +; The value can vary from -19 (highest priority) to 20 (lower priority) +; Note: - It will only work if the FPM master process is launched as root +; - The pool process will inherit the master process priority +; unless it specified otherwise +; Default Value: no set +; process.priority = -19 + +; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging. +; Default Value: yes +;daemonize = yes + +; Set open file descriptor rlimit for the master process. +; Default Value: system defined value +;rlimit_files = 1024 + +; Set max core size rlimit for the master process. +; Possible Values: 'unlimited' or an integer greater or equal to 0 +; Default Value: system defined value +;rlimit_core = 0 + +; Specify the event mechanism FPM will use. The following is available: +; - select (any POSIX os) +; - poll (any POSIX os) +; - epoll (linux >= 2.5.44) +; - kqueue (FreeBSD >= 4.1, OpenBSD >= 2.9, NetBSD >= 2.0) +; - /dev/poll (Solaris >= 7) +; - port (Solaris >= 10) +; Default Value: not set (auto detection) +;events.mechanism = epoll + +; When FPM is build with systemd integration, specify the interval, +; in second, between health report notification to systemd. +; Set to 0 to disable. +; Available Units: s(econds), m(inutes), h(ours) +; Default Unit: seconds +; Default value: 10 +;systemd_interval = 10 + +;;;;;;;;;;;;;;;;;;;; +; Pool Definitions ; +;;;;;;;;;;;;;;;;;;;; + +; Multiple pools of child processes may be started with different listening +; ports and different management options. The name of the pool will be +; used in logs and stats. There is no limitation on the number of pools which +; FPM can handle. Your system will tell you anyway :) + +; Include one or more files. If glob(3) exists, it is used to include a bunch of +; files from a glob(3) pattern. This directive can be used everywhere in the +; file. +; Relative path can also be used. They will be prefixed by: +; - the global prefix if it's been set (-p argument) +; - /usr/local otherwise +include=etc/php-fpm.d/*.conf diff --git a/docker/phraseanet/usr/local/etc/php/php.ini b/docker/phraseanet/php.ini.sample similarity index 99% rename from docker/phraseanet/usr/local/etc/php/php.ini rename to docker/phraseanet/php.ini.sample index 40c13e19ad..13651fc1e3 100644 --- a/docker/phraseanet/usr/local/etc/php/php.ini +++ b/docker/phraseanet/php.ini.sample @@ -669,7 +669,7 @@ auto_globals_jit = On ; Its value may be 0 to disable the limit. It is ignored if POST data reading ; is disabled through enable_post_data_reading. ; http://php.net/post-max-size -post_max_size = 8M +post_max_size = $MAX_BODY_SIZE ; Automatically add files before PHP document. ; http://php.net/auto-prepend-file @@ -821,7 +821,7 @@ file_uploads = On ; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize -upload_max_filesize = 2M +upload_max_filesize = $MAX_BODY_SIZE ; Maximum number of files that can be uploaded via a single request max_file_uploads = 20 @@ -1428,7 +1428,7 @@ session.referer_check = ; Set to {nocache,private,public,} to determine HTTP caching aspects ; or leave this empty to avoid sending anti-caching headers. ; http://php.net/session.cache-limiter -session.cache_limiter = off +session.cache_limiter = $SESSION_CACHE_LIMITER ; Document expires after n minutes. ; http://php.net/session.cache-expire @@ -1744,10 +1744,10 @@ ldap.max_links = -1 [opcache] ; Determines if Zend OPCache is enabled -;opcache.enable=1 +opcache.enable=$OPCACHE_ENABLED ; Determines if Zend OPCache is enabled for the CLI version of PHP -;opcache.enable_cli=0 +;opcache.enable_cli=$OPCACHE_ENABLED ; The OPcache shared memory storage size. ;opcache.memory_consumption=128 From 8daaa1ffdba2d636ce366c472288297bbde742b4 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana <hra@esokia.com> Date: Mon, 3 Jun 2019 11:38:40 +0400 Subject: [PATCH 41/80] PHRAS-2376 #comment toolbar icons changed #time 2h --- .../common/images/icons/chgcoll_history.png | Bin 1900 -> 6087 bytes .../common/images/icons/chgstatus_history.png | Bin 2746 -> 4577 bytes resources/www/common/images/icons/delete.png | Bin 2308 -> 4198 bytes .../www/common/images/icons/feedback16.png | Bin 1683 -> 5120 bytes .../common/images/icons/icon-video-editor.png | Bin 5578 -> 4823 bytes .../common/images/icons/imgtools_history.png | Bin 2595 -> 3766 bytes .../www/common/images/icons/ppen_history.png | Bin 2114 -> 5122 bytes .../www/common/images/icons/print_history.png | Bin 4004 -> 5440 bytes resources/www/common/images/icons/push16.png | Bin 2793 -> 3605 bytes resources/www/common/images/icons/rss16.png | Bin 3433 -> 6965 bytes 10 files changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/www/common/images/icons/chgcoll_history.png b/resources/www/common/images/icons/chgcoll_history.png index a8cb9028fdb0abf2feba73c04d9ef8dec638d525..2d26309b27142f579f1f40a64cc13ef22cf89960 100644 GIT binary patch literal 6087 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 N002ovPDHLkV1m+Gd(Z#? delta 1893 zcmV-r2b%cDFYFGG9De|+X>r~F000SaNLh0L01FcU01FcV0GgZ_0000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU&`AI}URCwC#TU%%pR~Y`!?5wLs6QAl+ zYY2TP*qA){Qc<%HrNvfj>`OrlNnf-W6e&nREVYdaQYyi=YJbE+Yz>V{O^n6}6>_r* zt)RKsLX{AstqHVAHq{4dlI{7&Gn+HB=ge)-Y&O^*4l_BMnK|D#|9xgiGMR)h<*lWQ z<8*_gl#W6=N?Z=<p<|Ga+jMkX9{Hyu%=Hn~1W>?B=%$>FjfzftfsSSzl#ub9B!J!N zN;)baTscKYEq^8Ac1{q$fbXND46-Yoc->4*BrpL?)oZhG$GvF8uArt7hyV&6?Yo|i z0>}+Xp!rb}n*AQA1ptr0n{o&|u(dR?wS}VrOyxT~gfU-|S5N>?5($;3#4sB7Y7*LP zf#0%w51hOE2h`vE6+Sw0+#o`c;2JyFnlsk`dZI#>lz%8&Ap(B=y)BlxfjfOry=k3F zZNL*1x@m&u;m$XQ4IZUvc`+PnYE!8R1zt44%><OHy$pPaB$O}={s~|nHEZC*B*7^< z2z>yH^G(?XAF@x_B+3&siQU($y6U$5hkS!KHDO!LA(i2=UgQr%CQz%==@l(s5%}1p zFD_G^EPvHH62J<Z&~y7I6BC~1LXZlEQK|v^!d}7EGY!yu;_I||oWtL;AQp@|clS%f zC~0}HSI?Y=9~&EtEKnqecYX+08)ry(Jdp^4fHKqqvy9fcA9jUtwHs}hjNw&!uXkrd z3o6b0K;u0BY}fVKlnOH<m_DE!o<Ax7p8$@4jepM}0S0E>9v8hfF)&Nx6P3D;t6`wO zH!CYIdUb^*OB{J{-?+Ztv>CBu6o~r;kHre6s=O@9&t8WNuT{Kib?Wb8SZ$CJpmvC( z36y3EJ{Kfl6<LY|6wY<<8IVw@d8zr`z+(!Vr35CGEXmSlpCpv%nS#e6X5_(;G`$tc zihosW#B)B*f!D-q=jG>1N$}zm$hsF6B~>>waz#)}u)c5-*S7d;>o&~UK<{Pk8a(IX zN`R<#pDW^J?XFI+;q!wu<9kW!2hb7uB?%oKpU9y6(%l6=cXtAraZfY*1i1N`{Vi2H zqzTyN?@vSB!5YYmMl8qrCctb|pomC7FMo^#xj7q)P;Z}3KqnkMP(#r@18y#wFz|#y z*VqrA9Y5&^{=oLF#<5SQreS_Wb2Nb-uO!G~FA^gPZN7yAPaMFnT(cI|Z+_nuJpTLS zbkZO}B0WgJpx5;|k)Qy*1w2T=^V(sTHXC?6BcXpx(Lg^Xeg-;-1o(Q_CQK4U;C~T- zMmUWi7VlsIzn_BFIPm;&|58nuPAB2E1}@LeypoV<15*Y*-5dyYyyH^vz=5~>kV%T) zMnQ*;-BDT>Ll6?0PaHLD|3=$IBQ;gQfE#$+zuVUf@0Pp*WpBR&x2|=;-TvOx-R8}O zC&WC*6xD=?_Uzn<-HZYkf^>zj0e_;Z2|`jy39;NYJ9u+$cxVXD9{bAJ*HYR;Qi+WS zys2Sm3K30f;S-@|$O+->mIqI);ECxl?Y@G|Ie|B|WZ~lcD>+Ai#nY1+FHXQ6JU<6E z(!d5Dx4N#MNfE$aBRMs@_g(~k#xykJ4ikY{2*86ZpLjMOTd<(9@wdTIdw(Wa4<S4p z!CoDovB?@I=0aDlUYi2{I57_QsE;9B;B)fyAn+B$mRRFlEEfABEfr?b0AD{<`g{<( zw|v@*;Zqnf=)yidcG8mJ-TJ8;s@A`mvR_S<7+GvQJ#yH=>w5J1+20@Bl+^<J=x7g9 z)iG@rJqq8vU0m2WffqSDaDM>LCiY6pVfMr{bYCE9W627ev@l1U!<-ZNXf)bz@!@E@ zTR#Aw5-WQyJ#Z&@o-jOg-*cEt_w-iq^!SPByx0!ch6sxYm8uA++glx|cDUEy2S@ho zmV0_4R(sxI5-zOLu=l|a1CPc$b%fa4RLV@jZvlnicWihAo+Kuu9)DdH=0E^mi$uO_ zc{qArXkt#U%F?KSm10)k739GO_4L-zs`a)GCrX0$1mj*CCMq-m!S7TIetuqF+%W<3 z@Urw0)-(zAePI*)V;Ulz3L5YTo;mVTYR-ch5x|kq0g7LjFW*{a?02=cz?anFnc$_F zovlGCzw@M*;wtm<&40kGe=xDIpaA~*d(3E52t7TB?tHqZ4+7p70UQy^YX)2aHZGIk z4qoQzjjg7A+xjTsYi&98(bUuFB;a~vYVTn06BK+U1@HR>??8{nSe{U*I&F?ouNSd5 zKU~0LjHjDrLBI#r0Gl?%LGg!^lWa{+&Mp#(U|s#mr9a0rDqh}HemYyq>IfzNVJbyJ zdO<@s-?Z3@npr2n7A=%~JUz{pHZL}>O^-&=?9QDZ7#>sFiOS{A=XE{WdH70u=gY+< f(_yXeKLG{+(R8)k8HTt500000NkvXXu0mjfEH-%{ diff --git a/resources/www/common/images/icons/chgstatus_history.png b/resources/www/common/images/icons/chgstatus_history.png index 2d177bf2e15e7394d27aebacd3d94be7a9c9475a..191bc4250c5275578b76475be795ee3860c9262e 100644 GIT binary patch literal 4577 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 LNkvXXu0mjf^O(e+ literal 2746 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 A$N&HU diff --git a/resources/www/common/images/icons/delete.png b/resources/www/common/images/icons/delete.png index ade348306ef8cc35e4073b0f4d0c8578244160f9..dda3e8d50fb0aba0c05fac88c6b554fa57fd674a 100644 GIT binary patch literal 4198 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 delta 2304 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 a1sDK%MoLsj?`)L-0000<MNUMnLSTZ7DNytP diff --git a/resources/www/common/images/icons/feedback16.png b/resources/www/common/images/icons/feedback16.png index 530f0814e5a0617ac3c94110e24af86c0bc879c0..5af3da366a5f994ed7907161a76d1da2c3f5e6f9 100644 GIT binary patch literal 5120 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 literal 1683 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+m{l@EB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxSU1_g&``n5OwZ87 z)XdCKN5ROz&`93^h|F{iO{`4Ktc=VRpg;*|TTx1yRgjAt)Gi>;Rw<*Tq`*pFzr4I$ zuiRKKzbIYb(9+TpWQLKEE>MMTab;dfVufyAu`<jAm(=3qqRfJl%=|nBkco*&`K2Yc zN<f!FypUS}H#V;r8ce_d)2~P@&^OdG0C@?f(AO8g(%f9Q>f(~1RD^r68eAMwS&*t9 zlv<o$T9gcoxHM&uRRvbgMX8A;`9&f5`8lvq49LhY$uG{xFHmp}HdD~>O-#<r0|{t? zb@=*PdFB<DB<3Zjdb-#u0nO0M%uKN|H8*f}b9FX$ax*qHG;}qwv@kHYG%$2^b#^gw zb#k<T>2=9ZF3nBND}m`vLFhHXsTY(OatnYqyQCInmZhe+73JqDfIV%MiN!6J=7vs& z&SnNqZboL<-2%~@g4-=dINhQTbc{YIYLTKECIn1BASOKF0y*%cpPC0u??u3bJ!_*) zHZZ@idb&7<RNP9L?3)o1E^@s7`@a6l&!T5bCV561&+>Ys)Y_JHslS9PG|DTMLrCz9 z!Xu{`j=WtOTQ0b+)Vs5VThLs03#Z<qZl||SS)5z6u4D#YZ1rLfyi~I6n9AiNXO36D zueulFvr7D*&AZy~f6o8^bAIQlAAi&4Mcrm`J=n3}`Ny00o4A__5B|J5{q5D+7g`>- z75FTir{>H3i}%fCFMo|KDhAptMIH%Fr}?L8N9&}X)IYr0`($Rv+PNEjY_@B1{C%j- za(02?O)jZuzTAIJ2V)d3H5opfe4*pqMZWH}s&)H{yEZ?4-xlQeeMwkWxXXt&fu3b^ zOm6@FUYMHJm3_5)N%Gvc3A!_*mmMuxd#3Ta-NUzc>h|reYC89B-9?3fd^eW%sZ#_t zKMwh)`}ynE#Xfhf-Oc7XYKl%h_UDt$I_ASa!)N?WpK&|1Km7W^Lq_e&P33aZH_qLd z{AQ{4MAgTog5{H9)=#t8^p&Mnmi674sT<}<U6riZz;aT8RoC$5)v&A0R<Eti9z~f= z|F88i^Pz<NzLE)h)$N}>n!kC^jfaivHNr*uT(AAxf4S||rPzC?-!Gi-zhULe;5T=^ z2)>t-U;O1bzs!wY?JJI!v0o9>eJ0l1DRL+N?y7Z9xaaKoWZ9S>DD$Id;^W;jcGXFl zrEOfxuvYZE>eLxL-TYT`mOKzY_%1_CiIso0_ZgFS#V`JFn7?25_*?J&jaAj0&)x-o z&raHQ_LjvOUsjcv-`6`HXd4!kU(TQ4{e5F`g8pmc+KP2Y6a444PT&6c)r6bBOm6?W zul_K@X1$|UqQ}vz(*+NzUN7?3Z{K>c*t|Z)xvE9>=k?o%h0lBMJ>{XDIzh+x@{c)t zO*L=E2F)u~Q`xa((Q%Qpjo1F=PyN}taP?D(x`fG|P0zPPt7fr$3f-kT`DwTROd&0q ztX9QcZ}*;Qm|^y(M$Pu)wFcjHmzBgWukp;Blr&?y0IQ+%oz0PxJ$!FO@wPs!U$%Zr z;1aXhWq~}u(h8W5?wl36VeSU&XA&{dp-Y;$i|X%4d=5?sle?|V$i@)G$f<q!z*S#R OHR0*%=d#Wzp$Pz(v8Go5 diff --git a/resources/www/common/images/icons/icon-video-editor.png b/resources/www/common/images/icons/icon-video-editor.png index 724088015a26ab14688987fbeee668efc0bf3fee..3798baaccdc962413a2710dfcfdd401600955e92 100644 GIT binary patch literal 4823 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 literal 5578 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 M<lo9cWK6^U1seCZ(*OVf diff --git a/resources/www/common/images/icons/imgtools_history.png b/resources/www/common/images/icons/imgtools_history.png index d8778ff91a8ceeb22239eb62632d577c7df002a4..7c8680f746713057a9d22352befa7270707aa544 100644 GIT binary patch literal 3766 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 delta 2594 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 Eg7?GO<NyEw diff --git a/resources/www/common/images/icons/ppen_history.png b/resources/www/common/images/icons/ppen_history.png index 1fd93e2dd5009a163a00db27e1e525b76ad57dc5..efba208714c304a439e58172b3e1bccff2855bb2 100644 GIT binary patch literal 5122 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 delta 2109 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 diff --git a/resources/www/common/images/icons/print_history.png b/resources/www/common/images/icons/print_history.png index 139cb45458e7f8eb4aff323d4844a642273b1cff..e0f1f857374d3f8ca5b5f0731dd6373c02c811bd 100644 GIT binary patch literal 5440 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 delta 3994 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 A;s5{u diff --git a/resources/www/common/images/icons/push16.png b/resources/www/common/images/icons/push16.png index 2c762724c7d830a952b496ee1028b477ea153be6..ff1ddd46de49e3da0e7440d3e61eaf1d59bb768e 100644 GIT binary patch literal 3605 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 b;RpW@oS=xDf;E7U00000NkvXXu0mjffU&+` literal 2793 zcmV<F3KsQ=P)<h;3K|Lk000e1NJLTq002M$002P<1^@s6VKt(A00009a7bBm000XU z000XU0RWnu7ytkO8FWQhbW?9;ba!ELWdK2BZ(?O2No`?gWm08fWO;GPWjp`?3U*0E zK~#9!++2HX6vrL@X7<kK$DM7kd6b6?;pH}{m^4Xgn#v|^gh<=Oq>z?20ZWaPM3o9^ zg%pWCh#DFSqEI68M^Pj~6C@Bc22mwx^Dv=Q5vDvsN^l9-V8Avme%xVfW8ZFPc4znI z)_1<$yY&M`9`<f;Z+E_LzTazh529%rhP#DU?=57TGTZJ`k*!a44EI>bP!b@3R*234 zPh-6##n&#e-oOcAy@vOpB*t?B7-$Z%lJzRq=XrG6)2#1gy_%8HFe(XP!1*k%X8nmF zR_y`Sw=yDXMg;)^_&V0hhuM4&^Xq0xMA`%hsc#*I8F!+H)#;iBO%r^Ta8e@;9%2lq z#F&Ow0m7^ESzn3K+1?Op=<u8X0lvmV&puR*M~n)mBv6Oo%S3D*?cgEC*dWH7IRWBC zeC7*q=QKXn8Yd(SY63#`4R;uLxpngFb1-wD4s8BT1urY1FdY-vdWYD&6Q8iv6#*iq zuEgEbRwm062Ka!x!0ui7gG370c^85={lU&b6(9<mk4Ac=&z4TXf|=tnXG#Gg-F>M2 z?{#cHS&!>IeO{b?p<F=uY#**0N#I{C$iw#K52CDeT-^R|&7Xwl9={ix_MXCKMnr~f zomilWSHMWm{`hP^{<UTiCKTlkKKeImy&%C-f$RgSMsoIFef++Z;CWlKtV|~>!&VjN z1cm1x(XjW}LnV%m%ggoSXJsXsUT&qC9MRD*`%jjPcXj;y$ssQ;TO|`vc_+oQATxpD zmZnTkqhqE*3gsgOhI{^JD`va;&bcp|K*A9ew_eZW(&ZdG4})bR1%Au7=VJMHW+5-f zol`sZX#;rd(mFelmz|BSP=2~YDD%lNaX4*$<BA6zd3}4UJ>GyrXD&jc6oe3Dx3)rK z+gri3{6fXBDuBy<L*;xuu}P=Z)ivY!4f}M!96aA@U?jA)p(hZ4>d#6`0n<i<+#``5 z?Am=4XD>Ek?W*r#(xk$;&pxO*hu`gbA2)h$v-B+no>0PUK|^6n3pyuEK-3)x(@1dD zo{Vn|{c`?vJoCsb%$RBnx{KxShfiL^`u9G=%)-2sa{utdvv~Q>@1njVqR*^8vN8FX zT3nz5J@UmBeGAd`*8)6$%|n^K&*wwi#EI;+^VR;02;dpn{;G!u<nB(}wQC)C@%Q_6 zfcjwcS%m?T10?2awqZ7}37}Lb0Xk43jt4c!A$~t@6pwREf-lqbH68G}+~4{qHdh~o z$$nDsroF=etSesZ<IQk}f&})t7FAKu-j0s3MMF!#BNGZ8r>}|R-oWIpiA>D2XZ~k` zw@aSyr_z3l1pO_IJ6`GUM_wfCC_JW3!1w1)aWD7v`*2j)vnI{D3ErAj2@E7>r%Lut zWOYzeHNp&dc<k*(zwZ`$a|RE!G+hGjpXE;aCV15jUIt>mX0n!N*>rZqB!|l2Y5XzL zd2+hDq1?VbGz9RK8dr@NGnmZYW$<=qM@;aX7~$-|kCTYf9U_f^SA{ZiyKjN?_jyl1 z-4%CFt!#hgCwT7BuL<xZA$S=Kwf0eq7}?p$Cc=GyIrAztRH5=NzMI?A1EQ)4$E9Q~ zShg^oWT>gF3qM`xyod<|e0cbw*;w?z95i0Ij?3*4!|5flcaV6S)&x*cJNVeFn}kJe zWO5bJXcQ{T6ChM5+F?!rFAGcE6427yhZ)q5xigAfeXqDUh$V~Xqa;5cwP!D*n}scN zu+(PXaq(T)yPY6e@;Z3o6I7uBPO?f2(;=#6kPvI9IRT~V7DNZnH)CFI4rZ5(NgD6@ z%qME4b0*@)i|>OLzKz=Y=0TGieb!AApz$h^?VSVWhZyoVW;!bThDt<kp{dXm#T>>S zPC!O0Li;|yhPqGA1D#zc$j?P6l#SZjdQ=}efz_Md#ykHwgBg>?Ve;g{#AfmJnfUJg zvvH~Zf4J0f)0*k>nUhg6HlL-$At-ELJ5!wD52)cN1!%(=5@VM2nO9<}5ayx^wWuP6 z)*Ud_-QP?4s&Hua-i+&kqN|Odk(&vV8-DTS-?$equ3D@Ul&l?i=M0*zcjD=#4<MKq zi2Ll{r>|noj`wkqk)#Q=$o8&E_HNp~Dmhox{0_vH5f$F{BVrOzjSQdnA!-yw_4O>| z^o#U12Hp&7V{@|ci>2Sh(?490)-`T+-NrL7{T0WX+hbu>Y*k}M4bLyk#55O`#Ij72 zyrAFr_ohESwa5&E)tM?lV~loAnHr1lvL~j7Y};5VyLNXCmb~yfj-R;fel0LB3mcz* zR0kL}<!w4UVeiSntCk83bI9>2)p8!d-*je5LSG<&{_*1z7c)|PKiPZ(%U<4twHps1 za<kXfHD=vYgen$FE%4&pQOVv-r>DwJQl!epxM(DxD0?gd#2wR&Rlr-vn6W@8I54?M zP|WN;R)>lgcHrQ9pSilmS4zg|Qdi?*Jr$0S#(~$Y0!u^`=(GQ~&tIu*vuA?qyjuNf zn=lbtR@Q)(8&$+;Ifl0}@4mn0Kd#RI<>|$iv$H}Tm7SgN_EvgrCQgQH3i^~^4M>H> zla`0QAb{I^=fp3uJkyYT!eWNTlAEy0yS`UjBZdM*VwA|)$@UJZ)TWAZ^uiyOTu4?6 zcy@;<$`sIDR2-}5?8OX;6*DJW+L(uT?hB69HH+Av*xt>!PYB|`^S42Tu1H!82^IXw zD-!rpwH6G<6*ENGslAwa^S~)*q3~88-a6Z8rM{``-2~77{64z<%BCM&OjQl8^CBXc zt$i$Wih(Svn9(SSD}YR2@Y+XbaQ@<rl;>N!;|R+N`z`P>dq+ZhH%VasgmV?;*D1?k z5fMDQSIE6{`xsU*vHV+Jys#HDJk_n-co2s_X-IgU=GHD$ZFm=Np1UF?L2`0K2iUun z^|5W1LMt0LKG{AXflKzFB+Cx@qh+hSA|k8%7DC~0%pPgXQ(MK1D1@f78eqkOIb!C3 zvsc=&>s+Ii&&wHIO!5QmU5hQiyc*uJ?B@wH*c4BS)_8g2G!*WHzqeP+JmTv2Sk4~H z=jHs~4S4Ilf&SyjmSyGXt_X2cIPDbykx)LOeqYkX3)NQ4Xx3^kKaR#byEuC%c6&F$ ze+o?-w8lyKxV-0&$+Kdq;AWUz*vQ@O^}DlTCO*UoD3-m8w+uYWQ$05C==TC%lfYMM z^~K6Wix*NHw-+-`?A;A`$BUxkL=|3Tiabf`Wj)F&$V9~qA<2uGMD}h2|FKi>jukLe z(ILQ8Kvgy6;)NVFOob0{c81MwV-C;N*wXsdn0TgeCsO|kG{wbL_<KYOJjmjO9N&}J z`(;K^6$^E)pL0y>zJPehuq@NGna_M5%M#rbGiL4}dHQYagL&zIPg?;tHB1xfbNbI2 zM*E>eRaeQ4LdjqJg#5O3^V0gvROsDLXH6n_?%@7ua~2-C4&sX$#3wg|gcU*#GT^_- z6u9RE*vP07L{zvUBN`nT-w6%-C^^D_zs*3u?)6y7Q2+k{;+I<$i2ZziS~BO!FgNB9 vH2D;IDM0DTLcj9CiS<t$8_MzhUw{DsI2Cp@z1)f100000NkvXXu0mjf0(xoi diff --git a/resources/www/common/images/icons/rss16.png b/resources/www/common/images/icons/rss16.png index efe30848d4f4e77d95d9bd0f1d0404051be68c1e..6da8a7d79c6dc57654d2370c3880b09dbbfc7c26 100644 GIT binary patch literal 6965 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 Hu0mjf($!vI literal 3433 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 LNkvXXu0mjf2_|88 From 45a649245fb66bd584f543f0317c5c2aa9970fed Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana <hra@esokia.com> Date: Mon, 3 Jun 2019 13:33:59 +0400 Subject: [PATCH 42/80] PHRAS-2608 #comment remove custom link when user is not connected #time 1h --- templates/web/common/menubar.html.twig | 211 ++++++++++++------------- 1 file changed, 101 insertions(+), 110 deletions(-) diff --git a/templates/web/common/menubar.html.twig b/templates/web/common/menubar.html.twig index ac7001dbcc..84ab930e7d 100644 --- a/templates/web/common/menubar.html.twig +++ b/templates/web/common/menubar.html.twig @@ -18,115 +18,115 @@ {% endif %} </span> </li> - <li class="show-menu" id="toggle-menu-main"> - <img src="/assets/common/images/icons/menu-burger.png"/> + {% if module is defined and module != "lightbox" and app.getAuthenticator().isAuthenticated() %} + <li class="show-menu" id="toggle-menu-main"> + <img src="/assets/common/images/icons/menu-burger.png"/> - <div id="nav_menu_container" class="desktopmenu"> - <div class="arrow-up"></div> - <ol class="nav_menu"> - {% if module is defined and module != "lightbox" and app.getAuthenticator().isAuthenticated() %} - <li class="menu-bar-item"> - <a target="_blank" href="{{ path('prod') }}"> - <img src="/assets/common/images/icons/menu-prod.png" class="mobilemenu"/> - <span class="{% if module is defined and module == "prod" %}selected{% endif %}"> - {{ 'admin::monitor: production' | trans }} - </span> - </a> - </li> - - {% if app['browser'].isNewGeneration and app['conf'].get(['registry', 'modules', 'thesaurus']) == true and app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('thesaurus') %} + <div id="nav_menu_container" class="desktopmenu"> + <div class="arrow-up"></div> + <ol class="nav_menu"> <li class="menu-bar-item"> - <a target="_blank" href="{{ path('thesaurus') }}"> - <img src="/assets/common/images/icons/menu-thesaurus.png" class="mobilemenu"/> - <span class="{% if module is defined and module == "thesaurus" %}selected{% endif %}"> - {{ 'admin::monitor: module thesaurus' | trans }} - </span> + <a target="_blank" href="{{ path('prod') }}"> + <img src="/assets/common/images/icons/menu-prod.png" class="mobilemenu"/> + <span class="{% if module is defined and module == "prod" %}selected{% endif %}"> + {{ 'admin::monitor: production' | trans }} + </span> </a> </li> - {% endif %} - - {# MODULE #} - {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('admin') %} - <li class="menu-bar-item"> - <a target="_blank" href="{{ path('admin') }}"> - <img src="/assets/common/images/icons/menu-admin.png" class="mobilemenu"/> - <span class="{% if module is defined and module == "admin" %}selected{% endif %}"> - {{ 'admin::monitor: module admin' | trans }} - </span> - </a> - </li> - {% endif %} - - {# MODULE #} - {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('report') %} - <li class="menu-bar-item"> - <a target="_blank" href="{{ path('report_dashboard') }}"> - <img src="/assets/common/images/icons/menu-report.png" class="mobilemenu"/> - <span class="{% if module is defined and module == "report" %}selected{% endif %}"> - {{ 'admin::monitor: module report' | trans }} - </span> - </a> - </li> - {% endif %} - - {# MODULE #} - <li class="menu-bar-item"> - <a id="validation_link" target="_blank" href="{{ path('lightbox') }}"> - <img src="/assets/common/images/icons/menu-lightbox.png" class="mobilemenu"/> - <span> - {{ 'admin::monitor: module validation' | trans }} - </span> - </a> - </li> - - {# MODULE #} - {% if module is defined and module == "prod" %} - {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('upload') %} + {% if app['browser'].isNewGeneration and app['conf'].get(['registry', 'modules', 'thesaurus']) == true and app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('thesaurus') %} <li class="menu-bar-item"> - {% set link = path('upload_html5_form') %} - - {% if not app['browser'].supportFileAPI() %} - {% set link = path('upload_flash_form') %} - {% endif %} - - <a href="{{ link }}" class="uploader-open-action" - title="{{ 'Upload' | trans }}"> - <img src="/assets/common/images/icons/menu-upload.png" class="mobilemenu"/> - <span> - {{ 'admin::monitor: module upload' | trans }} - </span> + <a target="_blank" href="{{ path('thesaurus') }}"> + <img src="/assets/common/images/icons/menu-thesaurus.png" class="mobilemenu"/> + <span class="{% if module is defined and module == "thesaurus" %}selected{% endif %}"> + {{ 'admin::monitor: module thesaurus' | trans }} + </span> </a> </li> {% endif %} - {% endif %} - {# MODULE #} - {% if module == "prod" %} + + {# MODULE #} + {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('admin') %} + <li class="menu-bar-item"> + <a target="_blank" href="{{ path('admin') }}"> + <img src="/assets/common/images/icons/menu-admin.png" class="mobilemenu"/> + <span class="{% if module is defined and module == "admin" %}selected{% endif %}"> + {{ 'admin::monitor: module admin' | trans }} + </span> + </a> + </li> + {% endif %} + + {# MODULE #} + {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('report') %} + <li class="menu-bar-item"> + <a target="_blank" href="{{ path('report_dashboard') }}"> + <img src="/assets/common/images/icons/menu-report.png" class="mobilemenu"/> + <span class="{% if module is defined and module == "report" %}selected{% endif %}"> + {{ 'admin::monitor: module report' | trans }} + </span> + </a> + </li> + {% endif %} + + {# MODULE #} <li class="menu-bar-item"> - <a href="#" class="state-navigation" data-state="publication"> - <img src="/assets/common/images/icons/menu-publication.png" class="mobilemenu"/> + <a id="validation_link" target="_blank" href="{{ path('lightbox') }}"> + <img src="/assets/common/images/icons/menu-lightbox.png" class="mobilemenu"/> <span> - {{ 'Publications' | trans }} + {{ 'admin::monitor: module validation' | trans }} </span> </a> </li> - {% endif %} - {% if module is defined and module == "prod" and app.getAclForUser(app.getAuthenticatedUser()).has_right(constant('\\ACL::ORDER_MASTER')) %} - <li class="menu-bar-item"> - <a href="#" class="order-open-action" title="{{ 'Orders manager' | trans }}"> - <span> - {{ 'Commandes' | trans }} - </span> - </a> - </li> - {% endif %} + {# MODULE #} + {% if module is defined and module == "prod" %} + {% if app.getAclForUser(app.getAuthenticatedUser()).has_access_to_module('upload') %} + <li class="menu-bar-item"> + {% set link = path('upload_html5_form') %} - {% endif %} - </ol> - </div> - </li> + {% if not app['browser'].supportFileAPI() %} + {% set link = path('upload_flash_form') %} + {% endif %} + + <a href="{{ link }}" class="uploader-open-action" + title="{{ 'Upload' | trans }}"> + <img src="/assets/common/images/icons/menu-upload.png" class="mobilemenu"/> + <span> + {{ 'admin::monitor: module upload' | trans }} + </span> + </a> + </li> + {% endif %} + {% endif %} + + {# MODULE #} + {% if module == "prod" %} + <li class="menu-bar-item"> + <a href="#" class="state-navigation" data-state="publication"> + <img src="/assets/common/images/icons/menu-publication.png" class="mobilemenu"/> + <span> + {{ 'Publications' | trans }} + </span> + </a> + </li> + {% endif %} + + {% if module is defined and module == "prod" and app.getAclForUser(app.getAuthenticatedUser()).has_right(constant('\\ACL::ORDER_MASTER')) %} + <li class="menu-bar-item"> + <a href="#" class="order-open-action" title="{{ 'Orders manager' | trans }}"> + <span> + {{ 'Commandes' | trans }} + </span> + </a> + </li> + {% endif %} + + </ol> + </div> + </li> + {% endif %} <li class="show-menu" id="toggle-menu-link"> <img src="/assets/common/images/icons/menu-web-site.png"/> <div id="nav_customlink_container" class="mobile-link"> @@ -142,36 +142,27 @@ <div class="arrow-up"></div> <div class="nav-wrapper-box"> <ol class="nav_menu"> - - <li class="menu-bar-item"> - {% if app.getAuthenticator().isAuthenticated() %} + {% if app.getAuthenticator().isAuthenticated() %} + <li class="menu-bar-item"> {% if app.getAuthenticatedUser().isGuest %} <img src="/assets/common/images/icons/menu-name-user.png"/> - <span> - {{ 'Guest' | trans }} - </span> + <span>{{ 'Guest' | trans }}</span> {% else %} <a target="_blank" href="{{ path('account') }}" title="{{ 'login:: Mon compte' | trans }}"> <img src="/assets/common/images/icons/menu-name-user.png"/> - <span> - {{ app.getAuthenticatedUser().getDisplayName() }} - </span> + <span>{{ app.getAuthenticatedUser().getDisplayName() }}</span> </a> {% endif %} - {% endif %} - </li> - <li class="menu-bar-item"> - {% if app.getAuthenticator().isAuthenticated() %} + </li> + <li class="menu-bar-item"> <a href="{{ path('logout', { 'redirect' : '..' ~ app['request'].getPathInfo() }) }}" target="_self"> <img src="/assets/common/images/icons/menu-logout.png"/> - <span> - {{ 'phraseanet:: deconnection' | trans }} - </span> + <span>{{ 'phraseanet:: deconnection' | trans }}</span> </a> - {% endif %} - </li> + </li> + {% endif %} <li class="menu-bar-item"> <a target="_blank" href="https://docs.phraseanet.com/4.0/"> <img src="/assets/common/images/icons/menu-help.png"/> From 4550257d592e269d2f6a0933bcfa3a3390bbd895 Mon Sep 17 00:00:00 2001 From: Jean-Yves Gaulier <gaulier@alchemy.fr> Date: Mon, 3 Jun 2019 18:51:52 +0200 Subject: [PATCH 43/80] PHRAS-2614_This-query-not-fired_4.1 fix : "user settings / configuration / display on startup" = "the query:___" (always run the same query after login) : The query is now fired after login nb : silly trick to change ft-query to json in twig, so no need to change lib. --- templates/web/prod/index.html.twig | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/templates/web/prod/index.html.twig b/templates/web/prod/index.html.twig index a96ca70cbc..0097132945 100644 --- a/templates/web/prod/index.html.twig +++ b/templates/web/prod/index.html.twig @@ -264,9 +264,11 @@ <div class="PNB" id="rightFrame" style="left:auto; width:{{ w2 ~ '%' }}"> <div id="headBlock" class="PNB"> <div class="searchFormWrapper"> - {% if app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page') == 'QUERY' %} - <div id="FIRST_QUERY_CONTAINER" class="start-query" style="display: none" data-format="text">{{app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page_jsonquery') | raw}}</div> + {% set startq = "{\"query\":{\"_ux_zone\":\"\",\"type\":\"CLAUSES\",\"must_match\":\"ALL\",\"enabled\":true,\"clauses\":[{\"_ux_zone\":\"FULLTEXT\",\"type\":\"FULLTEXT\",\"value\":\"" %} + {% set startq = startq ~ (app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page_query') | replace({'"': '\\"'})) %} + {% set startq = startq ~ "\",\"enabled\":true}]}}" %} + <div id="FIRST_QUERY_CONTAINER" class="start-query" style="display: none" data-format="json">{{ startq | raw }}</div> {% elseif app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page') == 'LAST_QUERY' %} <div id="FIRST_QUERY_CONTAINER" class="last-query" style="display: none" data-format="json">{{app['settings'].getUserSetting(app.getAuthenticatedUser(), 'last_jsonquery') | raw}}</div> {% endif %} From 6fcf1649d4c404de4df98d6eea75152e0d3f6649 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana <hra@esokia.com> Date: Tue, 4 Jun 2019 10:11:46 +0400 Subject: [PATCH 44/80] PHRAS-2579 #comment update embed-bundle version on composer.json #time 0.5h --- composer.json | 2 +- composer.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index bc207d2612..5544d5b8ab 100644 --- a/composer.json +++ b/composer.json @@ -47,7 +47,7 @@ "php": ">=5.5.9", "ext-intl": "*", "alchemy-fr/tcpdf-clone": "~6.0", - "alchemy/embed-bundle": "^2.0.3", + "alchemy/embed-bundle": "^2.0.4", "alchemy/geonames-api-consumer": "~0.1.0", "alchemy/mediavorus": "^0.4.4", "alchemy/oauth2php": "1.1.0", diff --git a/composer.lock b/composer.lock index 614855691c..f0ca4b3e73 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "de1d9335418b121d0ede26765b0a9e7d", + "content-hash": "a40bfa0aa6310530dc0c92b141b21305", "packages": [ { "name": "alchemy-fr/tcpdf-clone", @@ -131,16 +131,16 @@ }, { "name": "alchemy/embed-bundle", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/alchemy-fr/embed-bundle.git", - "reference": "e02e25a04911210eaedff0adb9cf7589010c473b" + "reference": "b510748686c05c0c1d59b7ad15e2c1098abafc5a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/alchemy-fr/embed-bundle/zipball/e02e25a04911210eaedff0adb9cf7589010c473b", - "reference": "e02e25a04911210eaedff0adb9cf7589010c473b", + "url": "https://api.github.com/repos/alchemy-fr/embed-bundle/zipball/b510748686c05c0c1d59b7ad15e2c1098abafc5a", + "reference": "b510748686c05c0c1d59b7ad15e2c1098abafc5a", "shasum": "" }, "require-dev": { @@ -178,10 +178,10 @@ ], "description": "Embed resources bundle", "support": { - "source": "https://github.com/alchemy-fr/embed-bundle/tree/2.0.3", + "source": "https://github.com/alchemy-fr/embed-bundle/tree/2.0.4", "issues": "https://github.com/alchemy-fr/embed-bundle/issues" }, - "time": "2019-05-23T15:23:14+00:00" + "time": "2019-06-03T13:35:50+00:00" }, { "name": "alchemy/geonames-api-consumer", From 48bd30ab9aec11cc3560d3fb2157ba5ad7e320cd Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana <hra@esokia.com> Date: Tue, 4 Jun 2019 13:09:45 +0400 Subject: [PATCH 45/80] PHRAS-2376 #comment update yarn.lock --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a48c1808f9..28d093ec09 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "normalize-css": "^2.1.0", "npm": "^6.0.0", "npm-modernizr": "^2.8.3", - "phraseanet-production-client": "^0.34.15-d", + "phraseanet-production-client": "^0.34.16-d", "requirejs": "^2.3.5", "tinymce": "^4.0.28", "underscore": "^1.8.3", diff --git a/yarn.lock b/yarn.lock index b1a1a03542..2add336009 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7560,10 +7560,10 @@ phraseanet-common@^0.4.1: js-cookie "^2.1.0" pym.js "^1.3.1" -phraseanet-production-client@^0.34.15-d: - version "0.34.15-d" - resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.15-d.tgz#58335ce4747e00b58d2b31f1e1f61c4e9c0ebfb0" - integrity sha512-BQHPj7tO285KawxZh+M7ki2aKKqFil+pHxSgdFXcpPmfHqV4vyew7h2QL4XL8E6fu18tKIxxpQ6k2EDrKeCO4w== +phraseanet-production-client@^0.34.16-d: + version "0.34.16-d" + resolved "https://registry.yarnpkg.com/phraseanet-production-client/-/phraseanet-production-client-0.34.16-d.tgz#981927b4475927f83a7bde98d704ec57686af189" + integrity sha512-Jvapwr63VBYcYlcMQ3OEV3jcCjmWYCt2EtFFLX8YRKQhf+drT1JfERj069lDTtoc3fSGAz5MUaZF/R5EvPDY1Q== dependencies: "@mapbox/mapbox-gl-language" "^0.9.2" "@turf/turf" "^5.1.6" From 3b120fb020750942344c8f4deffa3700ec311228 Mon Sep 17 00:00:00 2001 From: Jean-Yves Gaulier <gaulier@alchemy.fr> Date: Tue, 4 Jun 2019 12:07:32 +0200 Subject: [PATCH 46/80] PHRAS-2573_last-query-as-default_4.1 - set default default user settings to "replay last_query on login" - set a default (empty) query for first login --- .../Phrasea/Core/Configuration/DisplaySettingService.php | 3 ++- templates/web/prod/index.html.twig | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/Alchemy/Phrasea/Core/Configuration/DisplaySettingService.php b/lib/Alchemy/Phrasea/Core/Configuration/DisplaySettingService.php index 572928a38d..104230411d 100644 --- a/lib/Alchemy/Phrasea/Core/Configuration/DisplaySettingService.php +++ b/lib/Alchemy/Phrasea/Core/Configuration/DisplaySettingService.php @@ -41,7 +41,8 @@ class DisplaySettingService 'css' => '000000', 'start_page_query' => '', 'order_collection_by' => self::ORDER_BY_ADMIN, - 'start_page' => 'QUERY', + 'start_page' => 'LAST_QUERY', + 'last_jsonquery' => '', 'rollover_thumbnail' => 'caption', 'technical_display' => '1', 'doctype_display' => '1', diff --git a/templates/web/prod/index.html.twig b/templates/web/prod/index.html.twig index 0097132945..6bb9bb39c2 100644 --- a/templates/web/prod/index.html.twig +++ b/templates/web/prod/index.html.twig @@ -270,7 +270,12 @@ {% set startq = startq ~ "\",\"enabled\":true}]}}" %} <div id="FIRST_QUERY_CONTAINER" class="start-query" style="display: none" data-format="json">{{ startq | raw }}</div> {% elseif app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page') == 'LAST_QUERY' %} - <div id="FIRST_QUERY_CONTAINER" class="last-query" style="display: none" data-format="json">{{app['settings'].getUserSetting(app.getAuthenticatedUser(), 'last_jsonquery') | raw}}</div> + {% set startq = app['settings'].getUserSetting(app.getAuthenticatedUser(), 'last_jsonquery') %} + {% if startq is empty %} + {% set startq = "{\"query\":{\"_ux_zone\":\"\",\"type\":\"CLAUSES\",\"must_match\":\"ALL\",\"enabled\":true,\"clauses\":[{\"_ux_zone\":\"FULLTEXT\",\"type\":\"FULLTEXT\",\"value\":\"" %} + {% set startq = startq ~ "\",\"enabled\":true}]}}" %} + {% endif %} + <div id="FIRST_QUERY_CONTAINER" class="last-query" style="display: none" data-format="json">{{ startq | raw }}</div> {% endif %} <form id="searchForm" method="POST" action="{{ path('prod_query') }}" name="phrasea_query" class="phrasea_query"> <input id="SENT_query" name="qry" type="hidden" value="{{app['settings'].getUserSetting(app.getAuthenticatedUser(), 'start_page_query')}}"> From 82c19b9e2f7455b38e37ec17e4d7fb7b9ed3894c Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana <hra@esokia.com> Date: Tue, 4 Jun 2019 14:53:15 +0400 Subject: [PATCH 47/80] PHRAS-2386 #comment Refacto picto comment #time 1h --- .../common/images/icons/file-edit-hover.png | Bin 0 -> 933 bytes .../www/common/images/icons/file-edit.png | Bin 632 -> 1007 bytes resources/www/common/styles/main.scss | 12 ++++++++++++ templates/web/prod/WorkZone/Macros.html.twig | 2 +- 4 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 resources/www/common/images/icons/file-edit-hover.png diff --git a/resources/www/common/images/icons/file-edit-hover.png b/resources/www/common/images/icons/file-edit-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..376590d59cec2d8a846587c7aea835e689e298d2 GIT binary patch literal 933 zcmV;W16urvP)<h;3K|Lk000e1NJLTq000;O000;W1^@s7mv9Yk00001b5ch_0Itp) z=>Px&Ur9tkR7eetl{-%xK@i9H&c+X6iYP^}gh^p4J`U6=p`!po0ipvEfekcR0*NMR z;Ts_$UP=TVvaxLZxXf>Sb2^_5Vx+m*o&C>aXJ_|3=bV3heB2Z1(!#k$qv3)ea6Xz; zD&>6Ncb-80%DgBm6~EW(6<1bPT({fZ@IB9S`}_M23FQtC4+S-#=jZ33TCE0n_C@7( zc6OYYtK)1o>#)fP7egsRso|}zuI6WFXPc%$iY}c-St^y>;^LyN9UL4W3&d~>3k$B_ z?=y6-udj#+U0}4kyQ^DErw1ziRw@<EhWy#8P(W6ng+B=ocI6xudSa43Iy$-+In93H zB;g5OTU*QHFC&v_k`je$wOS+GZnw24f}M<##VbZcFv*xBF)0vFGX@OR>vatc2xg~q zb91UAB?yC{*=*L>?fLn+;~X-XOvDcl4=$I>sRP0GFiQzf2xr5wRYj%|QT2{+TMeX2 zKPBWwv^+ZacXxMJmd<Lk=?TDW%s7dc_2SIT%pcL0FvtR=GRw=$Zfa_32!C;L;cjnl zInilZ&;w7I=aZ9@s7cIfb92+t3SpIeBIqVDqGPwVwiL^JZ*Na^jE$m$Go^v>2-_i= z!O+2lVHIc&%y7hjg>t#9?P{lte0g~>tV)ewUT$t~21+^gu+QD;>8Xw_I(yK&1AyMa zYcd_cw2xr*q7-C6@$<q&9M>9L#D;L42yJ1gB|KCF)rwb<+%|Ag^ZD|u{E)Q11G1Eo zW9Dy>?U8k{udc7JbD(`Ppu4j;$FVWzWlRIW^5PA#>A^9!GnQZ^s<*`gaD9{r0Fb`r zA?tKH`d0B?B?F)Xv$V9NYw;lB44)}$Rjs9Ek1P}l?&|7l5H<V~I8K!1`ubY2IET<- zFGOX$sI}1;g#ewJ(|B+eaAa)G(Z_9>j}2fzz&P37-bOV-{8FG~@HlX60L#pPII>`t zAsExytx4Kp|7L*8%S*?<k_RfDVLSj1dAY%I<K7D(cEO_nzF5}0a%X2}>fChiNdmAF zf(ShdYe#U>urJ;4Ykqz{FZche04D)r@KFxmj3;>`e%ETXZ?ZFPdY5pN38ruP?K9RE z6FKhP5cLSrm-a+-Wz5^cZ$|@g2XF*4j?ZQKVX`2U2G;q1yL$Jm#awMJ00000NkvXX Hu0mjfhLN=< literal 0 HcmV?d00001 diff --git a/resources/www/common/images/icons/file-edit.png b/resources/www/common/images/icons/file-edit.png index 3dc496494614f5b4881da3674f8677bee6694cdd..3522e518b34329bd8c5eef457af32b8ac93a3a91 100644 GIT binary patch literal 1007 zcmV<L0}%X)P)<h;3K|Lk000e1NJLTq000;O000;W1^@s7mv9Yk00001b5ch_0Itp) z=>Px&sYygZR7eetl|4>dK@fn~|34&HF#+2}3Ir8(&Ok>?gMb614FXJw2uP%%i0C)~ zhd`WxA`%odMj<vf64;h8*nXLB?0H%sC>d$q%+BA=%+BtMIOn4Edc7~y#Rb#1x3{j} z@9V<F<8c>_MqNZqeu=guntgYDeH|<>F9%mwS3#s&tp?3z(`B<+7a>5cR_m;-tqJSg z`1rWn+S*b@R@~b6_xJAU=}7~Rjg6@yDTXCMs6opeA0KCA*T6^7#vFpv)6-yebycxa zsRW|Pk-a-QI)W%XJUl=Xs({<r*l<A*xJZOVomLfeIvv;Tc2!8J)6>%*QBMedz(^3F zLp2uho12@8&?2D*gMo&WwF03*B27+CW}+fZil9hK=?blCwOUHy!FIdt9v>eGFcv0j z(b)lKs71z-wLpX&6j0`JIo&!Ii@8K1p>4jryi`Z@0N>2{`T2f6pZ`K+kljEv5JLih zQ&UrU9AbhA!PJN!hLVK`<ntuhRR@`iU5PN91JBB1uTM@+W)>G0)gdkC+OeYjba3zr z|1BwfqDv`^$bDyL$1ztv$auQBxj7n86nUJK@-mqXhL7X6qH!Yn_V%`7DwT4@Vo}dQ zi?m%Z09cpHW$nLz`p*sy!_Cdja6GIYs6lve2uQ&W$Y1-i&;jAa#f6?UH<XiR;5dDA zRw|zfnbx{rG|rX=PB<r%NmnQov}m0wq5^(_ID(9YJQ6=d9nhh7g6{=0f~2Tj6Y2xA z-4bjPwmZ^rJHwhrG6*f=wqe&N8p9Wr*W;Vy`c?Qa|Cc=Lw}8|QdcEHFQmIsy^#Ca^ zPg3TuX^nwe?M87nJv?ARtv56jWG&a9wmedzT_1cjuw<Zfdv<oF<H%bD@(eJZAUrZ` zc6WDG#!2E!QUYAb7(Jy5?Ijsn_IG!8Zf0gCob{L4i;u$W?5x9<I{}bARS1xHBphud zfNe5d4J)!X`8sP0)Zg5<A;zl>EU<65x3_2FXLNmiUDsyoZ)Apl-N3TL2%g`A@uU7~ z8!R9;rZ-*%@_Ds^1z%ZNaR&zn`aoGAoQ$_X{3(}~mh^Vn1ep$dw$2Ljd;KYj0s+Vp z<lwCT7{3JsBsf=ibih@4?B>M&f#YVT`U?vSpXJdwlz=r1c?)<Tcp1~_v{Lw&XgX|V zqgtcUIGmrK|4d9`Qvq!PnOiO$ypEXAVRMD~2k<=D6VVf%w}szMj{sBwHQrx~_`kt6 dp(CKK{{U7fFg3_OO)>xg002ovPDHLkV1m2A$pZiY literal 632 zcmV-;0*C#HP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00004XF*Lt007wp z+_KsN0006nNkl<Zc$}4yJxo(k7>1v7d)w1qDuz}UlRB6f1`}fxe-<r+gR29n3_2M* zVO&iYT}T6Qa?l_;7*P`wO*GLB7}N+7F(9q@gDJ+428yXPExq@idmMmLD46&zC;86% zJ>UDCBih^B<K5lez2$Pb%&L@9IF92h6bg&!boyF0n;mD9?4D%GKQr;2L?Y3lw@|fO z)%kp0XEK?^wzjr-ee=-h<oPedFZ4|3feVJ`d3rNlDMh7Hp;#;ujYeAr2M1prJrO?x zpvR6JZVe9IyZL<d!M;aR_l?cX06w1&DJ9`>7~8hdT8Hl5>3?|n;;FMp<5^(z%2cG( zp9I(v03fBLxw#o31i9It7zQmpsrXa-)0pMQOI+`pD+8F@0fZ1(RtO;k(u&fw{Dh^U z9`Er>-O)9`^qOzm1S=2&%d&_BCXtz|e6>4sT?4$S_xuw8fSbd8e-6ignw`f}0OCIY z%eWJlD9>BSlYRVIDmDOWZ=iMkZwiC}{Ub$b`Xeg-ns2#z=6=mKjHm&WQtMTpiC!3{ z^6nP-*lm8#RSC;wB9TZVz;)e~RaZ}8_)w(<7T$iK6urSx=n#<|0b;Qjj`Ml@1Zx1p z6l5pIiS9i{)9zMw`8Adm!teLjJR1N?DO}fGzjR&p>_14zY68zi2!ZP=9LL$X<{BUn z2nf?O2?m3;qGeflo>w0bDJ4=$(Eu138ObD*$+T_Tb_2fNXqvu4p-=!e#P|zz!}v|y S3y^&P0000<MNUMnLSTY-q#3LL diff --git a/resources/www/common/styles/main.scss b/resources/www/common/styles/main.scss index ad1e9e34cd..f8ec587305 100644 --- a/resources/www/common/styles/main.scss +++ b/resources/www/common/styles/main.scss @@ -38,5 +38,17 @@ $mainMenuLinkBackgroundHoverColor: transparent; } } +.macroFileEdit { + width: 24px; + height: 24px; + background: url(../images/icons/file-edit.png) no-repeat center; + cursor: help; + display: inline-block; + transition: 0.3s all; + &:hover, &:focus { + background-image: url(../images/icons/file-edit-hover.png); + } +} + diff --git a/templates/web/prod/WorkZone/Macros.html.twig b/templates/web/prod/WorkZone/Macros.html.twig index cbb022a8d3..7affd9e30a 100644 --- a/templates/web/prod/WorkZone/Macros.html.twig +++ b/templates/web/prod/WorkZone/Macros.html.twig @@ -397,7 +397,7 @@ </td> <td style="width:25px;"> {% if choice.getNote() != '' %} - <img style="cursor:help;" src='/assets/common/images/icons/file-edit.png' class="noteTips" title="{{choice.getNote()|nl2br}}" /> + <span class="noteTips macroFileEdit" title="{{choice.getNote()|nl2br}}"> </span> {% endif %} </td> </tr> From ee221c729648817184ccf811017b1f6ad76fba3b Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana <hra@esokia.com> Date: Tue, 4 Jun 2019 15:47:34 +0400 Subject: [PATCH 48/80] PHRAS-2386 #comment Port41 of PHRAS-2344 #time 2h --- .../www/common/images/icons/green-check.png | Bin 0 -> 579 bytes .../www/common/images/icons/no-response.png | Bin 0 -> 1301 bytes .../www/common/images/icons/no-valid.png | Bin 1502 -> 1269 bytes .../www/common/images/icons/red-cross.png | Bin 0 -> 479 bytes resources/www/common/images/icons/valid.png | Bin 812 -> 1311 bytes .../www/common/images/icons/vote-admin.png | Bin 0 -> 1186 bytes templates/web/prod/WorkZone/Macros.html.twig | 12 ++++++------ 7 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 resources/www/common/images/icons/green-check.png create mode 100644 resources/www/common/images/icons/no-response.png create mode 100644 resources/www/common/images/icons/red-cross.png create mode 100644 resources/www/common/images/icons/vote-admin.png diff --git a/resources/www/common/images/icons/green-check.png b/resources/www/common/images/icons/green-check.png new file mode 100644 index 0000000000000000000000000000000000000000..481800b2a366d777d45acfd14d09f26266b6eed7 GIT binary patch literal 579 zcmV-J0=)f+P)<h;3K|Lk000e1NJLTq000;O000;W1^@s7mv9Yk00001b5ch_0Itp) z=>Px${YgYYR7ef&RXa-qK@i@#cm(U<qtHTYyTk}$B?|t4J1vA17BLs`2iRHZKgdM| zMQx0iMiD{5N9h*$_BA{fC!@ChMz&P4WdcdSX&N^pwI&Ntu8-0sY77!ygxRGc#I zE<~&frd#S`#j3W_P4$hEqChp?Z+%oFV+~JGo^l}q<VLx*_*N{W<9UDaI=A_QkMh?E zBv`&kL|&d=ACPpb#q;gtmb{z;XS#vgc*c1mGk|AKCZDf@ZYj3oR4@ohNiDj*z>^5| z;;GtHe+Pvr{x*n1SqP4RuMghsWi1sihtuN4XzdH|HVzwN5J3(@CuuHj<8)KG$LrP% z06lmwwviA)=N@)>fRjnP6#zm>0+4)!DnjcZnJ_mX)t%eG?5hNl$l-8#*gmZ)zc?1V zcsjFHDF3b+C*bzE22bdoJ68KjHd_Ja$Sf4nv}kTCNOYfwpre+ZvDCGa?TiqQ-g_w7 zSyXLgd*$0Zpcm!6#LjU-n|LAsc9@D8{Wyo8|1I2sT3A3oQAU}~=Fwfmh(x;E*rb@O zsgBspS@Xm*Ns_cwY@NPdD8d36Q@z5CcT^&vfM0or*J_Ys82BVf&@~=2Za5~=!U9Ch zn#z>T*o-&`cC@%LB=QBZFAETH`*JdT{dl*JUF_w7c=^Xt@%$3E|Mjm=-~)l}s*I>D R1T_Ev002ovPDHLkV1nh~2Q&Zx literal 0 HcmV?d00001 diff --git a/resources/www/common/images/icons/no-response.png b/resources/www/common/images/icons/no-response.png new file mode 100644 index 0000000000000000000000000000000000000000..a0e448c614949328f7d6bc4bc00902310ebafcc3 GIT binary patch literal 1301 zcmV+w1?u{VP)<h;3K|Lk000e1NJLTq000;O000;W1^@s7mv9Yk00001b5ch_0Itp) z=>Px(&q+i<R7eeVRefkxWf*_XIrnp4&Mmhz3tA&9CZi7mLHhVZapZK#AQd9!nq*k9 zMrMKaM^J{K2;ri&Nf8xdL$_dS4uS{@{3C`%X|>48t&e@U>+bHo=bm%={hoW?+h**6 z=RVK-p6C1Hy^a9d2CnW(-dOXq1wPg}vXGr~Es5X|r1FkfHt$8Oy`On0QmbP)ALP<0 ziItR#y)ZNRjuVMV&z8s<3i7KT1OZhPy!6~o8(e~?!1v^?ij2}o>57k41NTW_H82KD z1E+w(k50$1d#Ph6_Yrtn(aRWoWQ`BYvgkZwKRJ~9F7SQXUgz;bLV=|1Wz!cBw)B6W zleV*Sv_gp5CtE7pscuK2;zZ++(NweQ7!oUi6+j<215BB4t@@^>=)=zqW^nmG@bkH2 zy<1COzz1I~J$~xS?nFh+`wWNyK7YR>H<#OT?7S<#(I(u6StOWa48q-NRuw!s^5r!t zMQKv=8S%aRVvk8G1pUw6yH0Ou$#%qcqI#UpMZmL_5c2ZBk}xDH#ewCI9{*}b_3ig{ zGb{qbfZ*lc=8}y#vQ}v-5R4+t(L5>dsOg62fvN{k{b+6IJQ{D<yuS}&Z4Cl{BA-jY zdUD%}Q}|wR87ipt_D|DC>`1JW+SkM9$D0#B4GqzgdT`o4nQG+>nL${r5O$Jtz&u?h z94QK;thGsBPHb|dtpN!md1C~<dJM8Q6$&*3!;d@fv}Nz$oUADmSrtc~xFf{NZ+Hd7 zQ4e|({v7=}BaOAT#2t}8=e?o_%d%G+1yfqBI~(T(w!Ac&!r9h4+RA6HjgZoV&n{|m z;mow(lhh7d4&305FmT|(XFy;InZNr;VgoM~AkcL#qa$KGaDS&RjdAHbRREJl*=`B) z?qwCi{4g|H|L5ZQeIM*vdk8WdeNUSPhNHk0E&;OMkQSDQ%~}A`dKRerKqVrDSYjeQ zQ-QNhB~p&Zl3BvJFjJs*``J{B6H6Y3L>)gY2UZ~CUT)!F@AmRDkWr(c=6zBJCL)ar zGkAEp8C=eZxer(WAkMl8bVQ>}&sn!^PvU`nZ;zpxx8htJ2=Zo{9E9sJ#;}z|s#i1x z2>f5Z=zgm4;y_=q30lWJgY)m<8EaLUa6D-kYbS3!6qU-jCFjOn43S7veN?iDv1>Fd zE+%F1Oi|x+v#0x-OP>Jivb)+W7;oaoB80}dKrfD_^;IXozBZx`QdwWJc~7?~KoQJV zQa`lCz<u+Q*!X*x#H`&`bf8S(bqrV%;DL>0QePdBuHjjk#ZztGx1~C)k~fJvmLAJg zfM9Oo$2UX1Kw!|~vO~nikaN%j4B3^GFIQbYq-OY+Mo;C?mQE5o!~ZT~qV>c#Ei3ER z_kdT>x5bpo!%M*F!&$d0bbfvPXT~pdoPPRljx3v;qXYJUrJ|E~vZ^Y%<E^nnB~`0C z{&T=!3dX^NQ&cD)OGhW^>4~2H{f)0JOiyz&xs^F!o(_mQs-VV^W))wxHo5ub54Tj_ zbjPM>vaA7Rsez36dG{|jGym=EA3vNMd42bA_V3?mlm-oQler7U)dyePVrFErGE>I0 zHjRP+ro@e)5h4v5qdbQx7mVVpz)TD*&dg-E_&eo{lf{(00p<S%f=22<TnoF700000 LNkvXXu0mjf=)`n* literal 0 HcmV?d00001 diff --git a/resources/www/common/images/icons/no-valid.png b/resources/www/common/images/icons/no-valid.png index 907301cf5e7e06c956c02f25278f158d599bdab6..2956a36e6a705d883aa51e10ff22146579a2ec8b 100644 GIT binary patch literal 1269 zcmV<R1Pc3!P)<h;3K|Lk000e1NJLTq000;O000;W1^@s7mv9Yk00001b5ch_0Itp) z=>Px(uSrBfR7eedRZD1GRTw_!-nsM2i=?$SP>jYv5R0jp8L0*zlRyX-tk_a@6HtnD z5vYQtE?O5ZtO!-RP|`}VZYri?t4PJ-h!VR<vPf*YsOHg>XiKySnM`Ifxw-fHeShZM zCY1QYKmR%Z^Zu_hwgUW<X??kVYr{Ct(E#9%jsy{0g4s+;MYN_s>BaWP7f97YCPl4) zRE@Rm=)L`HYXC_-6?MKn?L(-@AtUFjmn_gYxJvgNQdK_<sG{$yYD;}777!+Yn}AVZ z0eBlI*7ib2`j7ec)LGo=MVL`UE*bx1R%HhxR<0v`)dQFQD}hu1B&@=Ucf~VTaLNLQ z!E5I;sae+#l#Lrxg{uk*Yzl$ZKp!{<Tri)jyPBGuzJ|IbFz*64P#@N22i}6f7f(}9 zKl)0Y9r=QBV~38aXy>lbDA%5ryfi}NqvOmmx+&s(O63()Y^^e_5+^>B?_r5~l|DT= zJl@>j(m2g<L9wWAcC}H6B(#cJS`ve^DT=AXC^2BwrN<t6F<n#n3C>bk3f&;MQTOu@ zJ>-A|@(9L|5gi~Yd903GMh{dXfUY_`zH?{nwdBg_h_ZJ1I=H#y`|sS79r_A#8WO}n zyw7FQAD}I7tn%0Y?wy*AUmP1_Br&l6dM34pGi21tZI!U(l}pMzT_zl<v9%~OE(e5z zLX4s(G-gTBt9>|HG;quqCsFgYz@A`a1Zo}UC=RwnAV>IB9GmsvLqeGqsCp1FkkYb| zbKQH^X%{Yj7vA%p_aiT?x6dwGS~o;CZ&mrTXH>5D1QOQD!Tb>EvGdCH9uTQg5{H^x zCiS<6Fx(CTCITa%h0ZLyC!6|*4}+a&4y<pXIy-nDs&vDFrkNiu$l(0q0Vp4V4oBZ( zG?O@2n9*2oE)QeTSrN#UE&*j9XhftE=ZHurG*|)Bh?H$wH%qvSp+ud@q<1H@I)+Ol z1segpP80)mcuRKRJaoh<Xt@%1W-t6I%-}IIgXJaL$al!+s1eGm&tl3ZfJz2T&wjPJ zIsVbMnh_lY58xgGKgE9HDHVNwud*7Ogzry`spSiO%Deolq#P>a5NJJlaC*Mw^tEeY z6Qqv+W?Ik0l$J@NQ=;?S3o7yE+iUIbIv0<>r`+$q32RG*k_ygk&JK0sD9a<wifgOO zSkpOQ^!R~;hP5G$z1}0bv@uZj#Safx!NMzjiwacaTCiLB-jB)pUs%KzNM~VVf|Px+ z^qQ+f2qub4?>EKcCwXDdG_*?>zQ#LRp{nqe?)6D!)#BavJmrr6sS4-&l>6H+@_=#y z#D>NI`T~)7Y(M|Ii1GgP!@FB5lcy-*GZAU;R6(*r6}~+uS%DooGHXa`oYUDzzOcV- z;3`L!O<pFCJzypb62rPBes9}x<ld;WpMhAe)dvO_!0J<QClDPFZY{f~9_b%`7i-DQ z<W?>NS12dSsDhe6lGV0YEb;mF`@0^jNOsiN_ICVHZh;Q}pk@|4Z**+2c&U4I@`veC ziB9RzAUB!25UxJX;iNGmlNAG+yEKi80I4D<oe=5JI1QH!JaI}&Fxi^3$!skZ#qy5{ fvX=5}K+gXGuO`SP=JpFE00000NkvXXu0mjf1W{MK literal 1502 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n3Xa^B1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%s|1+P|wiV z#N6CmN5ROz&_Lh7NZ-&%*U;R`*vQJjKmiJrfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8EkR}&8R-I5=oVMzl_XZ^<`pZ$OmImpPA<wUD9OyvQvjKmn3P{y zVygsnDZ~r81#n~YilM;-3^4tQ!~%UoJp+)JU<!SG@hi>Eg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{L<y@4SSdw29lAoUg3&ntp{F40QjQj!x=U`I>-^Aq1JP;qO z-q+X4Gq1QLF)umQ)5TT^Xo6m5W{Q=uxuLVOsk6C}k%gn7p{tRTsez-5iJ6h3xq*eD zv#U8wuS<S%X>Mv>2~2MaLazl*y`ZF!TL84#CABECEH%ZgC_h&L>}9J=+-@<&X&zK> z3U0TU;nb@Sbc{YIVv!;mCIn19ASOK70y*%6pPC0u?M1+39nf(9C<6mikf)1dNX4x= z!KYVG3KX!PfB*Sot*%Ga4-d(?=&{7IxHYz{jkyuWQFKv{W6E#-Ei0bJa_KIbyCrbK z?pJwtIGnU5W(4gLaQV3EXWi@TfA}Qs><}?EnD_JCnLp3Wi`|a>)9bRgY`w3)=;8`v z2_CzTzyJ2XDf`Vk)oW?w+OW%Et3yvd|NMMs%)2=$#kvtjGi~<n+4ClUd$i=Pn>jn) zm04HrzyEo++v32!<B$2*r?eeT)ST+ISHA!Frwo%x?9GjL-hba|JNs<P9r@CY5hwP> z<xlibky8#o)PMeYwHOD>ydWlFmc~F;w??0}VV{|#dfNiE@60>@e1pHz#1oO5Z|+fV zbyA#r{dKLS3}2<v#ndat%BOrpT=_T@7&NAOt=nNP)hpM2Sa1pt+hJd>eZI~~?S~t! zMY&kF3)XDO6wBEeV-z{fQlZ9b?mNDyfCeiquSrKlJsF&s_7y5UJW*gYvmni6{z{k5 zxi3p@sfLKp@nDDzaW!ReVqmg=xA4o}W!p|C?TwpXZ6i1PYF6!rxb-`Q8#e?B-j~pb zve3G5HEZkkw`ITQa+FLz{dK0+{Y?=%<$^tB6L{1T8c#mHlC^bC;?kg>4z2#1Z@%ea z4q1J*^=8gLj~A0prtIpk%RKexXGTEJva?^RY+sk{j^}PYlpVD!e2UGVt?Uzg)IKYV zb(baz3%hk+QTpqYz-0L1g7(zR3h|I9(rZ6GJXPOl7MQ&G=Dgi^-x)8zta(9gTKCaM z+)=Onk2t(3v3eb}a?Ad_|CY?Fik#ZJ+CDwA=G=SA)oO0u#(IIqzsvuKBrvRFtcmX| S`j`wVaXnrAT-G@yGywoCt~dbz diff --git a/resources/www/common/images/icons/red-cross.png b/resources/www/common/images/icons/red-cross.png new file mode 100644 index 0000000000000000000000000000000000000000..5ccccf40f6058950306fdc201c31d9d4b27c4d37 GIT binary patch literal 479 zcmV<50U-W~P)<h;3K|Lk000e1NJLTq000;O000;W1^@s7mv9Yk00001b5ch_0Itp) z=>Px$nMp)JR7ef&R7*|*K@ja8M-MO}@xu)?QApgHcn%KXLEL!<&S7+GB9iC{6gBcW z0K$y*CcL4#>6U2X#?T9@>+|YWR~2K7Iu`erW>!EZ_=%sl)7`_kH|hb54AG$9Im+t$ z&Fv4s3sdZDq+3UOckfSCIuJ7e#`1|UA`%9<KS2J`@%h<|ek&W2vU~*<NED3M(B{9& znG-TH*cv+kD4%{_6TBp)q>(>Lbm6sCYcB==2Lm3AIp{~D#jxr3Rc)1ipTRMkP96c` zJlI}>oWUUwfQ8cz4!WZ{b;ybV3iecIOw!GB*!6J$ei<w;2*5<K7GOXb+;?3ffE7bx zlS|QitQqCaL1WFZzOU|pvltA=|0^%@E76~&v2Eu&#UPRMMe0~<8rCEi`}f0+a+lX2 z0Y)y~V+LdNSSk`BF}@7^TFm2mjqdn_7|I|4oS`J#Vx8D0XJX1I0Ruur@U2Qr{I>+L z<O{IdI@+}i5`+@7Vu1br)5jTUf>bNK%m4RQ?iut5xUP%9O!C>}M#5{rtj~`+@C5{| V-mHVl7$*P#002ovPDHLkV1hhy)qem0 literal 0 HcmV?d00001 diff --git a/resources/www/common/images/icons/valid.png b/resources/www/common/images/icons/valid.png index fb79ee47ea8bbe90f7788e0a99e43246d439e3d1..81066e219a335a09b1ca0bd335feb31d9f8dda18 100644 GIT binary patch literal 1311 zcmV+)1>pLLP)<h;3K|Lk000e1NJLTq000;O000;W1^@s7mv9Yk00001b5ch_0Itp) z=>Px(*-1n}R7eedRcmY%RTMrm)7{x^?Z#qjMH-CS&}fZDW15JMgsAA&h7d~wDiOtQ z!DoUAN}}iw{edxoKLpc<jTjUnN{FE?v<igy_+vCxtER1@bz2c=(Uxv^cV2$qot@pS zrk>>Ny>rez-+A40*AP%^&&7wXt*-o;`>+QZopQVqe0Yi8jA#b8BHHFpycw?2*6;F^ z$5qxJNVd23q&;XBYgBI<@Ti70SkuHxU0A0>5%FAC*4A3mzET%EGbf?aiUZ05$|(3U za2T8dPlDk|#Mm_84!0e%_hU~KB@DxJCcvk#W2IiAxAi+ip6e+5_IqK>006DqbF<%h zj>8W{Dmsx6@hcKX?J3u>MAHq?kt(3dlw&HvF|Z510G^>jacw*vy8HRwG`{~suASM{ z8INp*!c|C*ee~zU;qt0?8PJA$k>yKNCd#nwm;={33Z)5xj!+XeV^weQu<O|K4%6a= z1|)_`=8}l2KJ`3(b6w-^Z<4Hc#`a`$&$L3<nN&$wC59w_gV1A0^kRa`SM560Tz%d0 zJ=m)d2;kb;v989*9S{*EMFUb`NRJ^fSISr&E5|Id@_^N^RLho~X2t!_b?b)FgqZ(u zvZ+_Q9=PNK=xIn&1`0jVmwr<(F}L{g`M;m;Y>bTd_0f|uFdjcVxrTQrf6VVU6H%gE zNtvfbiHVz;X4zQ2j{A(f-52Ao>>a`<46`%m9(|{|`h8X?q-qR<7aM%Uz=93*JU{$! zdF3mR8#GXZLZedF=U+sxY%0Q943#p-!FuxY$@y35voYrBla;#I&mGZSc2U!es}_~& z(mRrogFmEEXANBrDP|7+Tkm`pXFY~wb;ZrwSc$)~h8!C4#0Z&Ugd^&(rs<NJn&?Ol z4|3=nWq?fz)me($H>MjQF>?2Z19Il4FQ44Eu4X&VFkXl82Z?ipOTnx+Ys=wd5_4dp zXTWM6Xhh~A)`?6I8rWbOab<ny-6eeccM7Zi#F3fRC1%+Uh_0bxVe)>lGqc;?ZYn>F zGYS-|dK$O}(FCi3JGdjbgX#h-jGWi7z@*&hZ^Kqi0#@aK=^3}L+8C*SrgIPxUybhq z;ZodK>B)+vy3~~W;v`<$6JxG?dmg|!@FIiLL%S0<eg1KGz6q+1tw&OO^>Ad3ItWlk ze^-sj`uf6MFMt$w`-U7jm8747GdG+5u&b$b15Q~gdTc_58HopG1m_I2)KUHa)V$1} zm*R5fuo!rL6m-nU83hG!)g#Qz!5<5wu#g*dhV#X~DqAc*7NgVDU{X6hG4e)iNnM8z z<fnUb%n{SbNXzx6OiVixGc|F5^E>v(Pg^p0)>VIk8~|YD`#~&X5(`rG-^Ks0$b);n zT3uOtOD7{?i5jkeP<Q3TugpZ9_f1f5|Lw>7kN*I|1U)!E`gP*aQ@8TUvdLLGpnGOQ zC#FQB(MP(6x0fxtGU3<NZ#Z;{f-6}JO2zEtc;|Z?m%S!)bDT_0WfpAH0Xb-P;E2w` zv8tNrikJ4sFRiJ&CsY=@0q?@)kmHH4&RVlG-~T;6JaGK=wMVDVB?(HvfH}#Wh5YDa zuN(y#1zFJ{_hi2o*nn6sc9tMy0tTS@A%jeTawQQwpyJGe42$(V7dR<igGL2<`3J~( V^}{ZeDT)99002ovPDHLkV1l`Yf}sEa literal 812 zcmV+{1JnG8P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV00001b5ch_0Itp) z=>Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU2p<mt3Nw9lEdT%lzDYzuR5;6> zl1pe@RTzN3bI-Yxd-Is4F-{w8r_?4$D=wsnZ;+rUxKMB-T?nlpZp4666iQ2RVV7=2 zv=n!`a#0miB8Ua0#aJt`HX)B0+nJh~&di<1eVvDkfS?u?zvch`{CtZK{vGe1mf~-d zgYQi}{lxThvk#VMXUgMujfQ^E>89PwS2ut9Y+>!}h0_<$!pZEG&t~6PIQqrPpi#5V zHLP>j66b!6ooj06BIn$1#<?@+>x;Xe`slI07@SbgpL*tlxg+<#XtX2F92OY!48;O; zt-^_|)9u4hsSn~;=01J4`uU-G39#>l*Iqh&<dI{|PEI>9)VrGHW=<ovtVfo<7UWjY zPYpLB%}`MAixa`Y^WW?_quBBK$bkoD=2kajlFSlYk0`TfZBbI-0bx)eC`d+>qv$() zk+N;)<blb1Cm&bbv18xBQ!_tqMC48&l|p&~Z5^Q!C@HYUk|dIi#2}ny%!d&L;c#%b z!s0bM38PNnD~a+g#uF&%(a$UeCFoih@+FzxGHYvta)#a@=_;bU7Pq?fLg??d+Mtag z@Fm(xoU>RwJRF1AkZX%I25ljYqO@CYElS!8eR129rSV-8k0z<cT1&1iai+;KgENL+ ztVuINmgQubA&{2!@0Q<he_cH-0S3K?E)9iDZ=V|9-%oOMZpd>(sKCS0>E{S%DTb2J z)2x1b<>Tt5<)hp@-je|Iz8tip`{qrSs?pN;!-0ZQ(Pu1FYzr0BrGVQ5Xs*?-d_TYR z&W)v&w^=)W6F~jZVdbq>bMJ@somk2f!!)k9EA?9Ivht<qchXv=+FXolopY=Ymf@uR zbBTLS1ckljmv`NB=ey<7m}p;bFaGe=FRyZS?IKeXlG;)VpO{<qzh&TpklYnEf3BUX qUf5X48?AG!zF7gF#(zTaKlvS6H*8L8DUVkG0000<MNUMnLSTXwzlgQ~ diff --git a/resources/www/common/images/icons/vote-admin.png b/resources/www/common/images/icons/vote-admin.png new file mode 100644 index 0000000000000000000000000000000000000000..8e16be2027a82e97c24ef30e2b8800e591274e22 GIT binary patch literal 1186 zcmV;T1YP@yP)<h;3K|Lk000e1NJLTq000;O000;W1^@s7mv9Yk00001b5ch_0Itp) z=>Px(TuDShR7eedl}$*cRT#(5{k}JKFv3KUB3-meLS2Z^#zmMAGSWz;V(Q?+poNQY zTx4JiM_RNIg%SKnt<Z#UW7JA$Ekp&PSWJjzQb~i__3FL-f6u+=^3GKAz{5H3InVQd zzRw$RqWSsxH*0Ha52D(~!{P8J4Gj%0tdHE))s?%xzDCG}R##Uautrx_R<hmQ-7c5Q zWh1Svt<^g_J59H5->wdE&8==waiLJiU0hte0a%j5wzf9c+uQ3hnT$)NQlFWIE>q&C z#BuSt_;<16G9tLW<>lp1wFkux<2p<SZ3r?Nmeda%c6N5U%galIp;TBO-(|B|S5i{q z1_uWndr=JhCzqC%{*a4Kal2$P>H7NmO3W~q;u~Vb{}ey)?uOdi+haXFJ%8))U!<gc z)ZgF#t}e2MG&?)nT~=21G0wqNRaLH~rNwP*Y?xWH1SyK7)j-0t93V^y_V@SQ?(VKj zBofB>T2M+^ohBwGo=2F-NUg7%-xu!ggNZGa65_J)@$uK{>gr|?fIt<<&jSMkFX{6y z@p<04eCAQa#aLnGj_hO#Oskj$tyZeg$jC^dv9WPpKEEm}zo;1Rs|ahlw<>rAb8B&N z@xy2|I)e72r1nd0ZEa!6EJWt!=5EnL2zvj$QXr+onK8eE!eoj@p%y560M+VsDJa4D zAPta9Qc43+xIzQjU1@3QxHb{80vFMko9XFk7l}lyv3$|wT9sF@)PfG;(9jV2MkgmH zPQe<OGWHdRpi3@$U+c3d%*@PKwL$i+f#B5C)H_;o#E?-xw{VD1EEY4tcsy=yk)_kq z(|db+dkoz*?oin$#5Wce7QT_vGd?p29~>OKtzO&EJx@W}ilz;&F~TU4?}(U&qF5JV z(9>d@2b5rhum<BQ3Rhy3SZR-kdP(2;p3)kYdp8x&UF~bRcntlhF}S0S{z5Vasx{y4 z1q0qA^GZE<_y2nEF-GjFF#31&VUvI%KnX9>(b19Y>gxJdiF{7qMn1WI_2+&i>5yO9 zOZKPr_4OAwH#d2IidBor^CfwH3n2(l&-9CoTMKh{etz!O*4B#e4+erp6v^j$#NLvq z4UZK|;O!_sN`NyT+uPgj?Ci{#J!jng7ZtE5euVT`nk4)y!rp6E4^UrU@0yyL9L)>s zQE{9>$OLr?XJ8q&4W>SF$H&K08u@z&cyN@}9UMJGm6eqaZf<UN>NdOcL(B(QTC9`s zo_`mdoSdAzSyNLp=MC@@1etS)eDgX4*&8@KJRBMu8>3|@@+AhS0g+%Np~ozxL4U8j zynHAazE78Aj65L5*lXVBMn^|K&_9pKWGeYpUSR;XR@LeaSyUAj6{+Fj;a94wt6$bj z^MX8nS~5iSTRNTo{^;oFYrULb>e&JmK+jAvvrrs;?Tb@PL_R7E`fuM5$dW5s2oM-R z4_X{Dof#-AL?oVqk@*ON_sDr8!8Ko`Jc{lA0XAwf>+pF8d;kCd07*qoM6N<$f-3Gm AhX4Qo literal 0 HcmV?d00001 diff --git a/templates/web/prod/WorkZone/Macros.html.twig b/templates/web/prod/WorkZone/Macros.html.twig index 7affd9e30a..3d16fabf1f 100644 --- a/templates/web/prod/WorkZone/Macros.html.twig +++ b/templates/web/prod/WorkZone/Macros.html.twig @@ -27,8 +27,8 @@ <tr> <td> <img - title="{{ 'Vous avez recu une demande de validation de document sur ce panier' | trans }}" - class="basketTips" + title="{{ basket.getDescription() }}" + class="basketTips basket_title" src="/assets/common/images/icons/valid.png" /> </td> @@ -385,14 +385,14 @@ <td> {% if choice.getParticipant().getCanAgree() %} {% if choice.getAgreement() == true %} - <img style="cursor:help;" src='/assets/lightbox/images/agree.png' title="{{ "L'utilisateur approuve ce document" | trans }}" /> + <img style="cursor:help;" src='/assets/common/images/icons/green-check.png' title="{{ "L'utilisateur approuve ce document" | trans }}" /> {% elseif choice.getAgreement() is null %} - <img style="cursor:help;" src='/assets/common/images/icons/valid.png' title="{{ "L'utilisateur n'a pas encore donne son avis sur ce document" | trans }}" /> + <img style="cursor:help;" src='/assets/common/images/icons/no-response.png' title="{{ "L'utilisateur n'a pas encore donne son avis sur ce document" | trans }}" /> {% else %} - <img style="cursor:help;" src='/assets/lightbox/images/disagree.png' title="{{ "L'utilisateur desapprouve ce document" | trans }}" /> + <img style="cursor:help;" src='/assets/common/images/icons/red-cross.png' title="{{ "L'utilisateur desapprouve ce document" | trans }}" /> {% endif %} {% else %} - <img style="cursor:help;" src='/assets/common/images/icons/no-valid.png' title="{{ "This user does not participate to the validation but is only viewer." | trans }}" /> + <img style="cursor:help;" src='/assets/common/images/icons/vote-admin.png' title="{{ "This user does not participate to the validation but is only viewer." | trans }}" /> {% endif %} </td> <td style="width:25px;"> From ed8164b23d35a4a77fee34e95d8d9805d427b216 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana <hra@esokia.com> Date: Tue, 4 Jun 2019 16:11:21 +0400 Subject: [PATCH 49/80] PHRAS-2386 #comment Port-41 of PHRAS-2278 #time 1.5h --- .../common/images/icons/Basket-Settings.png | Bin 643 -> 930 bytes resources/www/common/images/icons/basket.png | Bin 1892 -> 997 bytes .../www/common/images/icons/basket_push.png | Bin 2117 -> 1071 bytes .../images/icons/basket_push_unread.png | Bin 1862 -> 1302 bytes .../common/images/icons/basket_validation.png | Bin 2109 -> 1010 bytes resources/www/common/images/icons/story.png | Bin 2012 -> 933 bytes 6 files changed, 0 insertions(+), 0 deletions(-) diff --git a/resources/www/common/images/icons/Basket-Settings.png b/resources/www/common/images/icons/Basket-Settings.png index bcc21f08b9a26af96f969ee669eb0f00c43a3c2b..77372631c427ae438f4f6229c35cf7619d4e0c2a 100644 GIT binary patch literal 930 zcmV;T16}-yP)<h;3K|Lk000e1NJLTq000;O000;W1^@s7mv9Yk00001b5ch_0Itp) z=>Px&TuDShR7ef2RXa#qVH7_1debDv2qj{hK?>F_o0`GFpr{}UnVi((=pb$_NS9zl zOKia*lnj|##6@s$a`7<;4kAPlT*Rf=Qb*G^rp=@0JKq22=2hF`fph=!_|ExX=ls_o zB6DD1pva?8bJ->f>fqp@SPh1JW+`YG##<8t%#3^mMU%mjhoL!G_V@R7JWzs!u}~<8 z6Cgx9Vn#j}v!d@tUtgcs?RNiA7K{f62bQUf3~>5dB!46lp^1qJou3hwIBsrksJpw{ z89}neOeUk3sk~TKfcdd9@K|ELhQs0we&X>d^B;*<>%|n<p9XJlZ<EjGBhxhL;^Klj zIyz`{bW|m3mc=R!qu=kRxw$!6qs!%@^Ye43+mKB-Eki>?G&wm*sZ>gWJRXnJE%#97 zJ9w|GrBaF3*Vpwa+}_?Q7se7c-NcOhaoaL%)r1rJ#hjM_E}b_hkZP1e|B}z=pC26^ z<*{kkJz&HI`R*@y<g>e53XGaiTk&{Y>$ZTSmm0txgjQBo2n_1)@27M+P3`UNqT3&t zL2t6Rx0g_E(P)&C$s~1kb;+GnL^zeTwKY+**(_~sZHc_Nxafq49N=0igX_`G&W`xt zXLNJLO^=L>=tjD_x}xdn>6+{n0q8oAYUvs@8*r?+#e2yvpE6FUh1t*SWk!N}gtGX? zoW+vzHUd>vF94gxdjwojY6(C-1>D$6=7*qn+?}sEQ3)$RWuUSjDmkZ;T+%IS0_XDv zfDoD!T@9L<nUQx3b-b~$LHyQ=y|uMf#yTGaHsMTxtU1eYI83Xns}*s@Vv)G*C>RXV z-rk<}L0(!~(z-1mr%{twp^lG_X?b~BsWdw~OT)v%G(J8qb#{4)ZY4T7IjNUi$2FV) zZ`s1af(Fjd&r@4l8(Ee`Q&Usa+1V++o}L~`BoZ1|EmU-Z)4995OZaDmLLoXmJr#L# zb5ldk&d%_glaBwd36Loki|K^86ZH}t9v<p<NCO%OY6obJugp&x;0SjzHa6DCU2R7$ z<dhyjADH~7{16BPyj*_In0;{mEAf$CbESRc<9m_I<<RK`lqhxqM&07K2pN;YcUSBz z+(TF`7*7PAw4cm)Ut|KQS5{O%ICVDvHK|GP8iGat4bqq>?EYNvw*UYD07*qoM6N<$ Ef<4u@LI3~& literal 643 zcmV-}0(||6P)<h;3K|Lk000e1NJLTq000yK000yS1^@s7`i?D|00001b5ch_0Itp) z=>Px%JxN4CR5%fpR6nS3VHkhTi7yco!yVL@Y!-#VBL4={-R^=i8e~(SGNFW$!C<l) z?{GIM7G*LhrDXLf%3@Ofe11=z*TMO^?lZj4zu)sa@B5tReWj0&k6+vE_CQyWVKf>I z*dzsm!3$ezM-Bu6G#n0ZX@T?m{WKnrxkSe5cDt!ksW2QqkbkfG4Gu(><r<J204d~r zKL6oz1VW*ZDCZy${eB;cMSNWeKtFv*omAVpt0Q*v_4P$2lL@<`<#I`OyPaaO7~{pa z;hD{5%49OUIlW#_^ZA@XSimSG5{Xbe9;bG@&0vGUAaYVT9IoQ5BJv;O72w)tv;Ed= zg$C*R?l1tL)1^}B5&I?>@fRWZ#SpZoP$<x5vteH_dc9r-y}!RxtJNZ>)5)!3)O8WS zX0yq${eDlMpPy_Oi$w)@8!u%nMCNMrdOfOEs~i%0)ai6|JRbQltJR8<$)vjG#&{Ri zaKs)paw3G$edW)Hg6|9_RA0I83SP-;9tBf~v4x~kDQ+0L-0gNrk|d5>EEd*}i|DqJ z@cDdHuh$iq_33n?!{I<iqwy|27!0UfF5ktT2$79OqdZ=))9ExV77Lgxolb`w4hKyp z6UyasN?7QpBjXb0^LYWtX0v3qS_$)#NF<mHNsq@vwOUQ!6hm`|7*&_cMbqh&@FIdt zk=blUm&=7`A49m??UWR2O+qySJyq_)Xf)zCRGojcL3sDBJ_3H|uVp+Z7|3hk`iI48 d_!=DG`UgD3%^5J?h)e(g002ovPDHLkV1m=uD2o69 diff --git a/resources/www/common/images/icons/basket.png b/resources/www/common/images/icons/basket.png index 83704f5f206779bf167c1cc9e426a7d1b73855a0..13cb9dbcc2ccc2a2e23c0a0effaed5b68b111240 100644 GIT binary patch literal 997 zcmV<B0~-8^P)<h;3K|Lk000e1NJLTq000yK000yS1^@s7`i?D|00001b5ch_0Itp) z=>Px&pGibPR5%fJRL^VFR}i1~zMF3nH!-F`lPo5?n?<2VX^y2-lC%{h7{#+tXbZjc z6hZLd#Y^%R2u1YZ#S#;Q5|eDuUP=q0MWtGQEZHP=cT=lr+^mVa`+d{T%(^S<HUsbb zeecb@&zqUg%p-yfB(sm?uM>tuXII(CM*q|wY{PqH3hhGf8ZG7uV!<Z%W18L0Yf`(| ze1^#dFv8MWqS##KTHp2iYAT=p=|`*}@x|=vfn+ZK(GoYwhKVm^nVlnI4C|5Sc_(rF zS?#Dy1m9A*q!98+ZEh3cl!-26C#djhoS`&+E3J$sth#i8*<MZN#HU6vc5->R`>YXf zIN<Bz0GHm-P^5!y|MP}Y!#y-G|4bb+#;BKhE*0C(CBpRe;jRY6=*<+_<`yy%*Nf+C z#bCQYT*wm_cMutq35CeChRF-Ji=Qd=5ilk?yEcX^rZj%R#dR2|^ydc;VO8Nl_62!k zWBm$JJc|7cH0PIxdVdg|h$6<5>k~j4uWZ$S&kXl?7mRTxvA8}K1i=keOX{h@4H+;e z(PAu*^cw4&yMgQz2W3i)^g?Or=>Ar68Wd6noutqRKVp>rqObl=tdh9`eRXdW+}g($ zN08`ZgOO|~rvQOTL=A=DbbhD7_~P9xTn3Qin+BEkluJ8_VCxmJB)wdQn+U=O8++Qw z!|2-I=SzA_?ADs&Vo|x)giEv@m}zPz_M0bHMtaZIn2F8(^#s=><SG>yV|r@kSl=|( z@0h7*i6pN`$s|Uiy7zy7<Tr&eo*L>Fpqf-~rYeh)-v+7f!JGF*h(qvN+oIEI-1v9> zp?FjSd&~IcBVBa#Kx-Yw?Z3C_%imwf(Mli7OmYN|JNI>e7?J{X>@+;>+5ipaz*(t8 zA9r?B{MK3>;Nzhla<2<WFuL7_2<@%F;*elT`{x1FCTs|GKYbdZXxOg<*=?~}DAFf) zGTK{Gn#S5KR4`|hF?c4A!gs&cd$b#v?0@_7s-7W<O7qMa8?ZYsT~Qssz1*hJxj*UQ z%fhZ$51>0f`+)9kqI#=mVJ%onTXa4%X3$;oXiC^zMo++7X(B0mJc$afjN(<4A|)+U zzcy!UPp*6xnMTM&n9QVq`QGCuf719q*_J(I@YdM24zlf?<n8U!VcS2@J=NhoGJd7< z<*Z-`mU<|Yw^CVOS_<{YdrnxkCye1im_;gjJVk7loN+U&%efi)W)LB$)Qa~%klo{z Tg6Jh800000NkvXXu0mjf46^EF literal 1892 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 diff --git a/resources/www/common/images/icons/basket_push.png b/resources/www/common/images/icons/basket_push.png index 47b45185f24be0aa34dfdd66e5dddf7d405fb22d..97e038241c4a5fe6bd9f1a48550229f78c3b687b 100644 GIT binary patch literal 1071 zcmV+~1kn45P)<h;3K|Lk000e1NJLTq000yK000yS1^@s7`i?D|00001b5ch_0Itp) z=>Px&=}AOER5%fJR9k3VRTN$4+&d4OX~?84m`K}6V*@StQ7ZvI6bS*rf_>0N{INwp z`oM}7T0#0TprV+5_=p_~YLy~F22vD1L<N;1_!IEMqHQzH#E6e1?WFU_q?voqaqV*_ zLmKrkcjnAJ`>eh8+Up#EW6Rmf75P;%IecH(m;1>=$(zk@{%w_?kSW7*)lZOl=cfJg zO2w+o$SrHCb5UH+*^1==ObBQXT4KY6c?7f9G5Kr<U`;FX0HHrjd#TRx!>XZVtDsxi z${5d!?bCww#r`DnyW=p6Wf&WdX#s!q+*K?E#9|T|+Irrw-_eC9^K<US<gvBNQO{bd zKh9MJ^xs3P;mISZQ<D4uS4SOp;cr6>Yy>{ookr%ZStvj5Qu#vJFuz?|K=Fkxd|RmE zsZXb{>GBM8G6gVDhL*ad3}_#l&-{ji`M=<6jh|24i{&gNSa2L=M{jOnuaswvp?rbU zL3w_mc)YWZ%cd2$^PG*9Ozk7WJkEtb$o4d=%?pSO7ufS&^$n_ZGJ19A_raqnFRPSM z%PD1fnG<KtXvK;(oQ|!wx=2HH8Yn)u9;HQt``^Fiid0Gs`4Ni2BO4V4GcoMyTZ;?h z^T=PWag%813%^%<mm>`D+CT^HPI-86<SKrj51`|BK_#0;1G-(HrD^&{iWI$uts9b< zKD`~2r3MBrlq0T6eJ;2K>eVX<mc%DYOZfU)1z%mOvp5#R(6nwl<mAb`Tef0Fkb(^s zVH>wuga?&q17eBcsblS@T%h1@$yFwdvAyCu%gzWE5%*6$ziy1n#9lQ-SBr3%M(SO) zbjRPQ|K7>M(KQ!WF0=suuZvFRl{;3=*$b8vd0UoL<eBO(|HY`)dFtUSgWO{&^moVb z>ZKY+e{FEL76^V6v{r?*PHod-Kmn7@?xAbt<cc%E#|F32hB{t;D2~CNINB2mM|LJD zG{u&frp*LHu;j|A7;95R<C*{k`0<%eXAUW$aHE0jH#7KtqU;hXVdcf3VhNs3KAgJ_ zk|nuTz4We^4iRddv{}G}QDL@@t?OgBbiIPPS_3B@-hi%l4?FHzgQxpDF-=#@)U~sz zfJw=sB>{`>j$o;yE#HJo4%7xLM-Hs`iR=ga+HwAgO+p%_y1|azpS%{D49VIx2N)tK zFV>OrUM3iGpu&_Ix_Q%U&Y)!PE>vM6Wy)o=3`mxq_V<Z}9H4+^dF7qYRbE#X(FGuy zir`Ht92hlrLv)l=>G?c1I5Rc-_KV17S&Hj<6tnVMtaLN1?jhVBW$gnjx!ZxuRb<V0 p7zUqB|M1;K<cCPxwOO*e@ej5+1a+hJOjrN_002ovPDHLkV1hi<2iO1r literal 2117 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 bB}^Yy09OYE9W*J>{n(k_Y(~A;zRdpuNIYj< diff --git a/resources/www/common/images/icons/basket_push_unread.png b/resources/www/common/images/icons/basket_push_unread.png index e2a0770cf7ade864a65ace0287952f4bef2cd460..b09552bcf767a0712e082f8c159d1af5c1eb1f72 100644 GIT binary patch delta 1296 zcmV+r1@HRC4wed#7k?HA1^@s7v$I^S00001b5ch_0Itp)=>Px(&`Cr=R5%fZReMa8 zWf=dx-}jxv?Svo#4iQko8aW)(Nv+Em8k&EYWJv3;Hvj3Kt*|z0u+>&WTcuodt6A$m z*$^A*x@fj+xiXh{^2Q|)hKb0*b2taicYAxD7rrCpR`1Stdw-wb^E|)j_8wq%Mb@o7 zr!8xZ)E4a<mw%?@m5bE}q;GV**VF@xAZAf|ZGOHVMJ-`DHZ~?R{r;7jw5H)p%RtC9 zg9=7QB*UG_Te$emHl?X8Z;eFU=?Ffr2HbcQrJFhsIPq(;(kO0=)i{pTA?-K@cjV}# z;wrV-n;@?#On*=`N~wL>Ht9&mMzC{(lIw%HZ@SWTQJH7rby<$8iHi_L%@gvkmlh!Z zy&&|YR0v-xG*BRgd#=H!lMmewJtfeW;4E#E<f3ojm4)|u@hS(L720^8eB?<hb~M=a zWZf(?^)UGEMa}Q7l#q@IHx`};WSK#kxWWLqHjdWagMY3oQB)SB;O~h{+-L3wNF<2g zaKoy_8u2*`*HJ0kaNsKTofv>kx!GKn4Lv;<#-bt^Sw(DkRB<kB4L1o_){}qwS&-%w zd2%59DRiY`;N^^Yv9add#X{d`)tX(=brlhQ@^?amTO#B}zo1NPhHH&{`eXecRiWTa zjR|?%b$=QZc-j8RCQ3s+o0gmnYYM*|t3|3a&0F4z>Rfs$-Mze{fDZAtr(u~fJUnsP z1EN13|3q`8)1g3|KIziW!lmakv32J&Xj-xnG0l%7{-wvtPM>cP+@uVuTq>}>$iSwO zBy@I<<IuUAxNsw`ENhz4Kh#jRT2&C#Qy)}iV1IEy$3x9mF%+_(89r!%0EFh_qU4ZP zRDp>z);14NexoSKPR8)N51@bCMAcVe>MRBRn!vU}9oHvxqgbN?NKHd;$i#O&5q#T2 zg(0D!y(~TO+yF(SQs?nzI-Ch<5m!xzNJ^tpB<&u2F?}a#CPos=+akTLD~q|zlA4Na zQhzGN(}O#*ItZs`F;PL*{GY{GniOc&xw-!Km4(M?Rv!JgjsyHu8ytM%F2kyzaCTFP ziajN+8JA)vq&V77zk$+lzbC%yX-k}+DG7<ZR-)q11FA-#saKs&qs!-zq!j$ua-`JN zxfXIKFU@7>Da|nD>9t|N!pBuUlrFH)bbs<X>N=ZH5$W@wiD%ex&#wCA!n1~&3<_Hr zVKIlz`RCB-o!O;n7Ir<7hU$`J#N%;ne=r+0J+G0>PT+(_!JDzJk&hmKl?=p$Iy|Ke zD1&OSZJgP@P<1N%>APj2@%vGn>bb3)a8ab7!-IN@ZghyuKKWbIC$H5PE+L4;Ie#9Z zYXvjpkof?9`}ip8AIrq$8&fbefzP()p}ji=V^Ih9=Om-$Oc>o`QjG-o990gu=>*$~ z(j^TF`W<>XM6PGNQv?4n5XZ^hA$9Qa_&^S0{fcxPtScZWP*ISE^0w<VKGf_qLY`p~ zu`N|u)oz8&;Tp2r!K@W?t~$TZ4u61ZGm3`46#+J8_#up>8N)<I*Nmt7UPwL6j(H{e zxRL&04z@);6cXz6np;FpkuvJFBIlKgMe|LwjXi@m_r8V3Mq+YjB@Ex$0{9#qcP6(` znzjfj*N~Gu3V|Ubl$zfi$38Oj^QpsV-$ovlKndsC_y-kNY_uLIj<^5-00{s|MNUMn GLSTZZe|+)) literal 1862 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 diff --git a/resources/www/common/images/icons/basket_validation.png b/resources/www/common/images/icons/basket_validation.png index 3b96c1d26382ad4fa3559ae408a5eb0e06811168..cddaac1db1eaf25f1b8c1a4cb6704cf48a2f171a 100644 GIT binary patch literal 1010 zcmV<O0}cF%P)<h;3K|Lk000e1NJLTq000yK000yS1^@s7`i?D|00001b5ch_0Itp) z=>Px&tVu*cR5%fpR9$FPM-)CY_paIagTZR?_i43-svsI-DX3{QF}u=|`ct9eYkUyu zgRF@dB~>9NyFU1$D6|ODhZ<{Is@bF^xHS=?M5<3>;;N7s#l)b3P2=7><N40+wHu`m z9d_>AJ@?FazH`1aL&PK59lMKFUM!EsOB<|$;b>=-bwV1iM2Vi*k1i}F;d!LpDVm-< z8zk{NcBR^SuMJstbJ<_R7lx{(wbW46NfUp2InU$Wo3^pn4>O7v%-U6YCaYSmMrEt- z8Pbj>*HK%jIUNNLJDz<hYg5-on`c2Z^6DYz$Z)k*iKedVc(DCIWv3&Q8XHMZt%&*- zoOm*h>`+P(HpSPr*D0{^j5+UT4eejwk;5!_9{qhIg*Z_S%GOvy7>vvP2}<^Cdh6;< z_+)%b>U3Xi==rO`*Fem&@lfm!I`DG^aa5^{TjT&SBOH0VN~Ei6j8YdTadcFsZf)u# z{+`nTae(~tpP{qLsxR3-tVlKNU30k=-!KF*aW&Rrtc_1XLu~$yUr9M!6{|VqS8xJh z4?I~YaK!}g@VaVW5TOm6>dI3RqVRFJy^=zljMlVWqqZnd;W%|;2YF^f(4{nvJ|Y_C zg`jh{_RzhtURv_OXXNT4vK$F2@tiM?;El0!#R*FFAEynG-SS_t!jO^U{ia&FqxXzw zBS<1rvYKXw=hC%-3*1XeqyxvldWMRCrJDbY8gP*bz8p>(f}OeflJ%db_T_^TI&;7> zXkq7&v0LgYI@-V^a1>7X4=Jsq5=<-tV~}Xz5Ufg5M)@`#FYovzu)#e5RIFmNs0eGm ztO6$0DcHiVQY3x^#c~{t-mVuw^vsL#!8?)$0|8{~^6zNz?6S!y@BABhdV_wtb&woX zTI0Y_rY}ACiADoTdb!$3A^!_3Gj^R$UjK&1#)oLhhh>B_f;%Bse2T0rUv$<*H*=~G zT~amgbWuR8y+28JM$+{4vL>2Uyim;OU8tuVs7N^0U$|VcVg8D<^WNxtbdk~zzNe5A zrm#DmzWub7-;3Y#3k(cB?DC^QDSI9vSUI^1P#>gJx?r=+U_;@0_i=CTE<|r}4N*tq z`G-VhIf8uZp)N#`y9NEvb5Y51dN_K!5GyYNgD_Yi3i)>H{>sj_w{63RTTQEo9YgE< zzqV1yn<rECt*tmx|Mp?PKmydBUga+ScuoyDszw<q<$G{G9JnIGd^h)*toil+z-Zf< gT{pd8V}7-7050p^+cf`Mr~m)}07*qoM6N<$f*8W+qyPW_ literal 2109 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 WrLA<*iV~XsLTAuI1DgX9a{mkZU{cTk diff --git a/resources/www/common/images/icons/story.png b/resources/www/common/images/icons/story.png index 58e84a6e0733e378c1ff3e20da78e01645cebad5..0ac43bc62c0133cd9c8a844fbd8ba019008f85c9 100644 GIT binary patch literal 933 zcmV;W16urvP)<h;3K|Lk000e1NJLTq000yK000yS1^@s7`i?D|00001b5ch_0Itp) z=>Px&Ur9tkR5%fZR9{F_Q5gTu+1;En`u~#nAj~A8g2d<{L?eV=va;4oL1pR;i&D4f zp@%&bL|dg$<T6BpUYuD5L1gAe_7F)uBv|62B8;Fy@=x3D?md0qx!%pyhKGCp-0ytf z?|grL=Kx@Hdm<lbX0*_>L@DPMU?e%x+%N3;D`^SP?2X)Gjcvn12ptqnQ$bD48+vX} zSQtu+Bk3MHHHfN4JAV4HkccO}VV4llvvq@GjoV$J;+dJIs8y$+5$L)GfF}XtfDR2n zL+g+UCsb7v<ch)=1dg^0dUSM0vD%^c#vU#Y^7#b+HWxvRtj!+`RG(wyjV_>%R9fmc z!RE5H@NVKK-0T_8uwu=g@T{h5j_u{^;KboA8JqOe(E1cC7Avq|aLoGp{Y)YepM!Yp zHzbpBplB$iHd_JYVK&jvsPqvHS^b$Ob(|~x7%P6*F(Sr!wEOC=QrtJPMn@3x+o}0p zRH_xgra2QAZuzT2v`0-MVm7bf+AAgh4C@_L7N3vl9D~`PONngEv}M$$%U>n&u(EPC z2h8>%*3>>i-lJ=}jMfZ<lo-};u}><bq-#m&zFuPjq~^PQ<1qT_J8;GdIZ1Ur30UZq zg1HEfMv)lA4EBgMd7e)t6LDueHVbh~IvHUG!J^o}ZeIa5y92guTy3NDu!h!WdNLUU zjjCcGU}Y3glsq(00^QeYyk=#1WBc$VDml}^FhW1r)46*9!P1p6{i3|0)Q>SbO<C5N zL6iybb_J>*EZsLx#tWIdic1Z0tR=T;PqOjN)ZE0f9_2tviP7Wo5=WV05D=V1>2wni z4D3w*W?8vCBPdM;NELDt7RTh)8eqg84T_5jpz~5?7Klty$Hhu0DR#(LVhQVNIb99O zGAyr#O#2gyfjtk2w@k~oE3mMzfb3M!5u!16x@L6G3|peO4xhjLf{_=|W#9lJFF!)` z(+>%RgVZN1nS_S3Lv@U^`?{uqrmINEgzUuLR5)nD=ru4NK;RY|64i#YRgxAJ58Uaf z88EYovx_&jHC+~hc_^2}aLg)tO{3ufT@6H}0!UzdYUmf4fBQT@2rt$D#FhuRTt4fn zq8<B~#kv=fD^OTSF(K?UK3HQyQwL|hzI+%8`BaiGHhJn_NL{8^Xgi8$00000NkvXX Hu0mjfuMMr= literal 2012 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 From b6297d3e22244b65456741272aa5b7fc9cbc8bb0 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana <hra@esokia.com> Date: Tue, 4 Jun 2019 16:30:38 +0400 Subject: [PATCH 50/80] PHRAS-2616 #comment Port41 of PHRAS-2351 #time 0.25h --- .../www/common/images/icons/feedback-icon.png | Bin 0 -> 5120 bytes templates/web/prod/actions/Push.html.twig | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 resources/www/common/images/icons/feedback-icon.png diff --git a/resources/www/common/images/icons/feedback-icon.png b/resources/www/common/images/icons/feedback-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5af3da366a5f994ed7907161a76d1da2c3f5e6f9 GIT binary patch literal 5120 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 literal 0 HcmV?d00001 diff --git a/templates/web/prod/actions/Push.html.twig b/templates/web/prod/actions/Push.html.twig index 13270f08f3..720db4c0f6 100644 --- a/templates/web/prod/actions/Push.html.twig +++ b/templates/web/prod/actions/Push.html.twig @@ -19,7 +19,7 @@ {% if context == 'Push' %} <img style="width: 36px; height: 36px" src="/assets/common/images/icons/push-icon.png"/> {% else %} - <img style="width: 36px; height: 36px" src="/assets/common/images/icons/validation.png"/> + <img style="width: 36px; height: 36px" src="/assets/common/images/icons/feedback-icon.png"/> {% endif %} </div> <div class="PNB content" style="top:45px; overflow-y:auto;"> From cd62c6524b0e9e1247c0ccfba62938796d802fea Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana <hra@esokia.com> Date: Tue, 4 Jun 2019 18:30:27 +0400 Subject: [PATCH 51/80] PHRAS-2617 #comment Port41 of PHRAS-2341 #time 1h --- .../www/common/images/icons/workzone32.png | Bin 3133 -> 2506 bytes templates/web/prod/tab_headers.html.twig | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/www/common/images/icons/workzone32.png b/resources/www/common/images/icons/workzone32.png index 97598e4e0229072c584fe97f6eb05132897168a7..089f438feb839235d8b9b505e42959e47922365a 100644 GIT binary patch literal 2506 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 USu<##<^TWy07*qoM6N<$f|q;8<^TWy literal 3133 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 N9*x2}-$Wjc{Wp62Z3O@T diff --git a/templates/web/prod/tab_headers.html.twig b/templates/web/prod/tab_headers.html.twig index d4b5ae850f..c93d5fbd66 100644 --- a/templates/web/prod/tab_headers.html.twig +++ b/templates/web/prod/tab_headers.html.twig @@ -17,7 +17,8 @@ </li> {% endif %} <li class="ui-corner-top baskets"> - <a href="#baskets" class="WZbasketTab"> + <a href="#baskets" class="WZbasketTab WZtabs"> + <img src="/assets/common/images/icons/workzone32.png" title="{{ 'phraseanet:: baskets' | trans }}"/> <div id="basket_menu_trigger">▼</div> </a> </li> From 1363d082e60d707713944eefba0ea874ffd2eedb Mon Sep 17 00:00:00 2001 From: Nicolas Maillat <maillat@alchemy.fr> Date: Thu, 6 Jun 2019 12:11:25 +0200 Subject: [PATCH 52/80] PHRDPL-32 #comment add gettext --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index e55ffdbe17..0320f93cdb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -100,6 +100,7 @@ RUN apt-get update \ gnupg2 \ && apt-get update \ && apt-get install -y --no-install-recommends zlib1g-dev \ + gettext \ git \ ghostscript \ gpac \ From cb198fb52ff3f4eadf2bc01dbb0722f67be12b34 Mon Sep 17 00:00:00 2001 From: Alexandre BRACH <alexandre.brach@gmail.com> Date: Thu, 6 Jun 2019 14:11:54 +0200 Subject: [PATCH 53/80] fix max upload --- docker/nginx/boot.sh | 2 -- docker/nginx/nginx.conf.sample | 6 +++--- docker/phraseanet/php.ini.sample | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/docker/nginx/boot.sh b/docker/nginx/boot.sh index 4d702b6a6b..49e6b8a3b7 100755 --- a/docker/nginx/boot.sh +++ b/docker/nginx/boot.sh @@ -1,6 +1,4 @@ #!/bin/bash -cat /nginx.conf.sample cat nginx.conf.sample | sed "s/\$MAX_BODY_SIZE/$MAX_BODY_SIZE/g" > /etc/nginx/nginx.conf -cat /etc/nginx/nginx.conf nginx -g "daemon off;" diff --git a/docker/nginx/nginx.conf.sample b/docker/nginx/nginx.conf.sample index 1e75ba8a8f..c1f0150c1e 100644 --- a/docker/nginx/nginx.conf.sample +++ b/docker/nginx/nginx.conf.sample @@ -1,8 +1,8 @@ user app; worker_processes auto; -error_log /var/log/ngnix_error.log info; -#error_log /dev/stdout info; +#error_log /var/log/ngnix_error.log info; +error_log /dev/stdout info; pid /var/run/nginx.pid; #daemon off; @@ -52,6 +52,7 @@ http { root /var/alchemy/Phraseanet/www; index index.php; + client_max_body_size $MAX_BODY_SIZE; location /api { rewrite ^(.*)$ /api.php/$1 last; @@ -60,7 +61,6 @@ http { location / { # First attempt to serve request as file, then # as directory, then fall back to index.html - client_max_body_size $MAX_BODY_SIZE; try_files $uri $uri/ @rewriteapp; } diff --git a/docker/phraseanet/php.ini.sample b/docker/phraseanet/php.ini.sample index 13651fc1e3..774389b614 100644 --- a/docker/phraseanet/php.ini.sample +++ b/docker/phraseanet/php.ini.sample @@ -397,7 +397,7 @@ max_input_time = 60 ;max_input_nesting_level = 64 ; How many GET/POST/COOKIE input variables may be accepted -;max_input_vars = 1000 +max_input_vars = $MAX_INPUT_VARS ; Maximum amount of memory a script may consume (128MB) ; http://php.net/memory-limit From 300c4138487211373d7a8bbbf4ea0ab0182075dd Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana <hra@esokia.com> Date: Thu, 6 Jun 2019 18:21:57 +0400 Subject: [PATCH 54/80] PHRAS-2419 #comment add icomoon #time 5h --- .../fonts/PhraseanetIcomoon/Read Me.txt | 7 + .../PhraseanetIcomoon/demo-files/demo.css | 152 ++++++++++++++++++ .../PhraseanetIcomoon/demo-files/demo.js | 30 ++++ .../styles/fonts/PhraseanetIcomoon/demo.html | 134 +++++++++++++++ .../fonts/PhraseanetIcomoon/fonts/icomoon.eot | Bin 0 -> 2164 bytes .../fonts/PhraseanetIcomoon/fonts/icomoon.svg | 16 ++ .../PhraseanetIcomoon/fonts/icomoon.woff | Bin 0 -> 2076 bytes .../fonts/set-icon-phraseanet.ttf | Bin 0 -> 2000 bytes .../fonts/PhraseanetIcomoon/selection.json | 1 + .../styles/fonts/PhraseanetIcomoon/style.css | 34 ++++ resources/www/common/styles/main.scss | 34 ++++ templates/web/prod/results/record.html.twig | 16 +- 12 files changed, 416 insertions(+), 8 deletions(-) create mode 100755 resources/www/common/styles/fonts/PhraseanetIcomoon/Read Me.txt create mode 100755 resources/www/common/styles/fonts/PhraseanetIcomoon/demo-files/demo.css create mode 100755 resources/www/common/styles/fonts/PhraseanetIcomoon/demo-files/demo.js create mode 100755 resources/www/common/styles/fonts/PhraseanetIcomoon/demo.html create mode 100755 resources/www/common/styles/fonts/PhraseanetIcomoon/fonts/icomoon.eot create mode 100755 resources/www/common/styles/fonts/PhraseanetIcomoon/fonts/icomoon.svg create mode 100755 resources/www/common/styles/fonts/PhraseanetIcomoon/fonts/icomoon.woff create mode 100755 resources/www/common/styles/fonts/PhraseanetIcomoon/fonts/set-icon-phraseanet.ttf create mode 100755 resources/www/common/styles/fonts/PhraseanetIcomoon/selection.json create mode 100755 resources/www/common/styles/fonts/PhraseanetIcomoon/style.css diff --git a/resources/www/common/styles/fonts/PhraseanetIcomoon/Read Me.txt b/resources/www/common/styles/fonts/PhraseanetIcomoon/Read Me.txt new file mode 100755 index 0000000000..8491652f88 --- /dev/null +++ b/resources/www/common/styles/fonts/PhraseanetIcomoon/Read Me.txt @@ -0,0 +1,7 @@ +Open *demo.html* to see a list of all the glyphs in your font along with their codes/ligatures. + +To use the generated font in desktop programs, you can install the TTF font. In order to copy the character associated with each icon, refer to the text box at the bottom right corner of each glyph in demo.html. The character inside this text box may be invisible; but it can still be copied. See this guide for more info: https://icomoon.io/#docs/local-fonts + +You won't need any of the files located under the *demo-files* directory when including the generated font in your own projects. + +You can import *selection.json* back to the IcoMoon app using the *Import Icons* button (or via Main Menu → Manage Projects) to retrieve your icon selection. diff --git a/resources/www/common/styles/fonts/PhraseanetIcomoon/demo-files/demo.css b/resources/www/common/styles/fonts/PhraseanetIcomoon/demo-files/demo.css new file mode 100755 index 0000000000..39b8991da7 --- /dev/null +++ b/resources/www/common/styles/fonts/PhraseanetIcomoon/demo-files/demo.css @@ -0,0 +1,152 @@ +body { + padding: 0; + margin: 0; + font-family: sans-serif; + font-size: 1em; + line-height: 1.5; + color: #555; + background: #fff; +} +h1 { + font-size: 1.5em; + font-weight: normal; +} +small { + font-size: .66666667em; +} +a { + color: #e74c3c; + text-decoration: none; +} +a:hover, a:focus { + box-shadow: 0 1px #e74c3c; +} +.bshadow0, input { + box-shadow: inset 0 -2px #e7e7e7; +} +input:hover { + box-shadow: inset 0 -2px #ccc; +} +input, fieldset { + font-family: sans-serif; + font-size: 1em; + margin: 0; + padding: 0; + border: 0; +} +input { + color: inherit; + line-height: 1.5; + height: 1.5em; + padding: .25em 0; +} +input:focus { + outline: none; + box-shadow: inset 0 -2px #449fdb; +} +.glyph { + font-size: 16px; + width: 15em; + padding-bottom: 1em; + margin-right: 4em; + margin-bottom: 1em; + float: left; + overflow: hidden; +} +.liga { + width: 80%; + width: calc(100% - 2.5em); +} +.talign-right { + text-align: right; +} +.talign-center { + text-align: center; +} +.bgc1 { + background: #f1f1f1; +} +.fgc1 { + color: #999; +} +.fgc0 { + color: #000; +} +p { + margin-top: 1em; + margin-bottom: 1em; +} +.mvm { + margin-top: .75em; + margin-bottom: .75em; +} +.mtn { + margin-top: 0; +} +.mtl, .mal { + margin-top: 1.5em; +} +.mbl, .mal { + margin-bottom: 1.5em; +} +.mal, .mhl { + margin-left: 1.5em; + margin-right: 1.5em; +} +.mhmm { + margin-left: 1em; + margin-right: 1em; +} +.mls { + margin-left: .25em; +} +.ptl { + padding-top: 1.5em; +} +.pbs, .pvs { + padding-bottom: .25em; +} +.pvs, .pts { + padding-top: .25em; +} +.unit { + float: left; +} +.unitRight { + float: right; +} +.size1of2 { + width: 50%; +} +.size1of1 { + width: 100%; +} +.clearfix:before, .clearfix:after { + content: " "; + display: table; +} +.clearfix:after { + clear: both; +} +.hidden-true { + display: none; +} +.textbox0 { + width: 3em; + background: #f1f1f1; + padding: .25em .5em; + line-height: 1.5; + height: 1.5em; +} +#testDrive { + display: block; + padding-top: 24px; + line-height: 1.5; +} +.fs0 { + font-size: 16px; +} +.fs1 { + font-size: 32px; +} + diff --git a/resources/www/common/styles/fonts/PhraseanetIcomoon/demo-files/demo.js b/resources/www/common/styles/fonts/PhraseanetIcomoon/demo-files/demo.js new file mode 100755 index 0000000000..6f45f1c409 --- /dev/null +++ b/resources/www/common/styles/fonts/PhraseanetIcomoon/demo-files/demo.js @@ -0,0 +1,30 @@ +if (!('boxShadow' in document.body.style)) { + document.body.setAttribute('class', 'noBoxShadow'); +} + +document.body.addEventListener("click", function(e) { + var target = e.target; + if (target.tagName === "INPUT" && + target.getAttribute('class').indexOf('liga') === -1) { + target.select(); + } +}); + +(function() { + var fontSize = document.getElementById('fontSize'), + testDrive = document.getElementById('testDrive'), + testText = document.getElementById('testText'); + function updateTest() { + testDrive.innerHTML = testText.value || String.fromCharCode(160); + if (window.icomoonLiga) { + window.icomoonLiga(testDrive); + } + } + function updateSize() { + testDrive.style.fontSize = fontSize.value + 'px'; + } + fontSize.addEventListener('change', updateSize, false); + testText.addEventListener('input', updateTest, false); + testText.addEventListener('change', updateTest, false); + updateSize(); +}()); diff --git a/resources/www/common/styles/fonts/PhraseanetIcomoon/demo.html b/resources/www/common/styles/fonts/PhraseanetIcomoon/demo.html new file mode 100755 index 0000000000..9a25225d1c --- /dev/null +++ b/resources/www/common/styles/fonts/PhraseanetIcomoon/demo.html @@ -0,0 +1,134 @@ +<!doctype html> +<html> +<head> + <meta charset="utf-8"> + <title>IcoMoon Demo + + + + + +
+

Font Name: icomoon (Glyphs: 6)

+
+
+

Grid Size: Unknown

+
+
+ + + + icon-picto-information +
+
+ + +
+
+ liga: + +
+
+
+
+ + + + icon-pastille-rond +
+
+ + +
+
+ liga: + +
+
+
+
+ + + + icon-pastille-carre +
+
+ + +
+
+ liga: + +
+
+
+
+ + + + icon-picto-point-list +
+
+ + +
+
+ liga: + +
+
+
+
+ + + + icon-picto-three-little-point +
+
+ + +
+
+ liga: + +
+
+
+
+ + + + icon-picto-search-new +
+
+ + +
+
+ liga: + +
+
+
+ + +
+

Font Test Drive

+ + +
  +
+
+ +
+

Generated by IcoMoon

+
+ + + + diff --git a/resources/www/common/styles/fonts/PhraseanetIcomoon/fonts/icomoon.eot b/resources/www/common/styles/fonts/PhraseanetIcomoon/fonts/icomoon.eot new file mode 100755 index 0000000000000000000000000000000000000000..4b9f6ad620c2dd47788ddfff64541f3c556ba598 GIT binary patch literal 2164 zcma)7O>7%Q6#iz{b`nSVG1zgFMy_4QNvI`buM<18C9*0ts$1HilqTZPQrB^vl-Q0E zM@=M9D^=n^5mc?HDCZoIB2{qWP!2v;0wlx@kxRv?<-!3DP}Sy}*^O)`Zs19~^S$rA zH*aS4&AxIw@KYNgprKg=?g+`e^>#BaeNB0COS`|@26ST)S(H%VQ$mpr-IzfRd8}ax z8LW`$!z`H^}_)n$&o)aBToU)s3(=NTDj^i zuDXlog;$L}kIU@{9v&WdjV1KBCwO7VFouGLVQg(_?;Ar^5C=638REhg*T+1y3Kv$v zK`QRHZqdf*k%$->9v@3iiew^gczwd#XT#{|?MoN0UAuVc_9&%}MP)Ci>~jD0`Tbm7 zz?_RqG!q4^OfDgNTY*$xz4%_z`!I<^8!Ew zcqlO*N`R*l8%xAp|4HcP5z^P_vyO8Q7T;>{g~Pt8dcO>BA2}qQ4jtJ&>eqMJ>fNwU z`uM`tyE|UmJu9MGHcep@kd>8K!OgA|i|`SW$WA)cPPVf2d7Ty|JY$IN?u$>*oV_^sRGZuDY03XZ$qpgEXH!UXC zi1QZKiQlxajrao#+u7*Y0aUDm{EUU27{lgbwp1vUip||}Hn+06SStEsk!b4{*)pmn zIg`t;EoD}kdv8n6sZz1*&*zG{l}tG|@4vF)PiISKxwZ(VRC_LS7kM`9qH5Y1lsV3m WyMhhA)2iK{wc34zr!KqDKJqUOv{38- literal 0 HcmV?d00001 diff --git a/resources/www/common/styles/fonts/PhraseanetIcomoon/fonts/icomoon.svg b/resources/www/common/styles/fonts/PhraseanetIcomoon/fonts/icomoon.svg new file mode 100755 index 0000000000..1f68a02ec0 --- /dev/null +++ b/resources/www/common/styles/fonts/PhraseanetIcomoon/fonts/icomoon.svg @@ -0,0 +1,16 @@ + + + +Generated by IcoMoon + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/www/common/styles/fonts/PhraseanetIcomoon/fonts/icomoon.woff b/resources/www/common/styles/fonts/PhraseanetIcomoon/fonts/icomoon.woff new file mode 100755 index 0000000000000000000000000000000000000000..fa451ea255ae9a7425a87432b5f7d016ec41b3cb GIT binary patch literal 2076 zcma)7O>7%Q6n?YopW2lZFW7ODM%#65C!v;%y>{%-hRCW^t1fCIwKNuomb#AXq{QCJ zag;^^6$yz0MSxm?DCZuKA|Y`CsT_RZ21tk-A{WFd<-!3DP-^qd>;xO)8lLrLzW2?0 z^WMzPj5ikx1!4p_Fi8h_@BY@dIsT_CUU=3dVh6xp;X3-1>tUr{z5#9p_KRFYOW(a+ zE3b3z3)tM3tG~9kbq(B?MCz|xAN>C54=dI3GLiFhjAyy(?;pCm0utOWu%lcx#rM@p zy>*kw6@Wd%H8#OKYgPq*u6fvFT-A@2ck1Pv$m`;D7(z9AsZp+1!L^Y4O|JLOcplxb z)?vH<{M%0jQXLQ2d*mci?kQixe%J2V&y;2!*!{x%{T9c0qFtxj?zSnfLcxeVMbE_$ zt;hm2i7}2R(Q>aza?l)lFLp}7kCCzK>^|;x!69~+1ZLfzLJk=r2GB5K@ER4f*qlO? zdrqY8qlZ z6XSeMScjb7Ky_hzE|h2|3d>BIO!bX&Egp-_`5|+$Sp4xv{g&Du#O_5Pmy3$z!CE%S zPhm1?fzHqpN(f_9QrMI*b|sa`rnUbhRC^2IYmUk7+=tm`3hD8<-VyDS@XoO#-08@% zfA{L<9^1JS*SU`#@7&q*Qtrx#PRkyO+W;)iI<@I_Uml0>Fy-jN@bBgv@=b@0`SRoA zrQ;_~o;-29G!E(EN7Qfi<0p@>_WpVLBmXz%XG)xTd1e=|`a#DvXfHb)nO0~mO?P2yzLW`$#y>_Z_Zn1ExrbB=i3%5)^ zi9{Eky3Y== z57{5!d2L=Q;XZNM%Pb7pjL;`CFC#ZN9>G1`bVXtnI4iLOctc_*{-uHvyTHF7v6m+3 zE&e__JYYsJVq*okCb0_qyu=RRS0#4hKg5vO1^&FmUdqt@)rwWOtOl)8g)FK=Eov-P zo9nAq!$>8Pcp<9Pq;)u80Q00MLCJwp1IhE%+QwSBiKJB&xvOSh3EcwgeSK?iRAwFik^LRHhdCWpGz%3vE#>;H

)X3j~q4F2qcSO(t literal 0 HcmV?d00001 diff --git a/resources/www/common/styles/fonts/PhraseanetIcomoon/fonts/set-icon-phraseanet.ttf b/resources/www/common/styles/fonts/PhraseanetIcomoon/fonts/set-icon-phraseanet.ttf new file mode 100755 index 0000000000000000000000000000000000000000..c84af7bb4ec40627e63401b219780def34c81968 GIT binary patch literal 2000 zcma)7O>7%Q6#iz{b`nQUV(?FsMy_4kNvI`bZyYG~o?a&5R$M<&-=-c}t~NHKV`6~%_td8<^(O!saU6cnfg!QxDb()zba515c?>F~`-kF#iy_X%6;V#nNQ4F z{Dx^G%X1=F_Vbbj_Ux+O(vej;Xf)2EEkOy4Y{nR;&74)~H4YnQ$ve>xg+GDdp1t*~ z)sj)cJxDBCzxr*A>t0tt&}+DhQ-I8C(xu~fFh?t^-eJ`)o)=!$d|tQ55k5LG<4&d3 zX>a&aMAIT+P1AOEly|g96U1Q!5lvj$VTH`o(pi{}!&E$dL!yt-lW{RQF_X&7iA;K0 z^9O|AXT#Lgohz4b+_-$@&J?ACg}$GYcH;m#>jzm~$Xtshnu$VICbyO9v2r~Yjn0lx zW~0&AvoE_fRqw^NBbdv9JO;Rzo9xRFG|b^F7Fa@vhmz!>gm@~+RC?O|pM+{2A$>KU zb)5UK_*Ow677H}x^F?^~*b&3&$gzLV>diLWyc-J`K7m;CZre+_XGJs{rYU9uvPKu` zxb4ca2@fNKiwD0q`vLFtAe$>YI=XoL#Hmv!jxUZT`B!$)P)c|Ee9r?qs(?-dy#-peEsXFOi7=S(7zNq4Y# zCGL(T1A+4C-1+(3>2iQVJfFLzjfm)Cb61>{G3ovBBib$cbwbWdoQ%2S&D}*2zLN|sShPID!bl3~2( z24|b#$Rp24-grx#@F2jOQp2`5B)$-TlQ(K}Vv+aBkalLNSdSrmZRHi{BWFYyo_)A# zVU;*-VH@#=h3))@@mknH{tXK|F@_I~@1t#i%n&UmR*1_MR*7G?u#Na#3)|rX{{dvI zgZu>xJCVZnO0iz8*K1fo5p`5K>ZmQ0*49_*wO}%y;1{BVHLTNt2CkDt9EqM$J;@8D z@O<=!E0N=e6fCxwZ)N>xf{%0<}x)|Q2`Ck ZOXRL$i_g5=z&UdRtkL{8k_X@W@efc5KimKS literal 0 HcmV?d00001 diff --git a/resources/www/common/styles/fonts/PhraseanetIcomoon/selection.json b/resources/www/common/styles/fonts/PhraseanetIcomoon/selection.json new file mode 100755 index 0000000000..7db069282f --- /dev/null +++ b/resources/www/common/styles/fonts/PhraseanetIcomoon/selection.json @@ -0,0 +1 @@ +{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M85.333 341.333c47.128 0 85.333 38.205 85.333 85.333v512c0 47.128-38.205 85.333-85.333 85.333s-85.333-38.205-85.333-85.333v-512c0-47.128 38.205-85.333 85.333-85.333z","M0 0h170.667v170.667h-170.667v-170.667z"],"attrs":[],"width":171,"grid":0,"tags":["picto-information"]},"attrs":[],"properties":{"order":177,"id":5,"name":"picto-information","prevSize":32,"code":59648},"setIdx":1,"setId":1,"iconIdx":0},{"icon":{"paths":["M1024 512c0 282.77-229.23 512-512 512s-512-229.23-512-512c0-282.77 229.23-512 512-512s512 229.23 512 512z"],"attrs":[],"grid":0,"tags":["pastille-rond"]},"attrs":[],"properties":{"order":178,"id":4,"name":"pastille-rond","prevSize":32,"code":59649},"setIdx":1,"setId":1,"iconIdx":1},{"icon":{"paths":["M204.8 0h614.4c113.108 0 204.8 91.692 204.8 204.8v614.4c0 113.108-91.692 204.8-204.8 204.8h-614.4c-113.108 0-204.8-91.692-204.8-204.8v-614.4c0-113.108 91.692-204.8 204.8-204.8z"],"attrs":[],"width":1062,"grid":0,"tags":["pastille-carre"]},"attrs":[],"properties":{"order":179,"id":3,"name":"pastille-carre","prevSize":32,"code":59650},"setIdx":1,"setId":1,"iconIdx":2},{"icon":{"paths":["M438.857 73.143h512c40.396 0 73.143 32.747 73.143 73.143v0c0 40.396-32.747 73.143-73.143 73.143h-512c-40.396 0-73.143-32.747-73.143-73.143v0c0-40.396 32.747-73.143 73.143-73.143z","M438.857 438.857h512c40.396 0 73.143 32.747 73.143 73.143v0c0 40.396-32.747 73.143-73.143 73.143h-512c-40.396 0-73.143-32.747-73.143-73.143v0c0-40.396 32.747-73.143 73.143-73.143z","M438.857 804.571h512c40.396 0 73.143 32.747 73.143 73.143v0c0 40.396-32.747 73.143-73.143 73.143h-512c-40.396 0-73.143-32.747-73.143-73.143v0c0-40.396 32.747-73.143 73.143-73.143z","M219.429 146.286c0 40.396-32.747 73.143-73.143 73.143s-73.143-32.747-73.143-73.143c0-40.396 32.747-73.143 73.143-73.143s73.143 32.747 73.143 73.143z","M219.429 512c0 40.396-32.747 73.143-73.143 73.143s-73.143-32.747-73.143-73.143c0-40.396 32.747-73.143 73.143-73.143s73.143 32.747 73.143 73.143z","M219.429 877.714c0 40.396-32.747 73.143-73.143 73.143s-73.143-32.747-73.143-73.143c0-40.396 32.747-73.143 73.143-73.143s73.143 32.747 73.143 73.143z"],"attrs":[],"width":1097,"grid":0,"tags":["point-list"]},"attrs":[],"properties":{"order":180,"id":2,"name":"picto-point-list","prevSize":32,"code":59651},"setIdx":1,"setId":1,"iconIdx":3},{"icon":{"paths":["M3392 512c0 176.731-143.269 320-320 320s-320-143.269-320-320c0-176.731 143.269-320 320-320s320 143.269 320 320z","M2112 512c0 176.731-143.269 320-320 320s-320-143.269-320-320c0-176.731 143.269-320 320-320s320 143.269 320 320z","M832 512c0 176.731-143.269 320-320 320s-320-143.269-320-320c0-176.731 143.269-320 320-320s320 143.269 320 320z"],"attrs":[{"strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":128},{"strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":128},{"strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":128}],"width":3584,"grid":0,"tags":["three-little-point"]},"attrs":[{"strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":128},{"strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":128},{"strokeLinejoin":"miter","strokeLinecap":"butt","strokeMiterlimit":"4","strokeWidth":128}],"properties":{"order":181,"id":1,"name":"picto-three-little-point","prevSize":32,"code":59652},"setIdx":1,"setId":1,"iconIdx":4},{"icon":{"paths":["M380.56 644.025c-145.784 0-263.465-117.681-263.465-263.465s117.681-263.465 263.465-263.465c145.784 0 263.465 117.681 263.465 263.465s-117.681 263.465-263.465 263.465zM731.847 644.025h-46.253l-16.393-15.808c57.377-66.744 91.92-153.395 91.92-247.657 0-210.186-170.374-380.56-380.56-380.56s-380.56 170.374-380.56 380.56c0 210.186 170.374 380.56 380.56 380.56 94.262 0 180.913-34.543 247.657-91.92l15.808 16.393v46.253l292.739 292.153 87.236-87.236-292.153-292.739z"],"attrs":[],"grid":0,"tags":["search-new"]},"attrs":[],"properties":{"order":182,"id":0,"name":"picto-search-new","prevSize":32,"code":59653},"setIdx":1,"setId":1,"iconIdx":5}],"height":1024,"metadata":{"name":"icomoon"},"preferences":{"showGlyphs":true,"showCodes":true,"showQuickUse":false,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"icon-","metadata":{"fontFamily":"icomoon","majorVersion":1,"minorVersion":0},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false,"autoHost":true,"showMetrics":false,"showMetadata":false,"showVersion":false},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215},"historySize":50,"gridSize":16,"quickUsageToken":{"icon-alchemy":"NDcwYTI2OTBkYmY0ZjNkOTBiMzg2Yjk2OWZlNjY2YTMjMSMxNTM4NTczNzc3IyMj"},"showLiga":false}} \ No newline at end of file diff --git a/resources/www/common/styles/fonts/PhraseanetIcomoon/style.css b/resources/www/common/styles/fonts/PhraseanetIcomoon/style.css new file mode 100755 index 0000000000..9869ae9201 --- /dev/null +++ b/resources/www/common/styles/fonts/PhraseanetIcomoon/style.css @@ -0,0 +1,34 @@ + +[class^="icon-"], [class*=" icon-"] { + /* use !important to prevent issues with browser extensions that change fonts */ + font-family: 'icomoon' !important; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-picto-information:before { + content: "\e900"; +} +.icon-pastille-rond:before { + content: "\e901"; +} +.icon-pastille-carre:before { + content: "\e902"; +} +.icon-picto-point-list:before { + content: "\e903"; +} +.icon-picto-three-little-point:before { + content: "\e904"; +} +.icon-picto-search-new:before { + content: "\e905"; +} diff --git a/resources/www/common/styles/main.scss b/resources/www/common/styles/main.scss index ad1e9e34cd..9090fe92b3 100644 --- a/resources/www/common/styles/main.scss +++ b/resources/www/common/styles/main.scss @@ -1,7 +1,18 @@ +@font-face { + font-family: 'icomoon'; + src: url('../fonts/PhraseanetIcomoon/fonts/icomoon.eot?xt8hfo'); + src: url('../fonts/PhraseanetIcomoon/fonts/icomoon.eot?xt8hfo#iefix') format('embedded-opentype'), + url('../fonts/PhraseanetIcomoon/fonts/icomoon.ttf?xt8hfo') format('truetype'), + url('../fonts/PhraseanetIcomoon/fonts/icomoon.woff?xt8hfo') format('woff'), + url('../fonts/PhraseanetIcomoon/fonts/icomoon.svg?xt8hfo#icomoon') format('svg'); + font-weight: normal; + font-style: normal; +} /** * Common stylesheet, builded into assets/common/styles/common.css */ @import '../../../../node_modules/font-awesome/scss/font-awesome.scss'; +@import './fonts/PhraseanetIcomoon/style'; @import './roboto.scss'; @import '../../_shared/styles/variables'; @import '../../vendors/bootstrap/bootstrap'; @@ -38,5 +49,28 @@ $mainMenuLinkBackgroundHoverColor: transparent; } } +[class^="icon-"], [class*=" icon-"].icomoon { + display: inline-block; + width: inherit; + height: inherit; + margin-right: inherit; + line-height: inherit; + vertical-align: inherit; + background-image:none; + margin-top: inherit; +} +.icon-picto-three-little-point { + font-size: 4.5px; +} + +.icomoon{ + &.with-shadow { + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); + } + &.with-white-shadow { + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.39); + } +} + diff --git a/templates/web/prod/results/record.html.twig b/templates/web/prod/results/record.html.twig index 1f2dc34635..bd87cc83c8 100644 --- a/templates/web/prod/results/record.html.twig +++ b/templates/web/prod/results/record.html.twig @@ -80,32 +80,32 @@ {% if record_subdef_url(record, 'preview') is not null and has_access_subdef(record, 'preview') %} - - + + {% endif %} {% endif %} {% if settings.rollover_thumbnail == 'preview' %} - - + + {% endif %} {% if settings.technical_display == '1' %} - - + + {% endif %} {% if settings.show_context_menu %} - - + +

+ {% set collectionLogo = collection_logo(record.baseId) %} {% if collectionLogo is empty %} {{ record.collectionName }} @@ -74,7 +74,7 @@ {% endif %} {# drop down options #} - + {% if settings.rollover_thumbnail == 'caption' %} {% if record_subdef_url(record, 'preview') is not null and has_access_subdef(record, 'preview') %} From 7ddf7b61e63cddbcc07eebcb67d9c9369a270611 Mon Sep 17 00:00:00 2001 From: MilosEsokia Date: Tue, 7 May 2019 14:44:34 +0200 Subject: [PATCH 02/80] Enable console debug depending on environment --- lib/Alchemy/Phrasea/CLI.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/Alchemy/Phrasea/CLI.php b/lib/Alchemy/Phrasea/CLI.php index 0d6fc27774..4c6dae3e51 100644 --- a/lib/Alchemy/Phrasea/CLI.php +++ b/lib/Alchemy/Phrasea/CLI.php @@ -73,9 +73,17 @@ class CLI extends Application $this->bindRoutes(); - $this['logger'] = $this->extend('logger', function () { - return new Console\Logger\ConsoleLogger(new Console\Output\ConsoleOutput(Console\Output\ConsoleOutput::VERBOSITY_DEBUG)); - }); + $logger = false; + $config = $this['configuration.store']->getConfig(); + if ((isset($config['console_logger_enabled_environments']) && in_array($environment, $config['console_logger_enabled_environments'])) || $environment == self::ENV_DEV){ + $logger = true; + } + + if ($logger){ + $this['logger'] = $this->extend('logger', function () { + return new Console\Logger\ConsoleLogger(new Console\Output\ConsoleOutput(Console\Output\ConsoleOutput::VERBOSITY_DEBUG)); + }); + } error_reporting(-1); ErrorHandler::register(); From 31a4acda0e12d8daa6203b5f963cc8c4040ec624 Mon Sep 17 00:00:00 2001 From: MilosEsokia Date: Wed, 8 May 2019 11:03:03 +0200 Subject: [PATCH 03/80] Check if config exists --- lib/Alchemy/Phrasea/CLI.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/Alchemy/Phrasea/CLI.php b/lib/Alchemy/Phrasea/CLI.php index 4c6dae3e51..9eb1302225 100644 --- a/lib/Alchemy/Phrasea/CLI.php +++ b/lib/Alchemy/Phrasea/CLI.php @@ -74,8 +74,17 @@ class CLI extends Application $this->bindRoutes(); $logger = false; - $config = $this['configuration.store']->getConfig(); - if ((isset($config['console_logger_enabled_environments']) && in_array($environment, $config['console_logger_enabled_environments'])) || $environment == self::ENV_DEV){ + + if ($this['configuration.store']->isSetup()){ + + $config = $this['configuration.store']->getConfig(); + + if ((isset($config['console_logger_enabled_environments']) && in_array($environment, $config['console_logger_enabled_environments'])) || $environment == self::ENV_DEV){ + $logger = true; + } + } + + if ($environment == self::ENV_DEV){ $logger = true; } From fa547e15e66e5ace07d3c5fb222e4870a6620255 Mon Sep 17 00:00:00 2001 From: MilosEsokia Date: Tue, 14 May 2019 13:15:32 +0200 Subject: [PATCH 04/80] Removing duplicated clause --- lib/Alchemy/Phrasea/CLI.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Alchemy/Phrasea/CLI.php b/lib/Alchemy/Phrasea/CLI.php index 9eb1302225..eb1c780740 100644 --- a/lib/Alchemy/Phrasea/CLI.php +++ b/lib/Alchemy/Phrasea/CLI.php @@ -79,7 +79,7 @@ class CLI extends Application $config = $this['configuration.store']->getConfig(); - if ((isset($config['console_logger_enabled_environments']) && in_array($environment, $config['console_logger_enabled_environments'])) || $environment == self::ENV_DEV){ + if ((isset($config['console_logger_enabled_environments']) && in_array($environment, $config['console_logger_enabled_environments']))){ $logger = true; } } From 77e262bad028234434b0060c6552c240539833f2 Mon Sep 17 00:00:00 2001 From: Jean-Yves Gaulier Date: Thu, 16 May 2019 17:26:24 +0200 Subject: [PATCH 05/80] PHRAS-2581_twig-macro-explode_4.1 explode commmon/macros.html.twig in 3 files for 3 macros --- templates/web/account/account.html.twig | 4 +- .../web/account/change-password.html.twig | 4 +- templates/web/account/reset-email.html.twig | 4 +- templates/web/common/caption.html.twig | 14 ++-- ...cros.html.twig => macro_captcha.html.twig} | 69 ------------------- templates/web/common/macro_caption.html.twig | 12 ++++ templates/web/common/macro_flashes.html.twig | 19 +++++ templates/web/lightbox/IE6/feed.html.twig | 4 +- templates/web/lightbox/IE6/validate.html.twig | 4 +- templates/web/lightbox/feed.html.twig | 4 +- templates/web/lightbox/validate.html.twig | 4 +- templates/web/login/index.html.twig | 5 +- templates/web/login/providers/bind.html.twig | 4 +- .../web/login/providers/mapping.html.twig | 4 +- .../web/login/register-classic.html.twig | 4 +- templates/web/prod/preview/caption.html.twig | 8 +-- templates/web/prod/results/list.html.twig | 4 +- templates/web/prod/results/record.html.twig | 4 +- 18 files changed, 67 insertions(+), 108 deletions(-) rename templates/web/common/{macros.html.twig => macro_captcha.html.twig} (59%) create mode 100644 templates/web/common/macro_caption.html.twig create mode 100644 templates/web/common/macro_flashes.html.twig diff --git a/templates/web/account/account.html.twig b/templates/web/account/account.html.twig index 29bccc7716..887b29ec03 100644 --- a/templates/web/account/account.html.twig +++ b/templates/web/account/account.html.twig @@ -1,6 +1,6 @@ {% extends "account/base.html.twig" %} -{% import "common/macros.html.twig" as auth_macro %} +{% import "common/macro_flashes.html.twig" as macro_flashes %} {% set selected = "informations" %} @@ -25,7 +25,7 @@ {% block content_account %}
- {{ auth_macro.flashes() }} + {{ macro_flashes.flashes() }}
diff --git a/templates/web/account/change-password.html.twig b/templates/web/account/change-password.html.twig index 93ae08b162..3a285d5a4d 100644 --- a/templates/web/account/change-password.html.twig +++ b/templates/web/account/change-password.html.twig @@ -1,6 +1,6 @@ {% extends "login/layout/sidebar-layout.html.twig" %} -{% import "common/macros.html.twig" as account_macro %} +{% import "common/macro_flashes.html.twig" as macro_flashes %} {% import "login/common/macros.html.twig" as auth_macro %} {% block title %} @@ -18,7 +18,7 @@
- {{ account_macro.flashes() }} + {{ macro_flashes.flashes() }}
- {{ auth_macro.flashes() }} + {{ macro_flashes.flashes() }}
diff --git a/templates/web/common/caption.html.twig b/templates/web/common/caption.html.twig index 51f277901c..0a71994974 100644 --- a/templates/web/common/caption.html.twig +++ b/templates/web/common/caption.html.twig @@ -1,21 +1,21 @@ -{% import 'common/macros.html.twig' as macro %} +{% import 'common/macro_caption.html.twig' as macro_caption %} {% set business = granted_on_collection(record.baseId, [constant('\\ACL::CANMODIFRECORD')]) %} {% set display_exif = true %} {% if view == 'answer' %} - {{ macro.caption(record, business, display_exif) }} + {{ macro_caption.caption(record, business, display_exif) }} {% elseif view == 'lazaret' %} - {{ macro.caption(record, business, display_exif) }} + {{ macro_caption.caption(record, business, display_exif) }} {% elseif view == 'preview' %} {% set display_exif = false %} - {{ macro.caption(record, business, display_exif, true) }} + {{ macro_caption.caption(record, business, display_exif, true) }} {% elseif view == 'basket' %} {% set display_exif = false %} - {{ macro.caption(record, business, display_exif) }} + {{ macro_caption.caption(record, business, display_exif) }} {% elseif view == 'overview' %} {% set display_exif = false %} - {{ macro.caption(record, business, display_exif) }} + {{ macro_caption.caption(record, business, display_exif) }} {% elseif view == 'publi' %} - {{ macro.caption(record, business, display_exif) }} + {{ macro_caption.caption(record, business, display_exif) }} {% endif %} diff --git a/templates/web/common/macros.html.twig b/templates/web/common/macro_captcha.html.twig similarity index 59% rename from templates/web/common/macros.html.twig rename to templates/web/common/macro_captcha.html.twig index 28a0a31f81..f1168ed1bd 100644 --- a/templates/web/common/macros.html.twig +++ b/templates/web/common/macro_captcha.html.twig @@ -67,72 +67,3 @@ {% endmacro %} - -{% macro flashes() %} - {% for type in app.getAvailableFlashTypes %} - {% for message in app.getFlash(type) %} -
- - - - - - -
{{ message }} - × -
-
- {% endfor %} - {% endfor %} -{% endmacro %} - -{% macro caption_value(field, bounceable) %} - {% autoescape false %} - {% set terms = [] %} - {% for data in field.values %} - {% if data.from_thesaurus and bounceable %} - {% set value = data.value|e|bounce(field.name, data.qjs, field.sbas_id)|parseColor %} - {% else %} - {% set value = data.value|e|parseColor %} - {% endif %} - {% set terms = [value]|merge(terms) %} - {% endfor %} - {{ terms|join(' ; ') }} - {% endautoescape %} -{% endmacro %} - -{% macro caption_field(field, bounceable, extra_classes) %} -
- {{ field.label_name }} : - {{ _self.caption_value(field, bounceable|default(true))|highlight|linkify }} -
-{% endmacro %} - -{% macro format_caption(record, highlight, search_engine, include_business, bounceable, technical_data) %} - {% for field in record.get_caption().get_highlight_fields(null, include_business) %} - {% set extra_classes = ['pair'] %} - {% if loop.index is odd %} - {% set extra_classes = ['impair'] %} - {% endif %} - {{ _self.caption_field(field, bounceable|default(true), extra_classes) }} - {% endfor %} - {% if technical_data|default(true) and app.getAuthenticatedUser() is not none and app['settings'].getUserSetting(app.getAuthenticatedUser(), 'technical_display') == 'group' %} -
- {% include 'common/technical_datas.html.twig' %} - {% endif %} -{% endmacro %} - -{% macro caption(record, can_see_business, display_exif, limitedWidth = false) %} -
- {% for name, value in record.getCaption(caption_field_order(record, can_see_business)) %} -
{{ caption_field_label(record, name) }}
-
{{ caption_field(record, name, value)|e|highlight|linkify|parseColor }}
- {% endfor %} -
- {% if display_exif|default(true) and app.getAuthenticator().user is not none and user_setting('technical_display') == 'group' %} -
- {% include 'common/technical_datas.html.twig' %} - {% endif %} -{% endmacro %} diff --git a/templates/web/common/macro_caption.html.twig b/templates/web/common/macro_caption.html.twig new file mode 100644 index 0000000000..21a1fab40d --- /dev/null +++ b/templates/web/common/macro_caption.html.twig @@ -0,0 +1,12 @@ +{% macro caption(record, can_see_business, display_exif, limitedWidth = false) %} +
+ {% for name, value in record.getCaption(caption_field_order(record, can_see_business)) %} +
{{ caption_field_label(record, name) }}
+
{{ caption_field(record, name, value)|e|highlight|linkify|parseColor }}
+ {% endfor %} +
+ {% if display_exif|default(true) and app.getAuthenticator().user is not none and user_setting('technical_display') == 'group' %} +
+ {% include 'common/technical_datas.html.twig' %} + {% endif %} +{% endmacro %} diff --git a/templates/web/common/macro_flashes.html.twig b/templates/web/common/macro_flashes.html.twig new file mode 100644 index 0000000000..8d5ea2e393 --- /dev/null +++ b/templates/web/common/macro_flashes.html.twig @@ -0,0 +1,19 @@ +{% macro flashes() %} + {% for type in app.getAvailableFlashTypes %} + {% for message in app.getFlash(type) %} +
+ + + + + + +
{{ message }} + × +
+
+ {% endfor %} + {% endfor %} +{% endmacro %} diff --git a/templates/web/lightbox/IE6/feed.html.twig b/templates/web/lightbox/IE6/feed.html.twig index eb76cafc57..4b5e132c4c 100644 --- a/templates/web/lightbox/IE6/feed.html.twig +++ b/templates/web/lightbox/IE6/feed.html.twig @@ -1,7 +1,7 @@ {% extends "lightbox/index_layout.html.twig" %} {% import 'common/thumbnail.html.twig' as thumbnail %} -{% import 'common/macros.html.twig' as macro %} +{% import 'common/macro_caption.html.twig' as macro_caption %} {% block javascript %} @@ -84,7 +84,7 @@
diff --git a/templates/web/lightbox/IE6/validate.html.twig b/templates/web/lightbox/IE6/validate.html.twig index 10e36c5899..bb60a470f3 100644 --- a/templates/web/lightbox/IE6/validate.html.twig +++ b/templates/web/lightbox/IE6/validate.html.twig @@ -1,7 +1,7 @@ {% extends "lightbox/index_layout.html.twig" %} {% import 'common/thumbnail.html.twig' as thumbnail %} -{% import 'common/macros.html.twig' as macro %} +{% import 'common/macro_caption.html.twig' as macro_caption %} {% block javascript %} @@ -95,7 +95,7 @@
diff --git a/templates/web/lightbox/feed.html.twig b/templates/web/lightbox/feed.html.twig index 721797b88b..0dc742d47d 100644 --- a/templates/web/lightbox/feed.html.twig +++ b/templates/web/lightbox/feed.html.twig @@ -1,7 +1,7 @@ {% extends "lightbox/index_layout.html.twig" %} {% import 'common/thumbnail.html.twig' as thumbnail %} -{% import 'common/macros.html.twig' as macro %} +{% import 'common/macro_caption.html.twig' as macro_caption %} {% block javascript %} @@ -81,7 +81,7 @@
diff --git a/templates/web/lightbox/validate.html.twig b/templates/web/lightbox/validate.html.twig index 5ca17f41c5..fbb1561817 100644 --- a/templates/web/lightbox/validate.html.twig +++ b/templates/web/lightbox/validate.html.twig @@ -1,7 +1,7 @@ {% extends "lightbox/index_layout.html.twig" %} {% import 'common/thumbnail.html.twig' as thumbnail %} -{% import 'common/macros.html.twig' as macro %} +{% import 'common/macro_caption.html.twig' as macro_caption %} {% block javascript %} @@ -95,7 +95,7 @@
diff --git a/templates/web/login/index.html.twig b/templates/web/login/index.html.twig index 4cbe37ba8f..6cca5039fe 100644 --- a/templates/web/login/index.html.twig +++ b/templates/web/login/index.html.twig @@ -1,6 +1,6 @@ {% extends "login/layout/sidebar-layout.html.twig" %} -{% import "common/macros.html.twig" as macro %} +{% import "common/macro_captcha.html.twig" as macro_captcha %} {% import "login/common/macros.html.twig" as auth_macro %} {% block main_title %} @@ -70,10 +70,11 @@ {{ "Forgot password?" | trans }}
+ {% if recaptcha_display %}
- {{ macro.captcha() }} + {{ macro_captcha.captcha() }}
{% endif %} diff --git a/templates/web/login/providers/bind.html.twig b/templates/web/login/providers/bind.html.twig index adce1a0263..41ce1530d5 100644 --- a/templates/web/login/providers/bind.html.twig +++ b/templates/web/login/providers/bind.html.twig @@ -1,6 +1,6 @@ {% extends "login/layout/sidebar-layout.html.twig" %} -{% import "common/macros.html.twig" as macro %} +{% import "common/macro_captcha.html.twig" as macro_captcha %} {% import "login/common/macros.html.twig" as auth_macro %} {% block title %} @@ -60,7 +60,7 @@ {% if recaptcha_display %}
- {{ macro.captcha() }} + {{ macro_captcha.captcha() }}
{% endif %} diff --git a/templates/web/login/providers/mapping.html.twig b/templates/web/login/providers/mapping.html.twig index 1016fa21e7..2a73222f4f 100644 --- a/templates/web/login/providers/mapping.html.twig +++ b/templates/web/login/providers/mapping.html.twig @@ -1,6 +1,6 @@ {% extends "login/layout/sidebar-layout.html.twig" %} -{% import "common/macros.html.twig" as macro %} +{% import "common/macro_captcha.html.twig" as macro_captcha %} {% import "login/common/macros.html.twig" as auth_macro %} {% block title %} @@ -76,7 +76,7 @@ {% if recaptcha_display %}
- {{ macro.captcha() }} + {{ macro_captcha.captcha() }}
{% endif %} diff --git a/templates/web/login/register-classic.html.twig b/templates/web/login/register-classic.html.twig index 9b31038a33..6d62cb45a8 100644 --- a/templates/web/login/register-classic.html.twig +++ b/templates/web/login/register-classic.html.twig @@ -1,7 +1,7 @@ {% extends "login/layout/sidebar-layout.html.twig" %} {% import "login/common/macros.html.twig" as auth_macro %} -{% import "common/macros.html.twig" as macro %} +{% import "common/macro_captcha.html.twig" as macro_captcha %} {% block title %} {{ "Register" | trans }} @@ -85,7 +85,7 @@ {% if recaptcha_display %}
- {{ macro.captcha() }} + {{ macro_captcha.captcha() }}
{% endif %} diff --git a/templates/web/prod/preview/caption.html.twig b/templates/web/prod/preview/caption.html.twig index 4f4b08063a..4758f02211 100644 --- a/templates/web/prod/preview/caption.html.twig +++ b/templates/web/prod/preview/caption.html.twig @@ -1,4 +1,4 @@ -{% import 'common/macros.html.twig' as macro %} +{% import 'common/macro_caption.html.twig' as macro_caption %} {% set can_edit = granted_on_collection(record.baseId, [constant('\\ACL::CANMODIFRECORD')]) %} {% set can_see_business = can_edit %} @@ -17,8 +17,4 @@ {% endfor %}
-{% if record.is_from_reg() %} - {{macro.caption(record, can_see_business)}} -{% else %} - {{macro.caption(record, can_see_business)}} -{% endif %} \ No newline at end of file +{{macro_caption.caption(record, can_see_business)}} diff --git a/templates/web/prod/results/list.html.twig b/templates/web/prod/results/list.html.twig index 790a4c2414..ca45b67914 100644 --- a/templates/web/prod/results/list.html.twig +++ b/templates/web/prod/results/list.html.twig @@ -1,4 +1,4 @@ -{% import 'common/macros.html.twig' as macro %} +{% import 'common/macro_caption.html.twig' as macro_caption %} {% block content_item %}
@@ -14,7 +14,7 @@
{% set can_see_business = granted_on_collection(record.baseId, [constant('\\ACL::CANMODIFRECORD')]) %} - {{ macro.caption(record, can_see_business) }} + {{ macro_caption.caption(record, can_see_business) }}
{{ form_widget(form.logoChoice[1]) }} {{ form_label(form.logoChoice[1]) }}
{{ 'prod::setup: help text' | trans }} - +
+ {{ 'prod::setup: download gabari' | trans }} +
{% if app['conf'].get(['registry', 'general', 'personalize-logo-choice', 'personalizeFile']) == 'true' %} {% set extension = app['conf'].get(['registry', 'general', 'personalize-logo-choice', 'fileType']) %} @@ -28,6 +30,7 @@
+
From abf9b821d96633676aaf275d47671fd5d3151b27 Mon Sep 17 00:00:00 2001 From: Alexandre BRACH Date: Thu, 6 Jun 2019 18:32:43 +0200 Subject: [PATCH 55/80] PHRDPL-60 #comment Check the INSTALL_* env vars for auto installation --- Dockerfile | 3 +-- docker/phraseanet/auto-install.sh | 27 +++++++++++++++++++++++++++ docker/phraseanet/boot.sh | 9 +++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) create mode 100755 docker/phraseanet/auto-install.sh diff --git a/Dockerfile b/Dockerfile index 0320f93cdb..7c3bccad7c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -64,8 +64,6 @@ RUN mkdir /entrypoint /var/alchemy \ && mkdir -p /home/app/.composer \ && chown -R app: /home/app /var/alchemy -ADD ./docker/phraseanet/ / - WORKDIR /var/alchemy/ COPY gulpfile.js /var/alchemy/ @@ -83,6 +81,7 @@ RUN make clean_assets RUN make install_asset_dependencies RUN make install_assets +ADD ./docker/phraseanet/ / COPY lib /var/alchemy/lib COPY tmp /var/alchemy/tmp COPY config /var/alchemy/config diff --git a/docker/phraseanet/auto-install.sh b/docker/phraseanet/auto-install.sh new file mode 100755 index 0000000000..83d2d17354 --- /dev/null +++ b/docker/phraseanet/auto-install.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +/var/alchemy/Phraseanet/bin/setup system:install \ + --email=$INSTALL_ACCOUNT_EMAIL \ + --password=$INSTALL_ACCOUNT_PASSWORD \ + --db-host=$INSTALL_DB_HOST \ + --db-port=$INSTALL_DB_PORT \ + --db-user=$INSTALL_DB_USER \ + --db-password=$INSTALL_DB_PASSWORD \ + --db-template=$INSTALL_DB_TEMPLATE \ + --appbox=$INSTALL_APPBOX \ + --databox=$INSTALL_DATABOX \ + --server-name=$INSTALL_SERVER_NAME \ + --data-path=/var/alchemy/Phraseanet/datas -y + +/var/alchemy/Phraseanet/bin/setup system:config set main.search-engine.options.host elasticsearch +/var/alchemy/Phraseanet/bin/setup system:config set main.search-engine.options.minScore 2 +/var/alchemy/Phraseanet/bin/setup system:config set main.search-engine.options.base_aggregate_limit 10 +/var/alchemy/Phraseanet/bin/setup system:config set main.search-engine.options.collection_aggregate_limit 10 +/var/alchemy/Phraseanet/bin/setup system:config set main.search-engine.options.doctype_aggregate_limit 10 +/var/alchemy/Phraseanet/bin/console compile:configuration +/var/alchemy/Phraseanet/bin/console searchengine:index -c + +## enable API and disable ssl on it +/var/alchemy/Phraseanet/bin/setup system:config set registry.api-clients.api-enabled true +/var/alchemy/Phraseanet/bin/setup system:config set main.api_require_ssl false +/var/alchemy/Phraseanet/bin/console comp:conf diff --git a/docker/phraseanet/boot.sh b/docker/phraseanet/boot.sh index d38c260225..9d576f1758 100755 --- a/docker/phraseanet/boot.sh +++ b/docker/phraseanet/boot.sh @@ -2,4 +2,13 @@ envsubst < /php.ini.sample > /usr/local/etc/php/php.ini envsubst < /php-fpm.conf.sample > /usr/local/etc/php-fpm.conf + +FILE=/var/alchemy/Phraseanet/config/configuration.yml +if [ -f "$FILE" ]; then + echo "$FILE exist, skip setup." +else + echo "$FILE doesn't exist, entering setup..." + runuser app -c '/auto-install.sh' +fi + php-fpm From e0ccc16fcfaf355432ee90d636e89ff8304c4c4b Mon Sep 17 00:00:00 2001 From: Nicolas Maillat Date: Fri, 7 Jun 2019 13:47:04 +0200 Subject: [PATCH 56/80] PHRAS-2660 #comment add rabbitmq config --- lib/conf.d/configuration.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/conf.d/configuration.yml b/lib/conf.d/configuration.yml index 6850a7ad7e..5a65d3dd6f 100644 --- a/lib/conf.d/configuration.yml +++ b/lib/conf.d/configuration.yml @@ -290,5 +290,13 @@ video-editor: - 1 - '1.5' - 3 +rabbitmq: + server: + host: localhost + port: 5672 + user: '' + password: '' + vhost: / + Console_logger_enabled_environments: [test] From c06acf21ee4e174a0ffce4b3d2629bd878e7d1c1 Mon Sep 17 00:00:00 2001 From: Nicolas Maillat Date: Fri, 7 Jun 2019 15:28:14 +0200 Subject: [PATCH 57/80] Update main.scss --- resources/www/common/styles/main.scss | 3 --- 1 file changed, 3 deletions(-) diff --git a/resources/www/common/styles/main.scss b/resources/www/common/styles/main.scss index 9090fe92b3..3b066267db 100644 --- a/resources/www/common/styles/main.scss +++ b/resources/www/common/styles/main.scss @@ -71,6 +71,3 @@ $mainMenuLinkBackgroundHoverColor: transparent; box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.39); } } - - - From 040172b509e954d878a49415d720831d58c56b58 Mon Sep 17 00:00:00 2001 From: Alexandre BRACH Date: Fri, 7 Jun 2019 17:05:32 +0200 Subject: [PATCH 58/80] PHRDPL-36 #comment remove supervisord & configure vars at startup --- Dockerfile | 12 +++----- docker/phraseanet/auto-install.sh | 21 ++++++++++++-- docker/phraseanet/boot.sh | 3 -- .../supervisor-phraseanet-scheduler.conf | 28 ------------------- docker/phraseanet/phraseanet-entrypoint.sh | 8 ++++++ 5 files changed, 31 insertions(+), 41 deletions(-) delete mode 100644 docker/phraseanet/etc/supervisor/conf.d/supervisor-phraseanet-scheduler.conf create mode 100755 docker/phraseanet/phraseanet-entrypoint.sh diff --git a/Dockerfile b/Dockerfile index 7c3bccad7c..b2bfe4a355 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,7 +24,6 @@ RUN apt-get update \ libzmq3-dev \ locales \ mcrypt \ - supervisor \ swftools \ unoconv \ unzip \ @@ -38,9 +37,7 @@ RUN apt-get update \ && docker-php-ext-enable redis amqp zmq imagick \ && pecl clear-cache \ && docker-php-source delete \ - && rm -rf /var/lib/apt/lists/* \ - && mkdir -p /var/log/supervisor - #&& chown -R app: /var/log/supervisor + && rm -rf /var/lib/apt/lists/* RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ && php -r "if (hash_file('sha384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \ @@ -52,7 +49,7 @@ RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \ # https://linuxize.com/post/how-to-install-node-js-on-ubuntu-18.04/ # https://yarnpkg.com/lang/en/docs/install/#debian-stable RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \ - && apt install nodejs \ + && apt install -y nodejs \ && curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ && apt-get update && apt-get install -y --no-install-recommends yarn \ @@ -117,7 +114,6 @@ RUN apt-get update \ libzmq3-dev \ locales \ mcrypt \ - supervisor \ swftools \ unoconv \ unzip \ @@ -131,8 +127,7 @@ RUN apt-get update \ && docker-php-ext-enable redis amqp zmq imagick \ && pecl clear-cache \ && docker-php-source delete \ - && rm -rf /var/lib/apt/lists/* \ - && mkdir -p /var/log/supervisor + && rm -rf /var/lib/apt/lists/* RUN mkdir /entrypoint /var/alchemy \ && useradd -u 1000 app \ @@ -154,6 +149,7 @@ RUN mkdir -p /var/alchemy/Phraseanet/logs \ && mkdir -p /var/alchemy/Phraseanet/config \ && chmod -R 777 /var/alchemy/Phraseanet/config WORKDIR /var/alchemy/Phraseanet +ENTRYPOINT ["/phraseanet-entrypoint.sh"] CMD ["/boot.sh"] # phraseanet-nginx diff --git a/docker/phraseanet/auto-install.sh b/docker/phraseanet/auto-install.sh index 83d2d17354..4028e5a614 100755 --- a/docker/phraseanet/auto-install.sh +++ b/docker/phraseanet/auto-install.sh @@ -1,5 +1,7 @@ #!/bin/bash +set -xe + /var/alchemy/Phraseanet/bin/setup system:install \ --email=$INSTALL_ACCOUNT_EMAIL \ --password=$INSTALL_ACCOUNT_PASSWORD \ @@ -18,10 +20,25 @@ /var/alchemy/Phraseanet/bin/setup system:config set main.search-engine.options.base_aggregate_limit 10 /var/alchemy/Phraseanet/bin/setup system:config set main.search-engine.options.collection_aggregate_limit 10 /var/alchemy/Phraseanet/bin/setup system:config set main.search-engine.options.doctype_aggregate_limit 10 -/var/alchemy/Phraseanet/bin/console compile:configuration + +## Redis +/var/alchemy/Phraseanet/bin/setup system:config set main.cache.options.host redis +/var/alchemy/Phraseanet/bin/setup system:config set main.cache.options.port 6379 +/var/alchemy/Phraseanet/bin/setup system:config set main.cache.options.domain $INSTALL_SERVER_NAME +/var/alchemy/Phraseanet/bin/setup system:config set main.cache.type redis + +# RabbitMQ + +bin/setup system:config set rabbitmq.server.host rabbitmq +bin/setup system:config set rabbitmq.server.port 5672 +bin/setup system:config set rabbitmq.server.user $INSTALL_RABBITMQ_USER +bin/setup system:config set rabbitmq.server.password $INSTALL_RABBITMQ_PASSWORD +bin/setup system:config set rabbitmq.server.vhost / + + /var/alchemy/Phraseanet/bin/console searchengine:index -c ## enable API and disable ssl on it /var/alchemy/Phraseanet/bin/setup system:config set registry.api-clients.api-enabled true /var/alchemy/Phraseanet/bin/setup system:config set main.api_require_ssl false -/var/alchemy/Phraseanet/bin/console comp:conf +/var/alchemy/Phraseanet/bin/console compile:configuration diff --git a/docker/phraseanet/boot.sh b/docker/phraseanet/boot.sh index 9d576f1758..4b2cf2baa2 100755 --- a/docker/phraseanet/boot.sh +++ b/docker/phraseanet/boot.sh @@ -1,8 +1,5 @@ #!/bin/bash -envsubst < /php.ini.sample > /usr/local/etc/php/php.ini -envsubst < /php-fpm.conf.sample > /usr/local/etc/php-fpm.conf - FILE=/var/alchemy/Phraseanet/config/configuration.yml if [ -f "$FILE" ]; then echo "$FILE exist, skip setup." diff --git a/docker/phraseanet/etc/supervisor/conf.d/supervisor-phraseanet-scheduler.conf b/docker/phraseanet/etc/supervisor/conf.d/supervisor-phraseanet-scheduler.conf deleted file mode 100644 index 31f9ba6deb..0000000000 --- a/docker/phraseanet/etc/supervisor/conf.d/supervisor-phraseanet-scheduler.conf +++ /dev/null @@ -1,28 +0,0 @@ -[program:scheduler-phraseanet] -command=php /var/alchemy/Phraseanet/bin/console task-manager:scheduler:run ; the program (relative uses PATH, can take args) -stdout_logfile=/var/log/supervisor/scheduler-phraseanet.log ; stdout log path, NONE for none; default AUTO -stderr_logfile=/var/log/supervisor/scheduler-phraseanet_error.log ; stderr log path, NONE for none; default AUTO -process_name=%(program_name)s ; process_name expr (default %(program_name)s) -numprocs=1 ; number of processes copies to start (def 1) -directory=/tmp ; directory to cwd to before exec (def no cwd) -priority=999 ; the relative start priority (default 999) -autostart=true ; start at supervisord start (default: true) -autorestart=true ; whether/when to restart (default: unexpected) -startsecs=0 ; number of secs prog must stay running (def. 1) -startretries=3 ; max # of serial start failures (default 3) -exitcodes=0,2 ; 'expected' exit codes for process (default 0,2) -stopsignal=INT ; signal used to kill process (default TERM) -stopwaitsecs=20 ; max num secs to wait b4 SIGKILL (default 10) -stopasgroup=true ; send stop signal to the UNIX process group (default false) -killasgroup=true ; SIGKILL the UNIX process group (def false) -redirect_stderr=true ; redirect proc stderr to stdout (default false) -user=1000 ; setuid to this UNIX account to run the program -stdout_logfile_maxbytes=50MB ; max # logfile bytes b4 rotation (default 50MB) -stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) -stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) -stdout_events_enabled=false ; emit events on stdout writes (default false) -stderr_logfile_maxbytes=10MB ; max # logfile bytes b4 rotation (default 50MB) -stderr_logfile_backups=10 ; # of stderr logfile backups (default 10) -stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) -stderr_events_enabled=false ; emit events on stderr writes (default false) -environment=HOME=/var/alchemy/Phraseanet,USER=app,PATH="/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin" ; process environment additions (def no add) diff --git a/docker/phraseanet/phraseanet-entrypoint.sh b/docker/phraseanet/phraseanet-entrypoint.sh new file mode 100755 index 0000000000..de763cd13a --- /dev/null +++ b/docker/phraseanet/phraseanet-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +set -e + +envsubst < /php.ini.sample > /usr/local/etc/php/php.ini +envsubst < /php-fpm.conf.sample > /usr/local/etc/php-fpm.conf + +docker-php-entrypoint $@ From 1fca66d326ee452cf71b800b0d1887d1678dbef4 Mon Sep 17 00:00:00 2001 From: Xavier Rousset Date: Tue, 11 Jun 2019 16:44:39 +0200 Subject: [PATCH 59/80] PHRAS-2565 Add prompt to configure the build (triggered with --provision flag) --- Vagrantfile | 47 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 37 insertions(+), 10 deletions(-) diff --git a/Vagrantfile b/Vagrantfile index 74f8710e8e..e1ada1eca9 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -11,6 +11,7 @@ class MyCustomError < StandardError "[#{code} #{super}]" end end + # Check to determine whether we're on a windows or linux/os-x host, # later on we use this to launch ansible in the supported way # source: https://stackoverflow.com/questions/2108727/which-in-ruby-checking-if-program-exists-in-path-from-ruby @@ -34,15 +35,43 @@ else if which('ifconfig') end end -$php = [ "5.6", "7.0", "7.1", "7.2" ] -$phpVersion = ENV['phpversion'] ? ENV['phpversion'] : "7.0"; - unless Vagrant.has_plugin?('vagrant-hostmanager') raise "vagrant-hostmanager is not installed! Please run\n vagrant plugin install vagrant-hostmanager\n\n" end -unless $php.include?($phpVersion) - raise "You should specify php version before running vagrant\n\n (Available : 5.6, 7.0, 7.1, 7.2 | default => 5.6)\n\n Exemple: phpversion='7.0' vagrant up \n\n" +if ARGV[1] == '--provision' + print "Choose a PHP version for your build (Available : 5.6, 7.0, 7.1, 7.2)\n" + phpversion = STDIN.gets.chomp + print "\n" + # Php version selection + case (phpversion) + when "5.6", "7.0", "7.1", "7.2" + print "Selected PHP version : "+phpversion+"\n" + print "Continue ? (Y/n) \n" + continue = STDIN.gets.chomp + case continue + when 'n', 'no', 'N', 'NO' + raise "Build aborted" + else + print "Build with PHP"+phpversion+"\n" + end + + else + raise "You should specify php version before running vagrant\n\n (Available : 5.6, 7.0, 7.1, 7.2)\n\n" + end + + print "Choose a Build type (1 local, 2 box)\n" + type = STDIN.gets.chomp + print "\n" + # Switch between Phraseanet box and native trusty64 + case (type) + when '1' + $box = "ubuntu/xenial64" + when '2' + $box = "alchemy/Phraseanet-vagrant-dev_php" + $box.concat(phpversion) + end + print "Build with "+$box+" box\n" end $root = File.dirname(File.expand_path(__FILE__)) @@ -119,14 +148,12 @@ Vagrant.configure("2") do |config| ] end - # Switch between Phraseanet box and native trusty64 - config.vm.box = "alchemy/Phraseanet-vagrant-dev" - #config.vm.box = "ubuntu/trusty64" + config.vm.box = ($box) ? $box : "ubuntu/xenial64" # In case, Phraseanet box, choose the php version # For php 7.0 use box 0.0.1 # For php 7.1 use box 0.0.2 - config.vm.box_version = "0.0.1" + #config.vm.box_version = "0.0.1" config.ssh.forward_agent = true config_net(config) @@ -141,7 +168,7 @@ Vagrant.configure("2") do |config| ansible.extra_vars = { hostname: $hostname, host_addresses: $hostIps, - phpversion: $phpVersion, + phpversion: phpversion, postfix: { postfix_domain: $hostname + ".vb" } From b8efa93e397a0c78a6149b6da017cf29ecf04810 Mon Sep 17 00:00:00 2001 From: Xavier Rousset Date: Tue, 11 Jun 2019 16:49:26 +0200 Subject: [PATCH 60/80] PHRAS-2565 Update vars for PHP7-2 build, check of another builds in progress --- resources/ansible/roles/elasticsearch/tasks/main.yml | 2 +- resources/ansible/roles/repositories/tasks/main.yml | 2 +- resources/ansible/vars/all.yml | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/resources/ansible/roles/elasticsearch/tasks/main.yml b/resources/ansible/roles/elasticsearch/tasks/main.yml index d246953df7..655567c119 100644 --- a/resources/ansible/roles/elasticsearch/tasks/main.yml +++ b/resources/ansible/roles/elasticsearch/tasks/main.yml @@ -13,7 +13,7 @@ changed_when: false - name: Install Dependencies - apt: pkg=openjdk-7-jre state=latest + apt: pkg=openjdk-8-jre state=latest - name: Remove temporary debian package shell: rm -f /tmp/elasticsearch-{{ elasticsearch.version }}.deb diff --git a/resources/ansible/roles/repositories/tasks/main.yml b/resources/ansible/roles/repositories/tasks/main.yml index 2c00cef1e7..ee459d8949 100644 --- a/resources/ansible/roles/repositories/tasks/main.yml +++ b/resources/ansible/roles/repositories/tasks/main.yml @@ -16,7 +16,7 @@ - name: Add Key for MariaDB Repository sudo: yes - apt_key: url=http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xcbcb082a1bb943db + apt_key: url=http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xF1656F24C74CD1D8 # RabbitMQ - name: Add rabbitmq package repository diff --git a/resources/ansible/vars/all.yml b/resources/ansible/vars/all.yml index 5cdf9f6a51..acef9788e3 100644 --- a/resources/ansible/vars/all.yml +++ b/resources/ansible/vars/all.yml @@ -34,12 +34,14 @@ server: - fr_FR.UTF-8 - de_DE.UTF-8 - nl_NL.UTF-8 + repositories: php: 'ppa:ondrej/php' - mariadb: 'deb http://mirror6.layerjet.com/mariadb/repo/10.1/ubuntu' + mariadb: 'deb [arch=amd64,arm64,i386,ppc64el] http://mirror.nodesdirect.com/mariadb/repo/10.3/ubuntu' elasticsearch: 'ppa:webupd8team/java' rabbitmq: 'deb http://www.rabbitmq.com/debian/ testing main' yarn: 'https://dl.yarnpkg.com/debian/' + vagrant_local: install: '1' vm: From 2441731b94bc3091bf0808ba493b692efe5df1cd Mon Sep 17 00:00:00 2001 From: Xavier Rousset Date: Tue, 11 Jun 2019 17:25:39 +0200 Subject: [PATCH 61/80] Update README --- README.md | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 90bb6dd4c9..18948ebd57 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,10 @@ Phraseanet 4.1 - Digital Asset Management application - Elasticsearch search engine - Multiple resolution assets generation +# License : + +Phraseanet is licensed under GPL-v3 license. + # Documentation : https://docs.phraseanet.com/ @@ -31,17 +35,22 @@ https://www.phraseanet.com/download/ # Development : For development purpose Phraseanet is shipped with ready to use development environments using vagrant. +You can easily choose betweeen a complete build or a prebuild box, with a specific PHP version. -- git clone -- vagrant up + git clone + vagrant up --provision + +then, a prompt allow you to choose PHP version, and another one to choose a complete build or an Alchemy prebuilt boxes. + +Ex: +- vagrant up --provision //// 5.6 ///// 1 >> Build an ubuntu/xenial box with php5.6 +- vagrant up --provision //// 7.0 ///// 1 >> Build an ubuntu/xenial with php7.0 +- vagrant up --provision //// 7.2 ///// 2 >> Build the alchemy/phraseanet-php-7.2 box +- vagrant up --provision //// 5.6 ///// 1 >> Build the alchemy/phraseanet-php-5.6 box For development with Phraseanet API see https://docs.phraseanet.com/4.0/en/Devel/index.html -# License : - -Phraseanet is licensed under GPL-v3 license. - # Docker build From 76509781ebb4079303cfa5d3fb5cd387a3112818 Mon Sep 17 00:00:00 2001 From: Harrys Ravalomanana Date: Wed, 12 Jun 2019 11:06:19 +0400 Subject: [PATCH 62/80] PHRAS-2386 #adding fix of feedback block #time 2h --- .../www/common/images/icons/basket_push.png | Bin 1071 -> 1122 bytes .../images/icons/basket_push_unread.png | Bin 1302 -> 1344 bytes .../common/images/icons/basket_validation.png | Bin 1010 -> 1286 bytes templates/web/prod/WorkZone/Macros.html.twig | 5 ++++- 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/resources/www/common/images/icons/basket_push.png b/resources/www/common/images/icons/basket_push.png index 97e038241c4a5fe6bd9f1a48550229f78c3b687b..7137a58251d6d7fb22d600d8df95514423790faf 100644 GIT binary patch delta 1089 zcmV-H1it&P2;vBkFns`ZaHZ3+0|gZ0rA1wpJy)2c1O3hIj}*kT2-P|S;i1=lJT4{g#I8DQ_60!Vkcr~8h_wpuRYt0xIt zHl}bPUrYDIR32ac-NSLxp|u!$#+GkMYCUaAB0pUGt(BafX?rr2+C=vNl+$Y2`p^#?xkVdt0_R!#nuNYO?uiHK;(Z^Uubz zC!Eg>x7|ybBgY&iX=V4wvS7^0>3R-yfx(1?!ys0pdAdRiXgK1@r9H-FpRNwG^iOf zTV7Vy1P;u}pGqh!Rd6xCj7xLN$o{beV-+Zw!tDOG&t0CGW97Uxrn?PgEUr|bm<%GS znQ2;KQjFX@?F>bkIkxg9kv?cm2=cVlI3E}@kbggrz9#2uhO!ZnQYL)wRkE}j%Ije` zV51uKoC5(jj`Ei5WHpT5tvjmSZg7}6yfA=d@-!*G+lCdc-v5h4LVgnm7|tOG9+NcW zhKrDkILaWrE|drvvYmHoJbO<9T!H@-1{^16D){u55D8y1fZQ-a=}>N8`XEVPD?jm> z<$uz+sF?R(?`Xl@9gI(docq&YYmbJ1qg)r}N_cdV8FN#&Yg5t*#9?)(=7#=A0A3UJ zD&&wR8#z-!@`m5*+-%pGP}}=7#^MugzYA9q!Jh%e3CDe}BW>cGpXkZ5bS#?X!-!t7TM{=JCq?DWv@f@14y<^B^UjaUx74M3g|& zhE8~?c6Jt=Peyj=SLWinI?4dx=O&pBgD?S1SOv-8;s{9n8?L0sk8?t+S?0}d89ImV zCH|~)SXas_!#noU4s-g zr1Qw6nS0N1?Ql}b%%h}2m`BgGGe1Biqm;1>=$(zk@{%w_? zkSW7*)lZOl=cfJgO2w+o$SrHCb5UH+*^1==ObBQXT4KY6c?7f9G5KrXZVtDsxi${5d!?bCww#r`DnyW=p6Wf&WdX#s!q+*K?E#9|T|+Irrw-_eC9 z^K7NbBv^19 zWk+vrVXu^DjiG#j(?NNDp?JKrkISYNxbvKil}zm;!hbx@g+IvlG^@=Ehzu9l^Ir80 zs&z7Yb?5iNqbV<|lu^qmWqFwsXU%BEiZz^$t+u*ILvRq*T$KR;`-pRtzH5XSdw0{8quZvFRl{;3=*$b8vd0UoLZKY+e{FEL76^V6v{r?*PHod-Kmn7@?xAbtH3t|XC@`XfM$8+ozGQXR~FF)AexHcO(`50HFiUElvC;XJT^EpHT(99$YxoJ>v{HQ zGpz0*+#Y4^11!1Qfy-57&3G6FpH2Vp-9_YwNZYkpvb*sQwmAfKqxDQ!00000Ne4wv IM6N<$f?`4i1ONa4 diff --git a/resources/www/common/images/icons/basket_push_unread.png b/resources/www/common/images/icons/basket_push_unread.png index b09552bcf767a0712e082f8c159d1af5c1eb1f72..a55080d4ba0887edbf8a58c679a346b66a620b41 100644 GIT binary patch delta 1312 zcmV+*1>gFX3cw1GF@O3=L_t(I5q(u_Y*a-Q{$}pI`|5T>p@rI_bgK~wB}F7+QcQrx z5<|idW6=l(L`8g&7!ngjV~k4TA0r@3K_I01Lqm)hc?1&$V=O;vpyeTi2&G~Rw&l@% z-MxDs<2kczMF^hky>n;InQzXV^PRK64au}Vd{o}I@luT5awWhJdR)Jf<$vq287D-xQ zaa~t^_fxm(UVpUMl?Xg^4R~nUk;mN)4S2G3n<+)O0+GPR?nOXn_b_B6wq9d2cI5v` zrm`xzHTR)Dv4mWD-@E1V!~pS5x>Sp6Ut4|Vz>+U-)|)&@Zpj>n!VEv)nS%0t2-p9Q zA!|f3l{rXbn+gJ)dnEynHmv+Ui%qQtde04F*`5rf6@S9Tcc#}$rLdECu}Hdo$N*N) zj-aYCiV4*4F$Asw9L#%s+Y8t?J!3{>WC$ckz@lYSIh5snV_y%eiw>pKa9 zSVIeDugkU0$?(W?ja=T5+?HPg&)cCqw`=ddCwdw@`^~a$H1OXmxzUkr7FMiBIXO^f zpj;c>`+wUJ^9yBL9&^S6l={GmoG%t^NLo?ECgm03x_Pu*KRsrA-f=!fGL^p6kjki2 z!=6q!von{=ss8?c_3qNQ)X-yd)sJ)MY@=QGNMTsDyq%9P`q0nX!yXce1U|p36|-74 zVR>t6Dw(8B&K6795NPSl(g>Wr3ap=30U4`;k$)g8DQA&M&J?DleRO<A^I5FQ(zcfQ%+^@%3?ElZh&YZfkx( zd0t&5^0=NWKoVzJ*bs&M%)T{My*wXF3UgKna~&lF!XPrLV8HRb=7HA|SJ;qc%(yiD z-+wpTaw=roq)DOOO;Zj~EFQge2ZigG_LKdO-v(T&W#bK@#0p5Gp5jlX=(1PZ3*{H_ z&7oJ_shJDbt)S((r_ig5iWivC2#5CzY1JtzdtF~aDP4*{snQU*j;0vV;*OwU@c(y4-DP*ngdw=kW6RzXHw)4oOM^U%o1KdCSN6Fx(ciInr zYd&(~8PTvg^AuI?SIl3<2ISq|_86wuj9o^v@#p>`W>2C+$ZOlSajb6`E55ow86HO= zDsjl^?^!$2x$0X&$y49LcFyjY5IQrJ``em>1%z+lU$FyR%?D^}koaUl0^_SZYJUJ3 zn3XlU0niJv84KShobB|uCgF4m!)Q~!H-^ouex%Ms*YXmxS@Hb7JgTDtAJ31#l+^D> zsVu^ADh={j8k%;>caM;1jvi$iUUr#}isRJDYPl10I5@QB9!8&9zE~V9f6^#mnM5{e z5}*ZPhB-!;O;ubV*EBVJ8}aZZGNHUG?=3M5J0i`>{n#XJ+91J5l&&@BXeM%OJ1g^s+8&;{)t zO7@Dr)p1>#Wj&8K2zB#P>0AG+7>RlCgO!x^7G9;?{|ZCylz#f~xtD8)ZW-V8@5(#sKd>7K2yHfyleRzq8*Ty(2h>p$5L8|u1fwrsgFmw58VB@l**$iZ_s2hMkU zd!84*Bji@^&UbsC-}5}b=k^|8c16~$J*O>ejno$H8<&5kuPIDWG)k#`**57&$40PogOclm zxo^7Cby1mT;(v8nj;e`^5Jk-s@~@W`ApgA}^rTb>Un(?EAccFb!KafC-48t_(3jvW zZIk4pZ{U@M_j>Uv2b>k!c%OXaNh@|V*!5)HEHm{m`0ho`@2-@PjtMswo(E)^L7BM1 z0Jt`e*4=}yD^XMyq~Py~Ox$Pg2S_A{-*CgK#TxNB3xC&9Dcf-1D)yZifK9pCT$T+z zJr~BJA{bdkYA&qXI}xLvP5$cRdk&+e3vRp`g7iJ@DKBMWj;a@n$-l326~mO@~NI zqf#X89(*xZxy+K9ifmFU#nXd3vN{N-W-(Dg*8HEvSeg`Q)w#L; z_J5Uy$7xm`{kM(-{8SqpeBv&{s-SRoQ;CW_C9WBlVkV?G+E2fM(r~{gzUygAoS!KP ziM&>#;?D!BMxd!zolc|6=a8fn{MT}%)YZ8bawjj%W#}o*Fy-mBVZg%2RX&t1u+Vh! zI_f%`P!Z|#powSLanG*$<-)UunhXkC8Gm6hht2ut(CMAorD+y+J(7m%l4Qi=acqAu z8#O(zk<3oughs)ev96Ji9)Fb##DqFLr3@&8YOrmb*}hP9D*NfXWufu=QJm_zt(L1I*oh*p>@-52VG^+|Raw<;h0Wm_vfII|6?3jSzt0YUYBP$4 zzZC&CX80kDq#46RM%Rp|`d&yq%x;c(CHlCL{$UQbMLrY~>hzjhL{5=1>a`;0m5N34 zO|y+XgE#lSg~mo=a%UwB-`N8A936Kiw@{k42r1W)lROH6AtRKU-yO$3GW7GQ!)V_| f9+f}|=i2xO6<2Ju9w?5u00000NkvXXu0mjfQapBm diff --git a/resources/www/common/images/icons/basket_validation.png b/resources/www/common/images/icons/basket_validation.png index cddaac1db1eaf25f1b8c1a4cb6704cf48a2f171a..dbf618043a4b4d60b585719a127e882c8eb71042 100644 GIT binary patch literal 1286 zcmV+h1^N1kP)Px(z)3_wR7ee-ReemAWfVW}``%CJ5}z%$k`R$U!ez_c6kS+KT&%Q4TiBY5velNB zO9zz1D4P&9*RqvTthp7fxjx(yf^r3`P21c|{fDTg;c^MIAb|__-nZZHygYZ;vaNN- zx#xM#=X1VZ90BanBO2W3a}Zm>G53 zzlyrj^6A?BWI$4AQH)CxRFX+ok_lI0lXG?S93peas?SK|<$)T>$O&|-1@2*B9xwo$ z0*(O@NyOh<4-5Cn+<47%|uN{FB+Zrq^e8d>uW*%g)tDq_(_OTs!~}wqvox zDV_)!!ECX8>d8<4IdCr`E&kHf7}a4|-ye$8LRB`i5SY+9fY2tLFFV+meRcdUBYG``V+&%8W9p1q~Yt4l?!mZKdeuS?V$Zje@|)wzn$oyZ*+j z-^4iuiG+Kuv9f0s7!$xL8W4;jo9PFVlE>=I&0_*oBY>*Vx_|qM;IezOyBy2D3wit+ zpGmefRrP)dxsHi3Q15L=YdRdiY^ODo_NWr+e55BdJgkv4g0uTbRc$ch`@j=>1}=OW zLlyxgWu9|P*q5$+L-sB5`0|6Q3?-dZ8a98l<^ky1G+>e`xU+PdM1uKx-}7a4ihos3 zuo)MJ)gY!||96|!yY|9cA?*uZRR|?DFr}3TZ`vz`k;N%v?gxRLo|%sK@l5YYY}8rX zv5MY1sYN1Rf!#K6VC#vkIJ?YY4#}-Bf-BKK$7c_W42^N=5^8|M6qaBC$KdYC_F2ke8<o8~>OMZU4;rP))L7o0AnR(4dpCQF-IrhrD3Q!Iu<;u`EQ! z93hwDhhJLu&U0(~HdCAm;P=~6)xW|||L{JkTEw{%`5YfNzVy(k7N(+sbfdr|pXKuT z9QtDOlMDd1*!aL*upFxd=M?ztfZSYox0L3ul%UW1CRP+}lKjjfIdT55#FMjHF4F_` zL~HoMFDJ`l0D?O-oQn7<#5_^~P&UBb^ldU%2qYiq!+*kk2i{s1DT9WFf(PmYtyI*V12o@bV8&<OV07*qoM6N<$f>G^-?EnA( literal 1010 zcmVPx&tVu*cR5%fpR9$FPM-)CY_paIagTZR?_i43-svsI-DX3{QF}u=|`ct9eYkUyu zgRF@dB~>9NyFU1$D6|ODhZ<{Is@bF^xHS=?M5<3>;;N7s#l)b3P2=7>AJ@?FazH`1aL&PK59lMKFUM!EsOB<|$;b>=-bwV1iM2Vi*k1i}F;d!LpDVm-< z8zk{NcBR^SuMJstbJ<_R7lx{(wbW46NfUp2InU$Wo3^pn4>O7v%-U6YCaYSmMrEt- z8Pbj>*HK%jIUNNLJDz`+P(HpSPr*D0{^j5+UT4eejwk;5!_9{qhIg*Z_S%GOvy7>vvP2}<^Cdh6;< z_+)%b>U3Xi==rO`*Fem&@lfm!I`DG^aa5^{TjT&SBOH0VN~Ei6j8YdTadcFsZf)u# z{+`nTae(~tpP{qLsxR3-tVlKNU30k=-!KF*aW&Rrtc_1XLu~$yUr9M!6{|VqS8xJh z4?I~YaK!}g@VaVW5TOm6>dI3RqVRFJy^=zljMlVWqqZnd;W%|;2YF^f(4{nvJ|Y_C zg`jh{_RzhtURv_OXXNT4vK$F2@tiM?;El0!#R*FFAEynG-SS_t!jO^U{ia&FqxXzw zBS<1rvYKXw=hC%-3*1XeqyxvldWMRCrJDbY8gP*bz8p>(f}OeflJ%db_T_^TI&;7> zXkq7&v0LgYI@-V^a1>7X4=Jsq5=<-tV~}Xz5Ufg5M)@`#FYovzu)#e5RIFmNs0eGm ztO6$0DcHiVQY3x^#c~{t-mVuw^vsL#!8?)$0|8{~^6zNz?6S!y@BABhdV_wtb&woX zTI0Y_rY}ACiADoTdb!$3A^!_3Gj^R$UjK&1#)oLhhh>B_f;%Bse2T0rUv$<*H*=~G zT~amgbWuR8y+28JM$+{4vL>2Uyim;OU8tuVs7N^0U$|VcVg8D<^WNxtbdk~zzNe5A zrm#DmzWub7-;3Y#3k(cB?DC^QDSI9vSUI^1P#>gJx?r=+U_;@0_i=CTE<|r}4N*tq z`G-VhIf8uZp)N#`y9NEvb5Y51dN_K!5GyYNgD_Yi3i)>H{>sj_w{63RTTQEo9YgE< zzqV1yn - +