├── .github └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── .travis.yml ├── Assets ├── build │ ├── contactclient.min.css │ └── contactclient.min.js ├── css │ ├── 00.codemirror.css │ ├── 00.navigation.css │ ├── 01.query_builder.css │ ├── 02.json_editor.css │ ├── 03.api_payload.css │ ├── 03.api_payload_json.css │ ├── 04.exclusive.css │ ├── 05.file_payload.css │ ├── 05.file_payload_json.css │ ├── 07.limits.css │ ├── 08.schedule.css │ ├── 09.integration.css │ ├── 12.duplicates.css │ ├── 13.ui.css │ ├── 14.timeline.css │ ├── 17.dnc.css │ └── libraries │ │ ├── 92.dataTables.fontAwesome.css │ │ ├── 92.datatables.min.css │ │ ├── bootstrap-datepicker3.min.css │ │ ├── bootstrap-slider.min.css │ │ ├── font-awesome-animation.css │ │ ├── fullscreen.css │ │ ├── jquery-ui │ │ ├── autocomplete.css │ │ ├── draggable.css │ │ ├── menu.css │ │ └── sortable.css │ │ ├── jquery.businessHours.css │ │ ├── jquery.timepicker.min.css │ │ ├── lint.css │ │ └── query-builder.default.min.css ├── img │ └── client.png ├── js │ ├── 00.codemirror.js │ ├── 00.type.js │ ├── 01.query_builder.js │ ├── 02.json_editor.js │ ├── 03.api_payload.js │ ├── 04.exclusive.js │ ├── 05.file_payload.js │ ├── 06.filter.js │ ├── 07.limits.js │ ├── 08.schedule.js │ ├── 09.integration.js │ ├── 10.transactions.js │ ├── 11.attribution.js │ ├── 12.duplicate.js │ ├── 13.ui.js │ ├── 14.token_helper.js │ ├── 15.contactclient_events_datatable.js │ ├── 16.contactclient_transactions_table.js │ ├── 17.pending_events.js │ ├── 99.init.js │ └── libraries │ │ ├── bootstrap-datepicker.min.js │ │ ├── bootstrap-slider.min.js │ │ ├── datatables.min.js │ │ ├── date.format.js │ │ ├── datetime-moment.js │ │ ├── fullscreen.js │ │ ├── html-lint.js │ │ ├── htmlhint.js │ │ ├── i18n │ │ ├── bootstrap-datepicker-en-CA.min.js │ │ ├── bootstrap-datepicker.ar-tn.min.js │ │ ├── bootstrap-datepicker.ar.min.js │ │ ├── bootstrap-datepicker.az.min.js │ │ ├── bootstrap-datepicker.bg.min.js │ │ ├── bootstrap-datepicker.bn.min.js │ │ ├── bootstrap-datepicker.br.min.js │ │ ├── bootstrap-datepicker.bs.min.js │ │ ├── bootstrap-datepicker.ca.min.js │ │ ├── bootstrap-datepicker.cs.min.js │ │ ├── bootstrap-datepicker.cy.min.js │ │ ├── bootstrap-datepicker.da.min.js │ │ ├── bootstrap-datepicker.de.min.js │ │ ├── bootstrap-datepicker.el.min.js │ │ ├── bootstrap-datepicker.en-AU.min.js │ │ ├── bootstrap-datepicker.en-GB.min.js │ │ ├── bootstrap-datepicker.en-IE.min.js │ │ ├── bootstrap-datepicker.en-NZ.min.js │ │ ├── bootstrap-datepicker.en-ZA.min.js │ │ ├── bootstrap-datepicker.eo.min.js │ │ ├── bootstrap-datepicker.es.min.js │ │ ├── bootstrap-datepicker.et.min.js │ │ ├── bootstrap-datepicker.eu.min.js │ │ ├── bootstrap-datepicker.fa.min.js │ │ ├── bootstrap-datepicker.fi.min.js │ │ ├── bootstrap-datepicker.fo.min.js │ │ ├── bootstrap-datepicker.fr-CH.min.js │ │ ├── bootstrap-datepicker.fr.min.js │ │ ├── bootstrap-datepicker.gl.min.js │ │ ├── bootstrap-datepicker.he.min.js │ │ ├── bootstrap-datepicker.hi.min.js │ │ ├── bootstrap-datepicker.hr.min.js │ │ ├── bootstrap-datepicker.hu.min.js │ │ ├── bootstrap-datepicker.hy.min.js │ │ ├── bootstrap-datepicker.id.min.js │ │ ├── bootstrap-datepicker.is.min.js │ │ ├── bootstrap-datepicker.it-CH.min.js │ │ ├── bootstrap-datepicker.it.min.js │ │ ├── bootstrap-datepicker.ja.min.js │ │ ├── bootstrap-datepicker.ka.min.js │ │ ├── bootstrap-datepicker.kh.min.js │ │ ├── bootstrap-datepicker.kk.min.js │ │ ├── bootstrap-datepicker.km.min.js │ │ ├── bootstrap-datepicker.ko.min.js │ │ ├── bootstrap-datepicker.kr.min.js │ │ ├── bootstrap-datepicker.lt.min.js │ │ ├── bootstrap-datepicker.lv.min.js │ │ ├── bootstrap-datepicker.me.min.js │ │ ├── bootstrap-datepicker.mk.min.js │ │ ├── bootstrap-datepicker.mn.min.js │ │ ├── bootstrap-datepicker.ms.min.js │ │ ├── bootstrap-datepicker.nb.min.js │ │ ├── bootstrap-datepicker.nl-BE.min.js │ │ ├── bootstrap-datepicker.nl.min.js │ │ ├── bootstrap-datepicker.no.min.js │ │ ├── bootstrap-datepicker.oc.min.js │ │ ├── bootstrap-datepicker.pl.min.js │ │ ├── bootstrap-datepicker.pt-BR.min.js │ │ ├── bootstrap-datepicker.pt.min.js │ │ ├── bootstrap-datepicker.ro.min.js │ │ ├── bootstrap-datepicker.rs-latin.min.js │ │ ├── bootstrap-datepicker.rs.min.js │ │ ├── bootstrap-datepicker.ru.min.js │ │ ├── bootstrap-datepicker.si.min.js │ │ ├── bootstrap-datepicker.sk.min.js │ │ ├── bootstrap-datepicker.sl.min.js │ │ ├── bootstrap-datepicker.sq.min.js │ │ ├── bootstrap-datepicker.sr-latin.min.js │ │ ├── bootstrap-datepicker.sr.min.js │ │ ├── bootstrap-datepicker.sv.min.js │ │ ├── bootstrap-datepicker.sw.min.js │ │ ├── bootstrap-datepicker.ta.min.js │ │ ├── bootstrap-datepicker.tg.min.js │ │ ├── bootstrap-datepicker.th.min.js │ │ ├── bootstrap-datepicker.tr.min.js │ │ ├── bootstrap-datepicker.uk.min.js │ │ ├── bootstrap-datepicker.uz-cyrl.min.js │ │ ├── bootstrap-datepicker.uz-latn.min.js │ │ ├── bootstrap-datepicker.vi.min.js │ │ ├── bootstrap-datepicker.zh-CN.min.js │ │ ├── bootstrap-datepicker.zh-TW.min.js │ │ ├── query-builder.ar.js │ │ ├── query-builder.az.js │ │ ├── query-builder.bg.js │ │ ├── query-builder.cs.js │ │ ├── query-builder.da.js │ │ ├── query-builder.de.js │ │ ├── query-builder.el.js │ │ ├── query-builder.en.js │ │ ├── query-builder.es.js │ │ ├── query-builder.fa-IR.js │ │ ├── query-builder.fr.js │ │ ├── query-builder.he.js │ │ ├── query-builder.it.js │ │ ├── query-builder.nl.js │ │ ├── query-builder.no.js │ │ ├── query-builder.pl.js │ │ ├── query-builder.pt-BR.js │ │ ├── query-builder.pt-PT.js │ │ ├── query-builder.ro.js │ │ ├── query-builder.ru.js │ │ ├── query-builder.sq.js │ │ ├── query-builder.tr.js │ │ ├── query-builder.ua.js │ │ └── query-builder.zh-CN.js │ │ ├── interact.min.js │ │ ├── javascript-lint.js │ │ ├── jquery-ui │ │ ├── autocomplete.js │ │ ├── menu.js │ │ ├── mouse.js │ │ └── sortable.js │ │ ├── jquery.businessHours.min.js │ │ ├── jquery.caret.min.js │ │ ├── jquery.timepicker.min.js │ │ ├── jshint.min.js │ │ ├── json-lint.js │ │ ├── jsoneditor.min.js │ │ ├── jsonlint.js │ │ ├── jsyaml.js │ │ ├── lint.js │ │ ├── matchbrackets.js │ │ ├── overlay.js │ │ ├── query-builder.standalone.min.js │ │ ├── xml.js │ │ ├── yaml-lint.js │ │ └── yaml.js └── json │ ├── api_payload.json │ ├── api_payload_default.json │ ├── attribution.json │ ├── duplicate.json │ ├── exclusions.json │ ├── exclusive.json │ ├── file_payload.json │ ├── file_payload_default.json │ ├── limits.json │ └── overrides.json ├── Command ├── FilesCommand.php ├── MaintenanceCommand.php └── SendContactCommand.php ├── Config └── config.php ├── Constraints ├── JsonArray.php ├── JsonArrayValidator.php ├── JsonObject.php └── JsonObjectValidator.php ├── ContactClientEvents.php ├── Controller ├── AjaxController.php ├── ContactClientAccessTrait.php ├── ContactClientController.php ├── ContactClientDetailsTrait.php ├── FilesController.php └── TransactionsController.php ├── DATES.md ├── Entity ├── Auth.php ├── AuthRepository.php ├── BigIntUnsignedTrait.php ├── Cache.php ├── CacheRepository.php ├── ContactClient.php ├── ContactClientRepository.php ├── Event.php ├── EventRepository.php ├── File.php ├── FileRepository.php ├── Queue.php ├── QueueRepository.php ├── Stat.php └── StatRepository.php ├── Event ├── ContactClientEvent.php ├── ContactClientStatEvent.php ├── ContactClientTimelineEvent.php ├── ContactDncCheckEvent.php └── ContactLedgerContextEvent.php ├── EventListener ├── ContactClientSubscriber.php ├── LeadTimelineSubscriber.php ├── SearchSubscriber.php ├── StatSubscriber.php └── StatsSubscriber.php ├── Exception └── ContactClientException.php ├── Form └── Type │ ├── ChartFilterType.php │ ├── ContactClientListType.php │ ├── ContactClientShowType.php │ └── ContactClientType.php ├── Gruntfile.js ├── Helper ├── ClientEventHelper.php ├── DateFormatHelper.php ├── FilterHelper.php ├── JSONHelper.php ├── TokenHelper.php └── UtmSourceHelper.php ├── Integration └── ClientIntegration.php ├── LICENSE ├── LICENSES ├── MauticContactClientBundle.php ├── Model ├── ApiPayload.php ├── ApiPayloadAuth.php ├── ApiPayloadOperation.php ├── ApiPayloadRequest.php ├── ApiPayloadResponse.php ├── Attribution.php ├── Cache.php ├── ContactClientModel.php ├── FilePayload.php └── Schedule.php ├── README.md ├── Security └── Permissions │ └── ContactClientPermissions.php ├── Services ├── Transport.php └── TransportInterface.php ├── Tests ├── ContactClientTestCase.php ├── Integration │ └── IntegrationTests.php ├── Model │ └── ApiPayloadTest.php ├── assets │ └── model │ │ └── api_payload.json └── contactClient_schema.sql ├── Translations └── en_US │ ├── flashes.ini │ ├── messages.ini │ └── validators.ini ├── Views ├── ContactClient │ ├── datatable.html.php │ ├── details.html.php │ ├── form.html.php │ ├── index.html.php │ └── list.html.php ├── Files │ ├── index.html.php │ └── list.html.php ├── Helper │ └── graph_chartfilter.html.php ├── PendingEvents │ └── index.html.php ├── SubscribedEvents │ └── Search │ │ └── global.html.php ├── Timeline │ └── clientevent.html.php └── Transactions │ ├── eventdetails.html.php │ ├── index.html.php │ └── list.html.php ├── composer.json ├── package-lock.json └── package.json /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | **Please be sure you are submitting this against the _master_ branch.** 2 | 3 | [//]: # This Pull Request (Place an 'X' for each): 4 | 5 | | Risk Level | No | Low | High | 6 | | ----------------------------------------- | -- | --- | ---- | 7 | | Alters Lead Data? | | | | 8 | | Schema Change? | | | | 9 | | Adds A Query or Modifies Existing Query? | | | | 10 | | Adds or Modifies Existing Auto-Enhancer? | | | | 11 | | Modifies Ingestion Process? | | | | 12 | | Modifies sendContact Data? | | | | 13 | 14 | 15 | [//]: # ( Required: ) 16 | #### Description: 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Standard .gitignore for a Mautic plugin. 2 | .* 3 | !.gitignore 4 | !.htaccess 5 | !.gitkeep 6 | !.travis.yml 7 | vendor 8 | node_modules -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | # Standard .travis.yml for a Mautic plugin. Adjust env variables as needed. 2 | env: 3 | global: 4 | # The exact plugin folder/bundle name. 5 | - "MAUTIC_PLUGIN=MauticContactClientBundle" 6 | 7 | dist: precise 8 | 9 | language: php 10 | 11 | services: 12 | - mysql 13 | 14 | php: 15 | - 5.6.19 16 | - 7.0 17 | - 7.1 18 | - 7.2 19 | 20 | before_install: 21 | 22 | # Create mautictest database. 23 | - mysql -e 'CREATE DATABASE mautictest;' 24 | 25 | # Turn off XDebug. 26 | - phpenv config-rm xdebug.ini || return 27 | 28 | # Install dependencies in parallel. 29 | - travis_retry composer global require hirak/prestissimo 30 | 31 | # Set to test environment for Symfony's commands in post install commands. 32 | - export SYMFONY_ENV="test" 33 | 34 | # Install PHPSTAN for PHP 7+ 35 | - if [[ ${TRAVIS_PHP_VERSION:0:3} != "5.6" ]]; then composer global require phpstan/phpstan-shim:0.8.5; fi 36 | 37 | # Clone the latest core release. 38 | - git clone -b staging --single-branch --depth 1 https://github.com/mautic/mautic.git /tmp/mautic 39 | 40 | # Combine core with our plugin. 41 | - mkdir -p /tmp/mautic/plugins/$MAUTIC_PLUGIN 42 | - rsync -r --delete-after --quiet $TRAVIS_BUILD_DIR/ /tmp/mautic/plugins/$MAUTIC_PLUGIN 43 | - rsync -r --delete-after --quiet /tmp/mautic/ $TRAVIS_BUILD_DIR/ 44 | 45 | install: 46 | 47 | # Install core and include any plugin dependencies. 48 | - composer config extra.merge-plugin.include "./plugins/**/composer.json" 49 | - composer require wikimedia/composer-merge-plugin 50 | - composer update wikimedia/composer-merge-plugin 51 | 52 | script: 53 | 54 | # Run PHPUnit including core tests to find potential BC breaks. 55 | - bin/phpunit -d memory_limit=2256M --bootstrap vendor/autoload.php --configuration app/phpunit.xml.dist --fail-on-warning 56 | 57 | # Run PHPSTAN analysis for PHP 7+ only in the scope of this plugin. 58 | - if [[ ${TRAVIS_PHP_VERSION:0:3} != "5.6" ]]; then ~/.composer/vendor/phpstan/phpstan-shim/phpstan.phar analyse plugins/$MAUTIC_PLUGIN; fi 59 | 60 | # Check code standards for PHP 7.2 only in the scope of this plugin. 61 | - if [[ ${TRAVIS_PHP_VERSION:0:3} == "7.2" ]]; then bin/php-cs-fixer fix -v --dry-run --diff plugins/$MAUTIC_PLUGIN; fi 62 | -------------------------------------------------------------------------------- /Assets/css/00.navigation.css: -------------------------------------------------------------------------------- 1 | /* Style iconography */ 2 | form[name="contactclient"] ul.nav-tabs li a i.fa-lg { 3 | font-size: 16px; 4 | line-height: 19px; 5 | margin-right: 6px; 6 | } -------------------------------------------------------------------------------- /Assets/css/01.query_builder.css: -------------------------------------------------------------------------------- 1 | .query-builder .rules-group-container { 2 | padding: 0; 3 | margin: 0; 4 | background: transparent; 5 | border: 1px solid transparent; 6 | } 7 | 8 | .query-builder .rules-group-header { 9 | margin-bottom: 11px; 10 | } 11 | 12 | .query-builder .rule-container { 13 | border: 1px solid transparent; 14 | background-color: rgba(149, 165, 183, 0.1); 15 | } 16 | 17 | .query-builder .rule-value-container { 18 | border-left: 0; 19 | padding-left: 0; 20 | } 21 | 22 | .query-builder .rule-value-container input[type=number], 23 | .query-builder .rule-value-container input[type=text], 24 | .query-builder .rule-value-container select { 25 | padding: 6px 12px; 26 | } 27 | 28 | .query-builder .rule-value-container .selectize-input .item { 29 | display: inline-block; 30 | margin: -5px 7px -4px -7px; 31 | font-weight: 600; 32 | white-space: nowrap; 33 | -webkit-user-select: none; 34 | -moz-user-select: none; 35 | -ms-user-select: none; 36 | user-select: none; 37 | color: #ffffff; 38 | background-color: #2a84c5; 39 | border-color: #2a84c5; 40 | padding: 3px 5px; 41 | font-size: 13px; 42 | line-height: 1.356; 43 | border-radius: 4px; 44 | } 45 | 46 | .query-builder .rules-group-header .group-conditions .btn-primary { 47 | color: #5d6c7c; 48 | background-color: #fff; 49 | border-color: #ddd; 50 | } 51 | 52 | .query-builder .rules-group-header .group-conditions .btn-primary.active { 53 | background-color: #2a84c5; 54 | border-color: #2a84c5; 55 | color: #fff; 56 | } 57 | 58 | /* Make the buttons the same size as all the others for consistency */ 59 | .query-builder .btn-xs, 60 | .query-builder .btn-group-xs > .btn { 61 | padding: 6px 12px; 62 | font-size: 13px; 63 | line-height: 1.3856; 64 | border-radius: 3px; 65 | } -------------------------------------------------------------------------------- /Assets/css/03.api_payload.css: -------------------------------------------------------------------------------- 1 | /* API Payload - Buttons and nav */ 2 | #contactclient_api_payload_codemirror { 3 | margin-top: 42px; 4 | } 5 | 6 | #api_payload_buttons { 7 | margin-bottom: -19px; 8 | position: relative; 9 | z-index: 1005; 10 | right: 0px; 11 | top: 0px; 12 | height: 30px; 13 | overflow: visible; 14 | -webkit-transition: right .1s ease-in-out; 15 | -moz-transition: right .1s ease-in-out; 16 | -ms-transition: right .1s ease-in-out; 17 | -o-transition: right .1s ease-in-out; 18 | transition: right .1s ease-in-out; 19 | } 20 | 21 | #api_payload_buttons .btn-group { 22 | -webkit-box-shadow: 0 0 10px 10px rgba(255, 255, 255, .5); 23 | box-shadow: 0 0 10px 10px rgba(255, 255, 255, .5); 24 | } 25 | 26 | #api_payload_buttons.affix { 27 | position: fixed; 28 | -webkit-transition: right .1s ease-in-out; 29 | -moz-transition: right .1s ease-in-out; 30 | -ms-transition: right .1s ease-in-out; 31 | -o-transition: right .1s ease-in-out; 32 | transition: right .1s ease-in-out; 33 | 34 | top: 14px; 35 | margin-right: 15px; 36 | } 37 | 38 | #api_payload_buttons.affix .btn-group { 39 | -webkit-box-shadow: 0 0 10px 10px rgba(255, 255, 255, 1); 40 | box-shadow: 0 0 10px 10px rgba(255, 255, 255, 1); 41 | } 42 | 43 | #api_payload_test_result .modal-body { 44 | height: 90%; 45 | overflow-y: auto; 46 | max-height: calc(100vh - 120px) !important; 47 | } -------------------------------------------------------------------------------- /Assets/css/04.exclusive.css: -------------------------------------------------------------------------------- 1 | /* Exclusivity */ 2 | 3 | /* This is a duplicate label */ 4 | #exclusive_jsoneditor div[data-schemapath="root.rules"] h3 { 5 | display: none; 6 | } 7 | -------------------------------------------------------------------------------- /Assets/css/05.file_payload.css: -------------------------------------------------------------------------------- 1 | /* File Payload - Buttons and nav */ 2 | #contactclient_file_payload_codemirror { 3 | margin-top: 42px; 4 | } 5 | 6 | .file_payload .contactclient_jsoneditor div[data-schematype="object"][data-schemapath^="root.body."] .CodeMirror { 7 | max-width: 500px; 8 | } 9 | 10 | .file_payload .contactclient_jsoneditor div[data-schematype="boolean"][data-schemapath="root.settings.headers"] { 11 | padding-top: 20px; 12 | } 13 | 14 | #file_payload_buttons { 15 | margin-bottom: -19px; 16 | position: relative; 17 | z-index: 1005; 18 | right: 0px; 19 | top: 0px; 20 | height: 30px; 21 | overflow: visible; 22 | -webkit-transition: right .1s ease-in-out; 23 | -moz-transition: right .1s ease-in-out; 24 | -ms-transition: right .1s ease-in-out; 25 | -o-transition: right .1s ease-in-out; 26 | transition: right .1s ease-in-out; 27 | } 28 | 29 | #file_payload_buttons .btn-group { 30 | -webkit-box-shadow: 0 0 10px 10px rgba(255, 255, 255, .5); 31 | box-shadow: 0 0 10px 10px rgba(255, 255, 255, .5); 32 | } 33 | 34 | #file_payload_buttons.affix { 35 | position: fixed; 36 | -webkit-transition: right .1s ease-in-out; 37 | -moz-transition: right .1s ease-in-out; 38 | -ms-transition: right .1s ease-in-out; 39 | -o-transition: right .1s ease-in-out; 40 | transition: right .1s ease-in-out; 41 | 42 | top: 14px; 43 | margin-right: 15px; 44 | } 45 | 46 | #file_payload_buttons .btn-group { 47 | -webkit-box-shadow: 0 0 10px 10px rgba(255, 255, 255, 1); 48 | box-shadow: 0 0 10px 10px rgba(255, 255, 255, 1); 49 | } 50 | 51 | #file_payload_test_result .modal-body { 52 | height: 90%; 53 | overflow-y: auto; 54 | max-height: calc(100vh - 120px) !important; 55 | } -------------------------------------------------------------------------------- /Assets/css/05.file_payload_json.css: -------------------------------------------------------------------------------- 1 | /* ContactClient File Payload - JSON Editor customizations */ 2 | 3 | .file_payload .contactclient_jsoneditor .well { 4 | background: none; 5 | border: 0; 6 | } 7 | 8 | .file_payload .contactclient_jsoneditor > div > .well { 9 | min-height: 0; 10 | padding: 0; 11 | margin: 0; 12 | background-color: transparent; 13 | border: none; 14 | border-radius: 0; 15 | -webkit-box-shadow: none; 16 | box-shadow: none; 17 | } 18 | 19 | .file_payload .contactclient_jsoneditor .well { 20 | background: rgba(145, 145, 145, .1); 21 | border: 1px solid rgba(45, 45, 45, .1); 22 | -webkit-box-shadow: none; 23 | box-shadow: none; 24 | } 25 | 26 | .file_payload .contactclient_jsoneditor { 27 | margin-top: 10px; 28 | } 29 | 30 | .file_payload .contactclient_jsoneditor .slider-horizontal { 31 | max-width: 95%; 32 | margin-top: .5em; 33 | } 34 | 35 | .file_payload .contactclient_jsoneditor td[data-schematype="boolean"] { 36 | width: 72px; 37 | text-align: center; 38 | } 39 | 40 | .file_payload .contactclient_jsoneditor .table-bordered > tbody > tr > td, 41 | .file_payload .contactclient_jsoneditor .table-bordered > thead > tr > th { 42 | border: 0; 43 | } 44 | 45 | .file_payload .contactclient_jsoneditor .table-bordered > tbody > tr { 46 | border: 0; 47 | border-bottom: 2px solid rgba(255, 255, 255, 0.1); 48 | } 49 | 50 | .file_payload .contactclient_jsoneditor .table-bordered > tbody > tr:last-child { 51 | border-bottom: 0; 52 | } 53 | 54 | /* push delete buttons to the right */ 55 | .file_payload .contactclient_jsoneditor .table-bordered > tbody > tr > td:last-child { 56 | text-align: right; 57 | } 58 | 59 | label.file-payload { 60 | display: none; 61 | } 62 | 63 | /* This style does not use expandable headers */ 64 | .file_payload .contactclient_jsoneditor div > h3 > span { 65 | cursor: default; 66 | } 67 | -------------------------------------------------------------------------------- /Assets/css/07.limits.css: -------------------------------------------------------------------------------- 1 | /* ContactClient Limits */ 2 | #limits_jsoneditor div[data-schemapath="root.rules"] table > thead > tr > th:nth-child(3) { 3 | opacity: 0; 4 | } 5 | 6 | /* This is a duplicate (duplicate) label */ 7 | #limits_jsoneditor div[data-schemapath="root.rules"] h3 { 8 | display: none; 9 | } 10 | -------------------------------------------------------------------------------- /Assets/css/08.schedule.css: -------------------------------------------------------------------------------- 1 | /* ContactClient Schedule */ 2 | #contactclient_schedule_hours_widget div h3 { 3 | padding-top: 20px; 4 | } 5 | 6 | #contactclient_schedule_hours_widget .dayContainer { 7 | min-width: 86px; 8 | min-height: 130px; 9 | font-weight: 600; 10 | line-height: 2em; 11 | } 12 | 13 | #contactclient_schedule_hours_widget .input-group-addon { 14 | padding: 6px; 15 | } 16 | 17 | #contactclient_schedule_hours_widget .operationTime .mini-time { 18 | width: 52px; 19 | padding-left: 7px; 20 | font-size: 13px; 21 | } 22 | 23 | #contactclient_schedule_hours_widget .colorBox { 24 | border: 0; 25 | } 26 | 27 | #contactclient_schedule_hours_widget .schedule-toggle.btn-success:before { 28 | font-family: FontAwesome, "Open Sans", Helvetica, Arial, sans-serif; 29 | content: "\f046 \00A0 \00A0 Open"; 30 | /*font-size:1.3em;*/ 31 | /*font-weight: lighter;*/ 32 | font-size: 13px; 33 | padding-left: 4px; 34 | } 35 | 36 | #contactclient_schedule_hours_widget .schedule-toggle.btn-danger:before { 37 | font-family: FontAwesome, "Open Sans", Helvetica, Arial, sans-serif; 38 | content: "\f096 \00A0 \00A0 Closed"; 39 | /*font-size:1.3em;*/ 40 | /*font-weight: lighter;*/ 41 | font-size: 13px; 42 | padding-left: 4px; 43 | } 44 | -------------------------------------------------------------------------------- /Assets/css/09.integration.css: -------------------------------------------------------------------------------- 1 | /* Style the body key column to prevent user confusion/clicking */ 2 | #campaignevent_properties_config .contactclient_jsoneditor div > table > tbody > tr > td[data-schemapath$=".key"] > div > input { 3 | pointer-events: none; 4 | background: none; 5 | border: 0; 6 | border-radius: 0; 7 | } 8 | 9 | #campaignevent_properties_config .contactclient_jsoneditor div > table > tbody > tr > td { 10 | min-width: 150px; 11 | } 12 | 13 | #campaignevent_properties_config .contactclient_jsoneditor { 14 | overflow-y: auto; 15 | } 16 | 17 | @media (min-width: 768px) { 18 | #CampaignEventModal .modal-dialog.expanded { 19 | width: auto; 20 | min-width: 600px; 21 | max-width: 95%; 22 | -webkit-transition: width 300ms ease-in-out; 23 | -moz-transition: width 300ms ease-in-out; 24 | -ms-transition: width 300ms ease-in-out; 25 | -o-transition: width 300ms ease-in-out; 26 | transition: width 300ms ease-in-out; 27 | } 28 | } 29 | 30 | #campaignevent_properties_config .contactclient_jsoneditor div > table > tbody > tr { 31 | opacity: 1; 32 | -webkit-transition: opacity 300ms ease-in-out; 33 | -moz-transition: opacity 300ms ease-in-out; 34 | -ms-transition: opacity 300ms ease-in-out; 35 | -o-transition: opacity 300ms ease-in-out; 36 | transition: opacity 300ms ease-in-out; 37 | } 38 | 39 | #campaignevent_properties_config .contactclient_jsoneditor div > table > tbody > tr.disabled { 40 | opacity: .5; 41 | -webkit-transition: opacity 300ms ease-in-out; 42 | -moz-transition: opacity 300ms ease-in-out; 43 | -ms-transition: opacity 300ms ease-in-out; 44 | -o-transition: opacity 300ms ease-in-out; 45 | transition: opacity 300ms ease-in-out; 46 | } -------------------------------------------------------------------------------- /Assets/css/12.duplicates.css: -------------------------------------------------------------------------------- 1 | /* Duplicates */ 2 | 3 | /* This is a duplicate (duplicate) label */ 4 | #duplicate_jsoneditor div[data-schemapath="root.rules"] h3 { 5 | display: none; 6 | } 7 | -------------------------------------------------------------------------------- /Assets/css/13.ui.css: -------------------------------------------------------------------------------- 1 | /* jQuery UI Autocompete styling for better appearance within bootstrap. Includes hint modification for Codemirror. */ 2 | ul.bs-autocomplete-menu { 3 | position: absolute; 4 | top: 0; 5 | left: 0; 6 | width: auto !important; 7 | min-width: 150px; 8 | max-height: 200px; 9 | overflow: auto; 10 | z-index: 9999; 11 | border: 1px solid #eeeeee; 12 | border-radius: 4px; 13 | background-color: #fff; 14 | box-shadow: 0 1px 6px 1px rgba(0, 0, 0, 0.4); 15 | } 16 | 17 | ul.CodeMirror-hints li, 18 | ul.bs-autocomplete-menu a { 19 | font-weight: normal; 20 | color: #333333; 21 | } 22 | 23 | .ui-helper-hidden-accessible { 24 | border: 0; 25 | clip: rect(0 0 0 0); 26 | height: 1px; 27 | margin: -1px; 28 | overflow: hidden; 29 | padding: 0; 30 | position: absolute; 31 | width: 1px; 32 | } 33 | 34 | .CodeMirror-hints li.CodeMirror-hint-active, 35 | .ui-state-active, 36 | .ui-state-focus { 37 | color: #23527c; 38 | background-color: #eeeeee; 39 | } 40 | 41 | .bs-autocomplete-feedback { 42 | width: 1.5em; 43 | height: 1.5em; 44 | overflow: hidden; 45 | margin-top: .5em; 46 | margin-right: .5em; 47 | } 48 | 49 | /* tag-Editor/Codemirror autocomplete/hint styles */ 50 | ul.CodeMirror-hints, 51 | .nav.nav-pills.nav-stacked.bs-autocomplete-menu { 52 | color: #596776; 53 | margin: 0 4px 4px 0; 54 | max-height: 240px; 55 | padding: 4px; 56 | overflow-x: hidden; 57 | overflow-y: auto; 58 | line-height: 22px; 59 | font-family: 'Roboto Mono', Menlo, Monaco, Consolas, "Courier New", monospace !important; 60 | font-size: 13px; 61 | font-weight: normal; 62 | } 63 | 64 | ul.CodeMirror-hints li, 65 | .nav.nav-pills.nav-stacked.bs-autocomplete-menu li.ui-menu-item { 66 | margin: 0; 67 | padding: 5px 6px; 68 | cursor: pointer; 69 | } 70 | 71 | ul.CodeMirror-hints li.CodeMirror-hint-active, 72 | .nav.nav-pills.nav-stacked.bs-autocomplete-menu li.ui-menu-item.ui-state-focus { 73 | color: #fff; 74 | background-color: rgba(0, 86, 171, 0.8); 75 | } 76 | 77 | form[name='contactclient'] .h3, 78 | form[name='contactclient'] h3 { 79 | font-size: 16px; 80 | padding: 0 0 5px 0; 81 | } -------------------------------------------------------------------------------- /Assets/css/14.timeline.css: -------------------------------------------------------------------------------- 1 | /* Styles for the timeline view */ 2 | /* Campaign input */ 3 | form[name='contactclient_chart'] > div.input-group:nth-child(1) > span { 4 | border-bottom-left-radius: 0; 5 | border-bottom: 0; 6 | } 7 | 8 | form[name='contactclient_chart'] > div.input-group:nth-child(1) > div.chosen-container, 9 | form[name='contactclient_chart'] > div.input-group:nth-child(1) > div.chosen-container .chosen-single { 10 | border-bottom-right-radius: 0; 11 | margin-right: 1px; 12 | border-bottom: 0; 13 | } 14 | 15 | form[name='contactclient_chart'] > div.input-group:nth-child(1) > div.chosen-container .chosen-drop { 16 | margin-right: 1px; 17 | } 18 | 19 | /* Type dropdown */ 20 | form[name='contactclient_chart'] > div.input-group:nth-child(2) > span { 21 | border-radius: 0; 22 | border-bottom: 0; 23 | } 24 | 25 | form[name='contactclient_chart'] > div.input-group:nth-child(2) > div.chosen-container, 26 | form[name='contactclient_chart'] > div.input-group:nth-child(2) > div.chosen-container .chosen-single { 27 | border-radius: 0; 28 | margin-right: 1px; 29 | border-bottom: 0; 30 | } 31 | 32 | form[name='contactclient_chart'] > div.input-group:nth-child(2) > div.chosen-container .chosen-drop { 33 | margin-right: 1px; 34 | } 35 | 36 | /* Date selector */ 37 | form[name='contactclient_chart'] > div.input-group:nth-child(3) > span { 38 | border-top-left-radius: 0; 39 | } 40 | 41 | form[name='contactclient_chart'] > div.input-group:nth-child(3) > span.input-group-btn, 42 | form[name='contactclient_chart'] > div.input-group:nth-child(3) > span.input-group-btn > button { 43 | border-top-right-radius: 0; 44 | } 45 | 46 | #transactions-table input.transaction-filter { 47 | min-width: 99%; 48 | } -------------------------------------------------------------------------------- /Assets/css/17.dnc.css: -------------------------------------------------------------------------------- 1 | /* Styles for the DNC tab */ 2 | form[name='contactclient'] #dnc input[type='checkbox'] { 3 | margin-top: -6px !important; 4 | } 5 | 6 | form[name='contactclient'] #dnc .checkbox label { 7 | font-size: 13px; 8 | line-height: 1.3856; 9 | font-weight: bold; 10 | width: 100%; 11 | background: rgba(145, 145, 145, .1); 12 | border: 1px solid rgba(45, 45, 45, .1); 13 | -webkit-box-shadow: none; 14 | box-shadow: none; 15 | padding: 9px 12px 9px 26px; 16 | border-radius: 2px; 17 | min-height: 20px; 18 | margin-bottom: 20px; 19 | } -------------------------------------------------------------------------------- /Assets/css/libraries/fullscreen.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-fullscreen { 2 | position: fixed; 3 | top: 0; left: 0; right: 0; bottom: 0; 4 | height: auto; 5 | z-index: 9; 6 | } 7 | -------------------------------------------------------------------------------- /Assets/css/libraries/jquery-ui/autocomplete.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Autocomplete 1.11.4 3 | * http://jqueryui.com 4 | * 5 | * Copyright jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | * 9 | * http://api.jqueryui.com/autocomplete/#theming 10 | */ 11 | .ui-autocomplete { 12 | position: absolute; 13 | top: 0; 14 | left: 0; 15 | cursor: default; 16 | } 17 | -------------------------------------------------------------------------------- /Assets/css/libraries/jquery-ui/draggable.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Draggable 1.11.4 3 | * http://jqueryui.com 4 | * 5 | * Copyright jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | */ 9 | .ui-draggable-handle { 10 | -ms-touch-action: none; 11 | touch-action: none; 12 | } 13 | -------------------------------------------------------------------------------- /Assets/css/libraries/jquery-ui/menu.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Menu 1.11.4 3 | * http://jqueryui.com 4 | * 5 | * Copyright jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | * 9 | * http://api.jqueryui.com/menu/#theming 10 | */ 11 | .ui-menu { 12 | list-style: none; 13 | padding: 0; 14 | margin: 0; 15 | display: block; 16 | outline: none; 17 | } 18 | .ui-menu .ui-menu { 19 | position: absolute; 20 | } 21 | .ui-menu .ui-menu-item { 22 | position: relative; 23 | margin: 0; 24 | padding: 3px 1em 3px .4em; 25 | cursor: pointer; 26 | min-height: 0; /* support: IE7 */ 27 | /* support: IE10, see #8844 */ 28 | list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); 29 | } 30 | .ui-menu .ui-menu-divider { 31 | margin: 5px 0; 32 | height: 0; 33 | font-size: 0; 34 | line-height: 0; 35 | border-width: 1px 0 0 0; 36 | } 37 | .ui-menu .ui-state-focus, 38 | .ui-menu .ui-state-active { 39 | margin: -1px; 40 | } 41 | 42 | /* icon support */ 43 | .ui-menu-icons { 44 | position: relative; 45 | } 46 | .ui-menu-icons .ui-menu-item { 47 | padding-left: 2em; 48 | } 49 | 50 | /* left-aligned */ 51 | .ui-menu .ui-icon { 52 | position: absolute; 53 | top: 0; 54 | bottom: 0; 55 | left: .2em; 56 | margin: auto 0; 57 | } 58 | 59 | /* right-aligned */ 60 | .ui-menu .ui-menu-icon { 61 | left: auto; 62 | right: 0; 63 | } 64 | -------------------------------------------------------------------------------- /Assets/css/libraries/jquery-ui/sortable.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery UI Sortable 1.11.4 3 | * http://jqueryui.com 4 | * 5 | * Copyright jQuery Foundation and other contributors 6 | * Released under the MIT license. 7 | * http://jquery.org/license 8 | */ 9 | .ui-sortable-handle { 10 | -ms-touch-action: none; 11 | touch-action: none; 12 | } 13 | -------------------------------------------------------------------------------- /Assets/css/libraries/jquery.businessHours.css: -------------------------------------------------------------------------------- 1 | .clean { 2 | clear: both; 3 | } 4 | 5 | .dayContainer { 6 | float: left; 7 | line-height: 20px; 8 | margin-right: 8px; 9 | width: 65px; 10 | font-size: 11px; 11 | font-weight: bold; 12 | } 13 | 14 | .colorBox { 15 | cursor: pointer; 16 | height: 45px; 17 | border: 2px solid #888; 18 | -webkit-border-radius: 4px; 19 | -moz-border-radius: 4px; 20 | border-radius: 4px; 21 | } 22 | 23 | .colorBox.WorkingDayState { 24 | border: 2px solid #4E8059; 25 | background-color: #8ade8f; 26 | } 27 | 28 | .colorBox.RestDayState { 29 | border: 2px solid #7a1c44; 30 | background-color: #de5962; 31 | } 32 | 33 | .operationTime .mini-time { 34 | width: 40px; 35 | padding: 3px; 36 | font-size: 12px; 37 | font-weight: normal; 38 | } 39 | 40 | .dayContainer .add-on { 41 | padding: 4px 2px; 42 | } 43 | 44 | .colorBoxLabel { 45 | clear: both; 46 | font-size: 12px; 47 | font-weight: bold; 48 | } 49 | 50 | .invisible { 51 | visibility: hidden; 52 | } 53 | 54 | .operationTime { 55 | margin-top: 5px; 56 | } -------------------------------------------------------------------------------- /Assets/css/libraries/jquery.timepicker.min.css: -------------------------------------------------------------------------------- 1 | .ui-timepicker-wrapper{overflow-y:auto;max-height:150px;width:6.5em;background:#fff;border:1px solid #ddd;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);outline:0;z-index:10001;margin:0}.ui-timepicker-wrapper.ui-timepicker-with-duration{width:13em}.ui-timepicker-wrapper.ui-timepicker-with-duration.ui-timepicker-step-30,.ui-timepicker-wrapper.ui-timepicker-with-duration.ui-timepicker-step-60{width:11em}.ui-timepicker-list{margin:0;padding:0;list-style:none}.ui-timepicker-duration{margin-left:5px;color:#888}.ui-timepicker-list:hover .ui-timepicker-duration{color:#888}.ui-timepicker-list li{padding:3px 0 3px 5px;cursor:pointer;white-space:nowrap;color:#000;list-style:none;margin:0}.ui-timepicker-list:hover .ui-timepicker-selected{background:#fff;color:#000}li.ui-timepicker-selected,.ui-timepicker-list li:hover,.ui-timepicker-list .ui-timepicker-selected:hover{background:#1980EC;color:#fff}li.ui-timepicker-selected .ui-timepicker-duration,.ui-timepicker-list li:hover .ui-timepicker-duration{color:#ccc}.ui-timepicker-list li.ui-timepicker-disabled,.ui-timepicker-list li.ui-timepicker-disabled:hover,.ui-timepicker-list li.ui-timepicker-selected.ui-timepicker-disabled{color:#888;cursor:default}.ui-timepicker-list li.ui-timepicker-disabled:hover,.ui-timepicker-list li.ui-timepicker-selected.ui-timepicker-disabled{background:#f2f2f2} -------------------------------------------------------------------------------- /Assets/img/client.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDMSGroup/mautic-contact-client/3cce8f2693f1abbcfa85567af4a4f5a33a4d4f46/Assets/img/client.png -------------------------------------------------------------------------------- /Assets/js/00.type.js: -------------------------------------------------------------------------------- 1 | // Logic for the payload type switch. 2 | Mautic.contactclientType = function () { 3 | 4 | // Trigger payload tab visibility based on contactClient type. 5 | mQuery('input[name="contactclient[type]"]').change(function () { 6 | var val = mQuery('input[name="contactclient[type]"]:checked').val(); 7 | if (val === 'api') { 8 | mQuery('.row.api_payload').removeClass('hide'); 9 | mQuery('.row.file_payload').addClass('hide'); 10 | mQuery('#contactclient_attribution_settings').removeClass('hide'); 11 | mQuery('input[name="contactclient[schedule_queue]"]').closest('.row').removeClass('hide'); 12 | 13 | // Mautic.contactclientApiPayload(); 14 | Mautic.contactclientPreloadTokens(function () { 15 | Mautic.contactclientApiPayload(); 16 | }); 17 | } 18 | else if (val === 'file') { 19 | mQuery('.row.api_payload').addClass('hide'); 20 | mQuery('.row.file_payload').removeClass('hide'); 21 | mQuery('#contactclient_attribution_settings').addClass('hide'); 22 | mQuery('input[name="contactclient[schedule_queue]"]').closest('.row').addClass('hide'); 23 | Mautic.contactclientPreloadTokens(function () { 24 | Mautic.contactclientFilePayload(); 25 | }); 26 | } 27 | }).first().parent().parent().find('label.active input:first').trigger('change'); 28 | 29 | // Hide the right column when Payload tab is open to give more room for 30 | // table entry. 31 | var activeTab = '#details'; 32 | mQuery('.contactclient-tab').click(function () { 33 | var thisTab = mQuery(this).attr('href'); 34 | if (thisTab !== activeTab) { 35 | activeTab = thisTab; 36 | if (activeTab !== '#details') { 37 | // Expanded view. 38 | mQuery('.contactclient-left').addClass('col-md-12').removeClass('col-md-9'); 39 | mQuery('.contactclient-right').addClass('hide'); 40 | } 41 | else { 42 | // Standard view. 43 | mQuery('.contactclient-left').removeClass('col-md-12').addClass('col-md-9'); 44 | mQuery('.contactclient-right').removeClass('hide'); 45 | } 46 | } 47 | }); 48 | }; 49 | 50 | Mautic.contactclientTypeChange = function (t) { 51 | setTimeout(function () { 52 | var $parent = mQuery(t).parent().parent(); 53 | $parent.find('label.btn:not(.active)') 54 | .addClass('btn-default').removeClass('btn-success'); 55 | $parent.find('label.btn.btn-default.active') 56 | .addClass('btn-success').removeClass('btn-default'); 57 | }, 50); 58 | return true; 59 | }; 60 | -------------------------------------------------------------------------------- /Assets/js/04.exclusive.js: -------------------------------------------------------------------------------- 1 | // Exclusive field. 2 | Mautic.contactclientExclusive = function () { 3 | var $exclusive = mQuery('#contactclient_exclusive:first:not(.exclusive-checked)'); 4 | if ($exclusive.length) { 5 | 6 | var exclusiveJSONEditor; 7 | 8 | // Grab the JSON Schema to begin rendering the form with JSONEditor. 9 | mQuery.ajax({ 10 | dataType: 'json', 11 | cache: true, 12 | url: mauticBasePath + '/' + mauticAssetPrefix + 'plugins/MauticContactClientBundle/Assets/json/exclusive.json', 13 | success: function (data) { 14 | var schema = data; 15 | 16 | // Create our widget container for the JSON Editor. 17 | var $exclusiveJSONEditor = mQuery('
', { 18 | class: 'contactclient_jsoneditor', 19 | id: 'exclusive_jsoneditor' 20 | }).insertBefore($exclusive); 21 | 22 | // Instantiate the JSON Editor based on our schema. 23 | exclusiveJSONEditor = new JSONEditor($exclusiveJSONEditor[0], { 24 | schema: schema, 25 | disable_collapse: true 26 | }); 27 | 28 | $exclusive.change(function () { 29 | // Load the initial value if applicable. 30 | var raw = mQuery(this).val(), 31 | obj; 32 | if (raw.length) { 33 | try { 34 | obj = mQuery.parseJSON(raw); 35 | if (typeof obj === 'object') { 36 | exclusiveJSONEditor.setValue(obj); 37 | } 38 | } 39 | catch (e) { 40 | console.warn(e); 41 | } 42 | } 43 | }).trigger('change'); 44 | 45 | // Persist the value to the JSON Editor. 46 | exclusiveJSONEditor.on('change', function () { 47 | var obj = exclusiveJSONEditor.getValue(); 48 | if (typeof obj === 'object') { 49 | var raw = JSON.stringify(obj, null, 2); 50 | if (raw.length) { 51 | // Set the textarea. 52 | $exclusive.val(raw); 53 | } 54 | } 55 | }); 56 | 57 | $exclusiveJSONEditor.show(); 58 | } 59 | }); 60 | $exclusive.addClass('exclusive-checked'); 61 | } 62 | }; -------------------------------------------------------------------------------- /Assets/js/12.duplicate.js: -------------------------------------------------------------------------------- 1 | // Duplicate field. 2 | Mautic.contactclientDuplicate = function () { 3 | var $duplicate = mQuery('#contactclient_duplicate:first:not(.duplicate-checked)'); 4 | if ($duplicate.length) { 5 | $duplicate.addClass('duplicate-checked'); 6 | 7 | var duplicateJSONEditor; 8 | 9 | // Grab the JSON Schema to begin rendering the form with JSONEditor. 10 | mQuery.ajax({ 11 | dataType: 'json', 12 | cache: true, 13 | url: mauticBasePath + '/' + mauticAssetPrefix + 'plugins/MauticContactClientBundle/Assets/json/duplicate.json', 14 | success: function (data) { 15 | var schema = data; 16 | 17 | // Create our widget container for the JSON Editor. 18 | var $duplicateJSONEditor = mQuery('
', { 19 | class: 'contactclient_jsoneditor', 20 | id: 'duplicate_jsoneditor' 21 | }).insertBefore($duplicate); 22 | 23 | // Instantiate the JSON Editor based on our schema. 24 | duplicateJSONEditor = new JSONEditor($duplicateJSONEditor[0], { 25 | schema: schema, 26 | disable_collapse: true 27 | }); 28 | 29 | $duplicate.change(function () { 30 | // Load the initial value if applicable. 31 | var raw = mQuery(this).val(), 32 | obj; 33 | if (raw.length) { 34 | try { 35 | obj = mQuery.parseJSON(raw); 36 | if (typeof obj === 'object') { 37 | duplicateJSONEditor.setValue(obj); 38 | } 39 | } 40 | catch (e) { 41 | console.warn(e); 42 | } 43 | } 44 | }).trigger('change'); 45 | 46 | // Persist the value to the JSON Editor. 47 | duplicateJSONEditor.on('change', function () { 48 | var obj = duplicateJSONEditor.getValue(); 49 | if (typeof obj === 'object') { 50 | var raw = JSON.stringify(obj, null, 2); 51 | if (raw.length) { 52 | // Set the textarea. 53 | $duplicate.val(raw); 54 | } 55 | } 56 | }); 57 | 58 | $duplicateJSONEditor.show(); 59 | } 60 | }); 61 | } 62 | }; -------------------------------------------------------------------------------- /Assets/js/13.ui.js: -------------------------------------------------------------------------------- 1 | // Modifications to the UI Autocomplete widget for better styling. 2 | if ( 3 | typeof mQuery.widget !== 'undefined' 4 | && typeof mQuery.ui !== 'undefined' 5 | && typeof mQuery.ui.autocomplete !== 'undefined' 6 | ) { 7 | mQuery.widget('ui.autocomplete', mQuery.ui.autocomplete, { 8 | _renderMenu: function (ul, items) { 9 | var that = this; 10 | ul.attr('class', 'nav nav-pills nav-stacked bs-autocomplete-menu'); 11 | mQuery.each(items, function (index, item) { 12 | that._renderItemData(ul, item); 13 | }); 14 | }, 15 | _resizeMenu: function () { 16 | var ul = this.menu.element; 17 | ul.outerWidth(Math.min( 18 | // Firefox wraps long text (possibly a rounding bug) 19 | // so we add 1px to avoid the wrapping (#7513) 20 | ul.width('').outerWidth() + 1, 21 | this.element.outerWidth() 22 | )); 23 | } 24 | }); 25 | } -------------------------------------------------------------------------------- /Assets/js/16.contactclient_transactions_table.js: -------------------------------------------------------------------------------- 1 | Mautic.contactclientTransactionsTable = function () { 2 | var $tableTarget = mQuery('#transactions-table'); 3 | if ($tableTarget.length && !$tableTarget.hasClass('table-initialized')) { 4 | $tableTarget.addClass('table-initialized'); 5 | // Make ajax call 6 | mQuery.ajax({ 7 | url: mauticAjaxUrl, 8 | type: 'POST', 9 | data: { 10 | action: 'plugin:mauticContactClient:transactions', 11 | objectId: Mautic.getEntityId() 12 | }, 13 | cache: true, 14 | dataType: 'json', 15 | success: function (response) { 16 | if (response.success > 0) { 17 | mQuery('#clientTransactions-builder-overlay').hide(); 18 | $tableTarget.append(response.html); 19 | Mautic.contactclientTransactionsOnLoad(); 20 | } 21 | } // end ajax success 22 | }); // end ajax call 23 | } // end if tableTarget exists 24 | }; 25 | -------------------------------------------------------------------------------- /Assets/js/17.pending_events.js: -------------------------------------------------------------------------------- 1 | Mautic.contactclientPendingEventsTable = function () { 2 | var $tableTarget = mQuery('#pending-events-table'); 3 | if ($tableTarget.length && !$tableTarget.hasClass('table-initialized')) { 4 | $tableTarget.addClass('table-initialized'); 5 | // Make ajax call 6 | mQuery.ajax({ 7 | url: mauticAjaxUrl, 8 | type: 'POST', 9 | data: { 10 | action: 'plugin:contactClient:pendingEvents', 11 | objectId: Mautic.getEntityId(), 12 | }, 13 | cache: false, 14 | dataType: 'json', 15 | success: function (response) { 16 | mQuery('#PendingEventsCount').text(response.total) 17 | mQuery('#clientPendingEvents-builder-overlay').hide(); 18 | mQuery('#pending-events-table').DataTable( 19 | { 20 | columns: response.columns, 21 | data: response.events, 22 | autoFill: true, 23 | language: { 24 | emptyTable: 'No pending events for this client found.' 25 | }, 26 | columnDefs: [ 27 | { 28 | render: function (data, type, row) { 29 | return renderCampaignLink(row[0], row[1]); 30 | }, 31 | targets: 1 32 | }, 33 | { 34 | render: function (data, type, row) { 35 | return renderEventName(row[2], row[3]); 36 | }, 37 | targets: 3 38 | }, 39 | 40 | {visible: false, targets: [0, 2]}, 41 | {width: '33%', targets: [1,3,4]}, 42 | ], 43 | 44 | } 45 | ); 46 | } // end ajax success 47 | }); // end ajax call 48 | } // end if tableTarget exists 49 | 50 | function renderCampaignLink (id, name) { 51 | return ''+name+''; 52 | } 53 | 54 | function renderEventName (id, name) { 55 | return name+' ('+id+' )'; 56 | } 57 | }; 58 | 59 | 60 | -------------------------------------------------------------------------------- /Assets/js/99.init.js: -------------------------------------------------------------------------------- 1 | // General helpers for the Contact Client editor form. 2 | Mautic.contactclientOnLoad = function () { 3 | if (mQuery('input[name="contactclient[type]"]').length) { 4 | // Client edit screen. 5 | Mautic.contactclientType(); 6 | Mautic.contactclientDuplicate(); 7 | Mautic.contactclientExclusive(); 8 | Mautic.contactclientFilter(); 9 | Mautic.contactclientLimits(); 10 | Mautic.contactclientSchedule(); 11 | Mautic.contactclientAttribution(); 12 | } 13 | else { 14 | // Client view screen. 15 | Mautic.contactclientEventsDatatable(); 16 | Mautic.contactclientTransactionsTable(); 17 | Mautic.contactclientPendingEventsTable(); 18 | } 19 | }; -------------------------------------------------------------------------------- /Assets/js/libraries/datetime-moment.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This plug-in for DataTables represents the ultimate option in extensibility 3 | * for sorting date / time strings correctly. It uses 4 | * [Moment.js](http://momentjs.com) to create automatic type detection and 5 | * sorting plug-ins for DataTables based on a given format. This way, DataTables 6 | * will automatically detect your temporal information and sort it correctly. 7 | * 8 | * For usage instructions, please see the DataTables blog 9 | * post that [introduces it](//datatables.net/blog/2014-12-18). 10 | * 11 | * @name Ultimate Date / Time sorting 12 | * @summary Sort date and time in any format using Moment.js 13 | * @author [Allan Jardine](//datatables.net) 14 | * @depends DataTables 1.10+, Moment.js 1.7+ 15 | * 16 | * @example 17 | * $.fn.dataTable.moment( 'HH:mm MMM D, YY' ); 18 | * $.fn.dataTable.moment( 'dddd, MMMM Do, YYYY' ); 19 | * 20 | * $('#example').DataTable(); 21 | */ 22 | 23 | (function (factory) { 24 | if (typeof define === "function" && define.amd) { 25 | define(["jquery", "moment", "datatables.net"], factory); 26 | } else { 27 | factory(jQuery, moment); 28 | } 29 | }(function ($, moment) { 30 | 31 | $.fn.dataTable.moment = function ( format, locale ) { 32 | var types = $.fn.dataTable.ext.type; 33 | 34 | // Add type detection 35 | types.detect.unshift( function ( d ) { 36 | if ( d ) { 37 | // Strip HTML tags and newline characters if possible 38 | if ( d.replace ) { 39 | d = d.replace(/(<.*?>)|(\r?\n|\r)/g, ''); 40 | } 41 | 42 | // Strip out surrounding white space 43 | d = $.trim( d ); 44 | } 45 | 46 | // Null and empty values are acceptable 47 | if ( d === '' || d === null ) { 48 | return 'moment-'+format; 49 | } 50 | 51 | return moment( d, format, locale, true ).isValid() ? 52 | 'moment-'+format : 53 | null; 54 | } ); 55 | 56 | // Add sorting method - use an integer for the sorting 57 | types.order[ 'moment-'+format+'-pre' ] = function ( d ) { 58 | if ( d ) { 59 | // Strip HTML tags and newline characters if possible 60 | if ( d.replace ) { 61 | d = d.replace(/(<.*?>)|(\r?\n|\r)/g, ''); 62 | } 63 | 64 | // Strip out surrounding white space 65 | d = $.trim( d ); 66 | } 67 | 68 | return !moment(d, format, locale, true).isValid() ? 69 | Infinity : 70 | parseInt( moment( d, format, locale, true ).format( 'x' ), 10 ); 71 | }; 72 | }; 73 | 74 | })); 75 | -------------------------------------------------------------------------------- /Assets/js/libraries/fullscreen.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function(mod) { 5 | if (typeof exports == "object" && typeof module == "object") // CommonJS 6 | mod(require("../../lib/codemirror")); 7 | else if (typeof define == "function" && define.amd) // AMD 8 | define(["../../lib/codemirror"], mod); 9 | else // Plain browser env 10 | mod(CodeMirror); 11 | })(function(CodeMirror) { 12 | "use strict"; 13 | 14 | CodeMirror.defineOption("fullScreen", false, function(cm, val, old) { 15 | if (old == CodeMirror.Init) old = false; 16 | if (!old == !val) return; 17 | if (val) setFullscreen(cm); 18 | else setNormal(cm); 19 | }); 20 | 21 | function setFullscreen(cm) { 22 | var wrap = cm.getWrapperElement(); 23 | cm.state.fullScreenRestore = {scrollTop: window.pageYOffset, scrollLeft: window.pageXOffset, 24 | width: wrap.style.width, height: wrap.style.height}; 25 | wrap.style.width = ""; 26 | wrap.style.height = "auto"; 27 | wrap.className += " CodeMirror-fullscreen"; 28 | document.documentElement.style.overflow = "hidden"; 29 | cm.refresh(); 30 | } 31 | 32 | function setNormal(cm) { 33 | var wrap = cm.getWrapperElement(); 34 | wrap.className = wrap.className.replace(/\s*CodeMirror-fullscreen\b/, ""); 35 | document.documentElement.style.overflow = ""; 36 | var info = cm.state.fullScreenRestore; 37 | wrap.style.width = info.width; wrap.style.height = info.height; 38 | window.scrollTo(info.scrollLeft, info.scrollTop); 39 | cm.refresh(); 40 | } 41 | }); 42 | -------------------------------------------------------------------------------- /Assets/js/libraries/html-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | // Depends on htmlhint.js from http://htmlhint.com/js/htmlhint.js 5 | 6 | // declare global: HTMLHint 7 | 8 | (function(mod) { 9 | if (typeof exports == "object" && typeof module == "object") // CommonJS 10 | mod(require("../../lib/codemirror"), require("htmlhint")); 11 | else if (typeof define == "function" && define.amd) // AMD 12 | define(["../../lib/codemirror", "htmlhint"], mod); 13 | else // Plain browser env 14 | mod(CodeMirror, window.HTMLHint); 15 | })(function(CodeMirror, HTMLHint) { 16 | "use strict"; 17 | 18 | var defaultRules = { 19 | "tagname-lowercase": true, 20 | "attr-lowercase": true, 21 | "attr-value-double-quotes": true, 22 | "doctype-first": false, 23 | "tag-pair": true, 24 | "spec-char-escape": true, 25 | "id-unique": true, 26 | "src-not-empty": true, 27 | "attr-no-duplication": true 28 | }; 29 | 30 | CodeMirror.registerHelper("lint", "html", function(text, options) { 31 | var found = []; 32 | if (HTMLHint && !HTMLHint.verify) HTMLHint = HTMLHint.HTMLHint; 33 | if (!HTMLHint) HTMLHint = window.HTMLHint; 34 | if (!HTMLHint) { 35 | if (window.console) { 36 | window.console.error("Error: HTMLHint not found, not defined on window, or not available through define/require, CodeMirror HTML linting cannot run."); 37 | } 38 | return found; 39 | } 40 | var messages = HTMLHint.verify(text, options && options.rules || defaultRules); 41 | for (var i = 0; i < messages.length; i++) { 42 | var message = messages[i]; 43 | var startLine = message.line - 1, endLine = message.line - 1, startCol = message.col - 1, endCol = message.col; 44 | found.push({ 45 | from: CodeMirror.Pos(startLine, startCol), 46 | to: CodeMirror.Pos(endLine, endCol), 47 | message: message.message, 48 | severity : message.type 49 | }); 50 | } 51 | return found; 52 | }); 53 | }); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker-en-CA.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["en-CA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:0,format:"yyyy-mm-dd"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.ar-tn.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["ar-tn"]={days:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"],daysShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت","أحد"],daysMin:["ح","ن","ث","ع","خ","ج","س","ح"],months:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthsShort:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],today:"هذا اليوم",rtl:!0}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.ar.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ar={days:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"],daysShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت","أحد"],daysMin:["ح","ن","ث","ع","خ","ج","س","ح"],months:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthsShort:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],today:"هذا اليوم",rtl:!0}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.az.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.az={days:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],daysShort:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],daysMin:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],months:["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","İyun","İyul","Avq","Sen","Okt","Noy","Dek"],today:"Bu gün",weekStart:1}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.bg.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.bg={days:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"],daysShort:["Нед","Пон","Вто","Сря","Чет","Пет","Съб"],daysMin:["Н","П","В","С","Ч","П","С"],months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],monthsShort:["Ян","Фев","Мар","Апр","Май","Юни","Юли","Авг","Сеп","Окт","Ное","Дек"],today:"днес"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.bn.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.bn={days:["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],daysShort:["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],daysMin:["রবি","সোম","মঙ্গল","বুধ","বৃহস্পতি","শুক্র","শনি"],months:["জানুয়ারী","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","অগাস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],monthsShort:["জানুয়ারী","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","অগাস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],today:"আজ",monthsTitle:"মাস",clear:"পরিষ্কার",weekStart:0,format:"mm/dd/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.br.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.br={days:["Sul","Lun","Meurzh","Merc'her","Yaou","Gwener","Sadorn"],daysShort:["Sul","Lun","Meu.","Mer.","Yao.","Gwe.","Sad."],daysMin:["Su","L","Meu","Mer","Y","G","Sa"],months:["Genver","C'hwevrer","Meurzh","Ebrel","Mae","Mezheven","Gouere","Eost","Gwengolo","Here","Du","Kerzu"],monthsShort:["Genv.","C'hw.","Meur.","Ebre.","Mae","Mezh.","Goue.","Eost","Gwen.","Here","Du","Kerz."],today:"Hiziv",monthsTitle:"Miz",clear:"Dilemel",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.bs.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.bs={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Juni","Juli","August","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.ca.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ca={days:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"],daysShort:["Diu","Dil","Dmt","Dmc","Dij","Div","Dis"],daysMin:["dg","dl","dt","dc","dj","dv","ds"],months:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],monthsShort:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Des"],today:"Avui",monthsTitle:"Mesos",clear:"Esborrar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.cs.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.cs={days:["Neděle","Pondělí","Úterý","Středa","Čtvrtek","Pátek","Sobota"],daysShort:["Ned","Pon","Úte","Stř","Čtv","Pát","Sob"],daysMin:["Ne","Po","Út","St","Čt","Pá","So"],months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],monthsShort:["Led","Úno","Bře","Dub","Kvě","Čer","Čnc","Srp","Zář","Říj","Lis","Pro"],today:"Dnes",clear:"Vymazat",monthsTitle:"Měsíc",weekStart:1,format:"dd.m.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.cy.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.cy={days:["Sul","Llun","Mawrth","Mercher","Iau","Gwener","Sadwrn"],daysShort:["Sul","Llu","Maw","Mer","Iau","Gwe","Sad"],daysMin:["Su","Ll","Ma","Me","Ia","Gwe","Sa"],months:["Ionawr","Chewfror","Mawrth","Ebrill","Mai","Mehefin","Gorfennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr"],monthsShort:["Ion","Chw","Maw","Ebr","Mai","Meh","Gor","Aws","Med","Hyd","Tach","Rha"],today:"Heddiw"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.da.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.da={days:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],daysShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],daysMin:["Sø","Ma","Ti","On","To","Fr","Lø"],months:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"I Dag",weekStart:1,clear:"Nulstil",format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.de.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.de={days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],daysShort:["Son","Mon","Die","Mit","Don","Fre","Sam"],daysMin:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthsShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],today:"Heute",monthsTitle:"Monate",clear:"Löschen",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.el.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.el={days:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],daysShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],daysMin:["Κυ","Δε","Τρ","Τε","Πε","Πα","Σα"],months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],monthsShort:["Ιαν","Φεβ","Μαρ","Απρ","Μάι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],today:"Σήμερα",clear:"Καθαρισμός",weekStart:1,format:"d/m/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.en-AU.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["en-AU"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"d/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.en-GB.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["en-GB"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.en-IE.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["en-IE"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.en-NZ.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["en-NZ"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"d/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.en-ZA.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["en-ZA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"yyyy/mm/d"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.eo.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.eo={days:["dimanĉo","lundo","mardo","merkredo","ĵaŭdo","vendredo","sabato"],daysShort:["dim.","lun.","mar.","mer.","ĵaŭ.","ven.","sam."],daysMin:["d","l","ma","me","ĵ","v","s"],months:["januaro","februaro","marto","aprilo","majo","junio","julio","aŭgusto","septembro","oktobro","novembro","decembro"],monthsShort:["jan.","feb.","mar.","apr.","majo","jun.","jul.","aŭg.","sep.","okt.","nov.","dec."],today:"Hodiaŭ",clear:"Nuligi",weekStart:1,format:"yyyy-mm-dd"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.es.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.es={days:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],daysShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],daysMin:["Do","Lu","Ma","Mi","Ju","Vi","Sa"],months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],monthsShort:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],today:"Hoy",monthsTitle:"Meses",clear:"Borrar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.et.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.et={days:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"],daysShort:["Pühap","Esmasp","Teisip","Kolmap","Neljap","Reede","Laup"],daysMin:["P","E","T","K","N","R","L"],months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],monthsShort:["Jaan","Veebr","Märts","Apr","Mai","Juuni","Juuli","Aug","Sept","Okt","Nov","Dets"],today:"Täna",clear:"Tühjenda",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.eu.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.eu={days:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"],daysShort:["Ig","Al","Ar","Az","Og","Ol","Lr"],daysMin:["Ig","Al","Ar","Az","Og","Ol","Lr"],months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],monthsShort:["Urt","Ots","Mar","Api","Mai","Eka","Uzt","Abu","Ira","Urr","Aza","Abe"],today:"Gaur",monthsTitle:"Hilabeteak",clear:"Ezabatu",weekStart:1,format:"yyyy/mm/dd"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.fa.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.fa={days:["یک‌شنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه","یک‌شنبه"],daysShort:["یک","دو","سه","چهار","پنج","جمعه","شنبه","یک"],daysMin:["ی","د","س","چ","پ","ج","ش","ی"],months:["ژانویه","فوریه","مارس","آوریل","مه","ژوئن","ژوئیه","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"],monthsShort:["ژان","فور","مار","آور","مه","ژون","ژوی","اوت","سپت","اکت","نوا","دسا"],today:"امروز",clear:"پاک کن",weekStart:1,format:"yyyy/mm/dd"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.fi.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.fi={days:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],daysShort:["sun","maa","tii","kes","tor","per","lau"],daysMin:["su","ma","ti","ke","to","pe","la"],months:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],monthsShort:["tam","hel","maa","huh","tou","kes","hei","elo","syy","lok","mar","jou"],today:"tänään",clear:"Tyhjennä",weekStart:1,format:"d.m.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.fo.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.fo={days:["Sunnudagur","Mánadagur","Týsdagur","Mikudagur","Hósdagur","Fríggjadagur","Leygardagur"],daysShort:["Sun","Mán","Týs","Mik","Hós","Frí","Ley"],daysMin:["Su","Má","Tý","Mi","Hó","Fr","Le"],months:["Januar","Februar","Marts","Apríl","Mei","Juni","Juli","August","Septembur","Oktobur","Novembur","Desembur"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],today:"Í Dag",clear:"Reinsa"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.fr-CH.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.fr={days:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],daysShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],daysMin:["D","L","Ma","Me","J","V","S"],months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],monthsShort:["Jan","Fév","Mar","Avr","Mai","Jui","Jul","Aou","Sep","Oct","Nov","Déc"],today:"Aujourd'hui",monthsTitle:"Mois",clear:"Effacer",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.fr.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.fr={days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],daysShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],daysMin:["d","l","ma","me","j","v","s"],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthsShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],today:"Aujourd'hui",monthsTitle:"Mois",clear:"Effacer",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.gl.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.gl={days:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"],daysShort:["Dom","Lun","Mar","Mér","Xov","Ven","Sáb"],daysMin:["Do","Lu","Ma","Me","Xo","Ve","Sa"],months:["Xaneiro","Febreiro","Marzo","Abril","Maio","Xuño","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],monthsShort:["Xan","Feb","Mar","Abr","Mai","Xun","Xul","Ago","Sep","Out","Nov","Dec"],today:"Hoxe",clear:"Limpar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.he.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.he={days:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"],daysShort:["א","ב","ג","ד","ה","ו","ש","א"],daysMin:["א","ב","ג","ד","ה","ו","ש","א"],months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],monthsShort:["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ"],today:"היום",rtl:!0}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.hi.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.hi={days:["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],daysShort:["सूर्य","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],daysMin:["र","सो","मं","बु","गु","शु","श"],months:["जनवरी","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्टूबर","नवंबर","दिसम्बर"],monthsShort:["जन","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितं","अक्टूबर","नवं","दिसम्बर"],today:"आज",monthsTitle:"महीने",clear:"साफ",weekStart:1,format:"dd / mm / yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.hr.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.hr={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],monthsShort:["Sij","Velj","Ožu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],today:"Danas"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.hu.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.hu={days:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],daysShort:["vas","hét","ked","sze","csü","pén","szo"],daysMin:["V","H","K","Sze","Cs","P","Szo"],months:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],monthsShort:["jan","feb","már","ápr","máj","jún","júl","aug","sze","okt","nov","dec"],today:"ma",weekStart:1,clear:"töröl",titleFormat:"yyyy. MM",format:"yyyy.mm.dd"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.hy.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.hy={days:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"],daysShort:["Կիր","Երկ","Երե","Չոր","Հին","Ուրբ","Շաբ"],daysMin:["Կի","Եկ","Եք","Չո","Հի","Ու","Շա"],months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],monthsShort:["Հնվ","Փետ","Մար","Ապր","Մայ","Հուն","Հուլ","Օգս","Սեպ","Հոկ","Նոյ","Դեկ"],today:"Այսօր",clear:"Ջնջել",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Ամիսնէր"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.id.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.id={days:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],daysShort:["Mgu","Sen","Sel","Rab","Kam","Jum","Sab"],daysMin:["Mg","Sn","Sl","Ra","Ka","Ju","Sa"],months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ags","Sep","Okt","Nov","Des"],today:"Hari Ini",clear:"Kosongkan"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.is.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.is={days:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"],daysShort:["Sun","Mán","Þri","Mið","Fim","Fös","Lau"],daysMin:["Su","Má","Þr","Mi","Fi","Fö","La"],months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Maí","Jún","Júl","Ágú","Sep","Okt","Nóv","Des"],today:"Í Dag"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.it-CH.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.it={days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],daysShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],daysMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthsShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],today:"Oggi",clear:"Cancella",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.it.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.it={days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],daysShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],daysMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthsShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],today:"Oggi",monthsTitle:"Mesi",clear:"Cancella",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.ja.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ja={days:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"],daysShort:["日","月","火","水","木","金","土"],daysMin:["日","月","火","水","木","金","土"],months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今日",format:"yyyy/mm/dd",titleFormat:"yyyy年mm月",clear:"クリア"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.ka.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ka={days:["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"],daysShort:["კვი","ორშ","სამ","ოთხ","ხუთ","პარ","შაბ"],daysMin:["კვ","ორ","სა","ოთ","ხუ","პა","შა"],months:["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი"],monthsShort:["იან","თებ","მარ","აპრ","მაი","ივნ","ივლ","აგვ","სექ","ოქტ","ნოე","დეკ"],today:"დღეს",clear:"გასუფთავება",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.kh.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.kh={days:["អាទិត្យ","ចន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"],daysShort:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],daysMin:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],months:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],monthsShort:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],today:"ថ្ងៃនេះ",clear:"សំអាត"},a.fn.datepicker.deprecated('The language code "kh" is deprecated and will be removed in 2.0. For Khmer support use "km" instead.')}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.kk.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.kk={days:["Жексенбі","Дүйсенбі","Сейсенбі","Сәрсенбі","Бейсенбі","Жұма","Сенбі"],daysShort:["Жек","Дүй","Сей","Сәр","Бей","Жұм","Сен"],daysMin:["Жк","Дс","Сс","Ср","Бс","Жм","Сн"],months:["Қаңтар","Ақпан","Наурыз","Сәуір","Мамыр","Маусым","Шілде","Тамыз","Қыркүйек","Қазан","Қараша","Желтоқсан"],monthsShort:["Қаң","Ақп","Нау","Сәу","Мам","Мау","Шіл","Там","Қыр","Қаз","Қар","Жел"],today:"Бүгін",weekStart:1}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.km.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.km={days:["អាទិត្យ","ចន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"],daysShort:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],daysMin:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],months:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],monthsShort:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],today:"ថ្ងៃនេះ",clear:"សំអាត"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.ko.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ko={days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],daysShort:["일","월","화","수","목","금","토"],daysMin:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],today:"오늘",clear:"삭제",format:"yyyy-mm-dd",titleFormat:"yyyy년mm월",weekStart:0}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.kr.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.kr={days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],daysShort:["일","월","화","수","목","금","토"],daysMin:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]},a.fn.datepicker.deprecated('The language code "kr" is deprecated and will be removed in 2.0. For korean support use "ko" instead.')}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.lt.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.lt={days:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"],daysShort:["S","Pr","A","T","K","Pn","Š"],daysMin:["Sk","Pr","An","Tr","Ke","Pn","Št"],months:["Sausis","Vasaris","Kovas","Balandis","Gegužė","Birželis","Liepa","Rugpjūtis","Rugsėjis","Spalis","Lapkritis","Gruodis"],monthsShort:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],today:"Šiandien",monthsTitle:"Mėnesiai",clear:"Išvalyti",weekStart:1,format:"yyyy-mm-dd"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.lv.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.lv={days:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"],daysShort:["Sv","P","O","T","C","Pk","S"],daysMin:["Sv","Pr","Ot","Tr","Ce","Pk","Se"],months:["Janvāris","Februāris","Marts","Aprīlis","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],monthsShort:["Jan","Feb","Mar","Apr","Mai","Jūn","Jūl","Aug","Sep","Okt","Nov","Dec"],today:"Šodien",clear:"Nodzēst",weekStart:1}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.me.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.me={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,clear:"Izbriši",format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.mk.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.mk={days:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"],daysShort:["Нед","Пон","Вто","Сре","Чет","Пет","Саб"],daysMin:["Не","По","Вт","Ср","Че","Пе","Са"],months:["Јануари","Февруари","Март","Април","Мај","Јуни","Јули","Август","Септември","Октомври","Ноември","Декември"],monthsShort:["Јан","Фев","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Ное","Дек"],today:"Денес",format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.mn.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.mn={days:["Ням","Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба"],daysShort:["Ням","Дав","Мяг","Лха","Пүр","Баа","Бям"],daysMin:["Ня","Да","Мя","Лх","Пү","Ба","Бя"],months:["Хулгана","Үхэр","Бар","Туулай","Луу","Могой","Морь","Хонь","Бич","Тахиа","Нохой","Гахай"],monthsShort:["Хул","Үхэ","Бар","Туу","Луу","Мог","Мор","Хон","Бич","Тах","Нох","Гах"],today:"Өнөөдөр",clear:"Тодорхой",format:"yyyy.mm.dd",weekStart:1}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.ms.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ms={days:["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],daysShort:["Aha","Isn","Sel","Rab","Kha","Jum","Sab"],daysMin:["Ah","Is","Se","Ra","Kh","Ju","Sa"],months:["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ogo","Sep","Okt","Nov","Dis"],today:"Hari Ini",clear:"Bersihkan"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.nb.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.nb={days:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],daysShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],daysMin:["Sø","Ma","Ti","On","To","Fr","Lø"],months:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Des"],today:"I Dag",format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.nl-BE.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["nl-BE"]={days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],daysShort:["zo","ma","di","wo","do","vr","za"],daysMin:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthsShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],today:"Vandaag",monthsTitle:"Maanden",clear:"Leegmaken",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.nl.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.nl={days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],daysShort:["zo","ma","di","wo","do","vr","za"],daysMin:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthsShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],today:"Vandaag",monthsTitle:"Maanden",clear:"Wissen",weekStart:1,format:"dd-mm-yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.no.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.no={days:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],daysShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],daysMin:["Sø","Ma","Ti","On","To","Fr","Lø"],months:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Des"],today:"I dag",clear:"Nullstill",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.oc.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.oc={days:["Dimenge","Diluns","Dimars","Dimècres","Dijòus","Divendres","Dissabte"],daysShort:["Dim","Dil","Dmr","Dmc","Dij","Div","Dis"],daysMin:["dg","dl","dr","dc","dj","dv","ds"],months:["Genièr","Febrièr","Març","Abrial","Mai","Junh","Julhet","Agost","Setembre","Octobre","Novembre","Decembre"],monthsShort:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Dec"],today:"Uèi",monthsTitle:"Meses",clear:"Escafar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.pl.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.pl={days:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],daysShort:["Niedz.","Pon.","Wt.","Śr.","Czw.","Piąt.","Sob."],daysMin:["Ndz.","Pn.","Wt.","Śr.","Czw.","Pt.","Sob."],months:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],monthsShort:["Sty.","Lut.","Mar.","Kwi.","Maj","Cze.","Lip.","Sie.","Wrz.","Paź.","Lis.","Gru."],today:"Dzisiaj",weekStart:1,clear:"Wyczyść",format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.pt-BR.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["pt-BR"]={days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],daysShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],daysMin:["Do","Se","Te","Qu","Qu","Se","Sa"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthsShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],today:"Hoje",monthsTitle:"Meses",clear:"Limpar",format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.pt.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.pt={days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],daysShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],daysMin:["Do","Se","Te","Qu","Qu","Se","Sa"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthsShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],today:"Hoje",monthsTitle:"Meses",clear:"Limpar",format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.ro.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ro={days:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"],daysShort:["Dum","Lun","Mar","Mie","Joi","Vin","Sâm"],daysMin:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],monthsShort:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],today:"Astăzi",clear:"Șterge",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.rs-latin.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["rs-latin"]={days:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sre","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"},a.fn.datepicker.deprecated('This language code "rs-latin" is deprecated (invalid serbian language code) and will be removed in 2.0. For Serbian latin support use "sr-latin" instead.')}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.rs.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.rs={days:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],daysShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],daysMin:["Н","По","У","Ср","Ч","Пе","Су"],months:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthsShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],today:"Данас",weekStart:1,format:"dd.mm.yyyy"},a.fn.datepicker.deprecated('This language code "rs" is deprecated (invalid serbian language code) and will be removed in 2.0. For Serbian support use "sr" instead.')}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.ru.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ru={days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вск","Пнд","Втр","Срд","Чтв","Птн","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Месяцы"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.si.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.si={days:["ඉරිදා","සඳුදා","අඟහරුවාදා","බදාදා","බ්‍රහස්පතින්දා","සිකුරාදා","සෙනසුරාදා"],daysShort:["ඉරි","සඳු","අඟ","බදා","බ්‍රහ","සිකු","සෙන"],daysMin:["ඉ","ස","අ","බ","බ්‍ර","සි","සෙ"],months:["ජනවාරි","පෙබරවාරි","මාර්තු","අප්‍රේල්","මැයි","ජුනි","ජූලි","අගෝස්තු","සැප්තැම්බර්","ඔක්තෝබර්","නොවැම්බර්","දෙසැම්බර්"],monthsShort:["ජන","පෙබ","මාර්","අප්‍රේ","මැයි","ජුනි","ජූලි","අගෝ","සැප්","ඔක්","නොවැ","දෙසැ"],today:"අද",monthsTitle:"මාස",clear:"මකන්න",weekStart:0,format:"yyyy-mm-dd"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.sk.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.sk={days:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"],daysShort:["Ned","Pon","Uto","Str","Štv","Pia","Sob"],daysMin:["Ne","Po","Ut","St","Št","Pia","So"],months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],today:"Dnes",clear:"Vymazať",weekStart:1,format:"d.m.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.sl.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.sl={days:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"],daysShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],daysMin:["Ne","Po","To","Sr","Če","Pe","So"],months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danes",weekStart:1}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.sq.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.sq={days:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"],daysShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],daysMin:["Di","Hë","Ma","Më","En","Pr","Sht"],months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],monthsShort:["Jan","Shk","Mar","Pri","Maj","Qer","Korr","Gu","Sht","Tet","Nën","Dhjet"],today:"Sot"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.sr-latin.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["sr-latin"]={days:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sre","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.sr.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.sr={days:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],daysShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],daysMin:["Н","По","У","Ср","Ч","Пе","Су"],months:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthsShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],today:"Данас",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.sv.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.sv={days:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],daysShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],daysMin:["Sö","Må","Ti","On","To","Fr","Lö"],months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"Idag",format:"yyyy-mm-dd",weekStart:1,clear:"Rensa"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.sw.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.sw={days:["Jumapili","Jumatatu","Jumanne","Jumatano","Alhamisi","Ijumaa","Jumamosi"],daysShort:["J2","J3","J4","J5","Alh","Ij","J1"],daysMin:["2","3","4","5","A","I","1"],months:["Januari","Februari","Machi","Aprili","Mei","Juni","Julai","Agosti","Septemba","Oktoba","Novemba","Desemba"],monthsShort:["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ago","Sep","Okt","Nov","Des"],today:"Leo"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.ta.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.ta={days:["ஞாயிறு","திங்கள்","செவ்வாய்","புதன்","வியாழன்","வெள்ளி","சனி"],daysShort:["ஞாயி","திங்","செவ்","புத","வியா","வெள்","சனி"],daysMin:["ஞா","தி","செ","பு","வி","வெ","ச"],months:["ஜனவரி","பிப்ரவரி","மார்ச்","ஏப்ரல்","மே","ஜூன்","ஜூலை","ஆகஸ்டு","செப்டம்பர்","அக்டோபர்","நவம்பர்","டிசம்பர்"],monthsShort:["ஜன","பிப்","மார்","ஏப்","மே","ஜூன்","ஜூலை","ஆக","செப்","அக்","நவ","டிச"],today:"இன்று",monthsTitle:"மாதங்கள்",clear:"நீக்கு",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.tg.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.tg={days:["Якшанбе","Душанбе","Сешанбе","Чоршанбе","Панҷшанбе","Ҷумъа","Шанбе"],daysShort:["Яшб","Дшб","Сшб","Чшб","Пшб","Ҷум","Шнб"],daysMin:["Яш","Дш","Сш","Чш","Пш","Ҷм","Шб"],months:["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Имрӯз",monthsTitle:"Моҳҳо",clear:"Тоза намудан",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.th.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.th={days:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"],daysShort:["อา","จ","อ","พ","พฤ","ศ","ส","อา"],daysMin:["อา","จ","อ","พ","พฤ","ศ","ส","อา"],months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],monthsShort:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],today:"วันนี้"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.tr.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.tr={days:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],daysShort:["Pz","Pzt","Sal","Çrş","Prş","Cu","Cts"],daysMin:["Pz","Pzt","Sa","Çr","Pr","Cu","Ct"],months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],monthsShort:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],today:"Bugün",clear:"Temizle",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.uk.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.uk={days:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"],daysShort:["Нед","Пнд","Втр","Срд","Чтв","Птн","Суб"],daysMin:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Cічень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],monthsShort:["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру"],today:"Сьогодні",clear:"Очистити",format:"dd.mm.yyyy",weekStart:1}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.uz-cyrl.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["uz-cyrl"]={days:["Якшанба","Душанба","Сешанба","Чоршанба","Пайшанба","Жума","Шанба"],daysShort:["Якш","Ду","Се","Чор","Пай","Жу","Ша"],daysMin:["Як","Ду","Се","Чо","Па","Жу","Ша"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Бугун",clear:"Ўчириш",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Ойлар"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.uz-latn.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["uz-latn"]={days:["Yakshanba","Dushanba","Seshanba","Chorshanba","Payshanba","Juma","Shanba"],daysShort:["Yak","Du","Se","Chor","Pay","Ju","Sha"],daysMin:["Ya","Du","Se","Cho","Pa","Ju","Sha"],months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avgust","Sentabr","Oktabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","Iyn","Iyl","Avg","Sen","Okt","Noy","Dek"],today:"Bugun",clear:"O'chirish",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Oylar"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.vi.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates.vi={days:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"],daysShort:["CN","Thứ 2","Thứ 3","Thứ 4","Thứ 5","Thứ 6","Thứ 7"],daysMin:["CN","T2","T3","T4","T5","T6","T7"],months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],monthsShort:["Th1","Th2","Th3","Th4","Th5","Th6","Th7","Th8","Th9","Th10","Th11","Th12"],today:"Hôm nay",clear:"Xóa",format:"dd/mm/yyyy"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.zh-CN.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["zh-CN"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["周日","周一","周二","周三","周四","周五","周六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今日",clear:"清除",format:"yyyy年mm月dd日",titleFormat:"yyyy年mm月",weekStart:1}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/bootstrap-datepicker.zh-TW.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a.fn.datepicker.dates["zh-TW"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["週日","週一","週二","週三","週四","週五","週六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",format:"yyyy年mm月dd日",weekStart:1,clear:"清除"}}(jQuery); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.ar.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Arabic (ar) 4 | * Author: Mohamed YOUNES, https://github.com/MedYOUNES 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['ar'] = { 21 | "__locale": "Arabic (ar)", 22 | "__author": "Mohamed YOUNES, https://github.com/MedYOUNES", 23 | "add_rule": "إضافة حُكم", 24 | "add_group": "إضافة زُمْرَة", 25 | "delete_rule": "حذف", 26 | "delete_group": "حذف", 27 | "conditions": { 28 | "AND": "و", 29 | "OR": "أو" 30 | }, 31 | "operators": { 32 | "equal": "يساوي", 33 | "not_equal": "غير مساوٍ", 34 | "in": "في", 35 | "not_in": "ليس في", 36 | "less": "أقل من", 37 | "less_or_equal": "أصغر أو مساو", 38 | "greater": "أكبر", 39 | "greater_or_equal": "أكبر أو مساو", 40 | "between": "محصور بين", 41 | "not_between": "غير محصور بين", 42 | "begins_with": "يبدأ بـ", 43 | "not_begins_with": "لا يبدأ بـ", 44 | "contains": "يحتوي على", 45 | "not_contains": "لا يحتوي على", 46 | "ends_with": "ينتهي بـ", 47 | "not_ends_with": "لا ينتهي بـ", 48 | "is_empty": "فارغ", 49 | "is_not_empty": "غير فارغ", 50 | "is_null": "صفر", 51 | "is_not_null": "ليس صفرا" 52 | }, 53 | "errors": { 54 | "no_filter": "لم تحدد أي مرشح", 55 | "empty_group": "الزمرة فارغة", 56 | "radio_empty": "لم تحدد أي قيمة", 57 | "checkbox_empty": "لم تحدد أي قيمة", 58 | "select_empty": "لم تحدد أي قيمة", 59 | "string_empty": "النص فارغ", 60 | "string_exceed_min_length": "النص دون الأدنى المسموح به", 61 | "string_exceed_max_length": "النص فوق الأقصى المسموح به", 62 | "string_invalid_format": "تركيبة غير صحيحة", 63 | "number_nan": "ليس عددا", 64 | "number_not_integer": "ليس عددا صحيحا", 65 | "number_not_double": "ليس عددا كسريا", 66 | "number_exceed_min": "العدد أصغر من الأدنى المسموح به", 67 | "number_exceed_max": "العدد أكبر من الأقصى المسموح به", 68 | "number_wrong_step": "أخطأت في حساب مضاعفات العدد", 69 | "datetime_empty": "لم تحدد التاريخ", 70 | "datetime_invalid": "صيغة التاريخ غير صحيحة", 71 | "datetime_exceed_min": "التاريخ دون الأدنى المسموح به", 72 | "datetime_exceed_max": "التاريخ أكبر من الأقصى المسموح به", 73 | "boolean_not_valid": "ليست قيمة منطقية ثنائية", 74 | "operator_not_multiple": "العامل ليس متعدد القيَم" 75 | }, 76 | "invert": "قَلْبُ" 77 | }; 78 | 79 | QueryBuilder.defaults({ lang_code: 'ar' }); 80 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.az.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Azerbaijan (az) 4 | * Author: Megaplan, mborisv 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['az'] = { 21 | "__locale": "Azerbaijan (az)", 22 | "__author": "Megaplan, mborisv ", 23 | "add_rule": "Əlavə etmək", 24 | "add_group": "Qrup əlavə etmək", 25 | "delete_rule": "Silmək", 26 | "delete_group": "Silmək", 27 | "conditions": { 28 | "AND": "VƏ", 29 | "OR": "VƏ YA" 30 | }, 31 | "operators": { 32 | "equal": "bərabərdir", 33 | "not_equal": "bərabər deyil", 34 | "in": "qeyd edilmişlərdən", 35 | "not_in": "qeyd olunmamışlardan", 36 | "less": "daha az", 37 | "less_or_equal": "daha az və ya bərabər", 38 | "greater": "daha çox", 39 | "greater_or_equal": "daha çox və ya bərabər", 40 | "between": "arasında", 41 | "begins_with": "başlayır", 42 | "not_begins_with": "başlamır", 43 | "contains": "ibarətdir", 44 | "not_contains": "yoxdur", 45 | "ends_with": "başa çatır", 46 | "not_ends_with": "başa çatmır", 47 | "is_empty": "boş sətir", 48 | "is_not_empty": "boş olmayan sətir", 49 | "is_null": "boşdur", 50 | "is_not_null": "boş deyil" 51 | }, 52 | "errors": { 53 | "no_filter": "Filterlər seçilməyib", 54 | "empty_group": "Qrup boşdur", 55 | "radio_empty": "Məna seçilməyib", 56 | "checkbox_empty": "Məna seçilməyib", 57 | "select_empty": "Məna seçilməyib", 58 | "string_empty": "Doldurulmayıb", 59 | "string_exceed_min_length": "{0} daha çox simvol olmalıdır", 60 | "string_exceed_max_length": "{0} daha az simvol olmalıdır", 61 | "string_invalid_format": "Yanlış format ({0})", 62 | "number_nan": "Rəqəm deyil", 63 | "number_not_integer": "Rəqəm deyil", 64 | "number_not_double": "Rəqəm deyil", 65 | "number_exceed_min": "{0} daha çox olmalıdır", 66 | "number_exceed_max": "{0} daha az olmalıdır", 67 | "number_wrong_step": "{0} bölünən olmalıdır", 68 | "datetime_empty": "Doldurulmayıb", 69 | "datetime_invalid": "Yanlış tarix formatı ({0})", 70 | "datetime_exceed_min": "{0} sonra olmalıdır", 71 | "datetime_exceed_max": "{0} əvvəl olmalıdır", 72 | "boolean_not_valid": "Loqik olmayan", 73 | "operator_not_multiple": "\"{1}\" operatoru çoxlu məna daşımır" 74 | }, 75 | "invert": "invert" 76 | }; 77 | 78 | QueryBuilder.defaults({ lang_code: 'az' }); 79 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.bg.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Bulgarian (bg) 4 | * Author: Valentin Hristov 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['bg'] = { 21 | "__locale": "Bulgarian (bg)", 22 | "__author": "Valentin Hristov", 23 | "add_rule": "Добави правило", 24 | "add_group": "Добави група", 25 | "delete_rule": "Изтрий", 26 | "delete_group": "Изтрий", 27 | "conditions": { 28 | "AND": "И", 29 | "OR": "ИЛИ" 30 | }, 31 | "operators": { 32 | "equal": "равно", 33 | "not_equal": "различно", 34 | "in": "в", 35 | "not_in": "не е в", 36 | "less": "по-малко", 37 | "less_or_equal": "по-малко или равно", 38 | "greater": "по-голям", 39 | "greater_or_equal": "по-голям или равно", 40 | "between": "между", 41 | "not_between": "не е между", 42 | "begins_with": "започва с", 43 | "not_begins_with": "не започва с", 44 | "contains": "съдържа", 45 | "not_contains": "не съдържа", 46 | "ends_with": "завършва с", 47 | "not_ends_with": "не завършва с", 48 | "is_empty": "е празно", 49 | "is_not_empty": "не е празно", 50 | "is_null": "е нищо", 51 | "is_not_null": "различно от нищо" 52 | }, 53 | "errors": { 54 | "no_filter": "Не е избран филтър", 55 | "empty_group": "Групата е празна", 56 | "radio_empty": "Не е селектирана стойност", 57 | "checkbox_empty": "Не е селектирана стойност", 58 | "select_empty": "Не е селектирана стойност", 59 | "string_empty": "Празна стойност", 60 | "string_exceed_min_length": "Необходимо е да съдържа поне {0} символа", 61 | "string_exceed_max_length": "Необходимо е да съдържа повече от {0} символа", 62 | "string_invalid_format": "Невалиден формат ({0})", 63 | "number_nan": "Не е число", 64 | "number_not_integer": "Не е цяло число", 65 | "number_not_double": "Не е реално число", 66 | "number_exceed_min": "Трябва да е по-голямо от {0}", 67 | "number_exceed_max": "Трябва да е по-малко от {0}", 68 | "number_wrong_step": "Трябва да е кратно на {0}", 69 | "datetime_empty": "Празна стойност", 70 | "datetime_invalid": "Невалиден формат на дата ({0})", 71 | "datetime_exceed_min": "Трябва да е след {0}", 72 | "datetime_exceed_max": "Трябва да е преди {0}", 73 | "boolean_not_valid": "Не е булева", 74 | "operator_not_multiple": "Оператора \"{1}\" не може да приеме множество стойности" 75 | } 76 | }; 77 | 78 | QueryBuilder.defaults({ lang_code: 'bg' }); 79 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.cs.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Čeština (cs) 4 | * Author: Megaplan, mborisv 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['cs'] = { 21 | "__locale": "Čeština (cs)", 22 | "__author": "Megaplan, mborisv ", 23 | "add_rule": "Přidat", 24 | "add_group": "Přidat skupinu", 25 | "delete_rule": "Odstranit", 26 | "delete_group": "Odstranit skupinu", 27 | "conditions": { 28 | "AND": "I", 29 | "OR": "NEBO" 30 | }, 31 | "operators": { 32 | "equal": "stejně", 33 | "not_equal": "liší se", 34 | "in": "z uvedených", 35 | "not_in": "ne z uvedených", 36 | "less": "méně", 37 | "less_or_equal": "méně nebo stejně", 38 | "greater": "více", 39 | "greater_or_equal": "více nebo stejně", 40 | "between": "mezi", 41 | "begins_with": "začíná z", 42 | "not_begins_with": "nezačíná z", 43 | "contains": "obsahuje", 44 | "not_contains": "neobsahuje", 45 | "ends_with": "končí na", 46 | "not_ends_with": "nekončí na", 47 | "is_empty": "prázdný řádek", 48 | "is_not_empty": "neprázdný řádek", 49 | "is_null": "prázdno", 50 | "is_not_null": "plno" 51 | }, 52 | "errors": { 53 | "no_filter": "není vybraný filtr", 54 | "empty_group": "prázdná skupina", 55 | "radio_empty": "Není udaná hodnota", 56 | "checkbox_empty": "Není udaná hodnota", 57 | "select_empty": "Není udaná hodnota", 58 | "string_empty": "Nevyplněno", 59 | "string_exceed_min_length": "Musí obsahovat více {0} symbolů", 60 | "string_exceed_max_length": "Musí obsahovat méně {0} symbolů", 61 | "string_invalid_format": "Nesprávný formát ({0})", 62 | "number_nan": "Žádné číslo", 63 | "number_not_integer": "Žádné číslo", 64 | "number_not_double": "Žádné číslo", 65 | "number_exceed_min": "Musí být více {0}", 66 | "number_exceed_max": "Musí být méně {0}", 67 | "number_wrong_step": "Musí být násobkem {0}", 68 | "datetime_empty": "Nevyplněno", 69 | "datetime_invalid": "Nesprávný formát datumu ({0})", 70 | "datetime_exceed_min": "Musí být po {0}", 71 | "datetime_exceed_max": "Musí být do {0}", 72 | "boolean_not_valid": "Nelogické", 73 | "operator_not_multiple": "Operátor \"{1}\" nepodporuje mnoho hodnot" 74 | }, 75 | "invert": "invertní" 76 | }; 77 | 78 | QueryBuilder.defaults({ lang_code: 'cs' }); 79 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.da.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Danish (da) 4 | * Author: Jna Borup Coyle, github@coyle.dk 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['da'] = { 21 | "__locale": "Danish (da)", 22 | "__author": "Jna Borup Coyle, github@coyle.dk", 23 | "add_rule": "Tilføj regel", 24 | "add_group": "Tilføj gruppe", 25 | "delete_rule": "Slet regel", 26 | "delete_group": "Slet gruppe", 27 | "conditions": { 28 | "AND": "OG", 29 | "OR": "ELLER" 30 | }, 31 | "condition_and": "OG", 32 | "condition_or": "ELLER", 33 | "operators": { 34 | "equal": "lig med", 35 | "not_equal": "ikke lige med", 36 | "in": "i", 37 | "not_in": "ikke i", 38 | "less": "mindre", 39 | "less_or_equal": "mindre eller lig med", 40 | "greater": "større", 41 | "greater_or_equal": "større eller lig med", 42 | "begins_with": "begynder med", 43 | "not_begins_with": "begynder ikke med", 44 | "contains": "indeholder", 45 | "not_contains": "indeholder ikke", 46 | "ends_with": "slutter med", 47 | "not_ends_with": "slutter ikke med", 48 | "is_empty": "er tom", 49 | "is_not_empty": "er ikke tom", 50 | "is_null": "er null", 51 | "is_not_null": "er ikke null" 52 | } 53 | }; 54 | 55 | QueryBuilder.defaults({ lang_code: 'da' }); 56 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.de.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: German (de) 4 | * Author: "raimu" 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['de'] = { 21 | "__locale": "German (de)", 22 | "__author": "\"raimu\"", 23 | "add_rule": "neue Regel", 24 | "add_group": "neue Gruppe", 25 | "delete_rule": "löschen", 26 | "delete_group": "löschen", 27 | "conditions": { 28 | "AND": "UND", 29 | "OR": "ODER" 30 | }, 31 | "operators": { 32 | "equal": "gleich", 33 | "not_equal": "ungleich", 34 | "in": "in", 35 | "not_in": "nicht in", 36 | "less": "kleiner", 37 | "less_or_equal": "kleiner gleich", 38 | "greater": "größer", 39 | "greater_or_equal": "größer gleich", 40 | "between": "zwischen", 41 | "not_between": "nicht zwischen", 42 | "begins_with": "beginnt mit", 43 | "not_begins_with": "beginnt nicht mit", 44 | "contains": "enthält", 45 | "not_contains": "enthält nicht", 46 | "ends_with": "endet mit", 47 | "not_ends_with": "endet nicht mit", 48 | "is_empty": "ist leer", 49 | "is_not_empty": "ist nicht leer", 50 | "is_null": "ist null", 51 | "is_not_null": "ist nicht null" 52 | }, 53 | "errors": { 54 | "no_filter": "Kein Filter ausgewählt", 55 | "empty_group": "Die Gruppe ist leer", 56 | "radio_empty": "Kein Wert ausgewählt", 57 | "checkbox_empty": "Kein Wert ausgewählt", 58 | "select_empty": "Kein Wert ausgewählt", 59 | "string_empty": "Leerer Wert", 60 | "string_exceed_min_length": "Muss mindestens {0} Zeichen enthalten", 61 | "string_exceed_max_length": "Darf nicht mehr als {0} Zeichen enthalten", 62 | "string_invalid_format": "Ungültiges Format ({0})", 63 | "number_nan": "Keine Zahl", 64 | "number_not_integer": "Keine Ganzzahl", 65 | "number_not_double": "Keine Dezimalzahl", 66 | "number_exceed_min": "Muss größer als {0} sein", 67 | "number_exceed_max": "Muss kleiner als {0} sein", 68 | "number_wrong_step": "Muss ein Vielfaches von {0} sein", 69 | "datetime_invalid": "Ungültiges Datumsformat ({0})", 70 | "datetime_exceed_min": "Muss nach dem {0} sein", 71 | "datetime_exceed_max": "Muss vor dem {0} sein" 72 | } 73 | }; 74 | 75 | QueryBuilder.defaults({ lang_code: 'de' }); 76 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.el.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Greek (el) 4 | * Author: Stelios Patsatzis, https://www.linkedin.com/in/stelios-patsatzis-89841561 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['el'] = { 21 | "__locale": "Greek (el)", 22 | "__author": "Stelios Patsatzis, https://www.linkedin.com/in/stelios-patsatzis-89841561", 23 | "add_rule": "Προσθήκη Συνθήκης", 24 | "add_group": "Προσθήκη Ομάδας", 25 | "delete_rule": "Διαγραφή", 26 | "delete_group": "Διαγραφή", 27 | "conditions": { 28 | "AND": "Λογικό ΚΑΙ", 29 | "OR": "Λογικό Η" 30 | }, 31 | "operators": { 32 | "equal": "Ισούται με", 33 | "not_equal": "Διάφορο από ", 34 | "in": "Περιέχει", 35 | "not_in": "Δεν Περιέχει", 36 | "less": "Λιγότερο από", 37 | "less_or_equal": "Λιγότερο ή Ίσο", 38 | "greater": "Μεγαλύτερο από", 39 | "greater_or_equal": "Μεγαλύτερο ή Ίσο", 40 | "between": "Μεταξύ", 41 | "not_between": "Εκτός", 42 | "begins_with": "Αρχίζει με", 43 | "not_begins_with": "Δεν αρχίζει με", 44 | "contains": "Περιέχει", 45 | "not_contains": "Δεν περιέχει", 46 | "ends_with": "Τελειώνει σε", 47 | "not_ends_with": "Δεν τελειώνει σε", 48 | "is_empty": "Είναι άδειο", 49 | "is_not_empty": "Δεν είναι άδειο", 50 | "is_null": "Είναι NULL", 51 | "is_not_null": "Δεν είναι NULL" 52 | }, 53 | "errors": { 54 | "no_filter": "Χωρίς φίλτρα", 55 | "empty_group": "Άδεια ομάδα", 56 | "radio_empty": "Χωρίς τιμή", 57 | "checkbox_empty": "Χωρίς τιμή", 58 | "select_empty": "Χωρίς τιμή", 59 | "string_empty": "Χωρίς τιμή", 60 | "string_exceed_min_length": "Ελάχιστο όριο {0} χαρακτήρων", 61 | "string_exceed_max_length": "Μέγιστο όριο {0} χαρακτήρων", 62 | "string_invalid_format": "Λανθασμένη μορφή ({0})", 63 | "number_nan": "Δεν είναι αριθμός", 64 | "number_not_integer": "Δεν είναι ακέραιος αριθμός", 65 | "number_not_double": "Δεν είναι πραγματικός αριθμός", 66 | "number_exceed_min": "Πρέπει να είναι μεγαλύτερο απο {0}", 67 | "number_exceed_max": "Πρέπει να είναι μικρότερο απο {0}", 68 | "number_wrong_step": "Πρέπει να είναι πολλαπλάσιο του {0}", 69 | "datetime_empty": "Χωρίς τιμή", 70 | "datetime_invalid": "Λανθασμένη μορφή ημερομηνίας ({0})", 71 | "datetime_exceed_min": "Νεότερο από {0}", 72 | "datetime_exceed_max": "Παλαιότερο από {0}", 73 | "boolean_not_valid": "Δεν είναι BOOLEAN", 74 | "operator_not_multiple": "Η συνθήκη \"{1}\" δεν μπορεί να δεχθεί πολλαπλές τιμές" 75 | }, 76 | "invert": "Εναλλαγή" 77 | }; 78 | 79 | QueryBuilder.defaults({ lang_code: 'el' }); 80 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.es.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Spanish (es) 4 | * Author: "pyarza", "kddlb" 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['es'] = { 21 | "__locale": "Spanish (es)", 22 | "__author": "\"pyarza\", \"kddlb\"", 23 | "add_rule": "Añadir regla", 24 | "add_group": "Añadir grupo", 25 | "delete_rule": "Borrar", 26 | "delete_group": "Borrar", 27 | "conditions": { 28 | "AND": "Y", 29 | "OR": "O" 30 | }, 31 | "operators": { 32 | "equal": "igual", 33 | "not_equal": "distinto", 34 | "in": "en", 35 | "not_in": "no en", 36 | "less": "menor", 37 | "less_or_equal": "menor o igual", 38 | "greater": "mayor", 39 | "greater_or_equal": "mayor o igual", 40 | "between": "entre", 41 | "not_between": "no está entre", 42 | "begins_with": "empieza por", 43 | "not_begins_with": "no empieza por", 44 | "contains": "contiene", 45 | "not_contains": "no contiene", 46 | "ends_with": "acaba con", 47 | "not_ends_with": "no acaba con", 48 | "is_empty": "está vacío", 49 | "is_not_empty": "no está vacío", 50 | "is_null": "es nulo", 51 | "is_not_null": "no es nulo" 52 | }, 53 | "errors": { 54 | "no_filter": "No se ha seleccionado ningún filtro", 55 | "empty_group": "El grupo está vacío", 56 | "radio_empty": "Ningún valor seleccionado", 57 | "checkbox_empty": "Ningún valor seleccionado", 58 | "select_empty": "Ningún valor seleccionado", 59 | "string_empty": "Cadena vacía", 60 | "string_exceed_min_length": "Debe contener al menos {0} caracteres", 61 | "string_exceed_max_length": "No debe contener más de {0} caracteres", 62 | "string_invalid_format": "Formato inválido ({0})", 63 | "number_nan": "No es un número", 64 | "number_not_integer": "No es un número entero", 65 | "number_not_double": "No es un número real", 66 | "number_exceed_min": "Debe ser mayor que {0}", 67 | "number_exceed_max": "Debe ser menor que {0}", 68 | "number_wrong_step": "Debe ser múltiplo de {0}", 69 | "datetime_invalid": "Formato de fecha inválido ({0})", 70 | "datetime_exceed_min": "Debe ser posterior a {0}", 71 | "datetime_exceed_max": "Debe ser anterior a {0}", 72 | "number_between_invalid": "Valores Inválidos, {0} es mayor que {1}", 73 | "datetime_empty": "Campo vacio", 74 | "datetime_between_invalid": "Valores Inválidos, {0} es mayor que {1}", 75 | "boolean_not_valid": "No es booleano", 76 | "operator_not_multiple": "El operador \"{1}\" no puede aceptar valores multiples" 77 | } 78 | }; 79 | 80 | QueryBuilder.defaults({ lang_code: 'es' }); 81 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.fa-IR.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Farsi (fa-ir) 4 | * Author: Behzad Sedighzade, behzad.sedighzade@gmail.com 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['fa-IR'] = { 21 | "__locale": "Farsi (fa-ir)", 22 | "__author": "Behzad Sedighzade, behzad.sedighzade@gmail.com", 23 | "add_rule": "افزودن قاعده", 24 | "add_group": "افزودن گروه", 25 | "delete_rule": "حذف قاعده", 26 | "delete_group": "حذف گروه", 27 | "conditions": { 28 | "AND": "و", 29 | "OR": "یا" 30 | }, 31 | "operators": { 32 | "equal": "برابر با", 33 | "not_equal": "مخالف", 34 | "in": "شامل مجموعه شود", 35 | "not_in": "شامل مجموعه نشود", 36 | "less": "کمتر از", 37 | "less_or_equal": "کمتر یا مساوی با", 38 | "greater": "بزرگتر از", 39 | "greater_or_equal": "بزرگتر یا مساوی با", 40 | "between": "مابین", 41 | "not_between": "مابین نباشد", 42 | "begins_with": "شروع شود با", 43 | "not_begins_with": "شروع نشود با", 44 | "contains": "شامل شود", 45 | "not_contains": "شامل نشود", 46 | "ends_with": "خاتمه یابد با", 47 | "not_ends_with": "خاتمه نیابد با", 48 | "is_empty": "خالی باشد", 49 | "is_not_empty": "خالی نباشد", 50 | "is_null": "باشد ( null ) پوچ", 51 | "is_not_null": "نباشد( null ) پوچ " 52 | }, 53 | "errors": { 54 | "no_filter": "هیچ قاعده ای انتخاب نشده است", 55 | "empty_group": "گروه خالی است", 56 | "radio_empty": "مقداری انتخاب نشده است", 57 | "checkbox_empty": "مقداری انتخاب نشده است", 58 | "select_empty": "مقداری انتخاب نشده است", 59 | "string_empty": "مقدار متنی خالی است", 60 | "string_exceed_min_length": "رشته حداقل باید {0} عدد حرف داشته باشد", 61 | "string_exceed_max_length": "رشته حداکثر {0} عدد حرف می تواند قبول کند", 62 | "string_invalid_format": "قالب رشته {0} نامعتبر ست", 63 | "number_nan": "عدد وارد کنید", 64 | "number_not_integer": "مقدار صحیح وارد کنید", 65 | "number_not_double": "مقدار اعشاری وارد کنید", 66 | "number_exceed_min": "باید از {0} بزرگتر باشد", 67 | "number_exceed_max": "باید از {0} کمتر باشد", 68 | "number_wrong_step": "باید مضربی از {0} باشد", 69 | "datetime_empty": "مقدار تاریخ خالی وارد شده!", 70 | "datetime_invalid": "قالب تاریخ ( {0} ) اشتباه است", 71 | "datetime_exceed_min": "باید بعد از {0} باشد", 72 | "datetime_exceed_max": "باید قبل از {0} باشد", 73 | "boolean_not_valid": "مقدار دودویی وارد کنید", 74 | "operator_not_multiple": "اپراتور \"{1}\" نمی تواند چند مقدار قبول کند" 75 | } 76 | }; 77 | 78 | QueryBuilder.defaults({ lang_code: 'fa-IR' }); 79 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.he.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Hebrew (he) 4 | * Author: Kfir Stri https://github.com/kfirstri 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['he'] = { 21 | "__locale": "Hebrew (he)", 22 | "__author": "Kfir Stri https://github.com/kfirstri", 23 | "add_rule": "הוסף כלל", 24 | "add_group": "הוסף קבוצה", 25 | "delete_rule": "מחק", 26 | "delete_group": "מחק", 27 | "conditions": { 28 | "AND": "וגם", 29 | "OR": "או" 30 | }, 31 | "operators": { 32 | "equal": "שווה ל", 33 | "not_equal": "שונה מ", 34 | "in": "חלק מ", 35 | "not_in": "לא חלק מ", 36 | "less": "פחות מ", 37 | "less_or_equal": "פחות או שווה ל", 38 | "greater": "גדול מ", 39 | "greater_or_equal": "גדול או שווה ל", 40 | "between": "בין", 41 | "not_between": "לא בין", 42 | "begins_with": "מתחיל ב", 43 | "not_begins_with": "לא מתחיל ב", 44 | "contains": "מכיל", 45 | "not_contains": "לא מכיל", 46 | "ends_with": "מסתיים ב", 47 | "not_ends_with": "לא מסתיים ב", 48 | "is_empty": "ריק", 49 | "is_not_empty": "לא ריק", 50 | "is_null": "חסר ערך", 51 | "is_not_null": "לא חסר ערך" 52 | }, 53 | "errors": { 54 | "no_filter": "לא נבחרו מסננים", 55 | "empty_group": "הקבוצה רירקה", 56 | "radio_empty": "לא נבחר אף ערך", 57 | "checkbox_empty": "לא נבחר אף ערך", 58 | "select_empty": "לא נבחר אף ערך", 59 | "string_empty": "חסר ערך", 60 | "string_exceed_min_length": "המחרוזת חייבת להכיל לפחות {0} תווים", 61 | "string_exceed_max_length": "המחרוזת לא יכולה להכיל יותר מ{0} תווים", 62 | "string_invalid_format": "המחרוזת בפורמט שגוי ({0})", 63 | "number_nan": "זהו לא מספר", 64 | "number_not_integer": "המספר אינו מספר שלם", 65 | "number_not_double": "המספר אינו מספר עשרוני", 66 | "number_exceed_min": "המספר צריך להיות גדול מ {0}", 67 | "number_exceed_max": "המספר צריך להיות קטן מ{0}", 68 | "number_wrong_step": "המספר צריך להיות כפולה של {0}", 69 | "datetime_empty": "תאריך ריק", 70 | "datetime_invalid": "פורמט תאריך שגוי ({0})", 71 | "datetime_exceed_min": "התאריך חייב להיות אחרי {0}", 72 | "datetime_exceed_max": "התאריך חייב להיות לפני {0}", 73 | "boolean_not_valid": "זהו לא בוליאני", 74 | "operator_not_multiple": "האופרטור \"{1}\" לא יכול לקבל ערכים מרובים" 75 | }, 76 | "invert": "הפוך שאילתא", 77 | "NOT": "לא" 78 | }; 79 | 80 | QueryBuilder.defaults({ lang_code: 'he' }); 81 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.it.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Italian (it) 4 | * Author: davegraziosi 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['it'] = { 21 | "__locale": "Italian (it)", 22 | "__author": "davegraziosi", 23 | "add_rule": "Aggiungi regola", 24 | "add_group": "Aggiungi gruppo", 25 | "delete_rule": "Elimina", 26 | "delete_group": "Elimina", 27 | "conditions": { 28 | "AND": "E", 29 | "OR": "O" 30 | }, 31 | "operators": { 32 | "equal": "uguale", 33 | "not_equal": "non uguale", 34 | "in": "in", 35 | "not_in": "non in", 36 | "less": "minore", 37 | "less_or_equal": "minore o uguale", 38 | "greater": "maggiore", 39 | "greater_or_equal": "maggiore o uguale", 40 | "between": "compreso tra", 41 | "not_between": "non compreso tra", 42 | "begins_with": "inizia con", 43 | "not_begins_with": "non inizia con", 44 | "contains": "contiene", 45 | "not_contains": "non contiene", 46 | "ends_with": "finisce con", 47 | "not_ends_with": "non finisce con", 48 | "is_empty": "è vuoto", 49 | "is_not_empty": "non è vuoto", 50 | "is_null": "è nullo", 51 | "is_not_null": "non è nullo" 52 | }, 53 | "errors": { 54 | "no_filter": "Nessun filtro selezionato", 55 | "empty_group": "Il gruppo è vuoto", 56 | "radio_empty": "No value selected", 57 | "checkbox_empty": "Nessun valore selezionato", 58 | "select_empty": "Nessun valore selezionato", 59 | "string_empty": "Valore vuoto", 60 | "string_exceed_min_length": "Deve contenere almeno {0} caratteri", 61 | "string_exceed_max_length": "Non deve contenere più di {0} caratteri", 62 | "string_invalid_format": "Formato non valido ({0})", 63 | "number_nan": "Non è un numero", 64 | "number_not_integer": "Non è un intero", 65 | "number_not_double": "Non è un numero con la virgola", 66 | "number_exceed_min": "Deve essere maggiore di {0}", 67 | "number_exceed_max": "Deve essere minore di {0}", 68 | "number_wrong_step": "Deve essere multiplo di {0}", 69 | "datetime_empty": "Valore vuoto", 70 | "datetime_invalid": "Formato data non valido ({0})", 71 | "datetime_exceed_min": "Deve essere successivo a {0}", 72 | "datetime_exceed_max": "Deve essere precedente a {0}", 73 | "boolean_not_valid": "Non è un booleano", 74 | "operator_not_multiple": "L'Operatore {0} non può accettare valori multipli" 75 | } 76 | }; 77 | 78 | QueryBuilder.defaults({ lang_code: 'it' }); 79 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.nl.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Dutch (nl) 4 | * Author: "Roywcm" 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['nl'] = { 21 | "__locale": "Dutch (nl)", 22 | "__author": "\"Roywcm\"", 23 | "add_rule": "Nieuwe regel", 24 | "add_group": "Nieuwe groep", 25 | "delete_rule": "Verwijder", 26 | "delete_group": "Verwijder", 27 | "conditions": { 28 | "AND": "EN", 29 | "OR": "OF" 30 | }, 31 | "operators": { 32 | "equal": "gelijk", 33 | "not_equal": "niet gelijk", 34 | "in": "in", 35 | "not_in": "niet in", 36 | "less": "minder", 37 | "less_or_equal": "minder of gelijk", 38 | "greater": "groter", 39 | "greater_or_equal": "groter of gelijk", 40 | "between": "tussen", 41 | "not_between": "niet tussen", 42 | "begins_with": "begint met", 43 | "not_begins_with": "begint niet met", 44 | "contains": "bevat", 45 | "not_contains": "bevat niet", 46 | "ends_with": "eindigt met", 47 | "not_ends_with": "eindigt niet met", 48 | "is_empty": "is leeg", 49 | "is_not_empty": "is niet leeg", 50 | "is_null": "is null", 51 | "is_not_null": "is niet null" 52 | }, 53 | "errors": { 54 | "no_filter": "Geen filter geselecteerd", 55 | "empty_group": "De groep is leeg", 56 | "radio_empty": "Geen waarde geselecteerd", 57 | "checkbox_empty": "Geen waarde geselecteerd", 58 | "select_empty": "Geen waarde geselecteerd", 59 | "string_empty": "Lege waarde", 60 | "string_exceed_min_length": "Dient minstens {0} karakters te bevatten", 61 | "string_exceed_max_length": "Dient niet meer dan {0} karakters te bevatten", 62 | "string_invalid_format": "Ongeldig format ({0})", 63 | "number_nan": "Niet een nummer", 64 | "number_not_integer": "Geen geheel getal", 65 | "number_not_double": "Geen echt nummer", 66 | "number_exceed_min": "Dient groter te zijn dan {0}", 67 | "number_exceed_max": "Dient lager te zijn dan {0}", 68 | "number_wrong_step": "Dient een veelvoud te zijn van {0}", 69 | "datetime_invalid": "Ongeldige datumformat ({0})", 70 | "datetime_exceed_min": "Dient na {0}", 71 | "datetime_exceed_max": "Dient voor {0}" 72 | } 73 | }; 74 | 75 | QueryBuilder.defaults({ lang_code: 'nl' }); 76 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.no.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Norwegian (no) 4 | * Author: Jna Borup Coyle, github@coyle.dk 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['no'] = { 21 | "__locale": "Norwegian (no)", 22 | "__author": "Jna Borup Coyle, github@coyle.dk", 23 | "add_rule": "Legg til regel", 24 | "add_group": "Legg til gruppe", 25 | "delete_rule": "Slett regel", 26 | "delete_group": "Slett gruppe", 27 | "conditions": { 28 | "AND": "OG", 29 | "OR": "ELLER" 30 | }, 31 | "operators": { 32 | "equal": "er lik", 33 | "not_equal": "er ikke lik", 34 | "in": "finnes i", 35 | "not_in": "finnes ikke i", 36 | "less": "er mindre enn", 37 | "less_or_equal": "er mindre eller lik", 38 | "greater": "er større enn", 39 | "greater_or_equal": "er større eller lik", 40 | "begins_with": "begynner med", 41 | "not_begins_with": "begynner ikke med", 42 | "contains": "inneholder", 43 | "not_contains": "inneholder ikke", 44 | "ends_with": "slutter med", 45 | "not_ends_with": "slutter ikke med", 46 | "is_empty": "er tom", 47 | "is_not_empty": "er ikke tom", 48 | "is_null": "er null", 49 | "is_not_null": "er ikke null" 50 | } 51 | }; 52 | 53 | QueryBuilder.defaults({ lang_code: 'no' }); 54 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.pl.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Polish (pl) 4 | * Author: Artur Smolarek 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['pl'] = { 21 | "__locale": "Polish (pl)", 22 | "__author": "Artur Smolarek", 23 | "add_rule": "Dodaj regułę", 24 | "add_group": "Dodaj grupę", 25 | "delete_rule": "Usuń", 26 | "delete_group": "Usuń", 27 | "conditions": { 28 | "AND": "ORAZ", 29 | "OR": "LUB" 30 | }, 31 | "operators": { 32 | "equal": "równa się", 33 | "not_equal": "jest różne od", 34 | "in": "zawiera", 35 | "not_in": "nie zawiera", 36 | "less": "mniejsze", 37 | "less_or_equal": "mniejsze lub równe", 38 | "greater": "większe", 39 | "greater_or_equal": "większe lub równe", 40 | "between": "pomiędzy", 41 | "not_between": "nie jest pomiędzy", 42 | "begins_with": "rozpoczyna się od", 43 | "not_begins_with": "nie rozpoczyna się od", 44 | "contains": "zawiera", 45 | "not_contains": "nie zawiera", 46 | "ends_with": "kończy się na", 47 | "not_ends_with": "nie kończy się na", 48 | "is_empty": "jest puste", 49 | "is_not_empty": "nie jest puste", 50 | "is_null": "jest niezdefiniowane", 51 | "is_not_null": "nie jest niezdefiniowane" 52 | }, 53 | "errors": { 54 | "no_filter": "Nie wybrano żadnego filtra", 55 | "empty_group": "Grupa jest pusta", 56 | "radio_empty": "Nie wybrano wartości", 57 | "checkbox_empty": "Nie wybrano wartości", 58 | "select_empty": "Nie wybrano wartości", 59 | "string_empty": "Nie wpisano wartości", 60 | "string_exceed_min_length": "Minimalna długość to {0} znaków", 61 | "string_exceed_max_length": "Maksymalna długość to {0} znaków", 62 | "string_invalid_format": "Nieprawidłowy format ({0})", 63 | "number_nan": "To nie jest liczba", 64 | "number_not_integer": "To nie jest liczba całkowita", 65 | "number_not_double": "To nie jest liczba rzeczywista", 66 | "number_exceed_min": "Musi być większe niż {0}", 67 | "number_exceed_max": "Musi być mniejsze niż {0}", 68 | "number_wrong_step": "Musi być wielokrotnością {0}", 69 | "datetime_empty": "Nie wybrano wartości", 70 | "datetime_invalid": "Nieprawidłowy format daty ({0})", 71 | "datetime_exceed_min": "Musi być po {0}", 72 | "datetime_exceed_max": "Musi być przed {0}", 73 | "boolean_not_valid": "Niepoprawna wartość logiczna", 74 | "operator_not_multiple": "Operator \"{1}\" nie przyjmuje wielu wartości" 75 | }, 76 | "invert": "Odwróć" 77 | }; 78 | 79 | QueryBuilder.defaults({ lang_code: 'pl' }); 80 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.pt-PT.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Portuguese (pt-PT) 4 | * Author: Miguel Guerreiro, migas.csi@gmail.com 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['pt-PT'] = { 21 | "__locale": "Portuguese (pt-PT)", 22 | "__author": "Miguel Guerreiro, migas.csi@gmail.com", 23 | "add_rule": "Nova Regra", 24 | "add_group": "Novo Grupo", 25 | "delete_rule": "Excluir", 26 | "delete_group": "Excluir", 27 | "conditions": { 28 | "AND": "E", 29 | "OR": "OU" 30 | }, 31 | "operators": { 32 | "equal": "Igual a", 33 | "not_equal": "Diferente de", 34 | "in": "Contido", 35 | "not_in": "Não contido", 36 | "less": "Menor que", 37 | "less_or_equal": "Menor ou igual a", 38 | "greater": "Maior que", 39 | "greater_or_equal": "Maior ou igual que", 40 | "between": "Entre", 41 | "begins_with": "Começar por", 42 | "not_begins_with": "Não a começar por", 43 | "contains": "Contém", 44 | "not_contains": "Não contém", 45 | "ends_with": "Terminando com", 46 | "not_ends_with": "Terminando sem", 47 | "is_empty": "É vazio", 48 | "is_not_empty": "Não é vazio", 49 | "is_null": "É nulo", 50 | "is_not_null": "Não é nulo" 51 | }, 52 | "errors": { 53 | "no_filter": "Nenhum filtro selecionado", 54 | "empty_group": "O grupo está vazio", 55 | "radio_empty": "Nenhum valor selecionado", 56 | "checkbox_empty": "Nenhum valor selecionado", 57 | "select_empty": "Nenhum valor selecionado", 58 | "string_empty": "Valor vazio", 59 | "string_exceed_min_length": "É necessário conter pelo menos {0} caracteres", 60 | "string_exceed_max_length": "É necessário conter mais de {0} caracteres", 61 | "string_invalid_format": "Formato inválido ({0})", 62 | "number_nan": "Não é um número", 63 | "number_not_integer": "Não é um número inteiro", 64 | "number_not_double": "Não é um número real", 65 | "number_exceed_min": "É necessário ser maior que {0}", 66 | "number_exceed_max": "É necessário ser menor que {0}", 67 | "number_wrong_step": "É necessário ser múltiplo de {0}", 68 | "datetime_invalid": "Formato de data inválido ({0})", 69 | "datetime_exceed_min": "É necessário ser superior a {0}", 70 | "datetime_exceed_max": "É necessário ser inferior a {0}" 71 | } 72 | }; 73 | 74 | QueryBuilder.defaults({ lang_code: 'pt-PT' }); 75 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.ro.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Romanian (ro) 4 | * Author: ArianServ 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['ro'] = { 21 | "__locale": "Romanian (ro)", 22 | "__author": "ArianServ", 23 | "add_rule": "Adaugă regulă", 24 | "add_group": "Adaugă grup", 25 | "delete_rule": "Şterge", 26 | "delete_group": "Şterge", 27 | "conditions": { 28 | "AND": "ŞI", 29 | "OR": "SAU" 30 | }, 31 | "operators": { 32 | "equal": "egal", 33 | "not_equal": "diferit", 34 | "in": "în", 35 | "not_in": "nu în", 36 | "less": "mai puţin", 37 | "less_or_equal": "mai puţin sau egal", 38 | "greater": "mai mare", 39 | "greater_or_equal": "mai mare sau egal", 40 | "begins_with": "începe cu", 41 | "not_begins_with": "nu începe cu", 42 | "contains": "conţine", 43 | "not_contains": "nu conţine", 44 | "ends_with": "se termină cu", 45 | "not_ends_with": "nu se termină cu", 46 | "is_empty": "este gol", 47 | "is_not_empty": "nu este gol", 48 | "is_null": "e nul", 49 | "is_not_null": "nu e nul" 50 | } 51 | }; 52 | 53 | QueryBuilder.defaults({ lang_code: 'ro' }); 54 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.ru.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Russian (ru) 4 | * Licensed under MIT (http://opensource.org/licenses/MIT) 5 | */ 6 | 7 | (function(root, factory) { 8 | if (typeof define == 'function' && define.amd) { 9 | define(['jquery', 'query-builder'], factory); 10 | } 11 | else { 12 | factory(root.jQuery); 13 | } 14 | }(this, function($) { 15 | "use strict"; 16 | 17 | var QueryBuilder = $.fn.queryBuilder; 18 | 19 | QueryBuilder.regional['ru'] = { 20 | "__locale": "Russian (ru)", 21 | "add_rule": "Добавить", 22 | "add_group": "Добавить группу", 23 | "delete_rule": "Удалить", 24 | "delete_group": "Удалить", 25 | "conditions": { 26 | "AND": "И", 27 | "OR": "ИЛИ" 28 | }, 29 | "operators": { 30 | "equal": "равно", 31 | "not_equal": "не равно", 32 | "in": "из указанных", 33 | "not_in": "не из указанных", 34 | "less": "меньше", 35 | "less_or_equal": "меньше или равно", 36 | "greater": "больше", 37 | "greater_or_equal": "больше или равно", 38 | "between": "между", 39 | "begins_with": "начинается с", 40 | "not_begins_with": "не начинается с", 41 | "contains": "содержит", 42 | "not_contains": "не содержит", 43 | "ends_with": "оканчивается на", 44 | "not_ends_with": "не оканчивается на", 45 | "is_empty": "пустая строка", 46 | "is_not_empty": "не пустая строка", 47 | "is_null": "пусто", 48 | "is_not_null": "не пусто" 49 | }, 50 | "errors": { 51 | "no_filter": "Фильтр не выбран", 52 | "empty_group": "Группа пуста", 53 | "radio_empty": "Не выбранно значение", 54 | "checkbox_empty": "Не выбранно значение", 55 | "select_empty": "Не выбранно значение", 56 | "string_empty": "Не заполненно", 57 | "string_exceed_min_length": "Должен содержать больше {0} символов", 58 | "string_exceed_max_length": "Должен содержать меньше {0} символов", 59 | "string_invalid_format": "Неверный формат ({0})", 60 | "number_nan": "Не число", 61 | "number_not_integer": "Не число", 62 | "number_not_double": "Не число", 63 | "number_exceed_min": "Должно быть больше {0}", 64 | "number_exceed_max": "Должно быть меньше, чем {0}", 65 | "number_wrong_step": "Должно быть кратно {0}", 66 | "datetime_empty": "Не заполненно", 67 | "datetime_invalid": "Неверный формат даты ({0})", 68 | "datetime_exceed_min": "Должно быть, после {0}", 69 | "datetime_exceed_max": "Должно быть, до {0}", 70 | "boolean_not_valid": "Не логическое", 71 | "operator_not_multiple": "Оператор \"{1}\" не поддерживает много значений" 72 | }, 73 | "invert": "Инвертировать" 74 | }; 75 | 76 | QueryBuilder.defaults({ lang_code: 'ru' }); 77 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.sq.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Albanian (sq) 4 | * Author: Tomor Pupovci 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['sq'] = { 21 | "__locale": "Albanian (sq)", 22 | "__author": "Tomor Pupovci", 23 | "add_rule": "Shto rregull", 24 | "add_group": "Shto grup", 25 | "delete_rule": "Fshij", 26 | "delete_group": "Fshij", 27 | "conditions": { 28 | "AND": "DHE", 29 | "OR": "OSE" 30 | }, 31 | "operators": { 32 | "equal": "barabartë", 33 | "not_equal": "e ndryshme prej", 34 | "in": "në", 35 | "not_in": "jo në", 36 | "less": "më e vogël", 37 | "less_or_equal": "më e vogël ose e barabartë me", 38 | "greater": "më e madhe", 39 | "greater_or_equal": "më e madhe ose e barabartë", 40 | "between": "në mes", 41 | "begins_with": "fillon me", 42 | "not_begins_with": "nuk fillon me", 43 | "contains": "përmban", 44 | "not_contains": "nuk përmban", 45 | "ends_with": "mbaron me", 46 | "not_ends_with": "nuk mbaron me", 47 | "is_empty": "është e zbrazët", 48 | "is_not_empty": "nuk është e zbrazët", 49 | "is_null": "është null", 50 | "is_not_null": "nuk është null" 51 | }, 52 | "errors": { 53 | "no_filter": "Nuk ka filter të zgjedhur", 54 | "empty_group": "Grupi është i zbrazët", 55 | "radio_empty": "Nuk ka vlerë të zgjedhur", 56 | "checkbox_empty": "Nuk ka vlerë të zgjedhur", 57 | "select_empty": "Nuk ka vlerë të zgjedhur", 58 | "string_empty": "Vlerë e zbrazët", 59 | "string_exceed_min_length": "Duhet të përmbajë së paku {0} karaktere", 60 | "string_exceed_max_length": "Nuk duhet të përmbajë më shumë se {0} karaktere", 61 | "string_invalid_format": "Format i pasaktë ({0})", 62 | "number_nan": "Nuk është numër", 63 | "number_not_integer": "Nuk është numër i plotë", 64 | "number_not_double": "Nuk është numër me presje", 65 | "number_exceed_min": "Duhet të jetë më i madh se {0}", 66 | "number_exceed_max": "Duhet të jetë më i vogël se {0}", 67 | "number_wrong_step": "Duhet të jetë shumëfish i {0}", 68 | "datetime_empty": "Vlerë e zbrazët", 69 | "datetime_invalid": "Format i pasaktë i datës ({0})", 70 | "datetime_exceed_min": "Duhet të jetë pas {0}", 71 | "datetime_exceed_max": "Duhet të jetë para {0}", 72 | "boolean_not_valid": "Nuk është boolean", 73 | "operator_not_multiple": "Operatori \"{1}\" nuk mund të pranojë vlera të shumëfishta" 74 | } 75 | }; 76 | 77 | QueryBuilder.defaults({ lang_code: 'sq' }); 78 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.ua.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Ukrainian (ua) 4 | * Author: Megaplan, mborisv 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['ua'] = { 21 | "__locale": "Ukrainian (ua)", 22 | "__author": "Megaplan, mborisv ", 23 | "add_rule": "Додати", 24 | "add_group": "Додати групу", 25 | "delete_rule": "Видалити", 26 | "delete_group": "Видалити", 27 | "conditions": { 28 | "AND": "І", 29 | "OR": "АБО" 30 | }, 31 | "operators": { 32 | "equal": "дорівнює", 33 | "not_equal": "не дорівнює", 34 | "in": "з вказаних", 35 | "not_in": "не з вказаних", 36 | "less": "менше", 37 | "less_or_equal": "менше або дорівнюж", 38 | "greater": "більше", 39 | "greater_or_equal": "більше або дорівнює", 40 | "between": "між", 41 | "begins_with": "починається з", 42 | "not_begins_with": "не починається з", 43 | "contains": "містить", 44 | "not_contains": "не містить", 45 | "ends_with": "закінчується на", 46 | "not_ends_with": "не не закінчується на", 47 | "is_empty": "порожній рядок", 48 | "is_not_empty": "не порожній рядок", 49 | "is_null": "порожньо", 50 | "is_not_null": "не порожньо" 51 | }, 52 | "errors": { 53 | "no_filter": "Фільтр не вибраний", 54 | "empty_group": "Група порожня", 55 | "radio_empty": "Значення не вибрано", 56 | "checkbox_empty": "Значення не вибрано", 57 | "select_empty": "Значення не вибрано", 58 | "string_empty": "Не заповнено", 59 | "string_exceed_min_length": "Повинен містити більше {0} символів", 60 | "string_exceed_max_length": "Повинен містити менше {0} символів", 61 | "string_invalid_format": "Невірний формат ({0})", 62 | "number_nan": "Не число", 63 | "number_not_integer": "Не число", 64 | "number_not_double": "Не число", 65 | "number_exceed_min": "Повинне бути більше {0}", 66 | "number_exceed_max": "Повинне бути менше, ніж {0}", 67 | "number_wrong_step": "Повинне бути кратне {0}", 68 | "datetime_empty": "Не заповнено", 69 | "datetime_invalid": "Невірний формат дати ({0})", 70 | "datetime_exceed_min": "Повинне бути, після {0}", 71 | "datetime_exceed_max": "Повинне бути, до {0}", 72 | "boolean_not_valid": "Не логічне", 73 | "operator_not_multiple": "Оператор \"{1}\" не підтримує багато значень" 74 | }, 75 | "invert": "інвертувати" 76 | }; 77 | 78 | QueryBuilder.defaults({ lang_code: 'ua' }); 79 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/i18n/query-builder.zh-CN.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery QueryBuilder 2.5.1 3 | * Locale: Simplified Chinese (zh_CN) 4 | * Author: shadowwind, shatteredwindgo@gmail.com 5 | * Licensed under MIT (http://opensource.org/licenses/MIT) 6 | */ 7 | 8 | (function(root, factory) { 9 | if (typeof define == 'function' && define.amd) { 10 | define(['jquery', 'query-builder'], factory); 11 | } 12 | else { 13 | factory(root.jQuery); 14 | } 15 | }(this, function($) { 16 | "use strict"; 17 | 18 | var QueryBuilder = $.fn.queryBuilder; 19 | 20 | QueryBuilder.regional['zh-CN'] = { 21 | "__locale": "Simplified Chinese (zh_CN)", 22 | "__author": "shadowwind, shatteredwindgo@gmail.com", 23 | "add_rule": "添加规则", 24 | "add_group": "添加组", 25 | "delete_rule": "删除", 26 | "delete_group": "删除组", 27 | "conditions": { 28 | "AND": "和", 29 | "OR": "或" 30 | }, 31 | "operators": { 32 | "equal": "等于", 33 | "not_equal": "不等于", 34 | "in": "在...之內", 35 | "not_in": "不在...之內", 36 | "less": "小于", 37 | "less_or_equal": "小于或等于", 38 | "greater": "大于", 39 | "greater_or_equal": "大于或等于", 40 | "between": "在...之间", 41 | "not_between": "不在...之间", 42 | "begins_with": "以...开始", 43 | "not_begins_with": "不以...开始", 44 | "contains": "包含以下内容", 45 | "not_contains": "不包含以下内容", 46 | "ends_with": "以...结束", 47 | "not_ends_with": "不以...结束", 48 | "is_empty": "为空", 49 | "is_not_empty": "不为空", 50 | "is_null": "为 null", 51 | "is_not_null": "不为 null" 52 | }, 53 | "errors": { 54 | "no_filter": "没有选择过滤器", 55 | "empty_group": "该组为空", 56 | "radio_empty": "没有选中项", 57 | "checkbox_empty": "没有选中项", 58 | "select_empty": "没有选中项", 59 | "string_empty": "没有输入值", 60 | "string_exceed_min_length": "必须至少包含{0}个字符", 61 | "string_exceed_max_length": "必须不超过{0}个字符", 62 | "string_invalid_format": "无效格式({0})", 63 | "number_nan": "值不是数字", 64 | "number_not_integer": "不是整数", 65 | "number_not_double": "不是浮点数", 66 | "number_exceed_min": "必须大于{0}", 67 | "number_exceed_max": "必须小于{0}", 68 | "number_wrong_step": "必须是{0}的倍数", 69 | "datetime_empty": "值为空", 70 | "datetime_invalid": "不是有效日期({0})", 71 | "datetime_exceed_min": "必须在{0}之后", 72 | "datetime_exceed_max": "必须在{0}之前", 73 | "boolean_not_valid": "不是布尔值", 74 | "operator_not_multiple": "选项\"{1}\"无法接受多个值" 75 | }, 76 | "invert": "倒置" 77 | }; 78 | 79 | QueryBuilder.defaults({ lang_code: 'zh-CN' }); 80 | })); -------------------------------------------------------------------------------- /Assets/js/libraries/javascript-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function(mod) { 5 | if (typeof exports == "object" && typeof module == "object") // CommonJS 6 | mod(require("../../lib/codemirror")); 7 | else if (typeof define == "function" && define.amd) // AMD 8 | define(["../../lib/codemirror"], mod); 9 | else // Plain browser env 10 | mod(CodeMirror); 11 | })(function(CodeMirror) { 12 | "use strict"; 13 | // declare global: JSHINT 14 | 15 | function validator(text, options) { 16 | if (!window.JSHINT) { 17 | if (window.console) { 18 | window.console.error("Error: window.JSHINT not defined, CodeMirror JavaScript linting cannot run."); 19 | } 20 | return []; 21 | } 22 | if (!options.indent) // JSHint error.character actually is a column index, this fixes underlining on lines using tabs for indentation 23 | options.indent = 1; // JSHint default value is 4 24 | JSHINT(text, options, options.globals); 25 | var errors = JSHINT.data().errors, result = []; 26 | if (errors) parseErrors(errors, result); 27 | return result; 28 | } 29 | 30 | CodeMirror.registerHelper("lint", "javascript", validator); 31 | 32 | function parseErrors(errors, output) { 33 | for ( var i = 0; i < errors.length; i++) { 34 | var error = errors[i]; 35 | if (error) { 36 | if (error.line <= 0) { 37 | if (window.console) { 38 | window.console.warn("Cannot display JSHint error (invalid line " + error.line + ")", error); 39 | } 40 | continue; 41 | } 42 | 43 | var start = error.character - 1, end = start + 1; 44 | if (error.evidence) { 45 | var index = error.evidence.substring(start).search(/.\b/); 46 | if (index > -1) { 47 | end += index; 48 | } 49 | } 50 | 51 | // Convert to format expected by validation service 52 | var hint = { 53 | message: error.reason, 54 | severity: error.code ? (error.code.startsWith('W') ? "warning" : "error") : "error", 55 | from: CodeMirror.Pos(error.line - 1, start), 56 | to: CodeMirror.Pos(error.line - 1, end) 57 | }; 58 | 59 | output.push(hint); 60 | } 61 | } 62 | } 63 | }); -------------------------------------------------------------------------------- /Assets/js/libraries/jquery.businessHours.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jquery.businessHours v1.0.1 - jQuery plugin allows you to easy show & manage business hours 3 | * Copyright (c) 2015 Alex Padalka - http://gendelf.github.io/jquery.businessHours/ 4 | * License: APACHE 5 | */ 6 | 7 | (function(e){e.fn.businessHours=function(t){function i(e,t,n){e.val(t);if(n){e.prop("readonly",true)}}var n={preInit:function(){},postInit:function(){},inputDisabled:false,checkedColorClass:"WorkingDayState",uncheckedColorClass:"RestDayState",colorBoxValContainerClass:"colorBoxContainer",weekdays:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],operationTime:[{},{},{},{},{},{isActive:false},{isActive:false}],defaultOperationTimeFrom:"9:00",defaultOperationTimeTill:"18:00",defaultActive:true,containerTmpl:'
',dayTmpl:'
'+'
'+'
'+'
'+'
'+'
'+"
"};var r=e(this);var s={getValueOrDefault:function(e,t){return jQuery.type(e)==="undefined"||e==null?t:e},init:function(t){this.options=e.extend(n,t);r.html("");if(typeof this.options.preInit==="function"){this.options.preInit()}this.initView(this.options);if(typeof this.options.postInit==="function"){this.options.postInit()}return{serialize:function(){var t=[];r.find(".operationState").each(function(n,r){var i=e(r).prop("checked");var s=e(r).parents(".dayContainer");t.push({isActive:i,timeFrom:i?s.find("[name='startTime']").val():null,timeTill:i?s.find("[name='endTime']").val():null})});return t}}},initView:function(t){var n=[t.checkedColorClass,t.uncheckedColorClass];var s=r.append(e(t.containerTmpl));var o=this;for(var u=0;u 'IS_JSON_ARRAY_ERROR', 26 | ]; 27 | 28 | /** @var string */ 29 | public $message = 'This value should be empty or contain a JSON array.'; 30 | } 31 | -------------------------------------------------------------------------------- /Constraints/JsonArrayValidator.php: -------------------------------------------------------------------------------- 1 | decodeArray($value); 40 | } catch (Exception $e) { 41 | if ($this->context instanceof ExecutionContextInterface) { 42 | $this->context->buildViolation($constraint->message) 43 | ->setParameter('{{ value }}', $this->formatValue($value)) 44 | ->setCode(JsonArray::IS_JSON_ARRAY_ERROR) 45 | ->addViolation(); 46 | } else { 47 | $this->buildViolation($constraint->message) 48 | ->setParameter('{{ value }}', $this->formatValue($value)) 49 | ->setCode(JsonArray::IS_JSON_ARRAY_ERROR) 50 | ->addViolation(); 51 | } 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /Constraints/JsonObject.php: -------------------------------------------------------------------------------- 1 | 'IS_JSON_OBJECT_ERROR', 26 | ]; 27 | 28 | /** @var string */ 29 | public $message = 'This value should be empty or contain a JSON object.'; 30 | } 31 | -------------------------------------------------------------------------------- /Constraints/JsonObjectValidator.php: -------------------------------------------------------------------------------- 1 | decodeObject($value); 40 | } catch (Exception $e) { 41 | if ($this->context instanceof ExecutionContextInterface) { 42 | $this->context->buildViolation($constraint->message) 43 | ->setParameter('{{ value }}', $this->formatValue($value)) 44 | ->setCode(JsonObject::IS_JSON_OBJECT_ERROR) 45 | ->addViolation(); 46 | } else { 47 | $this->buildViolation($constraint->message) 48 | ->setParameter('{{ value }}', $this->formatValue($value)) 49 | ->setCode(JsonObject::IS_JSON_OBJECT_ERROR) 50 | ->addViolation(); 51 | } 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /Entity/AuthRepository.php: -------------------------------------------------------------------------------- 1 | getEntityManager()->getConnection()->createQueryBuilder(); 35 | $q->select('a.operation, a.type, a.field, a.val') 36 | ->from(MAUTIC_TABLE_PREFIX.'contactclient_auth', 'a') 37 | ->where( 38 | $q->expr()->eq('a.contactclient_id', (int) $contactClientId), 39 | $q->expr()->eq('a.test', (int) $test) 40 | ); 41 | 42 | if ($operationId) { 43 | $q->andWhere( 44 | $q->expr()->eq('a.operation', (int) $operationId) 45 | ); 46 | } 47 | 48 | foreach ($q->execute()->fetchAll() as $row) { 49 | $token = 'payload.operations.'.$row['operation'].'.response.'.$row['type'].'.'.$row['field']; 50 | $result[$token] = $row['val']; 51 | } 52 | 53 | return $result; 54 | } 55 | 56 | /** 57 | * @param $contactClientId 58 | * @param $operationId 59 | * @param bool $test 60 | * 61 | * @return array 62 | */ 63 | public function flushPreviousAuthTokens($contactClientId, $operationId, $test) 64 | { 65 | $q = $this->createQueryBuilder('a'); 66 | $q->delete() 67 | ->where( 68 | $q->expr()->eq('a.contactClient', (int) $contactClientId), 69 | $q->expr()->eq('a.operation', (int) $operationId), 70 | $q->expr()->eq('a.test', (int) $test) 71 | ); 72 | 73 | return $q->getQuery()->getArrayResult(); 74 | } 75 | 76 | /** 77 | * @return string 78 | */ 79 | public function getTableAlias() 80 | { 81 | return 'a'; 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /Entity/BigIntUnsignedTrait.php: -------------------------------------------------------------------------------- 1 | getClassMetadata(); 37 | $cm->mapField( 38 | [ 39 | 'fieldName' => $fieldName, 40 | 'columnName' => $columnName, 41 | 'id' => $isPrimary, 42 | 'nullable' => $isNullable, 43 | 'type' => Type::BIGINT, 44 | 'options' => [ 45 | 'unsigned' => true, 46 | ], 47 | ] 48 | ); 49 | if ($isPrimary) { 50 | $cm->setIdGeneratorType(ClassMetadata::GENERATOR_TYPE_AUTO); 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /Entity/FileRepository.php: -------------------------------------------------------------------------------- 1 | slaveQueryBuilder(); 45 | $q->select('COUNT(*)') 46 | ->from(MAUTIC_TABLE_PREFIX.$this->getTableName()); 47 | 48 | $start->setTime(0, 0, 0); 49 | $end->setTime(0, 0, 0)->modify('+1 day'); 50 | $timezone = new DateTimeZone(date_default_timezone_get()); 51 | $start->setTimezone($timezone); 52 | $end->setTimezone($timezone); 53 | 54 | $q->where( 55 | $q->expr()->eq('contactclient_id', (int) $contactClientId), 56 | $q->expr()->gte('date_added', ':start'), 57 | $q->expr()->lt('date_added', ':end'), 58 | $q->expr()->eq('test', $test ? 1 : 0) 59 | ); 60 | $q->setParameter('start', $start->format('Y-m-d H:i:s')); 61 | $q->setParameter('end', $end->format('Y-m-d H:i:s')); 62 | $q->andWhere('status IN (\''.implode('\',\'', $statuses).'\')'); 63 | 64 | return (int) $q->execute()->fetchColumn(); 65 | } 66 | 67 | /** 68 | * Create a DBAL QueryBuilder preferring a slave connection if available. 69 | * 70 | * @return QueryBuilder 71 | */ 72 | private function slaveQueryBuilder() 73 | { 74 | /** @var Connection $connection */ 75 | $connection = $this->getEntityManager()->getConnection(); 76 | if ($connection instanceof MasterSlaveConnection) { 77 | // Prefer a slave connection if available. 78 | $connection->connect('slave'); 79 | } 80 | 81 | return new QueryBuilder($connection); 82 | } 83 | 84 | /** 85 | * @return string 86 | */ 87 | public function getTableAlias() 88 | { 89 | return 'f'; 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /Entity/QueueRepository.php: -------------------------------------------------------------------------------- 1 | _em->getConnection()->createQueryBuilder(); 39 | $q->delete(MAUTIC_TABLE_PREFIX.$this->getTableName()); 40 | $q->where( 41 | $q->expr()->in('id', $ids) 42 | ); 43 | $q->execute(); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /Event/ContactClientEvent.php: -------------------------------------------------------------------------------- 1 | entity = $contactclient; 29 | $this->isNew = $isNew; 30 | } 31 | 32 | /** 33 | * Returns the ContactClient entity. 34 | * 35 | * @return ContactClient 36 | */ 37 | public function getContactClient() 38 | { 39 | return $this->entity; 40 | } 41 | 42 | /** 43 | * Sets the ContactClient entity. 44 | * 45 | * @param ContactClient $contactclient 46 | */ 47 | public function setContactClient(ContactClient $contactclient) 48 | { 49 | $this->entity = $contactclient; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Event/ContactDncCheckEvent.php: -------------------------------------------------------------------------------- 1 | contact = $contact; 44 | $this->channel = $channel; 45 | $this->dncEntries = &$dncEntries; 46 | } 47 | 48 | /** 49 | * @return Contact 50 | */ 51 | public function getContact() 52 | { 53 | return $this->contact; 54 | } 55 | 56 | /** 57 | * @return Contact 58 | */ 59 | public function getLead() 60 | { 61 | return $this->contact; 62 | } 63 | 64 | /** 65 | * @return string 66 | */ 67 | public function getChannel() 68 | { 69 | return $this->channel; 70 | } 71 | 72 | /** 73 | * @return array 74 | */ 75 | public function getDncEntries() 76 | { 77 | return $this->dncEntries; 78 | } 79 | 80 | /** 81 | * @param $dncEntries 82 | * 83 | * @return $this 84 | */ 85 | public function setDncEntries($dncEntries) 86 | { 87 | $this->dncEntries = $dncEntries; 88 | 89 | return $this; 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /Event/ContactLedgerContextEvent.php: -------------------------------------------------------------------------------- 1 | campaign = $campaign; 55 | $this->actor = $actor; 56 | $this->activity = $activity; 57 | $this->memo = $memo; 58 | $this->lead = $lead; 59 | } 60 | 61 | /** 62 | * @return Campaign|null 63 | */ 64 | public function getCampaign() 65 | { 66 | return $this->campaign; 67 | } 68 | 69 | /** 70 | * @return object|null 71 | */ 72 | public function getActor() 73 | { 74 | return $this->actor; 75 | } 76 | 77 | /** 78 | * @return object|null 79 | */ 80 | public function getActivity() 81 | { 82 | return $this->activity; 83 | } 84 | 85 | /** 86 | * @return string 87 | */ 88 | public function getMemo() 89 | { 90 | return $this->memo; 91 | } 92 | 93 | /** 94 | * @return Lead 95 | */ 96 | public function getLead() 97 | { 98 | return $this->lead; 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /EventListener/SearchSubscriber.php: -------------------------------------------------------------------------------- 1 | clientModel = $clientModel; 25 | } 26 | 27 | /** 28 | * @return array 29 | */ 30 | public static function getSubscribedEvents() 31 | { 32 | return [ 33 | CoreEvents::GLOBAL_SEARCH => ['onGlobalSearch', 0], 34 | ]; 35 | } 36 | 37 | /** 38 | * @param GlobalSearchEvent $event 39 | */ 40 | public function onGlobalSearch(GlobalSearchEvent $event) 41 | { 42 | $str = $event->getSearchString(); 43 | if (empty($str)) { 44 | return; 45 | } 46 | 47 | $filter = ['string' => $str, 'force' => '']; 48 | 49 | $permissions = $this->security->isGranted( 50 | ['plugin:contactclient:items:view'], 51 | 'RETURN_ARRAY' 52 | ); 53 | 54 | if ($permissions) { 55 | $results = $this->clientModel->getEntities( 56 | [ 57 | 'limit' => 5, 58 | 'filter' => $filter, 59 | 'withTotalCount' => true, 60 | ] 61 | ); 62 | 63 | $count = $results->count(); 64 | 65 | if ($count > 0) { 66 | $clients = $results->getQuery()->execute(); 67 | $clientResults = []; 68 | 69 | foreach ($clients as $client) { 70 | $clientResults[] = $this->templating->renderResponse( 71 | 'MauticContactClientBundle:SubscribedEvents\Search:global.html.php', 72 | ['client' => $client] 73 | )->getContent(); 74 | } 75 | 76 | if ($count > 5) { 77 | $clientResults[] = $this->templating->renderResponse( 78 | 'MauticContactClientBundle:SubscribedEvents\Search:global.html.php', 79 | [ 80 | 'showMore' => true, 81 | 'searchString' => $str, 82 | 'remaining' => ($count - 5), 83 | ] 84 | )->getContent(); 85 | } 86 | $clientResults['count'] = $count; 87 | $event->addResults('mautic.contactclient', $clientResults); 88 | } 89 | } 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /EventListener/StatSubscriber.php: -------------------------------------------------------------------------------- 1 | model = $model; 35 | } 36 | 37 | /** 38 | * {@inheritdoc} 39 | */ 40 | public static function getSubscribedEvents() 41 | { 42 | return []; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /EventListener/StatsSubscriber.php: -------------------------------------------------------------------------------- 1 | addContactRestrictedRepositories($em, 'MauticContactClientBundle:Stat'); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Form/Type/ContactClientListType.php: -------------------------------------------------------------------------------- 1 | contactclientModel = $contactclientModel; 28 | $this->repo = $this->contactclientModel->getRepository(); 29 | } 30 | 31 | /** 32 | * {@inheritdoc} 33 | */ 34 | public function configureOptions(OptionsResolver $resolver) 35 | { 36 | $resolver->setDefaults( 37 | [ 38 | 'choices' => function (Options $options) { 39 | $choices = []; 40 | 41 | $list = $this->repo->getContactClientList($options['data']); 42 | foreach ($list as $row) { 43 | $choices[$row['id']] = $row['name']; 44 | } 45 | 46 | //sort by language 47 | ksort($choices); 48 | 49 | return $choices; 50 | }, 51 | 'expanded' => false, 52 | 'multiple' => true, 53 | 'required' => false, 54 | 'empty_value' => function (Options $options) { 55 | return (empty($options['choices'])) ? 'mautic.contactclient.no.contactclientitem.note' : 'mautic.core.form.chooseone'; 56 | }, 57 | 'disabled' => function (Options $options) { 58 | return empty($options['choices']); 59 | }, 60 | 'top_level' => 'variant', 61 | 'variant_parent' => null, 62 | 'ignore_ids' => [], 63 | ] 64 | ); 65 | } 66 | 67 | /** 68 | * @return string 69 | */ 70 | public function getName() 71 | { 72 | return 'contactclient_list'; 73 | } 74 | 75 | /** 76 | * @return string 77 | */ 78 | public function getParent() 79 | { 80 | return 'choice'; 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function (grunt) { 4 | 5 | // Load grunt tasks automatically 6 | require('load-grunt-tasks')(grunt); 7 | 8 | require('time-grunt')(grunt); 9 | 10 | grunt.loadNpmTasks('grunt-contrib-uglify'); 11 | 12 | grunt.loadNpmTasks('grunt-contrib-watch'); 13 | 14 | grunt.loadNpmTasks('grunt-contrib-cssmin'); 15 | 16 | grunt.loadNpmTasks('grunt-beep'); 17 | 18 | // Define the configuration for all the tasks 19 | grunt.initConfig({ 20 | uglify: { 21 | my_target: { 22 | files: { 23 | 'Assets/build/contactclient.min.js': ['Assets/js/libraries/*.js', 'Assets/js/libraries/jquery-ui/*.js', 'Assets/js/*.js'] 24 | } 25 | } 26 | }, 27 | cssmin: { 28 | options: { 29 | mergeIntoShorthands: false, 30 | roundingPrecision: -1, 31 | sourceMap: true, 32 | root: 'Assets/build/' 33 | }, 34 | target: { 35 | files: { 36 | 'Assets/build/contactclient.min.css': ['Assets/css/libraries/*.css', 'Assets/css/libraries/jquery-ui/*.css', 'Assets/css/*.css'] 37 | } 38 | } 39 | }, 40 | watch: { 41 | js: { 42 | files: ['Assets/js/libraries/*.js', 'Assets/js/*.js'], 43 | tasks: ['uglify', 'beep'] 44 | }, 45 | css: { 46 | files: ['Assets/css/libraries/*.css', 'Assets/css/*.css'], 47 | tasks: ['cssmin', 'beep'] 48 | } 49 | } 50 | }); 51 | 52 | grunt.registerTask('default', ['uglify', 'cssmin']); 53 | }; 54 | -------------------------------------------------------------------------------- /Helper/UtmSourceHelper.php: -------------------------------------------------------------------------------- 1 | getSortedUtmTags($contact))) { 32 | $tag = reset($tags); 33 | $source = trim($tag->getUtmSource()); 34 | } 35 | 36 | return $source; 37 | } 38 | 39 | /** 40 | * @param Contact $contact 41 | * 42 | * @return array 43 | */ 44 | public function getSortedUtmTags(Contact $contact) 45 | { 46 | $tags = []; 47 | if ($contact instanceof Contact) { 48 | $utmTags = $contact->getUtmTags(); 49 | if ($utmTags) { 50 | $utmTags = $utmTags instanceof ArrayCollection ? $utmTags->toArray() : $utmTags; 51 | /** @var UtmTag $utmTag */ 52 | foreach ($utmTags as $utmTag) { 53 | $tags[$utmTag->getDateAdded()->getTimestamp()] = $utmTag; 54 | } 55 | ksort($tags); 56 | } 57 | } 58 | 59 | return $tags; 60 | } 61 | 62 | /** 63 | * @param Contact $contact 64 | * 65 | * @return string 66 | */ 67 | public function getLastUtmSource(Contact $contact) 68 | { 69 | $source = ''; 70 | if (!empty($tags = $this->getSortedUtmTags($contact))) { 71 | $tag = end($tags); 72 | $source = trim($tag->getUtmSource()); 73 | } 74 | 75 | return $source; 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /LICENSES: -------------------------------------------------------------------------------- 1 | This plugin includes works under other copyright notices and distributed according 2 | to the terms of the GNU General Public License or a compatible license, including: 3 | 4 | JavaScript/CSS: 5 | 6 | Bootstrap Datepicker - Apache License, Version 2.0 Copyright January 2004 by contributors 7 | 8 | Bootstrap Slider - MIT License Copyright (c) 2017 Kyle Kemp, Rohit Kalkur, and contributors 9 | 10 | caret - BSD3 License Copyright (c) 2009, Gideon Sireling 11 | 12 | CodeMirror - MIT License Copyright (C) 2017 by Marijn Haverbeke marijnh@gmail.com and others 13 | 14 | HTMLHint - MIT License Copyright (c) 2014-2016 Yanis Wang 15 | 16 | Interact.js - MIT License Copyright (c) 2012-2017 Taye Adeyemi dev@taye.me 17 | 18 | jQuery QueryBuilder - MIT License Copyright 2014-2017 Damien "Mistic" Sorel (http://www.strangeplanet.fr) 19 | 20 | jQuery Timepicker - MIT License Copyright (C) 2014 Jon Thornton and contributors 21 | 22 | jQuery BusinessHours - Apache License, Version 2.0 Copyright January 2004 by contributors 23 | 24 | JSON Editor - MIT License Copyright (c) 2013 Jeremy Dorn 25 | 26 | JSON Lint - MIT License Copyright (C) 2012 Zachary Carter 27 | 28 | js-yaml - MIT License Copyright (C) 2011-2015 by Vitaly Puzrin 29 | 30 | font-awesome-animation - MIT License Copyright (c) 2014-2017 l-lin 31 | 32 | date.format - MIT License Copyright (c) 2005 Jacob Wright -------------------------------------------------------------------------------- /MauticContactClientBundle.php: -------------------------------------------------------------------------------- 1 | addStandardPermissions('categories'); 29 | $this->addExtendedPermissions('items'); 30 | $this->addExtendedPermissions('files'); 31 | //This is in anticipation of PR 5995 getting merged ~2.16 32 | if (method_exists($this, 'addCustomPermission')) { 33 | $addCustomPermission = 'addCustomPermission'; 34 | $this->$addCustomPermission('export', ['disable' => 1024]); 35 | } 36 | } 37 | 38 | /** 39 | * {@inheritdoc} 40 | * 41 | * @param FormBuilderInterface $builder 42 | * @param array $options 43 | */ 44 | public function buildForm(FormBuilderInterface &$builder, array $options, array $data) 45 | { 46 | $this->addStandardFormFields('contactclient', 'categories', $builder, $data); 47 | $this->addExtendedFormFields('contactclient', 'items', $builder, $data); 48 | $this->addExtendedFormFields('contactclient', 'files', $builder, $data); 49 | //This is in anticipation of PR 5995 getting merged ~2.16 50 | if (method_exists($this, 'addCustomFormFields')) { 51 | $addCustomFormFields = 'addCustomFormFields'; 52 | $this->$addCustomFormFields( 53 | $this->getName(), 54 | 'export', 55 | $builder, 56 | 'mautic.core.permissions.export', 57 | ['disable' => 'mautic.core.permissions.disable'], 58 | $data 59 | ); 60 | } 61 | } 62 | 63 | /** 64 | * {@inheritdoc} 65 | * 66 | * @return string 67 | */ 68 | public function getName() 69 | { 70 | return 'contactclient'; 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /Services/TransportInterface.php: -------------------------------------------------------------------------------- 1 | 'Bar'])])); 23 | // Add the history middleware to the handler stack. 24 | $stack->push($history); 25 | $this->container->set('mautic.contactclient.service.transport', new Transport(new Client(), $stack)); 26 | 27 | $apiPayload = $this->container->get('mautic.contactclient.model.apipayload'); 28 | 29 | $client = new ContactClient(); 30 | $client->setType('api'); 31 | $payload = $this->getPayload(); 32 | $client->setAPIPayload($payload); 33 | 34 | $apiPayload->setTest(true) 35 | ->setContactClient($client); 36 | 37 | $apiPayload->run(); 38 | 39 | foreach ($container as $item) { 40 | /** @var Request $req */ 41 | $req = $item['request']; 42 | $q = $req->getUri()->getQuery(); 43 | $this->assertEquals('subid=&addr=1234%20Test%20St.&ad1=1234%20Test%20St.', $q); 44 | } 45 | } 46 | 47 | private function getPayload() 48 | { 49 | $dir = __DIR__.'/../assets/model/api_payload.json'; 50 | $payload = file_get_contents($dir); 51 | 52 | return $payload; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Translations/en_US/flashes.ini: -------------------------------------------------------------------------------- 1 | mautic.contactclient.error.notfound = "The Client requested was not found." 2 | mautic.contactclient.notice.batch_deleted = "Client/s successfully deleted." -------------------------------------------------------------------------------- /Translations/en_US/validators.ini: -------------------------------------------------------------------------------- 1 | mautic.contactclient.error.select_type = "Please specify the client type." 2 | -------------------------------------------------------------------------------- /Views/ContactClient/datatable.html.php: -------------------------------------------------------------------------------- 1 | 12 | 13 |
14 |
15 | 16 |
17 |
18 |
19 | 22 | includeScript('plugins/MauticContactClientBundle/Assets/build/contactclient.min.js?v=2.15.1', 'contactclientOnLoad', 'contactclientOnLoad'); 24 | echo $view['assets']->includeStylesheet('plugins/MauticContactClientBundle/Assets/build/contactclient.min.css'); 25 | ?> 26 | -------------------------------------------------------------------------------- /Views/ContactClient/index.html.php: -------------------------------------------------------------------------------- 1 | extend('MauticCoreBundle:Default:content.html.php'); 12 | $view['slots']->set('mauticContent', 'contactclient'); 13 | $view['slots']->set('headerTitle', $view['translator']->trans('mautic.contactclient')); 14 | 15 | $view['slots']->set( 16 | 'actions', 17 | $view->render( 18 | 'MauticCoreBundle:Helper:page_actions.html.php', 19 | [ 20 | 'templateButtons' => [ 21 | 'new' => $permissions['plugin:contactclient:items:create'], 22 | ], 23 | 'routeBase' => 'contactclient', 24 | ] 25 | ) 26 | ); 27 | ?> 28 | 29 |
30 | render( 31 | 'MauticCoreBundle:Helper:list_toolbar.html.php', 32 | [ 33 | 'searchValue' => $searchValue, 34 | 'searchHelp' => 'mautic.core.help.searchcommands', 35 | 'action' => $currentRoute, 36 | ] 37 | ); ?> 38 |
39 | output('_content'); ?> 40 |
41 |
42 | -------------------------------------------------------------------------------- /Views/Files/index.html.php: -------------------------------------------------------------------------------- 1 | 12 | 13 |
14 | output('_content'); ?> 15 |
16 | -------------------------------------------------------------------------------- /Views/Helper/graph_chartfilter.html.php: -------------------------------------------------------------------------------- 1 | 15 | 16 | start( 17 | $chartFilterForm, 18 | ['attr' => ['class' => 'form-filter '.$class, 'style' => 'max-width: 380px']] 19 | ); ?> 20 |
21 | 22 | label($chartFilterForm['campaign']); ?> 23 | 24 | widget($chartFilterForm['campaign']); ?> 25 |
26 |
27 | 28 | label($chartFilterForm['type']); ?> 29 | 30 | widget($chartFilterForm['type']); ?> 31 |
32 |
33 | 34 | label($chartFilterForm['date_from']); ?> 35 | 36 | widget($chartFilterForm['date_from']); ?> 37 | 38 | label($chartFilterForm['date_to']); ?> 39 | 40 | widget($chartFilterForm['date_to']); ?> 41 | 42 | row($chartFilterForm['apply']); ?> 43 | 44 |
45 | end($chartFilterForm); ?> 46 | 80 | -------------------------------------------------------------------------------- /Views/PendingEvents/index.html.php: -------------------------------------------------------------------------------- 1 | 13 | 14 |
15 | 16 | 17 |
18 |
19 | 20 |
21 |
22 | 23 | 24 | 25 |
26 | -------------------------------------------------------------------------------- /Views/SubscribedEvents/Search/global.html.php: -------------------------------------------------------------------------------- 1 | 12 | 13 | 15 | trans('mautic.core.search.more', ['%count%' => $remaining]); ?> 16 | 17 | 18 | 22 | getName(); ?> 23 | ID: getId(); ?> 25 | 26 |
27 | -------------------------------------------------------------------------------- /Views/Transactions/eventdetails.html.php: -------------------------------------------------------------------------------- 1 | 15 | 16 |
17 |
trans('mautic.contactclient.transactions.integration_entity_id'); ?>
18 |
19 |
20 | 21 | 22 |
23 | trans('mautic.contactclient.transactions.logs.heading'); ?> 24 |
25 | 26 |
27 | 28 | -------------------------------------------------------------------------------- /Views/Transactions/index.html.php: -------------------------------------------------------------------------------- 1 | 13 | 14 |
15 | 16 | 17 |
18 | isAdmin() 20 | || !$view['security']->isGranted('contactclient:export:disable', 'MATCH_ONE')):?> 21 | 23 | 24 | 25 | 26 | 27 | 28 | 30 | 31 | 32 | 33 | 34 |
35 |
36 |
37 | 38 |
39 |
40 | 41 |
42 | 43 | output('_content');?> 44 |
45 |
46 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "thedmsgroup/mautic-contact-client-bundle", 3 | "description": "Create custom integrations without writing code.", 4 | "keywords": ["mautic","marketing","marketing automation","plugin"], 5 | "type": "mautic-plugin", 6 | "require": { 7 | "mautic/composer-plugin": "^1.0", 8 | "mustache/mustache": "^2.12", 9 | "namshi/cuzzle": "^2.0", 10 | "league/flysystem": "^1.0", 11 | "league/flysystem-aws-s3-v3": "^1.0", 12 | "league/flysystem-dropbox": "^1.0", 13 | "league/flysystem-sftp": "^1.0" 14 | }, 15 | "license": "GPL-3.0-only", 16 | "authors": [ 17 | { 18 | "name": "Heath Dutton", 19 | "email": "heathdutton@gmail.com" 20 | } 21 | ], 22 | "minimum-stability": "dev", 23 | "prefer-stable": true 24 | } 25 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "MauticContactClientBundle", 3 | "description": "Create custom integrations without writing code.", 4 | "license": "GPL-3.0", 5 | "authors": [ 6 | { 7 | "name": "Heath Dutton", 8 | "email": "heathdutton@gmail.com" 9 | } 10 | ], 11 | "repository": [ 12 | { 13 | "type": "vcs", 14 | "url": "https://github.com/thedmsgroup/mautic-contact-clients" 15 | } 16 | ], 17 | "devDependencies": { 18 | "grunt": "^0.4.5", 19 | "grunt-autoprefixer": "^1.0.1", 20 | "grunt-beep": "^1.0.1", 21 | "grunt-contrib-copy": "^0.5.0", 22 | "grunt-contrib-cssmin": "^0.10.0", 23 | "grunt-contrib-uglify": "^3.3.0", 24 | "grunt-contrib-watch": "^1.1.0", 25 | "grunt-remove": "^0.1.0", 26 | "load-grunt-tasks": "^0.6.0", 27 | "time-grunt": "^1.0.0" 28 | }, 29 | "dependencies": { 30 | "grunt-cli": "^1.2.0" 31 | } 32 | } 33 | --------------------------------------------------------------------------------