Version Description
- Added: Logging functionality to help aid with debugging and the plugin not working as needed or expected.
- Added: Passed form ID to filters related to including labels for custom fields.
- Fixed: Made sure some Constant Contact markup was only added to the page when in a Constant Contact area.
- Fixed: Issue with submitted custom field lengths when also including the original labels. Users were able to still go above 50 character limit.
- Fixed: Addressed issue with email bypassing when not needing to opt in.
- Updated: CMB2 library to version 2.3.0.
- Updated: Guzzle library to version 5.3.2.
- Updated: Code quality regarding translated text, namespaces, and returned value consistency.
- Updated: Added minimum PHP version to plugin readme for use on WordPress.org.
- Updated: Reduced cache time for account information so changes reflect in WP admin more quickly.
- Updated: Revised disclosure message on the form to be more GDPR compliant.
Download this release
Release Info
Developer | constantcontact |
Plugin | Constant Contact Forms |
Version | 1.3.7 |
Comparing to | |
See all releases |
Code changes from version 1.3.6 to 1.3.7
- assets/css/admin-pages.css +12 -0
- assets/js/ctct-plugin-admin.js +28 -5
- assets/js/ctct-plugin-admin.min.js +1 -1
- assets/js/ctct-plugin-admin/modal.js +23 -0
- assets/js/ctct-plugin-admin/newsletter.js +5 -5
- assets/sass/admin-pages.scss +16 -0
- constant-contact-forms.php +23 -9
- includes/class-admin-pages.php +4 -3
- includes/class-admin.php +1 -1
- includes/class-api.php +29 -19
- includes/class-connect.php +5 -4
- includes/class-display.php +20 -7
- includes/class-logging.php +223 -0
- includes/class-mail.php +47 -15
- includes/class-middleware.php +4 -0
- includes/class-optin.php +1 -1
- includes/class-process-form.php +6 -0
- includes/class-settings.php +13 -1
- includes/helper-functions.php +44 -0
- languages/constant-contact-forms.pot +156 -86
- package.json +1 -1
- readme.txt +14 -1
- vendor/CMB2/bootstrap.php +22 -13
- vendor/CMB2/css/cmb2-front-rtl.css +252 -188
- vendor/CMB2/css/cmb2-front-rtl.min.css +1 -1
- vendor/CMB2/css/cmb2-front.css +252 -188
- vendor/CMB2/css/cmb2-front.min.css +1 -1
- vendor/CMB2/css/cmb2-rtl.css +295 -244
- vendor/CMB2/css/cmb2-rtl.min.css +1 -1
- vendor/CMB2/css/cmb2.css +295 -244
- vendor/CMB2/css/cmb2.min.css +1 -1
- vendor/CMB2/css/index.php +1 -1
- vendor/CMB2/images/index.php +1 -1
- vendor/CMB2/includes/CMB2.php +560 -219
- vendor/CMB2/includes/CMB2_Ajax.php +19 -10
- vendor/CMB2/includes/CMB2_Base.php +51 -18
- vendor/CMB2/includes/CMB2_Boxes.php +6 -5
- vendor/CMB2/includes/CMB2_Field.php +261 -110
- vendor/CMB2/includes/CMB2_Field_Display.php +37 -10
- vendor/CMB2/includes/CMB2_Hookup_Base.php +37 -2
- vendor/CMB2/includes/CMB2_JS.php +59 -13
- vendor/CMB2/includes/CMB2_Options.php +29 -16
- vendor/CMB2/includes/CMB2_Options_Hookup.php +289 -0
- vendor/CMB2/includes/CMB2_Sanitize.php +50 -9
- vendor/CMB2/includes/CMB2_Show_Filters.php +5 -2
- vendor/CMB2/includes/CMB2_Types.php +59 -26
- vendor/CMB2/includes/CMB2_Utils.php +112 -47
- vendor/CMB2/includes/CMB2_hookup.php +155 -43
- vendor/CMB2/includes/helper-functions.php +58 -26
- vendor/CMB2/includes/index.php +1 -1
- vendor/CMB2/includes/rest-api/CMB2_REST.php +40 -13
- vendor/CMB2/includes/rest-api/CMB2_REST_Controller.php +38 -18
- vendor/CMB2/includes/rest-api/CMB2_REST_Controller_Boxes.php +6 -4
- vendor/CMB2/includes/rest-api/CMB2_REST_Controller_Fields.php +17 -9
- vendor/CMB2/includes/shim/WP_REST_Controller.php +48 -20
- vendor/CMB2/includes/types/CMB2_Type_Base.php +13 -2
- vendor/CMB2/includes/types/CMB2_Type_Checkbox.php +3 -3
- vendor/CMB2/includes/types/CMB2_Type_Colorpicker.php +30 -9
- vendor/CMB2/includes/types/CMB2_Type_File.php +122 -61
- vendor/CMB2/includes/types/CMB2_Type_File_Base.php +8 -4
- vendor/CMB2/includes/types/CMB2_Type_File_List.php +9 -6
- vendor/CMB2/includes/types/CMB2_Type_Multi_Base.php +17 -14
- vendor/CMB2/includes/types/CMB2_Type_Multicheck.php +3 -3
- vendor/CMB2/includes/types/CMB2_Type_Oembed.php +7 -5
- vendor/CMB2/includes/types/CMB2_Type_Picker_Base.php +5 -4
- vendor/CMB2/includes/types/CMB2_Type_Radio.php +3 -3
- vendor/CMB2/includes/types/CMB2_Type_Select.php +2 -2
- vendor/CMB2/includes/types/CMB2_Type_Select_Timezone.php +2 -2
- vendor/CMB2/includes/types/CMB2_Type_Taxonomy_Base.php +73 -3
- vendor/CMB2/includes/types/CMB2_Type_Taxonomy_Multicheck.php +57 -35
- vendor/CMB2/includes/types/CMB2_Type_Taxonomy_Multicheck_Hierarchical.php +46 -0
- vendor/CMB2/includes/types/CMB2_Type_Taxonomy_Radio.php +74 -63
- vendor/CMB2/includes/types/CMB2_Type_Taxonomy_Radio_Hierarchical.php +45 -0
- vendor/CMB2/includes/types/CMB2_Type_Taxonomy_Select.php +27 -16
- vendor/CMB2/includes/types/CMB2_Type_Text.php +4 -3
- vendor/CMB2/includes/types/CMB2_Type_Text_Date.php +3 -3
- vendor/CMB2/includes/types/CMB2_Type_Text_Datetime_Timestamp.php +3 -3
- vendor/CMB2/includes/types/CMB2_Type_Text_Datetime_Timestamp_Timezone.php +3 -3
- vendor/CMB2/includes/types/CMB2_Type_Text_Time.php +3 -3
- vendor/CMB2/includes/types/CMB2_Type_Textarea.php +4 -3
- vendor/CMB2/includes/types/CMB2_Type_Textarea_Code.php +5 -4
- vendor/CMB2/includes/types/CMB2_Type_Title.php +3 -2
- vendor/CMB2/includes/types/CMB2_Type_Wysiwyg.php +5 -5
- vendor/CMB2/index.php +1 -2
- vendor/CMB2/init.php +41 -33
- vendor/CMB2/js/cmb2-wysiwyg.js +14 -3
- vendor/CMB2/js/cmb2.js +123 -95
- vendor/CMB2/js/cmb2.min.js +1 -1
- vendor/CMB2/js/index.php +1 -1
- vendor/CMB2/js/wp-color-picker-alpha.js +496 -0
- vendor/CMB2/js/wp-color-picker-alpha.min.js +11 -0
- vendor/CMB2/languages/cmb2-ach.po +1 -1
- vendor/CMB2/languages/cmb2-af.po +1 -1
- vendor/CMB2/languages/cmb2-an.po +1 -1
- vendor/CMB2/languages/cmb2-ar.po +2 -2
- vendor/CMB2/languages/cmb2-ary.po +2 -2
- vendor/CMB2/languages/cmb2-as.po +1 -1
- vendor/CMB2/languages/cmb2-az.po +1 -1
- vendor/CMB2/languages/cmb2-be.po +1 -1
- vendor/CMB2/languages/cmb2-bg.po +1 -1
- vendor/CMB2/languages/cmb2-bg_BG.po +1 -1
- vendor/CMB2/languages/cmb2-bn_BD.po +1 -1
- vendor/CMB2/languages/cmb2-br.po +1 -1
- vendor/CMB2/languages/cmb2-bs.po +1 -1
- vendor/CMB2/languages/cmb2-bs_BA.po +1 -1
- vendor/CMB2/languages/cmb2-ca.mo +0 -0
- vendor/CMB2/languages/cmb2-ca.po +4 -4
- vendor/CMB2/languages/cmb2-co.po +1 -1
- vendor/CMB2/languages/cmb2-cs_CZ.po +1 -1
- vendor/CMB2/languages/cmb2-cy.po +1 -1
- vendor/CMB2/languages/cmb2-da_DK.po +1 -1
- vendor/CMB2/languages/cmb2-de_AT.po +1 -1
- vendor/CMB2/languages/cmb2-de_CH.po +2 -2
- vendor/CMB2/languages/cmb2-de_DE.po +2 -2
- vendor/CMB2/languages/cmb2-dv.po +1 -1
- vendor/CMB2/languages/cmb2-el.po +1 -1
- vendor/CMB2/languages/cmb2-en@pirate.po +1 -1
- vendor/CMB2/languages/cmb2-en_AU.po +1 -1
- vendor/CMB2/languages/cmb2-en_CA.po +1 -1
- vendor/CMB2/languages/cmb2-en_GB.po +1 -1
- vendor/CMB2/languages/cmb2-eo.po +1 -1
- vendor/CMB2/languages/cmb2-es_AR.po +1 -1
- vendor/CMB2/languages/cmb2-es_CL.po +1 -1
- vendor/CMB2/languages/cmb2-es_CO.po +1 -1
- vendor/CMB2/languages/cmb2-es_ES.po +2 -2
- vendor/CMB2/languages/cmb2-es_MX.po +1 -1
- vendor/CMB2/languages/cmb2-es_PE.po +1 -1
- vendor/CMB2/languages/cmb2-es_VE.po +1 -1
- vendor/CMB2/languages/cmb2-et.po +1 -1
- vendor/CMB2/languages/cmb2-eu.po +1 -1
- vendor/CMB2/languages/cmb2-fa.po +1 -1
- vendor/CMB2/languages/cmb2-fa_IR.mo +0 -0
- vendor/CMB2/languages/cmb2-fa_IR.po +110 -101
- vendor/CMB2/languages/cmb2-fi.po +2 -2
- vendor/CMB2/languages/cmb2-fo.po +1 -1
- vendor/CMB2/languages/cmb2-fr_BE.po +1 -1
- vendor/CMB2/languages/cmb2-fr_CA.po +1 -1
- vendor/CMB2/languages/cmb2-fr_FR.po +2 -2
- vendor/CMB2/languages/cmb2-fy.po +1 -1
- vendor/CMB2/languages/cmb2-ga.po +1 -1
- vendor/CMB2/languages/cmb2-gd.po +1 -1
- vendor/CMB2/languages/cmb2-gl_ES.po +1 -1
- vendor/CMB2/languages/cmb2-gu_IN.po +1 -1
- vendor/CMB2/languages/cmb2-he_IL.po +1 -1
- vendor/CMB2/languages/cmb2-hi_IN.po +1 -1
- vendor/CMB2/languages/cmb2-hr.po +1 -1
- vendor/CMB2/languages/cmb2-hu_HU.po +1 -1
- vendor/CMB2/languages/cmb2-hy.po +1 -1
- vendor/CMB2/languages/cmb2-id_ID.po +2 -2
- vendor/CMB2/languages/cmb2-is_IS.po +1 -1
- vendor/CMB2/languages/cmb2-it_IT.mo +0 -0
- vendor/CMB2/languages/cmb2-it_IT.po +206 -164
- vendor/CMB2/languages/cmb2-ja.po +1 -1
- vendor/CMB2/languages/cmb2-jv.po +1 -1
- vendor/CMB2/languages/cmb2-ka.po +1 -1
- vendor/CMB2/languages/cmb2-ka_GE.po +1 -1
- vendor/CMB2/languages/cmb2-kk.po +1 -1
- vendor/CMB2/languages/cmb2-km.po +1 -1
- vendor/CMB2/languages/cmb2-kn.po +1 -1
- vendor/CMB2/languages/cmb2-ko_KR.po +1 -1
- vendor/CMB2/languages/cmb2-ku.po +1 -1
- vendor/CMB2/languages/cmb2-ky.po +1 -1
- vendor/CMB2/languages/cmb2-lo.po +1 -1
- vendor/CMB2/languages/cmb2-lt_LT.po +2 -2
- vendor/CMB2/languages/cmb2-lv.po +1 -1
- vendor/CMB2/languages/cmb2-mg.po +1 -1
- vendor/CMB2/languages/cmb2-mk_MK.po +1 -1
- vendor/CMB2/languages/cmb2-mn.po +1 -1
- vendor/CMB2/languages/cmb2-mr.po +1 -1
- vendor/CMB2/languages/cmb2-ms_MY.po +2 -2
- vendor/CMB2/languages/cmb2-my_MM.po +1 -1
- vendor/CMB2/languages/cmb2-nb_NO.po +1 -1
- vendor/CMB2/languages/cmb2-ne_NP.po +1 -1
- vendor/CMB2/languages/cmb2-nl_BE.po +1 -1
- vendor/CMB2/languages/cmb2-nl_NL.po +1 -1
- vendor/CMB2/languages/cmb2-nn_NO.po +1 -1
- vendor/CMB2/languages/cmb2-oc.po +1 -1
- vendor/CMB2/languages/cmb2-os.po +1 -1
- vendor/CMB2/languages/cmb2-pap.po +1 -1
- vendor/CMB2/languages/cmb2-pl_PL.po +1 -1
- vendor/CMB2/languages/cmb2-ps.po +1 -1
- vendor/CMB2/languages/cmb2-pt_BR.po +2 -2
- vendor/CMB2/languages/cmb2-pt_PT.mo.orig +0 -0
- vendor/CMB2/languages/cmb2-pt_PT.po +2 -2
- vendor/CMB2/languages/cmb2-ro_RO.po +1 -1
- vendor/CMB2/languages/cmb2-ru_RU.po +2 -2
- vendor/CMB2/languages/cmb2-sa.po +1 -1
- vendor/CMB2/languages/cmb2-sah.po +1 -1
- vendor/CMB2/languages/cmb2-si_LK.po +1 -1
- vendor/CMB2/languages/cmb2-sk_SK.po +1 -1
- vendor/CMB2/languages/cmb2-sl_SI.po +1 -1
- vendor/CMB2/languages/cmb2-so.po +1 -1
- vendor/CMB2/languages/cmb2-sq.po +1 -1
- vendor/CMB2/languages/cmb2-sr_RS.po +1 -1
- vendor/CMB2/languages/cmb2-su.po +1 -1
- vendor/CMB2/languages/cmb2-sv_SE.po +2 -2
- vendor/CMB2/languages/cmb2-sw.po +1 -1
- vendor/CMB2/languages/cmb2-ta_IN.po +1 -1
- vendor/CMB2/languages/cmb2-ta_LK.po +1 -1
- vendor/CMB2/languages/cmb2-te.po +1 -1
- vendor/CMB2/languages/cmb2-tg.po +1 -1
- vendor/CMB2/languages/cmb2-th.po +1 -1
- vendor/CMB2/languages/cmb2-tk_TM.po +1 -1
- vendor/CMB2/languages/cmb2-tl.po +1 -1
- vendor/CMB2/languages/cmb2-tr_TR.po +1 -1
- vendor/CMB2/languages/cmb2-tzm.po +1 -1
- vendor/CMB2/languages/cmb2-ug.po +1 -1
- vendor/CMB2/languages/cmb2-uk.po +1 -1
- vendor/CMB2/languages/cmb2-ur.po +1 -1
- vendor/CMB2/languages/cmb2-ur_PK.po +1 -1
- vendor/CMB2/languages/cmb2-uz.po +1 -1
- vendor/CMB2/languages/cmb2-vi.po +1 -1
- vendor/CMB2/languages/cmb2-zh_CN.po +1 -1
- vendor/CMB2/languages/cmb2-zh_HK.po +1 -1
- vendor/CMB2/languages/cmb2-zh_TW.po +1 -1
- vendor/CMB2/languages/cmb2.pot +203 -181
- vendor/autoload.php +7 -0
- vendor/composer/ClassLoader.php +413 -0
- vendor/composer/LICENSE +21 -0
- vendor/composer/autoload_classmap.php +9 -0
- vendor/composer/autoload_namespaces.php +9 -0
- vendor/composer/autoload_psr4.php +11 -0
- vendor/composer/autoload_real.php +45 -0
- vendor/composer/installed.json +131 -0
- vendor/constantcontact/guzzlehttp/guzzle/Makefile +0 -50
- vendor/constantcontact/guzzlehttp/guzzle/phpunit.xml.dist +0 -17
- vendor/constantcontact/guzzlehttp/guzzle/src/BatchResults.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Client.php +7 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/ClientInterface.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Collection.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Cookie/CookieJar.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Cookie/SetCookie.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Event/AbstractEvent.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Event/AbstractRequestEvent.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Event/AbstractRetryableEvent.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Event/AbstractTransferEvent.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Event/BeforeEvent.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Event/CompleteEvent.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Event/Emitter.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Event/EmitterInterface.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Event/EndEvent.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Event/ErrorEvent.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Event/EventInterface.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Event/HasEmitterInterface.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Event/HasEmitterTrait.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Event/ListenerAttacherTrait.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Event/ProgressEvent.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Event/RequestEvents.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Event/SubscriberInterface.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Exception/BadResponseException.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Exception/ClientException.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Exception/ConnectException.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Exception/CouldNotRewindStreamException.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Exception/ParseException.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Exception/RequestException.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Exception/ServerException.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Exception/StateException.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Exception/TransferException.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Exception/XmlParseException.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/HasDataTrait.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Message/AbstractMessage.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Message/AppliesHeadersInterface.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Message/FutureResponse.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Message/MessageFactory.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Message/MessageFactoryInterface.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Message/MessageInterface.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Message/MessageParser.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Message/Request.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Message/RequestInterface.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Message/Response.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Message/ResponseInterface.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Mimetypes.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Pool.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Post/MultipartBody.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Post/PostBody.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Post/PostBodyInterface.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Post/PostFile.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Post/PostFileInterface.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Query.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/QueryParser.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/RequestFsm.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/RingBridge.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Subscriber/Cookie.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Subscriber/History.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Subscriber/HttpError.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Subscriber/Mock.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Subscriber/Prepare.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Subscriber/Redirect.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/ToArrayInterface.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Transaction.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/UriTemplate.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Url.php +0 -0
- vendor/constantcontact/guzzlehttp/guzzle/src/Utils.php +4 -0
- vendor/monolog/monolog/.php_cs +59 -0
- vendor/monolog/monolog/CHANGELOG.mdown +317 -0
- vendor/monolog/monolog/LICENSE +19 -0
- vendor/monolog/monolog/README.mdown +95 -0
- vendor/monolog/monolog/composer.json +66 -0
- vendor/monolog/monolog/composer.lock +1850 -0
- vendor/monolog/monolog/doc/01-usage.md +54 -0
assets/css/admin-pages.css
CHANGED
@@ -337,3 +337,15 @@
|
|
337 |
#cmb2-metabox-ctct_option_metabox_settings .regular-text {
|
338 |
width: 500px;
|
339 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
337 |
#cmb2-metabox-ctct_option_metabox_settings .regular-text {
|
338 |
width: 500px;
|
339 |
}
|
340 |
+
|
341 |
+
.cmb2-options-page #ctct_option_metabox_settings .cmb2-metabox > .cmb-row {
|
342 |
+
background: transparent;
|
343 |
+
border: none;
|
344 |
+
box-shadow: none;
|
345 |
+
}
|
346 |
+
|
347 |
+
.ctct-body #ctct_error_logs {
|
348 |
+
height: 400px;
|
349 |
+
resize: vertical;
|
350 |
+
width: 100%;
|
351 |
+
}
|
assets/js/ctct-plugin-admin.js
CHANGED
@@ -419,6 +419,7 @@ window.CTCTModal = {};
|
|
419 |
modalClose: $( '.ctct-modal-close' ),
|
420 |
textareaModal: $( '#ctct-custom-textarea-modal' ),
|
421 |
textareaLink: $( '#ctct-open-textarea-info' ),
|
|
|
422 |
};
|
423 |
};
|
424 |
|
@@ -442,6 +443,28 @@ window.CTCTModal = {};
|
|
442 |
app.$c.textareaLink.on('click', function(){
|
443 |
app.$c.textareaModal.addClass( 'ctct-modal-open' );
|
444 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
445 |
};
|
446 |
|
447 |
// Engage
|
@@ -464,16 +487,16 @@ window.CTCTNewsletter = {};
|
|
464 |
// Connect page.
|
465 |
$('.ctct-body #subscribe').on('submit', function (event) {
|
466 |
event.preventDefault();
|
467 |
-
|
468 |
var $ctctNewsWrapper = $("#subscribe .ctct-call-to-action"),
|
469 |
ctctNewsForm = $(".ctct-body #subscribe")[0];
|
470 |
|
471 |
var ctctEmailField = $(".ctct-call-to-action input[type='text']")[0],
|
472 |
-
|
473 |
|
474 |
if (ctctEmailField.validity.valid === true) {
|
475 |
$("<iframe>", {
|
476 |
-
"src" :
|
477 |
"height": 0,
|
478 |
"width" : 0,
|
479 |
"style" : "display: none;"
|
@@ -494,11 +517,11 @@ console.log('connect');
|
|
494 |
ctctNewsForm = $(".ctct-section #subscribe")[0];
|
495 |
|
496 |
var ctctEmailField = $(".ctct-section #subscribe input[type='text']")[0],
|
497 |
-
|
498 |
|
499 |
if (ctctEmailField.validity.valid === true) {
|
500 |
$("<iframe>", {
|
501 |
-
"src" :
|
502 |
"height": 0,
|
503 |
"width" : 0,
|
504 |
"style" : "display: none;"
|
419 |
modalClose: $( '.ctct-modal-close' ),
|
420 |
textareaModal: $( '#ctct-custom-textarea-modal' ),
|
421 |
textareaLink: $( '#ctct-open-textarea-info' ),
|
422 |
+
deleteLogLink: $( '#deletelog' )
|
423 |
};
|
424 |
};
|
425 |
|
443 |
app.$c.textareaLink.on('click', function(){
|
444 |
app.$c.textareaModal.addClass( 'ctct-modal-open' );
|
445 |
});
|
446 |
+
app.$c.deleteLogLink.on( 'click', function( event ) {
|
447 |
+
event.preventDefault();
|
448 |
+
|
449 |
+
// Get the link that was clicked on so we can redirect to it if the user confirms.
|
450 |
+
var delete_log_link = jQuery( this ).attr( 'href' );
|
451 |
+
|
452 |
+
jQuery( "#confirmdelete" ).dialog({
|
453 |
+
resizable: false,
|
454 |
+
height : "auto",
|
455 |
+
width : 400,
|
456 |
+
modal : true,
|
457 |
+
buttons : {
|
458 |
+
"Yes": function () {
|
459 |
+
// If the user confirms the action, redirect them to the deletion page.
|
460 |
+
window.location.replace( delete_log_link );
|
461 |
+
},
|
462 |
+
Cancel: function () {
|
463 |
+
jQuery( this ).dialog( "close" );
|
464 |
+
}
|
465 |
+
}
|
466 |
+
});
|
467 |
+
} );
|
468 |
};
|
469 |
|
470 |
// Engage
|
487 |
// Connect page.
|
488 |
$('.ctct-body #subscribe').on('submit', function (event) {
|
489 |
event.preventDefault();
|
490 |
+
|
491 |
var $ctctNewsWrapper = $("#subscribe .ctct-call-to-action"),
|
492 |
ctctNewsForm = $(".ctct-body #subscribe")[0];
|
493 |
|
494 |
var ctctEmailField = $(".ctct-call-to-action input[type='text']")[0],
|
495 |
+
subscribeEndpoint = event.target.action;
|
496 |
|
497 |
if (ctctEmailField.validity.valid === true) {
|
498 |
$("<iframe>", {
|
499 |
+
"src" : subscribeEndpoint + "?" + $(ctctNewsForm).serialize(),
|
500 |
"height": 0,
|
501 |
"width" : 0,
|
502 |
"style" : "display: none;"
|
517 |
ctctNewsForm = $(".ctct-section #subscribe")[0];
|
518 |
|
519 |
var ctctEmailField = $(".ctct-section #subscribe input[type='text']")[0],
|
520 |
+
subscribeEndpoint = event.target.action;
|
521 |
|
522 |
if (ctctEmailField.validity.valid === true) {
|
523 |
$("<iframe>", {
|
524 |
+
"src" : subscribeEndpoint + "?" + $(ctctNewsForm).serialize(),
|
525 |
"height": 0,
|
526 |
"width" : 0,
|
527 |
"style" : "display: none;"
|
assets/js/ctct-plugin-admin.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
window.CTCTAJAX={},function(t,
|
1 |
+
window.CTCTAJAX={},function(t,e,n){n.init=function(){n.handleOptinAJAX(),n.handleReviewAJAX()},n.handleOptinAJAX=function(){e("#ctct_admin_notice_tracking_optin").on("click",function(n){var c={action:"constant_contact_optin_ajax_handler",optin:e(this).is(":checked")?"on":"off"};e.ajax({url:ajaxurl,data:c,dataType:"json",success:function(t){},error:function(e,n,c){t.console&&console.log([n,c])}}),e("#ctct-privacy-modal").toggleClass("ctct-modal-open")}),e("#ctct-connect-ga-optin a").on("click",function(n){var c={action:"constant_contact_optin_ajax_handler",optin:e(this).attr("data-allow")};e.ajax({url:ajaxurl,data:c,dataType:"json",success:function(t){e(".ctct-connected-opt-in").hide()},error:function(e,n,c){t.console&&console.log([n,c])}})}),e("#_ctct_data_tracking").on("click",function(t){e("#ctct-privacy-modal").toggleClass("ctct-modal-open")}),e(".ctct-modal-close").on("click",function(t){e("#_ctct_data_tracking").is(":checked")&&e("#_ctct_data_tracking").attr("checked",!1)}),e("#ctct-modal-footer-privacy a").on("click",function(n){var c={action:"constant_contact_privacy_ajax_handler",privacy_agree:e(this).attr("data-agree")};e.ajax({url:ajaxurl,data:c,dataType:"json",success:function(t){e("#ctct-privacy-modal").toggleClass("ctct-modal-open"),"false"===c.privacy_agree&&e("#_ctct_data_tracking").is(":checked")&&e("#_ctct_data_tracking").attr("checked",!1)},error:function(e,n,c){t.console&&console.log([n,c])}})})},n.handleReviewAJAX=function(){e("#ctct-admin-notice-review_request").on("click","a",function(n){var c="dismissed";e(this).hasClass("ctct-review")&&(c="reviewed");var i={action:"constant_contact_review_ajax_handler","ctct-review-action":c};e.ajax({url:ajaxurl,data:i,dataType:"json",success:function(c){t.console&&console.log(c),n.preventDefault(),e("#ctct-admin-notice-review_request").hide()},error:function(e,n,c){t.console&&console.log([n,c])}})})},e(n.init)}(window,jQuery,window.CTCTAJAX),window.CTCTBuilder={},function(t,e,n){n.init=function(){e("#cmb2-metabox-ctct_2_fields_metabox option[value='email']:selected").length&&e("#ctct-no-email-error").remove(),n.cache(),n.bindEvents(),n.selectBinds(),n.modifyFields(),e("#ctct_0_description_metabox h2.hndle").removeClass("ui-sortable-handle, hndle"),e("head").append('<style> #cmb2-metabox-ctct_2_fields_metabox a.move-up::after { content: "'+ctct_texts.move_up+'" } #cmb2-metabox-ctct_2_fields_metabox a.move-down::after { content: "'+ctct_texts.move_down+'" }</style>')},n.cache=function(){n.$c={window:e(t),body:e("body")},n.isLeaveWarningBound=!1},n.bindLeaveWarning=function(){n.isLeaveWarningBound||(e(t).bind("beforeunload",function(){return ctct_texts.leavewarning}),n.isLeaveWarningBound=!0)},n.unbindLeaveWarning=function(){e(t).unbind("beforeunload")},n.bindEvents=function(){e("#post").submit(function(){e(".ctct-email-disabled").removeClass("disabled").prop("disabled",!1),n.unbindLeaveWarning()}),e(".cmb2-wrap input, .cmb2-wrap textarea").on("input",function(){"undefined"!=typeof tinyMCE&&n.bindLeaveWarning()}),e(document).on("cmb2_shift_rows_complete",function(){n.modifyFields(),n.bindLeaveWarning(),n.removeDuplicateMappings()}),e(document).on("cmb2_add_row",function(t){e("#custom_fields_group_repeat .postbox").last().find(".map select").val("none"),n.modifyFields(),n.selectBinds(),n.removeDuplicateMappings()}),n.removeDuplicateMappings()},n.selectBinds=function(){e("#cmb2-metabox-ctct_2_fields_metabox .cmb2_select").change(function(){n.modifyFields(),n.removeDuplicateMappings(),n.bindLeaveWarning()})},n.modifyFields=function(){var n=!1;e("#cmb2-metabox-ctct_2_fields_metabox #custom_fields_group_repeat .cmb-repeatable-grouping").each(function(c,i){var o=e(this).find(".cmb-field-list"),a=e(o).find(".cmb-remove-group-row"),l=e(o).find(".required input[type=checkbox]"),s=l.closest(".cmb-row"),d=e(o).find(".map select option:selected"),r=d.text(),u=e(this).find("h3"),p=e(this).find("input[name*='_ctct_field_label']"),_=e(this).find("input[name*='_ctct_field_desc']");if(u.text(r),0===p.val().length?p.val(r).addClass("ctct-label-filled"):p.addClass("ctct-label-filled"),n||"email"!==e(d).val()?(e(i).find("select").removeClass("disabled ctct-email-disabled").prop("disabled",!1),s.show(),a.show()):(n=!0,l.prop("checked",!0),e(i).find("select").addClass("disabled ctct-email-disabled").prop("disabled",!0),s.hide(),a.hide()),t.ctct_admin_placeholders){var m=t.ctct_admin_placeholders[e(i).find("select").val()];m&&m.length&&_.length?_.attr("placeholder","Example: "+m):t.ctct_admin_placeholders["default"]&&_.attr("placeholder",t.ctct_admin_placeholders["default"])}})},n.removeDuplicateMappings=function(){var t=[],n="#cmb2-metabox-ctct_2_fields_metabox #custom_fields_group_repeat .cmb-repeatable-grouping select",c=e(n);c.each(function(n,c){t.push(e(c).val())}),c.children().show(),t.forEach(function(t){"custom_text_area"!=t&&"custom"!=t&&e(n+" option[value="+t+"]:not( :selected )").hide()})},e(n.init)}(window,jQuery,window.CTCTBuilder),window.CTCTForms={},function(t,e,n){n.init=function(){n.cache(),n.bindEvents()},n.cache=function(){n.$c={window:e(t),body:e("body"),disconnect:".ctct-disconnect"}},n.bindEvents=function(){e(n.$c.disconnect).on("click",function(t){confirm(ctct_texts.disconnectconfirm)})},e(n.init)}(window,jQuery,window.CTCTForms),window.CTCTModal={},function(t,e,n){n.init=function(){n.cache(),n.bindEvents()},n.cache=function(){n.$c={window:e(t),modalSelector:e(".ctct-modal"),modalClose:e(".ctct-modal-close"),textareaModal:e("#ctct-custom-textarea-modal"),textareaLink:e("#ctct-open-textarea-info"),deleteLogLink:e("#deletelog")}},n.bindEvents=function(){n.$c.modalClose.click(function(){n.$c.modalSelector.removeClass("ctct-modal-open"),n.$c.modalSelector.hasClass("ctct-custom-textarea-modal")||jQuery.ajax({type:"post",dataType:"json",url:ajaxurl,data:{action:"ctct_dismiss_first_modal",ctct_is_dismissed:"true"}})}),n.$c.textareaLink.on("click",function(){n.$c.textareaModal.addClass("ctct-modal-open")}),n.$c.deleteLogLink.on("click",function(e){e.preventDefault();var n=jQuery(this).attr("href");jQuery("#confirmdelete").dialog({resizable:!1,height:"auto",width:400,modal:!0,buttons:{Yes:function(){t.location.replace(n)},Cancel:function(){jQuery(this).dialog("close")}}})})},e(n.init)}(window,jQuery,window.CTCTModal),window.CTCTNewsletter={},function(t,e,n){n.init=function(){n.submitNewsletter()},e(n.init),n.submitNewsletter=function(){e(".ctct-body #subscribe").on("submit",function(t){t.preventDefault();var n=e("#subscribe .ctct-call-to-action"),c=e(".ctct-body #subscribe")[0],i=e(".ctct-call-to-action input[type='text']")[0],o=t.target.action;i.validity.valid===!0?(e("<iframe>",{src:o+"?"+e(c).serialize(),height:0,width:0,style:"display: none;"}).appendTo(n),e("#subbutton").val("Thanks for signing up").css({"background-color":"rgb(1, 128, 0)",color:"rgb(255,255,255)"}),e("#subscribe .ctct-call-to-action-text").css({width:"70%"})):e("#subbutton").val("Error occurred")}),e(".ctct-section #subscribe").on("submit",function(t){t.preventDefault();var n=e(".section-marketing-tips"),c=e(".ctct-section #subscribe")[0],i=e(".ctct-section #subscribe input[type='text']")[0],o=t.target.action;i.validity.valid===!0?(e("<iframe>",{src:o+"?"+e(c).serialize(),height:0,width:0,style:"display: none;"}).appendTo(n),e("#subbutton").val("Thanks for signing up").css({"background-color":"rgb(1, 128, 0)"})):e("#subbutton").val("Error occurred")})}}(window,jQuery,window.CTCTNewsletter),window.CTCT_OptIns={},function(t,e,n){n.init=function(){n.cache(),n.bindEvents()},n.cache=function(){n.$c={optin_no_conn:e("#cmb2-metabox-ctct_1_optin_metabox #_ctct_opt_in_not_connected"),list:e("#cmb2-metabox-ctct_0_list_metabox #_ctct_list"),title:e("#cmb2-metabox-ctct_1_optin_metabox .cmb2-id-email-optin-title"),optin:e("#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in"),instruct:e("#cmb2-metabox-ctct_1_optin_metabox .cmb2-id--ctct-opt-in-instructions")}},n.bindEvents=function(){n.$c.optin_no_conn.length&&(n.toggleNoConnectionFields(),n.$c.optin_no_conn.change(function(){n.toggleNoConnectionFields()})),n.$c.list.length&&(n.toggleConnectionFields(),n.$c.list.change(function(){n.toggleConnectionFields()}))},n.toggleNoConnectionFields=function(){n.$c.optin_no_conn.prop("checked")?n.$c.instruct.slideDown():n.$c.instruct.slideUp()},n.toggleConnectionFields=function(){""!=n.$c.list.val()?(n.$c.title.slideDown(),n.$c.optin.slideDown(),n.$c.instruct.slideDown()):(n.$c.title.slideUp(),n.$c.optin.slideUp(),n.$c.instruct.slideUp())},e(n.init)}(window,jQuery,window.CTCT_OptIns);
|
assets/js/ctct-plugin-admin/modal.js
CHANGED
@@ -15,6 +15,7 @@ window.CTCTModal = {};
|
|
15 |
modalClose: $( '.ctct-modal-close' ),
|
16 |
textareaModal: $( '#ctct-custom-textarea-modal' ),
|
17 |
textareaLink: $( '#ctct-open-textarea-info' ),
|
|
|
18 |
};
|
19 |
};
|
20 |
|
@@ -38,6 +39,28 @@ window.CTCTModal = {};
|
|
38 |
app.$c.textareaLink.on('click', function(){
|
39 |
app.$c.textareaModal.addClass( 'ctct-modal-open' );
|
40 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
};
|
42 |
|
43 |
// Engage
|
15 |
modalClose: $( '.ctct-modal-close' ),
|
16 |
textareaModal: $( '#ctct-custom-textarea-modal' ),
|
17 |
textareaLink: $( '#ctct-open-textarea-info' ),
|
18 |
+
deleteLogLink: $( '#deletelog' )
|
19 |
};
|
20 |
};
|
21 |
|
39 |
app.$c.textareaLink.on('click', function(){
|
40 |
app.$c.textareaModal.addClass( 'ctct-modal-open' );
|
41 |
});
|
42 |
+
app.$c.deleteLogLink.on( 'click', function( event ) {
|
43 |
+
event.preventDefault();
|
44 |
+
|
45 |
+
// Get the link that was clicked on so we can redirect to it if the user confirms.
|
46 |
+
var delete_log_link = jQuery( this ).attr( 'href' );
|
47 |
+
|
48 |
+
jQuery( "#confirmdelete" ).dialog({
|
49 |
+
resizable: false,
|
50 |
+
height : "auto",
|
51 |
+
width : 400,
|
52 |
+
modal : true,
|
53 |
+
buttons : {
|
54 |
+
"Yes": function () {
|
55 |
+
// If the user confirms the action, redirect them to the deletion page.
|
56 |
+
window.location.replace( delete_log_link );
|
57 |
+
},
|
58 |
+
Cancel: function () {
|
59 |
+
jQuery( this ).dialog( "close" );
|
60 |
+
}
|
61 |
+
}
|
62 |
+
});
|
63 |
+
} );
|
64 |
};
|
65 |
|
66 |
// Engage
|
assets/js/ctct-plugin-admin/newsletter.js
CHANGED
@@ -13,16 +13,16 @@ window.CTCTNewsletter = {};
|
|
13 |
// Connect page.
|
14 |
$('.ctct-body #subscribe').on('submit', function (event) {
|
15 |
event.preventDefault();
|
16 |
-
|
17 |
var $ctctNewsWrapper = $("#subscribe .ctct-call-to-action"),
|
18 |
ctctNewsForm = $(".ctct-body #subscribe")[0];
|
19 |
|
20 |
var ctctEmailField = $(".ctct-call-to-action input[type='text']")[0],
|
21 |
-
|
22 |
|
23 |
if (ctctEmailField.validity.valid === true) {
|
24 |
$("<iframe>", {
|
25 |
-
"src" :
|
26 |
"height": 0,
|
27 |
"width" : 0,
|
28 |
"style" : "display: none;"
|
@@ -43,11 +43,11 @@ console.log('connect');
|
|
43 |
ctctNewsForm = $(".ctct-section #subscribe")[0];
|
44 |
|
45 |
var ctctEmailField = $(".ctct-section #subscribe input[type='text']")[0],
|
46 |
-
|
47 |
|
48 |
if (ctctEmailField.validity.valid === true) {
|
49 |
$("<iframe>", {
|
50 |
-
"src" :
|
51 |
"height": 0,
|
52 |
"width" : 0,
|
53 |
"style" : "display: none;"
|
13 |
// Connect page.
|
14 |
$('.ctct-body #subscribe').on('submit', function (event) {
|
15 |
event.preventDefault();
|
16 |
+
|
17 |
var $ctctNewsWrapper = $("#subscribe .ctct-call-to-action"),
|
18 |
ctctNewsForm = $(".ctct-body #subscribe")[0];
|
19 |
|
20 |
var ctctEmailField = $(".ctct-call-to-action input[type='text']")[0],
|
21 |
+
subscribeEndpoint = event.target.action;
|
22 |
|
23 |
if (ctctEmailField.validity.valid === true) {
|
24 |
$("<iframe>", {
|
25 |
+
"src" : subscribeEndpoint + "?" + $(ctctNewsForm).serialize(),
|
26 |
"height": 0,
|
27 |
"width" : 0,
|
28 |
"style" : "display: none;"
|
43 |
ctctNewsForm = $(".ctct-section #subscribe")[0];
|
44 |
|
45 |
var ctctEmailField = $(".ctct-section #subscribe input[type='text']")[0],
|
46 |
+
subscribeEndpoint = event.target.action;
|
47 |
|
48 |
if (ctctEmailField.validity.valid === true) {
|
49 |
$("<iframe>", {
|
50 |
+
"src" : subscribeEndpoint + "?" + $(ctctNewsForm).serialize(),
|
51 |
"height": 0,
|
52 |
"width" : 0,
|
53 |
"style" : "display: none;"
|
assets/sass/admin-pages.scss
CHANGED
@@ -317,3 +317,19 @@
|
|
317 |
width: 500px;
|
318 |
}
|
319 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
317 |
width: 500px;
|
318 |
}
|
319 |
}
|
320 |
+
.cmb2-options-page {
|
321 |
+
#ctct_option_metabox_settings {
|
322 |
+
.cmb2-metabox > .cmb-row {
|
323 |
+
background: transparent;
|
324 |
+
border: none;
|
325 |
+
box-shadow: none;
|
326 |
+
}
|
327 |
+
}
|
328 |
+
}
|
329 |
+
.ctct-body {
|
330 |
+
#ctct_error_logs {
|
331 |
+
height: 400px;
|
332 |
+
resize: vertical;
|
333 |
+
width: 100%;
|
334 |
+
}
|
335 |
+
}
|
constant-contact-forms.php
CHANGED
@@ -12,7 +12,7 @@
|
|
12 |
* Plugin Name: Constant Contact Forms for WordPress
|
13 |
* Plugin URI: https://www.constantcontact.com
|
14 |
* Description: Be a better marketer. All it takes is Constant Contact email marketing.
|
15 |
-
* Version: 1.3.
|
16 |
* Author: Constant Contact
|
17 |
* Author URI: https://www.constantcontact.com/index?pn=miwordpress
|
18 |
* License: GPLv3
|
@@ -77,7 +77,7 @@ class Constant_Contact {
|
|
77 |
* @since 1.0.0
|
78 |
* @var string
|
79 |
*/
|
80 |
-
const VERSION = '1.3.
|
81 |
|
82 |
/**
|
83 |
* URL of plugin directory.
|
@@ -119,6 +119,8 @@ class Constant_Contact {
|
|
119 |
*/
|
120 |
public $menu_icon = 'dashicons-megaphone';
|
121 |
|
|
|
|
|
122 |
/**
|
123 |
* Does site support encrpytions?
|
124 |
*
|
@@ -287,6 +289,14 @@ class Constant_Contact {
|
|
287 |
*/
|
288 |
private $customizations;
|
289 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
290 |
/**
|
291 |
* An instance of the ConstantContact_Admin Class.
|
292 |
*
|
@@ -353,9 +363,10 @@ class Constant_Contact {
|
|
353 |
$this->plugin_name = __( 'Constant Contact', 'constant-contact-forms' );
|
354 |
|
355 |
// Set up some helper properties.
|
356 |
-
$this->basename
|
357 |
-
$this->url
|
358 |
-
$this->path
|
|
|
359 |
|
360 |
if ( ! $this->meets_php_requirements() ) {
|
361 |
add_action( 'admin_notices', array( $this, 'minimum_version' ) );
|
@@ -367,7 +378,7 @@ class Constant_Contact {
|
|
367 |
$this->admin_plugin_classes();
|
368 |
|
369 |
// Include our helper functions function for end-users.
|
370 |
-
|
371 |
}
|
372 |
|
373 |
/**
|
@@ -403,6 +414,7 @@ class Constant_Contact {
|
|
403 |
$this->authserver = new ConstantContact_Middleware( $this );
|
404 |
$this->updates = new ConstantContact_Updates( $this );
|
405 |
$this->optin = new ConstantContact_Optin( $this );
|
|
|
406 |
$this->customizations = new ConstantContact_User_Customizations( $this );
|
407 |
}
|
408 |
|
@@ -504,6 +516,8 @@ class Constant_Contact {
|
|
504 |
|
505 |
// Set an array of libraries we need to load.
|
506 |
$libs = array(
|
|
|
|
|
507 |
'CMB2/init.php',
|
508 |
'constantcontact/autoload.php',
|
509 |
'constantcontact/constantcontact/constantcontact/src/Ctct/autoload.php',
|
@@ -747,7 +761,7 @@ class Constant_Contact {
|
|
747 |
* @return array Amended body classes.
|
748 |
*/
|
749 |
public function body_classes( $classes = array() ) {
|
750 |
-
$theme
|
751 |
$classes[] = "ctct-{$theme}"; // Prefixing for user knowledge of source.
|
752 |
|
753 |
return $classes;
|
@@ -797,8 +811,8 @@ class Constant_Contact {
|
|
797 |
}
|
798 |
add_action( 'plugins_loaded', array( constant_contact(), 'hooks' ) );
|
799 |
|
800 |
-
register_activation_hook( __FILE__
|
801 |
-
register_deactivation_hook( __FILE__
|
802 |
|
803 |
/**
|
804 |
* Grab the Constant_Contact object and return it.
|
12 |
* Plugin Name: Constant Contact Forms for WordPress
|
13 |
* Plugin URI: https://www.constantcontact.com
|
14 |
* Description: Be a better marketer. All it takes is Constant Contact email marketing.
|
15 |
+
* Version: 1.3.7
|
16 |
* Author: Constant Contact
|
17 |
* Author URI: https://www.constantcontact.com/index?pn=miwordpress
|
18 |
* License: GPLv3
|
77 |
* @since 1.0.0
|
78 |
* @var string
|
79 |
*/
|
80 |
+
const VERSION = '1.3.7';
|
81 |
|
82 |
/**
|
83 |
* URL of plugin directory.
|
119 |
*/
|
120 |
public $menu_icon = 'dashicons-megaphone';
|
121 |
|
122 |
+
public $logger_location = '';
|
123 |
+
|
124 |
/**
|
125 |
* Does site support encrpytions?
|
126 |
*
|
289 |
*/
|
290 |
private $customizations;
|
291 |
|
292 |
+
/**
|
293 |
+
* An instance of the ConstantContact_Logging Class.
|
294 |
+
*
|
295 |
+
* @since 1.3.7
|
296 |
+
* @var ConstantContact_Logging
|
297 |
+
*/
|
298 |
+
private $logging;
|
299 |
+
|
300 |
/**
|
301 |
* An instance of the ConstantContact_Admin Class.
|
302 |
*
|
363 |
$this->plugin_name = __( 'Constant Contact', 'constant-contact-forms' );
|
364 |
|
365 |
// Set up some helper properties.
|
366 |
+
$this->basename = plugin_basename( __FILE__ );
|
367 |
+
$this->url = plugin_dir_url( __FILE__ );
|
368 |
+
$this->path = plugin_dir_path( __FILE__ );
|
369 |
+
$this->logger_location = WP_CONTENT_DIR . '/ctct-logs/constant-contact-errors.log';
|
370 |
|
371 |
if ( ! $this->meets_php_requirements() ) {
|
372 |
add_action( 'admin_notices', array( $this, 'minimum_version' ) );
|
378 |
$this->admin_plugin_classes();
|
379 |
|
380 |
// Include our helper functions function for end-users.
|
381 |
+
self::include_file( 'helper-functions', false );
|
382 |
}
|
383 |
|
384 |
/**
|
414 |
$this->authserver = new ConstantContact_Middleware( $this );
|
415 |
$this->updates = new ConstantContact_Updates( $this );
|
416 |
$this->optin = new ConstantContact_Optin( $this );
|
417 |
+
$this->logging = new ConstantContact_Logging( $this );
|
418 |
$this->customizations = new ConstantContact_User_Customizations( $this );
|
419 |
}
|
420 |
|
516 |
|
517 |
// Set an array of libraries we need to load.
|
518 |
$libs = array(
|
519 |
+
'psr/log/vendor/autoload.php',
|
520 |
+
'monolog/monolog/vendor/autoload.php',
|
521 |
'CMB2/init.php',
|
522 |
'constantcontact/autoload.php',
|
523 |
'constantcontact/constantcontact/constantcontact/src/Ctct/autoload.php',
|
761 |
* @return array Amended body classes.
|
762 |
*/
|
763 |
public function body_classes( $classes = array() ) {
|
764 |
+
$theme = wp_get_theme()->template;
|
765 |
$classes[] = "ctct-{$theme}"; // Prefixing for user knowledge of source.
|
766 |
|
767 |
return $classes;
|
811 |
}
|
812 |
add_action( 'plugins_loaded', array( constant_contact(), 'hooks' ) );
|
813 |
|
814 |
+
register_activation_hook( __FILE__, array( constant_contact(), '_activate' ) );
|
815 |
+
register_deactivation_hook( __FILE__, array( constant_contact(), '_deactivate' ) );
|
816 |
|
817 |
/**
|
818 |
* Grab the Constant_Contact object and return it.
|
includes/class-admin-pages.php
CHANGED
@@ -282,14 +282,15 @@ class ConstantContact_Admin_Pages {
|
|
282 |
|
283 |
<div class="ctct-section section-marketing-tips">
|
284 |
<?php /* @todo Move to its own function/method. */ ?>
|
285 |
-
<form id="subscribe" accept-charset="utf-8" action="https://
|
286 |
<input class="button button-blue right" id="subbutton" type="submit" value="<?php esc_attr_e( 'Sign Up', 'constant-contact-forms' ); ?>">
|
287 |
<h1 class="about-header"><?php esc_html_e( 'Email marketing tips delivered to your inbox.', 'constant-contact-forms' ); ?></h1>
|
288 |
<p><?php esc_html_e( 'Ready to grow with email marketing? Subscribe now for the latest tips and industry best practices to create great-looking emails that work.', 'constant-contact-forms' ); ?></p>
|
289 |
<p><input id="subbox" maxlength="255" name="email" type="text" placeholder="<?php esc_attr_e( 'Enter your email address', 'constant-contact-forms' ); ?>">
|
290 |
</p>
|
291 |
-
<input name="sub" type="hidden" value="3"
|
292 |
-
<input name="method" type="hidden" value="
|
|
|
293 |
|
294 |
</form>
|
295 |
<small><?php printf( __( 'By submitting this form, you agree to receive periodic product announcements and account notifications from Constant Contact. Cancel these communications at any time by clicking the unsubscribe link in the footer of the actual email. Constant Contact, Inc, 1601 Trapelo Road, Waltham, MA 02451, %s', 'constant-contact-forms' ), '<a href="https://www.constantcontact.com">www.constantcontact.com</a>' ); ?></small>
|
282 |
|
283 |
<div class="ctct-section section-marketing-tips">
|
284 |
<?php /* @todo Move to its own function/method. */ ?>
|
285 |
+
<form id="subscribe" accept-charset="utf-8" action="https://cloud.c.constantcontact.com/jmmlsubscriptions/coi_verify" method="get" target="_blank">
|
286 |
<input class="button button-blue right" id="subbutton" type="submit" value="<?php esc_attr_e( 'Sign Up', 'constant-contact-forms' ); ?>">
|
287 |
<h1 class="about-header"><?php esc_html_e( 'Email marketing tips delivered to your inbox.', 'constant-contact-forms' ); ?></h1>
|
288 |
<p><?php esc_html_e( 'Ready to grow with email marketing? Subscribe now for the latest tips and industry best practices to create great-looking emails that work.', 'constant-contact-forms' ); ?></p>
|
289 |
<p><input id="subbox" maxlength="255" name="email" type="text" placeholder="<?php esc_attr_e( 'Enter your email address', 'constant-contact-forms' ); ?>">
|
290 |
</p>
|
291 |
+
<input name="sub" type="hidden" value="3" />
|
292 |
+
<input name="method" type="hidden" value="JMML" />
|
293 |
+
<input name="page" type="hidden" value="Sub3_Prospect" />
|
294 |
|
295 |
</form>
|
296 |
<small><?php printf( __( 'By submitting this form, you agree to receive periodic product announcements and account notifications from Constant Contact. Cancel these communications at any time by clicking the unsubscribe link in the footer of the actual email. Constant Contact, Inc, 1601 Trapelo Road, Waltham, MA 02451, %s', 'constant-contact-forms' ), '<a href="https://www.constantcontact.com">www.constantcontact.com</a>' ); ?></small>
|
includes/class-admin.php
CHANGED
@@ -290,7 +290,7 @@ class ConstantContact_Admin {
|
|
290 |
get_the_title( $list->ID )
|
291 |
);
|
292 |
} else {
|
293 |
-
|
294 |
}
|
295 |
break;
|
296 |
}
|
290 |
get_the_title( $list->ID )
|
291 |
);
|
292 |
} else {
|
293 |
+
esc_html_e( 'No associated form', 'constant-contact-forms' );
|
294 |
}
|
295 |
break;
|
296 |
}
|
includes/class-api.php
CHANGED
@@ -10,7 +10,6 @@
|
|
10 |
|
11 |
use Ctct\ConstantContact;
|
12 |
use Ctct\Components\Contacts\Contact;
|
13 |
-
use Ctct\Components\Contacts\Contacts;
|
14 |
use Ctct\Components\Contacts\ContactList;
|
15 |
use Ctct\Exceptions\CtctException;
|
16 |
|
@@ -131,7 +130,7 @@ class ConstantContact_API {
|
|
131 |
// Make sure we got a response before trying to save our transient.
|
132 |
if ( $acct_data ) {
|
133 |
// Save our data to a transient for a day.
|
134 |
-
set_transient( 'constant_contact_acct_info', $acct_data, 1 *
|
135 |
}
|
136 |
} catch ( CtctException $ex ) {
|
137 |
$this->log_errors( $ex->getErrors() );
|
@@ -417,11 +416,12 @@ class ConstantContact_API {
|
|
417 |
$response = $this->cc()->contactService->getContacts( $api_token, array( 'email' => $email ) );
|
418 |
|
419 |
if ( isset( $response->results ) && ! empty( $response->results ) ) {
|
|
|
420 |
// Update the existing contact if address already existed.
|
421 |
$return_contact = $this->_update_contact( $response, $api_token, $list, $new_contact, $form_id );
|
422 |
|
423 |
} else {
|
424 |
-
|
425 |
// Create a new contact if one does not exist.
|
426 |
$return_contact = $this->_create_contact( $api_token, $list, $email, $new_contact, $form_id );
|
427 |
}
|
@@ -434,7 +434,7 @@ class ConstantContact_API {
|
|
434 |
|
435 |
|
436 |
/**
|
437 |
-
* Helper method to
|
438 |
*
|
439 |
* @since 1.0.0
|
440 |
* @since 1.3.0 Added $form_id parameter.
|
@@ -458,7 +458,11 @@ class ConstantContact_API {
|
|
458 |
$contact->addList( esc_attr( $list ) );
|
459 |
|
460 |
// Map the rest of our properties to.
|
461 |
-
|
|
|
|
|
|
|
|
|
462 |
|
463 |
/*
|
464 |
* See: http://developer.constantcontact.com/docs/contacts-api/contacts-index.html#opt_in
|
@@ -502,7 +506,11 @@ class ConstantContact_API {
|
|
502 |
$contact->addList( esc_attr( $list ) );
|
503 |
|
504 |
// Set the rest of our properties.
|
505 |
-
|
|
|
|
|
|
|
|
|
506 |
|
507 |
/*
|
508 |
* See: http://developer.constantcontact.com/docs/contacts-api/contacts-index.html#opt_in array( 'action_by' => 'ACTION_BY_VISITOR' )
|
@@ -529,13 +537,15 @@ class ConstantContact_API {
|
|
529 |
* @param object $contact Contact object.
|
530 |
* @param array $user_data Bunch of user data.
|
531 |
* @param string $form_id Form ID being processed.
|
|
|
532 |
* @return object Contact object, with new properties.
|
533 |
*/
|
534 |
public function set_contact_properties( $contact, $user_data, $form_id ) {
|
535 |
-
|
536 |
// First, verify we have what we need.
|
537 |
if ( ! is_object( $contact ) || ! is_array( $user_data ) ) {
|
538 |
-
|
|
|
|
|
539 |
}
|
540 |
|
541 |
// Remove some values we don't need.
|
@@ -562,10 +572,6 @@ class ConstantContact_API {
|
|
562 |
switch ( $key ) {
|
563 |
case 'email':
|
564 |
case 'website':
|
565 |
-
case 'g-recaptcha-response':
|
566 |
-
case 'ctct_usage_field':
|
567 |
-
case 'ctct_time':
|
568 |
-
case 'ctct_must_opt_in':
|
569 |
// Do nothing, as we already captured.
|
570 |
break;
|
571 |
case 'phone_number':
|
@@ -621,7 +627,7 @@ class ConstantContact_API {
|
|
621 |
// Retrieve our original label to send with API request.
|
622 |
$original_field_data = $this->plugin->process_form->get_original_fields( $form_id );
|
623 |
$custom_field_name = '';
|
624 |
-
$should_include = apply_filters( 'constant_contact_include_custom_field_label', false );
|
625 |
if ( false !== strpos( $original, 'custom___' ) && $should_include ) {
|
626 |
$custom_field = ( $original_field_data[ $original ] );
|
627 |
$custom_field_name .= $custom_field['name'] . ': ';
|
@@ -660,7 +666,7 @@ class ConstantContact_API {
|
|
660 |
try {
|
661 |
$contact->$key = $value;
|
662 |
} catch ( Exception $e ) {
|
663 |
-
|
664 |
break;
|
665 |
}
|
666 |
|
@@ -708,11 +714,11 @@ class ConstantContact_API {
|
|
708 |
return false;
|
709 |
}
|
710 |
|
711 |
-
|
712 |
-
|
713 |
-
|
714 |
-
|
715 |
-
|
716 |
|
717 |
// Otherwise work through our list of error keys we know.
|
718 |
switch ( $error->error_key ) {
|
@@ -855,6 +861,10 @@ class ConstantContact_API {
|
|
855 |
unset( $disclosure['address'] );
|
856 |
}
|
857 |
|
|
|
|
|
|
|
|
|
858 |
return $as_parts ? $disclosure : implode( ', ', array_values( $disclosure ) );
|
859 |
}
|
860 |
}
|
10 |
|
11 |
use Ctct\ConstantContact;
|
12 |
use Ctct\Components\Contacts\Contact;
|
|
|
13 |
use Ctct\Components\Contacts\ContactList;
|
14 |
use Ctct\Exceptions\CtctException;
|
15 |
|
130 |
// Make sure we got a response before trying to save our transient.
|
131 |
if ( $acct_data ) {
|
132 |
// Save our data to a transient for a day.
|
133 |
+
set_transient( 'constant_contact_acct_info', $acct_data, 1 * HOUR_IN_SECONDS );
|
134 |
}
|
135 |
} catch ( CtctException $ex ) {
|
136 |
$this->log_errors( $ex->getErrors() );
|
416 |
$response = $this->cc()->contactService->getContacts( $api_token, array( 'email' => $email ) );
|
417 |
|
418 |
if ( isset( $response->results ) && ! empty( $response->results ) ) {
|
419 |
+
constant_contact_maybe_log_it( 'API', 'Contact set to be updated', array( 'form' => get_the_title( $form_id ) ) );
|
420 |
// Update the existing contact if address already existed.
|
421 |
$return_contact = $this->_update_contact( $response, $api_token, $list, $new_contact, $form_id );
|
422 |
|
423 |
} else {
|
424 |
+
constant_contact_maybe_log_it( 'API', 'Contact set to be created', array( 'form' => get_the_title( $form_id ) ) );
|
425 |
// Create a new contact if one does not exist.
|
426 |
$return_contact = $this->_create_contact( $api_token, $list, $email, $new_contact, $form_id );
|
427 |
}
|
434 |
|
435 |
|
436 |
/**
|
437 |
+
* Helper method to create contact.
|
438 |
*
|
439 |
* @since 1.0.0
|
440 |
* @since 1.3.0 Added $form_id parameter.
|
458 |
$contact->addList( esc_attr( $list ) );
|
459 |
|
460 |
// Map the rest of our properties to.
|
461 |
+
try {
|
462 |
+
$contact = $this->set_contact_properties( $contact, $user_data, $form_id );
|
463 |
+
} catch ( CtctException $ex ) {
|
464 |
+
$this->log_errors( $ex->getErrors() );
|
465 |
+
}
|
466 |
|
467 |
/*
|
468 |
* See: http://developer.constantcontact.com/docs/contacts-api/contacts-index.html#opt_in
|
506 |
$contact->addList( esc_attr( $list ) );
|
507 |
|
508 |
// Set the rest of our properties.
|
509 |
+
try {
|
510 |
+
$contact = $this->set_contact_properties( $contact, $user_data, $form_id );
|
511 |
+
} catch ( CtctException $ex ) {
|
512 |
+
$this->log_errors( $ex->getErrors() );
|
513 |
+
}
|
514 |
|
515 |
/*
|
516 |
* See: http://developer.constantcontact.com/docs/contacts-api/contacts-index.html#opt_in array( 'action_by' => 'ACTION_BY_VISITOR' )
|
537 |
* @param object $contact Contact object.
|
538 |
* @param array $user_data Bunch of user data.
|
539 |
* @param string $form_id Form ID being processed.
|
540 |
+
* @throws CtctException $error An exception error.
|
541 |
* @return object Contact object, with new properties.
|
542 |
*/
|
543 |
public function set_contact_properties( $contact, $user_data, $form_id ) {
|
|
|
544 |
// First, verify we have what we need.
|
545 |
if ( ! is_object( $contact ) || ! is_array( $user_data ) ) {
|
546 |
+
$error = new CtctException();
|
547 |
+
$error->setErrors( array( 'type', esc_html__( 'Not a valid contact to set properties to.', 'constant-contact-forms' ) ) );
|
548 |
+
throw $error;
|
549 |
}
|
550 |
|
551 |
// Remove some values we don't need.
|
572 |
switch ( $key ) {
|
573 |
case 'email':
|
574 |
case 'website':
|
|
|
|
|
|
|
|
|
575 |
// Do nothing, as we already captured.
|
576 |
break;
|
577 |
case 'phone_number':
|
627 |
// Retrieve our original label to send with API request.
|
628 |
$original_field_data = $this->plugin->process_form->get_original_fields( $form_id );
|
629 |
$custom_field_name = '';
|
630 |
+
$should_include = apply_filters( 'constant_contact_include_custom_field_label', false, $form_id );
|
631 |
if ( false !== strpos( $original, 'custom___' ) && $should_include ) {
|
632 |
$custom_field = ( $original_field_data[ $original ] );
|
633 |
$custom_field_name .= $custom_field['name'] . ': ';
|
666 |
try {
|
667 |
$contact->$key = $value;
|
668 |
} catch ( Exception $e ) {
|
669 |
+
$this->log_errors( $e->getErrors() );
|
670 |
break;
|
671 |
}
|
672 |
|
714 |
return false;
|
715 |
}
|
716 |
|
717 |
+
constant_contact_maybe_log_it(
|
718 |
+
'API',
|
719 |
+
$error->error_key . ': ' . $error->error_message,
|
720 |
+
$error
|
721 |
+
);
|
722 |
|
723 |
// Otherwise work through our list of error keys we know.
|
724 |
switch ( $error->error_key ) {
|
861 |
unset( $disclosure['address'] );
|
862 |
}
|
863 |
|
864 |
+
if ( ! empty( $account_info->website ) ) {
|
865 |
+
$disclosure['website'] = $account_info->website;
|
866 |
+
}
|
867 |
+
|
868 |
return $as_parts ? $disclosure : implode( ', ', array_values( $disclosure ) );
|
869 |
}
|
870 |
}
|
includes/class-connect.php
CHANGED
@@ -178,7 +178,7 @@ class ConstantContact_Connect {
|
|
178 |
wp_enqueue_script( 'ctct_form' );
|
179 |
?>
|
180 |
<div class="wrap cmb2-options-page <?php echo esc_attr( $this->key ); ?>">
|
181 |
-
<img class="ctct-logo" src="<?php echo esc_url( constant_contact()->url . 'assets/images/constant-contact-logo.png' ); ?>">
|
182 |
<div class="ctct-body">
|
183 |
<?php if ( constantcontact_api()->get_api_token() ) : ?>
|
184 |
|
@@ -263,14 +263,15 @@ class ConstantContact_Connect {
|
|
263 |
<a class="button button-orange" href="<?php echo esc_url_raw( add_query_arg( array( 'rmc' => 'wp_connect_try' ), constant_contact()->api->get_signup_link() ) ); ?>"><?php esc_attr_e( 'Try us Free', 'constant-contact-forms' ); ?></a>
|
264 |
</div>
|
265 |
|
266 |
-
<form id="subscribe" accept-charset="utf-8" action="https://
|
267 |
<div class="ctct-call-to-action">
|
268 |
<div class="ctct-call-to-action-text">
|
269 |
<h3><?php esc_html_e( 'Email marketing tips delivered to your inbox.', 'constant-contact-forms' ); ?></h3>
|
270 |
<p><?php esc_html_e( 'Ready to grow with email marketing? Subscribe now for the latest tips and industry best practices to create great-looking emails that work.', 'constant-contact-forms' ); ?></p>
|
271 |
<input id="subbox" maxlength="255" name="email" type="text" placeholder="<?php esc_attr_e( 'Enter your email address', 'constant-contact-forms' ); ?>">
|
272 |
-
<input name="sub" type="hidden" value="3"
|
273 |
-
<input name="method" type="hidden" value="
|
|
|
274 |
|
275 |
<p><small><?php
|
276 |
// translators: placeholder will hold ConstantContact.com link.
|
178 |
wp_enqueue_script( 'ctct_form' );
|
179 |
?>
|
180 |
<div class="wrap cmb2-options-page <?php echo esc_attr( $this->key ); ?>">
|
181 |
+
<img class="ctct-logo" src="<?php echo esc_url( constant_contact()->url . 'assets/images/constant-contact-logo.png' ); ?>" alt="<?php esc_attr_e( 'Constant Contact logo', 'constant-contact-forms' ); ?>">
|
182 |
<div class="ctct-body">
|
183 |
<?php if ( constantcontact_api()->get_api_token() ) : ?>
|
184 |
|
263 |
<a class="button button-orange" href="<?php echo esc_url_raw( add_query_arg( array( 'rmc' => 'wp_connect_try' ), constant_contact()->api->get_signup_link() ) ); ?>"><?php esc_attr_e( 'Try us Free', 'constant-contact-forms' ); ?></a>
|
264 |
</div>
|
265 |
|
266 |
+
<form id="subscribe" accept-charset="utf-8" action="https://cloud.c.constantcontact.com/jmmlsubscriptions/coi_verify" method="get" target="_blank">
|
267 |
<div class="ctct-call-to-action">
|
268 |
<div class="ctct-call-to-action-text">
|
269 |
<h3><?php esc_html_e( 'Email marketing tips delivered to your inbox.', 'constant-contact-forms' ); ?></h3>
|
270 |
<p><?php esc_html_e( 'Ready to grow with email marketing? Subscribe now for the latest tips and industry best practices to create great-looking emails that work.', 'constant-contact-forms' ); ?></p>
|
271 |
<input id="subbox" maxlength="255" name="email" type="text" placeholder="<?php esc_attr_e( 'Enter your email address', 'constant-contact-forms' ); ?>">
|
272 |
+
<input name="sub" type="hidden" value="3" />
|
273 |
+
<input name="method" type="hidden" value="JMML" />
|
274 |
+
<input name="page" type="hidden" value="Sub3_Prospect" />
|
275 |
|
276 |
<p><small><?php
|
277 |
// translators: placeholder will hold ConstantContact.com link.
|
includes/class-display.php
CHANGED
@@ -287,6 +287,7 @@ class ConstantContact_Display {
|
|
287 |
|
288 |
// Start our wrapper return var.
|
289 |
$return = '';
|
|
|
290 |
|
291 |
// Check to see if we have a form ID for the form, and display our description.
|
292 |
if ( isset( $form_data['options'] ) && isset( $form_data['options']['form_id'] ) ) {
|
@@ -303,7 +304,7 @@ class ConstantContact_Display {
|
|
303 |
|
304 |
// Loop through each of our form fields and output it.
|
305 |
foreach ( $form_data['fields'] as $key => $value ) {
|
306 |
-
$return .= $this->field( $value, $old_values, $req_errors );
|
307 |
}
|
308 |
|
309 |
// Check to see if we have an opt-in for the form, and display it.
|
@@ -386,9 +387,10 @@ class ConstantContact_Display {
|
|
386 |
* @param array $field Field data.
|
387 |
* @param array $old_values Original values.
|
388 |
* @param array $req_errors Errors.
|
|
|
389 |
* @return string HTML markup
|
390 |
*/
|
391 |
-
public function field( $field, $old_values = array(), $req_errors = array() ) {
|
392 |
|
393 |
// If we don't have a name or a mapping, it will be hard to do things.
|
394 |
if ( ! isset( $field['name'] ) || ! isset( $field['map_to'] ) ) {
|
@@ -462,7 +464,7 @@ class ConstantContact_Display {
|
|
462 |
case 'company':
|
463 |
case 'website':
|
464 |
case 'text_field':
|
465 |
-
return $this->input( 'text', $name, $map, $value, $desc, $req, false, $field_error );
|
466 |
break;
|
467 |
case 'custom_text_area':
|
468 |
return $this->textarea( $name, $map, $value, $desc, $req, $field_error, 'maxlength="500"' );
|
@@ -727,9 +729,10 @@ class ConstantContact_Display {
|
|
727 |
* @param boolean $req If field required.
|
728 |
* @param boolean $f_only If we only return the field itself, with no label.
|
729 |
* @param boolean $field_error Field error.
|
|
|
730 |
* @return string HTML markup for field.
|
731 |
*/
|
732 |
-
public function input( $type = 'text', $name = '', $id = '', $value = '', $label = '', $req = false, $f_only = false, $field_error = false ) {
|
733 |
|
734 |
// Sanitize our stuff / set values.
|
735 |
$name = sanitize_text_field( $name );
|
@@ -762,7 +765,7 @@ class ConstantContact_Display {
|
|
762 |
*
|
763 |
* @param bool $value Whether or not to truncate. Default false.
|
764 |
*/
|
765 |
-
$truncate_max_length = apply_filters( 'constant_contact_include_custom_field_label', false );
|
766 |
$max_length = '';
|
767 |
if ( false !== strpos( $id, 'custom___' ) ) {
|
768 |
$max_length = ( $truncate_max_length ) ? $this->get_max_length_attr( $name ) : $this->get_max_length_attr();
|
@@ -1354,11 +1357,21 @@ class ConstantContact_Display {
|
|
1354 |
*/
|
1355 |
public function get_inner_disclose_text() {
|
1356 |
// translators: placeholder will hold company info for site owner.
|
1357 |
-
return sprintf(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1358 |
}
|
1359 |
|
1360 |
public function get_max_length_attr( $optional_label = '' ) {
|
1361 |
-
$length =
|
1362 |
$label_length = 0;
|
1363 |
if ( ! empty( $optional_label ) ) {
|
1364 |
$label_length = mb_strlen( $optional_label );
|
287 |
|
288 |
// Start our wrapper return var.
|
289 |
$return = '';
|
290 |
+
$form_id = 0;
|
291 |
|
292 |
// Check to see if we have a form ID for the form, and display our description.
|
293 |
if ( isset( $form_data['options'] ) && isset( $form_data['options']['form_id'] ) ) {
|
304 |
|
305 |
// Loop through each of our form fields and output it.
|
306 |
foreach ( $form_data['fields'] as $key => $value ) {
|
307 |
+
$return .= $this->field( $value, $old_values, $req_errors, $form_id );
|
308 |
}
|
309 |
|
310 |
// Check to see if we have an opt-in for the form, and display it.
|
387 |
* @param array $field Field data.
|
388 |
* @param array $old_values Original values.
|
389 |
* @param array $req_errors Errors.
|
390 |
+
* @param int $form_id Current form ID.
|
391 |
* @return string HTML markup
|
392 |
*/
|
393 |
+
public function field( $field, $old_values = array(), $req_errors = array(), $form_id = 0 ) {
|
394 |
|
395 |
// If we don't have a name or a mapping, it will be hard to do things.
|
396 |
if ( ! isset( $field['name'] ) || ! isset( $field['map_to'] ) ) {
|
464 |
case 'company':
|
465 |
case 'website':
|
466 |
case 'text_field':
|
467 |
+
return $this->input( 'text', $name, $map, $value, $desc, $req, false, $field_error, $form_id );
|
468 |
break;
|
469 |
case 'custom_text_area':
|
470 |
return $this->textarea( $name, $map, $value, $desc, $req, $field_error, 'maxlength="500"' );
|
729 |
* @param boolean $req If field required.
|
730 |
* @param boolean $f_only If we only return the field itself, with no label.
|
731 |
* @param boolean $field_error Field error.
|
732 |
+
* @param int $form_id Current form ID.
|
733 |
* @return string HTML markup for field.
|
734 |
*/
|
735 |
+
public function input( $type = 'text', $name = '', $id = '', $value = '', $label = '', $req = false, $f_only = false, $field_error = false, $form_id = 0 ) {
|
736 |
|
737 |
// Sanitize our stuff / set values.
|
738 |
$name = sanitize_text_field( $name );
|
765 |
*
|
766 |
* @param bool $value Whether or not to truncate. Default false.
|
767 |
*/
|
768 |
+
$truncate_max_length = apply_filters( 'constant_contact_include_custom_field_label', false, $form_id );
|
769 |
$max_length = '';
|
770 |
if ( false !== strpos( $id, 'custom___' ) ) {
|
771 |
$max_length = ( $truncate_max_length ) ? $this->get_max_length_attr( $name ) : $this->get_max_length_attr();
|
1357 |
*/
|
1358 |
public function get_inner_disclose_text() {
|
1359 |
// translators: placeholder will hold company info for site owner.
|
1360 |
+
return sprintf(
|
1361 |
+
__(
|
1362 |
+
'By submitting this form, you are consenting to receive marketing emails from: %s. You can revoke your consent to receive emails at any time by using the SafeUnsubscribe® link, found at the bottom of every email. %s', 'constant-contact-forms'
|
1363 |
+
),
|
1364 |
+
$this->plugin->api->get_disclosure_info(),
|
1365 |
+
sprintf(
|
1366 |
+
'<a href="%s" target="_blank">%s</a>',
|
1367 |
+
esc_url( 'https://www.constantcontact.com/legal/service-provider' ),
|
1368 |
+
esc_html__( 'Emails are serviced by Constant Contact', 'constant-contact-forms' )
|
1369 |
+
)
|
1370 |
+
);
|
1371 |
}
|
1372 |
|
1373 |
public function get_max_length_attr( $optional_label = '' ) {
|
1374 |
+
$length = 48; // Two less than 50char custom field limit for ": "
|
1375 |
$label_length = 0;
|
1376 |
if ( ! empty( $optional_label ) ) {
|
1377 |
$label_length = mb_strlen( $optional_label );
|
includes/class-logging.php
ADDED
@@ -0,0 +1,223 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Logging
|
4 |
+
*
|
5 |
+
* @package ConstantContact
|
6 |
+
* @subpackage Logging
|
7 |
+
* @author Constant Contact
|
8 |
+
* @since 1.3.7
|
9 |
+
*/
|
10 |
+
|
11 |
+
|
12 |
+
class ConstantContact_Logging {
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Option key, and option page slug.
|
16 |
+
*
|
17 |
+
* @since 1.3.7
|
18 |
+
* @var string
|
19 |
+
*/
|
20 |
+
private $key = 'ctct_options_logging';
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Parent plugin class.
|
24 |
+
*
|
25 |
+
* @since 1.3.7
|
26 |
+
* @var object
|
27 |
+
*/
|
28 |
+
protected $plugin = null;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Logging admin page URL.
|
32 |
+
*
|
33 |
+
* @since 1.3.7
|
34 |
+
* @var string
|
35 |
+
*/
|
36 |
+
public $options_url = '';
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Options page.
|
40 |
+
*
|
41 |
+
* @since 1.3.7
|
42 |
+
* @var string
|
43 |
+
*/
|
44 |
+
public $options_page = '';
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Constructor.
|
48 |
+
*
|
49 |
+
* @since 1.3.7
|
50 |
+
*
|
51 |
+
* @param object $plugin Parent class.
|
52 |
+
*/
|
53 |
+
public function __construct( $plugin ) {
|
54 |
+
$this->plugin = $plugin;
|
55 |
+
$this->options_url = admin_url( 'edit.php?post_type=ctct_forms&page=ctct_options_logging' );
|
56 |
+
$this->hooks();
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Initiate our hooks.
|
61 |
+
*
|
62 |
+
* @since 1.3.7
|
63 |
+
*/
|
64 |
+
public function hooks() {
|
65 |
+
add_action( 'admin_menu', array( $this, 'add_options_page' ) );
|
66 |
+
add_action( 'admin_init', array( $this, 'delete_log_file' ) );
|
67 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'scripts' ) );
|
68 |
+
add_action( 'admin_footer', array( $this, 'dialog' ) );
|
69 |
+
}
|
70 |
+
|
71 |
+
/**
|
72 |
+
* Add our jQuery UI elements for dialog confirmation.
|
73 |
+
*
|
74 |
+
* @since 1.3.7
|
75 |
+
*/
|
76 |
+
public function scripts() {
|
77 |
+
wp_enqueue_script( 'jquery-ui-core' );
|
78 |
+
wp_enqueue_script( 'jquery-ui-dialog' );
|
79 |
+
wp_enqueue_style( 'wp-jquery-ui-dialog' );
|
80 |
+
}
|
81 |
+
|
82 |
+
public function dialog() {
|
83 |
+
?>
|
84 |
+
<div id="confirmdelete" style="display:none;">
|
85 |
+
<?php esc_html_e( 'Are you sure you want to delete current logs?', 'constant-contact-forms' ); ?>
|
86 |
+
</div>
|
87 |
+
<?php
|
88 |
+
}
|
89 |
+
|
90 |
+
/**
|
91 |
+
* Add menu options page.
|
92 |
+
*
|
93 |
+
* @since 1.3.7
|
94 |
+
*/
|
95 |
+
public function add_options_page() {
|
96 |
+
|
97 |
+
$debugging_enabled = ctct_get_settings_option( '_ctct_logging' );
|
98 |
+
|
99 |
+
if ( 'on' !== $debugging_enabled ) {
|
100 |
+
return;
|
101 |
+
}
|
102 |
+
|
103 |
+
$connect_title = esc_html__( 'Debug logs', 'constant-contact-forms' );
|
104 |
+
$connect_link = 'edit.php?post_type=ctct_forms';
|
105 |
+
|
106 |
+
// Set up our page.
|
107 |
+
$this->options_page = add_submenu_page(
|
108 |
+
$connect_link,
|
109 |
+
$connect_title,
|
110 |
+
$connect_title,
|
111 |
+
'manage_options',
|
112 |
+
$this->key,
|
113 |
+
array( $this, 'admin_page_display' )
|
114 |
+
);
|
115 |
+
}
|
116 |
+
|
117 |
+
/**
|
118 |
+
* Admin page markup.
|
119 |
+
*
|
120 |
+
* @since 1.3.7
|
121 |
+
*
|
122 |
+
* @return mixed page markup or false if not admin.
|
123 |
+
*/
|
124 |
+
public function admin_page_display() {
|
125 |
+
|
126 |
+
wp_enqueue_style( 'constant-contact-oath', constant_contact()->url() . 'assets/css/oath.css' );
|
127 |
+
|
128 |
+
?>
|
129 |
+
<div class="wrap <?php echo esc_attr( $this->key ); ?>">
|
130 |
+
<img class="ctct-logo" src="<?php echo esc_url( constant_contact()->url . 'assets/images/constant-contact-logo.png' ); ?>" alt="<?php esc_attr_e( 'Constant Contact logo', 'constant-contact-forms' ); ?>">
|
131 |
+
<div class="ctct-body">
|
132 |
+
<?php
|
133 |
+
$contents = '';
|
134 |
+
$log_location = '#';
|
135 |
+
|
136 |
+
if ( ! file_exists( constant_contact()->logger_location ) ) {
|
137 |
+
$contents .= esc_html__( 'No error log exists', 'constant-contact-forms' );
|
138 |
+
} else {
|
139 |
+
// logger location from primary class is server path and not URL path. Thus we go this route for moment.
|
140 |
+
$log_location = content_url() . '/ctct-logs/constant-contact-errors.log';
|
141 |
+
$log_content = wp_remote_get( $log_location );
|
142 |
+
if ( is_wp_error( $log_content ) ) {
|
143 |
+
$contents .= sprintf(
|
144 |
+
// translators: placeholder wil have error message.
|
145 |
+
esc_html__(
|
146 |
+
'Log display error: %s',
|
147 |
+
'constant-contact-forms'
|
148 |
+
),
|
149 |
+
$log_content->get_error_message()
|
150 |
+
);
|
151 |
+
} else {
|
152 |
+
$contents .= wp_remote_retrieve_body( $log_content );
|
153 |
+
}
|
154 |
+
}
|
155 |
+
?>
|
156 |
+
<p><?php esc_html_e( 'Error log below can be used with support requests to help identify issues with Constant Contact Forms.', 'constant-contact-forms' ); ?></p>
|
157 |
+
<p><?php esc_html_e( 'When available, you can share information by copying and pasting the content in the textarea, or by using the "Download logs" link at the end. Logs can be cleared by using the "Delete logs" link.', 'constant-contact-forms' ); ?></p>
|
158 |
+
<label><textarea name="ctct_error_logs" id="ctct_error_logs" cols="80" rows="40" onclick="this.focus();this.select();" onfocus="this.focus();this.select();" readonly="readonly" aria-readonly="true"><?php echo esc_html( $contents ); ?></textarea></label>
|
159 |
+
<?php
|
160 |
+
|
161 |
+
if ( file_exists( constant_contact()->logger_location ) ) {
|
162 |
+
if ( ! empty( $log_content ) && is_wp_error( $log_content ) ) {
|
163 |
+
?>
|
164 |
+
<p><?php esc_html_e( 'Error log may still have content, even if an error is shown above. Please use the download link below.', 'constant-contact-forms' ); ?></p>
|
165 |
+
<?php
|
166 |
+
}
|
167 |
+
?>
|
168 |
+
<p>
|
169 |
+
<?php
|
170 |
+
printf(
|
171 |
+
'<p><a href="%s" download>%s</a></p><p><a href="%s" id="deletelog">%s</a></p>',
|
172 |
+
esc_attr( $log_location ),
|
173 |
+
esc_html__( 'Download logs', 'constant-contact-forms' ),
|
174 |
+
esc_attr(
|
175 |
+
wp_nonce_url(
|
176 |
+
$this->options_url,
|
177 |
+
'ctct_delete_log',
|
178 |
+
'ctct_delete_log'
|
179 |
+
)
|
180 |
+
),
|
181 |
+
esc_html__( 'Delete logs', 'constant-contact-forms' )
|
182 |
+
);
|
183 |
+
?>
|
184 |
+
</p>
|
185 |
+
<?php
|
186 |
+
}
|
187 |
+
// @TODO Remind to turn off debugging setting when not needed.
|
188 |
+
?>
|
189 |
+
</div>
|
190 |
+
</div>
|
191 |
+
<?php
|
192 |
+
return true;
|
193 |
+
}
|
194 |
+
|
195 |
+
/**
|
196 |
+
* Delete existing log files.
|
197 |
+
*
|
198 |
+
* @since 1.3.7
|
199 |
+
*/
|
200 |
+
public function delete_log_file() {
|
201 |
+
if ( ! constant_contact()->is_constant_contact() ) {
|
202 |
+
return;
|
203 |
+
}
|
204 |
+
|
205 |
+
if ( empty( $_GET['page'] ) || 'ctct_options_logging' !== $_GET['page'] ) {
|
206 |
+
return;
|
207 |
+
}
|
208 |
+
|
209 |
+
if ( ! isset( $_GET['ctct_delete_log'] ) ) {
|
210 |
+
return;
|
211 |
+
}
|
212 |
+
|
213 |
+
check_admin_referer( 'ctct_delete_log', 'ctct_delete_log' );
|
214 |
+
|
215 |
+
$log_file = constant_contact()->logger_location;
|
216 |
+
if ( file_exists( $log_file ) ) {
|
217 |
+
unlink( $log_file );
|
218 |
+
}
|
219 |
+
|
220 |
+
wp_redirect( $this->options_url );
|
221 |
+
exit();
|
222 |
+
}
|
223 |
+
}
|
includes/class-mail.php
CHANGED
@@ -8,6 +8,11 @@
|
|
8 |
* @since 1.0.2
|
9 |
*/
|
10 |
|
|
|
|
|
|
|
|
|
|
|
11 |
/**
|
12 |
* Wrapper functions for mailing successful contact forms to the user.
|
13 |
*/
|
@@ -97,8 +102,14 @@ class ConstantContact_Mail {
|
|
97 |
constant_contact()->process_form->increment_processed_form_count();
|
98 |
|
99 |
// Skip sending e-mail if we're connected, the site owner has opted out of notification emails, and the user has opted in
|
100 |
-
if ( constant_contact()->api->is_connected() &&
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
102 |
}
|
103 |
|
104 |
// This would allow for setting each sections error and also allow for returning early again for cases
|
@@ -134,7 +145,7 @@ class ConstantContact_Mail {
|
|
134 |
* @since 1.0.0
|
135 |
*
|
136 |
* @param array $values Submitted values.
|
137 |
-
* @return object Response from API.
|
138 |
*/
|
139 |
public function opt_in_user( $values ) {
|
140 |
|
@@ -248,6 +259,7 @@ class ConstantContact_Mail {
|
|
248 |
}
|
249 |
|
250 |
$mail_key = md5( "{$destination_email}:{$content}:" . ( isset( $screen->id ) ? $screen->id : '' ) );
|
|
|
251 |
|
252 |
// If we already have sent this e-mail, don't send it again.
|
253 |
if ( $last_sent === $mail_key ) {
|
@@ -256,11 +268,11 @@ class ConstantContact_Mail {
|
|
256 |
/* translators: this is only used when some debugging is enabled */
|
257 |
__( 'Duplicate send mail for: %1$s and: %2$s', 'constant-contact-forms' ),
|
258 |
array(
|
259 |
-
$
|
260 |
$mail_key,
|
261 |
)
|
262 |
),
|
263 |
-
$
|
264 |
$mail_key
|
265 |
);
|
266 |
return true;
|
@@ -342,8 +354,6 @@ class ConstantContact_Mail {
|
|
342 |
*/
|
343 |
do_action( 'constant_contact_after_email_send', $submission_details['form_id'], $submission_details['submitted_email'], $destination_email, $content );
|
344 |
|
345 |
-
$this->maybe_log_mail_status( $mail_status, $destination_email, $content );
|
346 |
-
|
347 |
// Clean up, remove the filter we had set.
|
348 |
remove_filter( 'wp_mail_content_type', array( $this, 'set_email_type' ) );
|
349 |
|
@@ -372,17 +382,15 @@ class ConstantContact_Mail {
|
|
372 |
* @param string $status Status from wp_mail.
|
373 |
* @param string $dest_email Destination email.
|
374 |
* @param string $content Content of email.
|
|
|
375 |
*/
|
376 |
public function maybe_log_mail_status( $status, $dest_email, $content ) {
|
377 |
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
// Log content too just in case.
|
384 |
-
error_log( print_r( $content, true ) );
|
385 |
-
}
|
386 |
|
387 |
}
|
388 |
|
@@ -461,4 +469,28 @@ class ConstantContact_Mail {
|
|
461 |
|
462 |
return $content_notice;
|
463 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
464 |
}
|
8 |
* @since 1.0.2
|
9 |
*/
|
10 |
|
11 |
+
#require_once constant_contact()->path . '/vendor/autoload.php';
|
12 |
+
|
13 |
+
use Monolog\Logger;
|
14 |
+
use Monolog\Handler\StreamHandler;
|
15 |
+
|
16 |
/**
|
17 |
* Wrapper functions for mailing successful contact forms to the user.
|
18 |
*/
|
102 |
constant_contact()->process_form->increment_processed_form_count();
|
103 |
|
104 |
// Skip sending e-mail if we're connected, the site owner has opted out of notification emails, and the user has opted in
|
105 |
+
if ( constant_contact()->api->is_connected() && 'on' === ctct_get_settings_option( '_ctct_disable_email_notifications' ) ) {
|
106 |
+
if ( $add_to_opt_in ) {
|
107 |
+
return true;
|
108 |
+
}
|
109 |
+
|
110 |
+
if ( empty( $_POST['ctct_must_opt_in'] ) || ! empty( $_POST['ctct-opt-in'] ) ) {
|
111 |
+
return true;
|
112 |
+
}
|
113 |
}
|
114 |
|
115 |
// This would allow for setting each sections error and also allow for returning early again for cases
|
145 |
* @since 1.0.0
|
146 |
*
|
147 |
* @param array $values Submitted values.
|
148 |
+
* @return object|null Response from API.
|
149 |
*/
|
150 |
public function opt_in_user( $values ) {
|
151 |
|
259 |
}
|
260 |
|
261 |
$mail_key = md5( "{$destination_email}:{$content}:" . ( isset( $screen->id ) ? $screen->id : '' ) );
|
262 |
+
$partial_email = $this->get_email_part( $destination_email );
|
263 |
|
264 |
// If we already have sent this e-mail, don't send it again.
|
265 |
if ( $last_sent === $mail_key ) {
|
268 |
/* translators: this is only used when some debugging is enabled */
|
269 |
__( 'Duplicate send mail for: %1$s and: %2$s', 'constant-contact-forms' ),
|
270 |
array(
|
271 |
+
$partial_email,
|
272 |
$mail_key,
|
273 |
)
|
274 |
),
|
275 |
+
$partial_email,
|
276 |
$mail_key
|
277 |
);
|
278 |
return true;
|
354 |
*/
|
355 |
do_action( 'constant_contact_after_email_send', $submission_details['form_id'], $submission_details['submitted_email'], $destination_email, $content );
|
356 |
|
|
|
|
|
357 |
// Clean up, remove the filter we had set.
|
358 |
remove_filter( 'wp_mail_content_type', array( $this, 'set_email_type' ) );
|
359 |
|
382 |
* @param string $status Status from wp_mail.
|
383 |
* @param string $dest_email Destination email.
|
384 |
* @param string $content Content of email.
|
385 |
+
* @return void
|
386 |
*/
|
387 |
public function maybe_log_mail_status( $status, $dest_email, $content ) {
|
388 |
|
389 |
+
constant_contact_maybe_log_it(
|
390 |
+
'Mail',
|
391 |
+
'mail attempted for ' . $dest_email . ': ' . $status,
|
392 |
+
$content
|
393 |
+
);
|
|
|
|
|
|
|
394 |
|
395 |
}
|
396 |
|
469 |
|
470 |
return $content_notice;
|
471 |
}
|
472 |
+
|
473 |
+
/**
|
474 |
+
* Parse out just the first part of an email address.
|
475 |
+
*
|
476 |
+
* This method is meant to protect privacy with potential logging of email addresses.
|
477 |
+
* Instead of logging ALL of a given email address, we will just log everything before the `@`
|
478 |
+
*
|
479 |
+
* @since 1.3.7
|
480 |
+
*
|
481 |
+
* @param string $email Email address to parse.
|
482 |
+
* @return mixed Part of a provided email.
|
483 |
+
*/
|
484 |
+
public function get_email_part( $email ) {
|
485 |
+
if ( ! is_email( $email ) ) {
|
486 |
+
return $email;
|
487 |
+
}
|
488 |
+
|
489 |
+
$new_email = explode( '@', sanitize_email( $email ) );
|
490 |
+
if ( ! empty( $new_email ) ) {
|
491 |
+
return $new_email[0];
|
492 |
+
}
|
493 |
+
|
494 |
+
return $email;
|
495 |
+
}
|
496 |
}
|
includes/class-middleware.php
CHANGED
@@ -145,14 +145,18 @@ class ConstantContact_Middleware {
|
|
145 |
|
146 |
// If we're missing any piece of data, we failed.
|
147 |
if ( ! $proof || ! $token || ! $key ) {
|
|
|
148 |
return false;
|
149 |
}
|
150 |
|
151 |
// We'll want to verify our proof before we continue.
|
152 |
if ( ! $this->verify_proof( $proof ) ) {
|
|
|
153 |
return false;
|
154 |
}
|
155 |
|
|
|
|
|
156 |
// Save our token / key into the DB.
|
157 |
constant_contact()->connect->update_token( sanitize_text_field( $token ) );
|
158 |
constant_contact()->connect->e_set( '_ctct_api_key', sanitize_text_field( $key ) );
|
145 |
|
146 |
// If we're missing any piece of data, we failed.
|
147 |
if ( ! $proof || ! $token || ! $key ) {
|
148 |
+
constant_contact_maybe_log_it( 'Authentication', 'Proof, token, or key missing for access verification.' );
|
149 |
return false;
|
150 |
}
|
151 |
|
152 |
// We'll want to verify our proof before we continue.
|
153 |
if ( ! $this->verify_proof( $proof ) ) {
|
154 |
+
constant_contact_maybe_log_it( 'Authentication', 'Authorization verification failed.' );
|
155 |
return false;
|
156 |
}
|
157 |
|
158 |
+
constant_contact_maybe_log_it( 'Authentication', 'Authorization verification succeeded.' );
|
159 |
+
|
160 |
// Save our token / key into the DB.
|
161 |
constant_contact()->connect->update_token( sanitize_text_field( $token ) );
|
162 |
constant_contact()->connect->e_set( '_ctct_api_key', sanitize_text_field( $key ) );
|
includes/class-optin.php
CHANGED
@@ -117,7 +117,7 @@ class ConstantContact_Optin {
|
|
117 |
return;
|
118 |
}
|
119 |
|
120 |
-
if ( $this->privacy_policy_status() ) {
|
121 |
return;
|
122 |
}
|
123 |
?>
|
117 |
return;
|
118 |
}
|
119 |
|
120 |
+
if ( $this->privacy_policy_status() || ! constant_contact()->is_constant_contact() ) {
|
121 |
return;
|
122 |
}
|
123 |
?>
|
includes/class-process-form.php
CHANGED
@@ -221,6 +221,7 @@ class ConstantContact_Process_Form {
|
|
221 |
$resp = $recaptcha->verify( $data['g-recaptcha-response'], $_SERVER['REMOTE_ADDR'] );
|
222 |
|
223 |
if ( ! $resp->isSuccess() ) {
|
|
|
224 |
// @todo Utilize the error message(s) that come back from Google, if any.
|
225 |
return array(
|
226 |
'status' => 'named_error',
|
@@ -289,6 +290,10 @@ class ConstantContact_Process_Form {
|
|
289 |
'ctct_form',
|
290 |
'_wp_http_referer',
|
291 |
'ctct-verify',
|
|
|
|
|
|
|
|
|
292 |
) );
|
293 |
|
294 |
// If the submit button is clicked, send the email.
|
@@ -334,6 +339,7 @@ class ConstantContact_Process_Form {
|
|
334 |
|
335 |
// No need to check for opt in status because we would have returned early by now if false.
|
336 |
$maybe_bypass = ctct_get_settings_option( '_ctct_bypass_cron', '' );
|
|
|
337 |
if ( constant_contact()->api->is_connected() && 'on' === $maybe_bypass ) {
|
338 |
constant_contact()->mail->submit_form_values( $return['values'] ); // Emails but doesn't schedule cron.
|
339 |
constant_contact()->mail->opt_in_user( $this->clean_values( $return['values'] ) );
|
221 |
$resp = $recaptcha->verify( $data['g-recaptcha-response'], $_SERVER['REMOTE_ADDR'] );
|
222 |
|
223 |
if ( ! $resp->isSuccess() ) {
|
224 |
+
constant_contact_maybe_log_it( 'reCAPTCHA', 'Failed to verify with Google reCAPTCHA', array( $resp->getErrorCodes() ) );
|
225 |
// @todo Utilize the error message(s) that come back from Google, if any.
|
226 |
return array(
|
227 |
'status' => 'named_error',
|
290 |
'ctct_form',
|
291 |
'_wp_http_referer',
|
292 |
'ctct-verify',
|
293 |
+
'ctct_time',
|
294 |
+
'ctct_usage_field',
|
295 |
+
'g-recaptcha-response',
|
296 |
+
'ctct_must_opt_in',
|
297 |
) );
|
298 |
|
299 |
// If the submit button is clicked, send the email.
|
339 |
|
340 |
// No need to check for opt in status because we would have returned early by now if false.
|
341 |
$maybe_bypass = ctct_get_settings_option( '_ctct_bypass_cron', '' );
|
342 |
+
|
343 |
if ( constant_contact()->api->is_connected() && 'on' === $maybe_bypass ) {
|
344 |
constant_contact()->mail->submit_form_values( $return['values'] ); // Emails but doesn't schedule cron.
|
345 |
constant_contact()->mail->opt_in_user( $this->clean_values( $return['values'] ) );
|
includes/class-settings.php
CHANGED
@@ -363,6 +363,18 @@ class ConstantContact_Settings {
|
|
363 |
'id' => '_ctct_recaptcha_secret_key',
|
364 |
'type' => 'text',
|
365 |
) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
366 |
}
|
367 |
|
368 |
/**
|
@@ -757,7 +769,7 @@ class ConstantContact_Settings {
|
|
757 |
* @since 1.2.0
|
758 |
*/
|
759 |
public function privacy_notice_markup() {
|
760 |
-
if ( $this->privacy_policy_status() ) {
|
761 |
return;
|
762 |
}
|
763 |
?>
|
363 |
'id' => '_ctct_recaptcha_secret_key',
|
364 |
'type' => 'text',
|
365 |
) );
|
366 |
+
|
367 |
+
$before_debugging = sprintf(
|
368 |
+
'<hr/><h2>%s</h2>',
|
369 |
+
esc_html__( 'Support', 'constant-contact-forms' )
|
370 |
+
);
|
371 |
+
$cmb->add_field( array(
|
372 |
+
'name' => esc_html__( 'Enable logging for debugging purposes.', 'constant-contact-forms' ),
|
373 |
+
'desc' => esc_html__( 'This option will turn on some logging functionality that can be used to deduce sources of issues with the use of Constant Contact Forms plugin.', 'constant-contact-forms' ),
|
374 |
+
'id' => '_ctct_logging',
|
375 |
+
'type' => 'checkbox',
|
376 |
+
'before_row' => $before_debugging,
|
377 |
+
) );
|
378 |
}
|
379 |
|
380 |
/**
|
769 |
* @since 1.2.0
|
770 |
*/
|
771 |
public function privacy_notice_markup() {
|
772 |
+
if ( $this->privacy_policy_status() || ! constant_contact()->is_constant_contact() ) {
|
773 |
return;
|
774 |
}
|
775 |
?>
|
includes/helper-functions.php
CHANGED
@@ -7,6 +7,9 @@
|
|
7 |
* @since 1.0.0
|
8 |
*/
|
9 |
|
|
|
|
|
|
|
10 |
/**
|
11 |
* Checks to see if a user is connected to Constant Contact or not.
|
12 |
*
|
@@ -339,3 +342,44 @@ function constant_contact_clean_url( $url = '' ) {
|
|
339 |
}
|
340 |
return $clean_url;
|
341 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
* @since 1.0.0
|
8 |
*/
|
9 |
|
10 |
+
use Monolog\Logger;
|
11 |
+
use Monolog\Handler\StreamHandler;
|
12 |
+
|
13 |
/**
|
14 |
* Checks to see if a user is connected to Constant Contact or not.
|
15 |
*
|
342 |
}
|
343 |
return $clean_url;
|
344 |
}
|
345 |
+
|
346 |
+
/**
|
347 |
+
* Checks if we have our new debugging option enabled.
|
348 |
+
*
|
349 |
+
* @since 1.3.7
|
350 |
+
*
|
351 |
+
* @return bool
|
352 |
+
*/
|
353 |
+
function constant_contact_debugging_enabled() {
|
354 |
+
$debugging_enabled = ctct_get_settings_option( '_ctct_logging' );
|
355 |
+
|
356 |
+
return (
|
357 |
+
( defined( 'CONSTANT_CONTACT_DEBUG_MAIL' ) && CONSTANT_CONTACT_DEBUG_MAIL ) ||
|
358 |
+
'on' === $debugging_enabled
|
359 |
+
);
|
360 |
+
}
|
361 |
+
|
362 |
+
/**
|
363 |
+
* Potentially add an item to our custom error log.
|
364 |
+
*
|
365 |
+
* @since 1.3.7
|
366 |
+
*
|
367 |
+
* @param strint $log_name Component that the log item is for.
|
368 |
+
* @param string $error The error to log.
|
369 |
+
* @param mixed|string $extra_data Any extra data to add to the log.
|
370 |
+
*/
|
371 |
+
function constant_contact_maybe_log_it( $log_name, $error, $extra_data = '' ) {
|
372 |
+
if ( ! constant_contact_debugging_enabled() ) {
|
373 |
+
return;
|
374 |
+
}
|
375 |
+
|
376 |
+
$logger = new Logger( $log_name );
|
377 |
+
$logger->pushHandler( new StreamHandler( constant_contact()->logger_location ) );
|
378 |
+
$extra = [];
|
379 |
+
|
380 |
+
if ( $extra_data ) {
|
381 |
+
$extra = [ 'Extra information', [ $extra_data ] ];
|
382 |
+
}
|
383 |
+
// Log status of error.
|
384 |
+
$logger->addInfo( $error, $extra );
|
385 |
+
}
|
languages/constant-contact-forms.pot
CHANGED
@@ -3,14 +3,14 @@ msgid ""
|
|
3 |
msgstr ""
|
4 |
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
5 |
"Project-Id-Version: Constant Contact Forms for WordPress\n"
|
6 |
-
"POT-Creation-Date: 2018-
|
7 |
"PO-Revision-Date: 2017-01-12 14:46-0600\n"
|
8 |
"Last-Translator: Michael Beckwith <michael.d.beckwith@gmail.com>\n"
|
9 |
"Language-Team: Constant Contact\n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
-
"X-Generator: Poedit 2.0.
|
14 |
"X-Poedit-Basepath: ..\n"
|
15 |
"X-Poedit-WPHeader: constant-contact-forms.php\n"
|
16 |
"X-Poedit-SourceCharset: UTF-8\n"
|
@@ -24,18 +24,18 @@ msgstr ""
|
|
24 |
"X-Poedit-SearchPathExcluded-3: node_modules\n"
|
25 |
|
26 |
#. Author of the plugin/theme
|
27 |
-
#: constant-contact-forms.php:
|
28 |
#: includes/class-cpts.php:87 includes/class-cpts.php:145
|
29 |
msgid "Constant Contact"
|
30 |
msgstr ""
|
31 |
|
32 |
-
#: constant-contact-forms.php:
|
33 |
msgid ""
|
34 |
"Constant Contact Forms requires PHP 5.4 or higher. Your hosting provider or "
|
35 |
"website administrator should be able to assist in updating your PHP version."
|
36 |
msgstr ""
|
37 |
|
38 |
-
#: constant-contact-forms.php:
|
39 |
msgid "Error loading license."
|
40 |
msgstr ""
|
41 |
|
@@ -166,7 +166,7 @@ msgid ""
|
|
166 |
"emailed to your site admin."
|
167 |
msgstr ""
|
168 |
|
169 |
-
#: includes/class-admin-pages.php:286 includes/class-connect.php:
|
170 |
msgid "Sign Up"
|
171 |
msgstr ""
|
172 |
|
@@ -184,7 +184,7 @@ msgstr ""
|
|
184 |
msgid "Enter your email address"
|
185 |
msgstr ""
|
186 |
|
187 |
-
#: includes/class-admin-pages.php:
|
188 |
#, php-format
|
189 |
msgid ""
|
190 |
"By submitting this form, you agree to receive periodic product announcements "
|
@@ -193,15 +193,15 @@ msgid ""
|
|
193 |
"email. Constant Contact, Inc, 1601 Trapelo Road, Waltham, MA 02451, %s"
|
194 |
msgstr ""
|
195 |
|
196 |
-
#: includes/class-admin-pages.php:
|
197 |
msgid "Powerful Email Marketing, Made Simple."
|
198 |
msgstr ""
|
199 |
|
200 |
-
#: includes/class-admin-pages.php:
|
201 |
msgid "Create professional emails that bring customers to your door"
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: includes/class-admin-pages.php:
|
205 |
msgid ""
|
206 |
"Email marketing is good for your business. $44-back-for-every-$1-spent kind "
|
207 |
"of good.* And with the Constant Contact for WordPress plugin, you can "
|
@@ -209,50 +209,50 @@ msgid ""
|
|
209 |
"visitors long after they've left."
|
210 |
msgstr ""
|
211 |
|
212 |
-
#: includes/class-admin-pages.php:
|
213 |
msgid "GPLv3 license"
|
214 |
msgstr ""
|
215 |
|
216 |
-
#: includes/class-admin-pages.php:
|
217 |
#, php-format
|
218 |
msgid "This software is released under a modified %s."
|
219 |
msgstr ""
|
220 |
|
221 |
-
#: includes/class-admin-pages.php:
|
222 |
msgid "*Direct Marketing Association 2013 Statistical Fact Book"
|
223 |
msgstr ""
|
224 |
|
225 |
-
#: includes/class-admin-pages.php:
|
226 |
msgid "Easily Add Forms"
|
227 |
msgstr ""
|
228 |
|
229 |
-
#: includes/class-admin-pages.php:
|
230 |
msgctxt "add forms alt text"
|
231 |
msgid "add forms screenshot"
|
232 |
msgstr ""
|
233 |
|
234 |
-
#: includes/class-admin-pages.php:
|
235 |
msgid ""
|
236 |
"Create forms that automatically select the theme and styling of your "
|
237 |
"WordPress site for a perfect match. "
|
238 |
msgstr ""
|
239 |
|
240 |
-
#: includes/class-admin-pages.php:
|
241 |
msgid "Stay Connected With Your WordPress Visitors"
|
242 |
msgstr ""
|
243 |
|
244 |
-
#: includes/class-admin-pages.php:
|
245 |
msgctxt "stay connected alt text"
|
246 |
msgid "stay connected screenshot"
|
247 |
msgstr ""
|
248 |
|
249 |
-
#: includes/class-admin-pages.php:
|
250 |
msgid ""
|
251 |
"Form completions from site visitors are conveniently added to your Constant "
|
252 |
"Contact email list."
|
253 |
msgstr ""
|
254 |
|
255 |
-
#: includes/class-admin-pages.php:
|
256 |
msgid "Constant Contact Forms - License"
|
257 |
msgstr ""
|
258 |
|
@@ -266,7 +266,7 @@ msgstr ""
|
|
266 |
msgid "License"
|
267 |
msgstr ""
|
268 |
|
269 |
-
#: includes/class-admin.php:210 includes/class-settings.php:
|
270 |
msgid "Settings updated."
|
271 |
msgstr ""
|
272 |
|
@@ -282,6 +282,10 @@ msgstr ""
|
|
282 |
msgid "Associated List"
|
283 |
msgstr ""
|
284 |
|
|
|
|
|
|
|
|
|
285 |
#: includes/class-admin.php:309
|
286 |
msgid "Contact Count"
|
287 |
msgstr ""
|
@@ -310,11 +314,15 @@ msgstr ""
|
|
310 |
msgid "move down"
|
311 |
msgstr ""
|
312 |
|
313 |
-
#: includes/class-api.php:
|
314 |
msgid "Contact type not returned"
|
315 |
msgstr ""
|
316 |
|
317 |
-
#: includes/class-api.php:
|
|
|
|
|
|
|
|
|
318 |
msgid ""
|
319 |
"Your API access token is invalid. Reconnect to Constant Contact to receive a "
|
320 |
"new token."
|
@@ -731,6 +739,13 @@ msgstr ""
|
|
731 |
msgid "Are you sure you want to disconnect?"
|
732 |
msgstr ""
|
733 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
734 |
#: includes/class-connect.php:188
|
735 |
msgid "Account connected."
|
736 |
msgstr ""
|
@@ -796,11 +811,11 @@ msgid ""
|
|
796 |
"contacts even after they leave your website. Sign up for a free 60-day trial."
|
797 |
msgstr ""
|
798 |
|
799 |
-
#: includes/class-connect.php:
|
800 |
msgid "NOTE: "
|
801 |
msgstr ""
|
802 |
|
803 |
-
#: includes/class-connect.php:
|
804 |
msgid ""
|
805 |
"It's possible to use the plugin without connecting to a Constant Contact "
|
806 |
"account. In this case, all information collected by the forms will be "
|
@@ -841,7 +856,7 @@ msgstr ""
|
|
841 |
msgid "New Form"
|
842 |
msgstr ""
|
843 |
|
844 |
-
#: includes/class-cpts.php:70 includes/class-display.php:
|
845 |
msgid "Edit Form"
|
846 |
msgstr ""
|
847 |
|
@@ -1072,109 +1087,112 @@ msgstr ""
|
|
1072 |
msgid "%1$s (last modified %2$s ago)"
|
1073 |
msgstr ""
|
1074 |
|
1075 |
-
#: includes/class-display.php:
|
1076 |
msgid "Constant Contact Use."
|
1077 |
msgstr ""
|
1078 |
|
1079 |
-
#: includes/class-display.php:
|
1080 |
msgid "Error: Please correct your entry."
|
1081 |
msgstr ""
|
1082 |
|
1083 |
-
#: includes/class-display.php:
|
1084 |
msgid " Error: Please fill out this field."
|
1085 |
msgstr ""
|
1086 |
|
1087 |
-
#: includes/class-display.php:
|
1088 |
msgid "Send"
|
1089 |
msgstr ""
|
1090 |
|
1091 |
-
#: includes/class-display.php:
|
1092 |
msgid "Street Address"
|
1093 |
msgstr ""
|
1094 |
|
1095 |
-
#: includes/class-display.php:
|
1096 |
msgid "Address Line 2"
|
1097 |
msgstr ""
|
1098 |
|
1099 |
-
#: includes/class-display.php:
|
1100 |
msgid "City"
|
1101 |
msgstr ""
|
1102 |
|
1103 |
-
#: includes/class-display.php:
|
1104 |
msgid "State"
|
1105 |
msgstr ""
|
1106 |
|
1107 |
-
#: includes/class-display.php:
|
1108 |
msgid "ZIP Code"
|
1109 |
msgstr ""
|
1110 |
|
1111 |
-
#: includes/class-display.php:
|
1112 |
msgid "Month"
|
1113 |
msgstr ""
|
1114 |
|
1115 |
-
#: includes/class-display.php:
|
1116 |
msgid "Day"
|
1117 |
msgstr ""
|
1118 |
|
1119 |
-
#: includes/class-display.php:
|
1120 |
msgid "Year"
|
1121 |
msgstr ""
|
1122 |
|
1123 |
-
#: includes/class-display.php:
|
1124 |
msgid "January"
|
1125 |
msgstr ""
|
1126 |
|
1127 |
-
#: includes/class-display.php:
|
1128 |
msgid "February"
|
1129 |
msgstr ""
|
1130 |
|
1131 |
-
#: includes/class-display.php:
|
1132 |
msgid "March"
|
1133 |
msgstr ""
|
1134 |
|
1135 |
-
#: includes/class-display.php:
|
1136 |
msgid "April"
|
1137 |
msgstr ""
|
1138 |
|
1139 |
-
#: includes/class-display.php:
|
1140 |
msgid "May"
|
1141 |
msgstr ""
|
1142 |
|
1143 |
-
#: includes/class-display.php:
|
1144 |
msgid "June"
|
1145 |
msgstr ""
|
1146 |
|
1147 |
-
#: includes/class-display.php:
|
1148 |
msgid "July "
|
1149 |
msgstr ""
|
1150 |
|
1151 |
-
#: includes/class-display.php:
|
1152 |
msgid "August"
|
1153 |
msgstr ""
|
1154 |
|
1155 |
-
#: includes/class-display.php:
|
1156 |
msgid "September"
|
1157 |
msgstr ""
|
1158 |
|
1159 |
-
#: includes/class-display.php:
|
1160 |
msgid "October"
|
1161 |
msgstr ""
|
1162 |
|
1163 |
-
#: includes/class-display.php:
|
1164 |
msgid "November"
|
1165 |
msgstr ""
|
1166 |
|
1167 |
-
#: includes/class-display.php:
|
1168 |
msgid "December"
|
1169 |
msgstr ""
|
1170 |
|
1171 |
-
#: includes/class-display.php:
|
1172 |
#, php-format
|
1173 |
msgid ""
|
1174 |
-
"By submitting this form, you are
|
1175 |
-
"
|
1176 |
-
"
|
1177 |
-
|
|
|
|
|
|
|
1178 |
msgstr ""
|
1179 |
|
1180 |
#: includes/class-lists.php:81
|
@@ -1193,24 +1211,68 @@ msgstr ""
|
|
1193 |
msgid "Sync Lists with Constant Contact"
|
1194 |
msgstr ""
|
1195 |
|
1196 |
-
#: includes/class-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1197 |
#, php-format
|
1198 |
msgid "Duplicate send mail for: %1$s and: %2$s"
|
1199 |
msgstr ""
|
1200 |
|
1201 |
-
#: includes/class-mail.php:
|
1202 |
msgid "Your Constant Contact Forms plugin has captured new information."
|
1203 |
msgstr ""
|
1204 |
|
1205 |
-
#: includes/class-mail.php:
|
1206 |
msgid "Form title: "
|
1207 |
msgstr ""
|
1208 |
|
1209 |
-
#: includes/class-mail.php:
|
1210 |
msgid "Form information: "
|
1211 |
msgstr ""
|
1212 |
|
1213 |
-
#: includes/class-mail.php:
|
1214 |
#, php-format
|
1215 |
msgid ""
|
1216 |
"Email marketing is a great way to stay connected and engage with visitors "
|
@@ -1218,30 +1280,30 @@ msgid ""
|
|
1218 |
"pn=miwordpress%s to sign up for a Free Trial."
|
1219 |
msgstr ""
|
1220 |
|
1221 |
-
#: includes/class-mail.php:
|
1222 |
msgid "Constant Contact Forms Notification"
|
1223 |
msgstr ""
|
1224 |
|
1225 |
-
#: includes/class-mail.php:
|
1226 |
#, php-format
|
1227 |
msgid ""
|
1228 |
"%sNote:%s You have disabled admin email notifications under the plugin "
|
1229 |
"settings, but are receiving this email because of the following reason."
|
1230 |
msgstr ""
|
1231 |
|
1232 |
-
#: includes/class-mail.php:
|
1233 |
msgid "Submitted to Constant Contact:"
|
1234 |
msgstr ""
|
1235 |
|
1236 |
-
#: includes/class-mail.php:
|
1237 |
msgid "NO (Constant Contact list not selected for this form)"
|
1238 |
msgstr ""
|
1239 |
|
1240 |
-
#: includes/class-mail.php:
|
1241 |
msgid "NO (User did not select the Email Opt-in checkbox)"
|
1242 |
msgstr ""
|
1243 |
|
1244 |
-
#: includes/class-mail.php:
|
1245 |
msgid ""
|
1246 |
"You can disable this under Form options. Email Opt-in isn't required to add "
|
1247 |
"subscribers into your account"
|
@@ -1269,12 +1331,6 @@ msgid ""
|
|
1269 |
"You may experience some issues with syncing them."
|
1270 |
msgstr ""
|
1271 |
|
1272 |
-
#: includes/class-notification-content.php:109
|
1273 |
-
#: includes/class-notification-content.php:139 includes/class-optin.php:129
|
1274 |
-
#: includes/class-settings.php:769
|
1275 |
-
msgid "Constant Contact logo"
|
1276 |
-
msgstr ""
|
1277 |
-
|
1278 |
#: includes/class-notification-content.php:111
|
1279 |
msgid "Constant Contact Forms for WordPress data tracking opt-in"
|
1280 |
msgstr ""
|
@@ -1310,24 +1366,24 @@ msgstr ""
|
|
1310 |
msgid "Dismiss this notice."
|
1311 |
msgstr ""
|
1312 |
|
1313 |
-
#: includes/class-optin.php:137 includes/class-settings.php:
|
1314 |
msgid "Agree"
|
1315 |
msgstr ""
|
1316 |
|
1317 |
-
#: includes/class-optin.php:138 includes/class-settings.php:
|
1318 |
msgid "Disagree"
|
1319 |
msgstr ""
|
1320 |
|
1321 |
-
#: includes/class-process-form.php:107 includes/class-process-form.php:
|
1322 |
msgid "There was an error sending your form."
|
1323 |
msgstr ""
|
1324 |
|
1325 |
-
#: includes/class-process-form.php:118 includes/class-process-form.php:
|
1326 |
msgid "Your information has been submitted."
|
1327 |
msgstr ""
|
1328 |
|
1329 |
-
#: includes/class-process-form.php:135 includes/class-process-form.php:
|
1330 |
-
#: includes/class-process-form.php:
|
1331 |
msgid ""
|
1332 |
"We had trouble processing your submission. Please review your entries and "
|
1333 |
"try again."
|
@@ -1341,7 +1397,7 @@ msgstr ""
|
|
1341 |
msgid "No form verify value provided"
|
1342 |
msgstr ""
|
1343 |
|
1344 |
-
#: includes/class-process-form.php:202 includes/class-process-form.php:
|
1345 |
msgid "We do no think you are human"
|
1346 |
msgstr ""
|
1347 |
|
@@ -1349,12 +1405,12 @@ msgstr ""
|
|
1349 |
msgid "Please properly fill out all required fields"
|
1350 |
msgstr ""
|
1351 |
|
1352 |
-
#: includes/class-process-form.php:
|
1353 |
msgid "Failed reCAPTCHA check"
|
1354 |
msgstr ""
|
1355 |
|
1356 |
-
#: includes/class-process-form.php:
|
1357 |
-
#: includes/class-process-form.php:
|
1358 |
msgid ""
|
1359 |
"We had trouble processing your submission. Make sure you haven't changed the "
|
1360 |
"required Form ID and try again."
|
@@ -1450,19 +1506,33 @@ msgstr ""
|
|
1450 |
msgid "Secret Key"
|
1451 |
msgstr ""
|
1452 |
|
1453 |
-
#: includes/class-settings.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1454 |
msgid "Add a checkbox to the comment field in your posts"
|
1455 |
msgstr ""
|
1456 |
|
1457 |
-
#: includes/class-settings.php:
|
1458 |
msgid "Add a checkbox to the main WordPress login page"
|
1459 |
msgstr ""
|
1460 |
|
1461 |
-
#: includes/class-settings.php:
|
1462 |
msgid "Add a checkbox to the WordPress user registration page"
|
1463 |
msgstr ""
|
1464 |
|
1465 |
-
#: includes/class-settings.php:
|
1466 |
msgid "Sign up to our newsletter."
|
1467 |
msgstr ""
|
1468 |
|
3 |
msgstr ""
|
4 |
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
5 |
"Project-Id-Version: Constant Contact Forms for WordPress\n"
|
6 |
+
"POT-Creation-Date: 2018-05-01 16:12-0500\n"
|
7 |
"PO-Revision-Date: 2017-01-12 14:46-0600\n"
|
8 |
"Last-Translator: Michael Beckwith <michael.d.beckwith@gmail.com>\n"
|
9 |
"Language-Team: Constant Contact\n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
+
"X-Generator: Poedit 2.0.7\n"
|
14 |
"X-Poedit-Basepath: ..\n"
|
15 |
"X-Poedit-WPHeader: constant-contact-forms.php\n"
|
16 |
"X-Poedit-SourceCharset: UTF-8\n"
|
24 |
"X-Poedit-SearchPathExcluded-3: node_modules\n"
|
25 |
|
26 |
#. Author of the plugin/theme
|
27 |
+
#: constant-contact-forms.php:363 includes/class-builder.php:347
|
28 |
#: includes/class-cpts.php:87 includes/class-cpts.php:145
|
29 |
msgid "Constant Contact"
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: constant-contact-forms.php:390
|
33 |
msgid ""
|
34 |
"Constant Contact Forms requires PHP 5.4 or higher. Your hosting provider or "
|
35 |
"website administrator should be able to assist in updating your PHP version."
|
36 |
msgstr ""
|
37 |
|
38 |
+
#: constant-contact-forms.php:718
|
39 |
msgid "Error loading license."
|
40 |
msgstr ""
|
41 |
|
166 |
"emailed to your site admin."
|
167 |
msgstr ""
|
168 |
|
169 |
+
#: includes/class-admin-pages.php:286 includes/class-connect.php:281
|
170 |
msgid "Sign Up"
|
171 |
msgstr ""
|
172 |
|
184 |
msgid "Enter your email address"
|
185 |
msgstr ""
|
186 |
|
187 |
+
#: includes/class-admin-pages.php:296 includes/class-connect.php:278
|
188 |
#, php-format
|
189 |
msgid ""
|
190 |
"By submitting this form, you agree to receive periodic product announcements "
|
193 |
"email. Constant Contact, Inc, 1601 Trapelo Road, Waltham, MA 02451, %s"
|
194 |
msgstr ""
|
195 |
|
196 |
+
#: includes/class-admin-pages.php:306
|
197 |
msgid "Powerful Email Marketing, Made Simple."
|
198 |
msgstr ""
|
199 |
|
200 |
+
#: includes/class-admin-pages.php:309
|
201 |
msgid "Create professional emails that bring customers to your door"
|
202 |
msgstr ""
|
203 |
|
204 |
+
#: includes/class-admin-pages.php:313
|
205 |
msgid ""
|
206 |
"Email marketing is good for your business. $44-back-for-every-$1-spent kind "
|
207 |
"of good.* And with the Constant Contact for WordPress plugin, you can "
|
209 |
"visitors long after they've left."
|
210 |
msgstr ""
|
211 |
|
212 |
+
#: includes/class-admin-pages.php:317
|
213 |
msgid "GPLv3 license"
|
214 |
msgstr ""
|
215 |
|
216 |
+
#: includes/class-admin-pages.php:321
|
217 |
#, php-format
|
218 |
msgid "This software is released under a modified %s."
|
219 |
msgstr ""
|
220 |
|
221 |
+
#: includes/class-admin-pages.php:327
|
222 |
msgid "*Direct Marketing Association 2013 Statistical Fact Book"
|
223 |
msgstr ""
|
224 |
|
225 |
+
#: includes/class-admin-pages.php:335
|
226 |
msgid "Easily Add Forms"
|
227 |
msgstr ""
|
228 |
|
229 |
+
#: includes/class-admin-pages.php:338
|
230 |
msgctxt "add forms alt text"
|
231 |
msgid "add forms screenshot"
|
232 |
msgstr ""
|
233 |
|
234 |
+
#: includes/class-admin-pages.php:341
|
235 |
msgid ""
|
236 |
"Create forms that automatically select the theme and styling of your "
|
237 |
"WordPress site for a perfect match. "
|
238 |
msgstr ""
|
239 |
|
240 |
+
#: includes/class-admin-pages.php:347
|
241 |
msgid "Stay Connected With Your WordPress Visitors"
|
242 |
msgstr ""
|
243 |
|
244 |
+
#: includes/class-admin-pages.php:350
|
245 |
msgctxt "stay connected alt text"
|
246 |
msgid "stay connected screenshot"
|
247 |
msgstr ""
|
248 |
|
249 |
+
#: includes/class-admin-pages.php:353
|
250 |
msgid ""
|
251 |
"Form completions from site visitors are conveniently added to your Constant "
|
252 |
"Contact email list."
|
253 |
msgstr ""
|
254 |
|
255 |
+
#: includes/class-admin-pages.php:373
|
256 |
msgid "Constant Contact Forms - License"
|
257 |
msgstr ""
|
258 |
|
266 |
msgid "License"
|
267 |
msgstr ""
|
268 |
|
269 |
+
#: includes/class-admin.php:210 includes/class-settings.php:697
|
270 |
msgid "Settings updated."
|
271 |
msgstr ""
|
272 |
|
282 |
msgid "Associated List"
|
283 |
msgstr ""
|
284 |
|
285 |
+
#: includes/class-admin.php:293
|
286 |
+
msgid "No associated form"
|
287 |
+
msgstr ""
|
288 |
+
|
289 |
#: includes/class-admin.php:309
|
290 |
msgid "Contact Count"
|
291 |
msgstr ""
|
314 |
msgid "move down"
|
315 |
msgstr ""
|
316 |
|
317 |
+
#: includes/class-api.php:525
|
318 |
msgid "Contact type not returned"
|
319 |
msgstr ""
|
320 |
|
321 |
+
#: includes/class-api.php:547
|
322 |
+
msgid "Not a valid contact to set properties to."
|
323 |
+
msgstr ""
|
324 |
+
|
325 |
+
#: includes/class-api.php:727
|
326 |
msgid ""
|
327 |
"Your API access token is invalid. Reconnect to Constant Contact to receive a "
|
328 |
"new token."
|
739 |
msgid "Are you sure you want to disconnect?"
|
740 |
msgstr ""
|
741 |
|
742 |
+
#: includes/class-connect.php:181 includes/class-logging.php:130
|
743 |
+
#: includes/class-notification-content.php:109
|
744 |
+
#: includes/class-notification-content.php:139 includes/class-optin.php:129
|
745 |
+
#: includes/class-settings.php:781
|
746 |
+
msgid "Constant Contact logo"
|
747 |
+
msgstr ""
|
748 |
+
|
749 |
#: includes/class-connect.php:188
|
750 |
msgid "Account connected."
|
751 |
msgstr ""
|
811 |
"contacts even after they leave your website. Sign up for a free 60-day trial."
|
812 |
msgstr ""
|
813 |
|
814 |
+
#: includes/class-connect.php:286
|
815 |
msgid "NOTE: "
|
816 |
msgstr ""
|
817 |
|
818 |
+
#: includes/class-connect.php:286
|
819 |
msgid ""
|
820 |
"It's possible to use the plugin without connecting to a Constant Contact "
|
821 |
"account. In this case, all information collected by the forms will be "
|
856 |
msgid "New Form"
|
857 |
msgstr ""
|
858 |
|
859 |
+
#: includes/class-cpts.php:70 includes/class-display.php:615
|
860 |
msgid "Edit Form"
|
861 |
msgstr ""
|
862 |
|
1087 |
msgid "%1$s (last modified %2$s ago)"
|
1088 |
msgstr ""
|
1089 |
|
1090 |
+
#: includes/class-display.php:330
|
1091 |
msgid "Constant Contact Use."
|
1092 |
msgstr ""
|
1093 |
|
1094 |
+
#: includes/class-display.php:442 includes/class-display.php:1295
|
1095 |
msgid "Error: Please correct your entry."
|
1096 |
msgstr ""
|
1097 |
|
1098 |
+
#: includes/class-display.php:444
|
1099 |
msgid " Error: Please fill out this field."
|
1100 |
msgstr ""
|
1101 |
|
1102 |
+
#: includes/class-display.php:870
|
1103 |
msgid "Send"
|
1104 |
msgstr ""
|
1105 |
|
1106 |
+
#: includes/class-display.php:985
|
1107 |
msgid "Street Address"
|
1108 |
msgstr ""
|
1109 |
|
1110 |
+
#: includes/class-display.php:986
|
1111 |
msgid "Address Line 2"
|
1112 |
msgstr ""
|
1113 |
|
1114 |
+
#: includes/class-display.php:987
|
1115 |
msgid "City"
|
1116 |
msgstr ""
|
1117 |
|
1118 |
+
#: includes/class-display.php:988
|
1119 |
msgid "State"
|
1120 |
msgstr ""
|
1121 |
|
1122 |
+
#: includes/class-display.php:989
|
1123 |
msgid "ZIP Code"
|
1124 |
msgstr ""
|
1125 |
|
1126 |
+
#: includes/class-display.php:1054
|
1127 |
msgid "Month"
|
1128 |
msgstr ""
|
1129 |
|
1130 |
+
#: includes/class-display.php:1055
|
1131 |
msgid "Day"
|
1132 |
msgstr ""
|
1133 |
|
1134 |
+
#: includes/class-display.php:1056
|
1135 |
msgid "Year"
|
1136 |
msgstr ""
|
1137 |
|
1138 |
+
#: includes/class-display.php:1180
|
1139 |
msgid "January"
|
1140 |
msgstr ""
|
1141 |
|
1142 |
+
#: includes/class-display.php:1181
|
1143 |
msgid "February"
|
1144 |
msgstr ""
|
1145 |
|
1146 |
+
#: includes/class-display.php:1182
|
1147 |
msgid "March"
|
1148 |
msgstr ""
|
1149 |
|
1150 |
+
#: includes/class-display.php:1183
|
1151 |
msgid "April"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
+
#: includes/class-display.php:1184
|
1155 |
msgid "May"
|
1156 |
msgstr ""
|
1157 |
|
1158 |
+
#: includes/class-display.php:1185
|
1159 |
msgid "June"
|
1160 |
msgstr ""
|
1161 |
|
1162 |
+
#: includes/class-display.php:1186
|
1163 |
msgid "July "
|
1164 |
msgstr ""
|
1165 |
|
1166 |
+
#: includes/class-display.php:1187
|
1167 |
msgid "August"
|
1168 |
msgstr ""
|
1169 |
|
1170 |
+
#: includes/class-display.php:1188
|
1171 |
msgid "September"
|
1172 |
msgstr ""
|
1173 |
|
1174 |
+
#: includes/class-display.php:1189
|
1175 |
msgid "October"
|
1176 |
msgstr ""
|
1177 |
|
1178 |
+
#: includes/class-display.php:1190
|
1179 |
msgid "November"
|
1180 |
msgstr ""
|
1181 |
|
1182 |
+
#: includes/class-display.php:1191
|
1183 |
msgid "December"
|
1184 |
msgstr ""
|
1185 |
|
1186 |
+
#: includes/class-display.php:1362
|
1187 |
#, php-format
|
1188 |
msgid ""
|
1189 |
+
"By submitting this form, you are consenting to receive marketing emails "
|
1190 |
+
"from: %s. You can revoke your consent to receive emails at any time by using "
|
1191 |
+
"the SafeUnsubscribe® link, found at the bottom of every email. %s"
|
1192 |
+
msgstr ""
|
1193 |
+
|
1194 |
+
#: includes/class-display.php:1368
|
1195 |
+
msgid "Emails are serviced by Constant Contact"
|
1196 |
msgstr ""
|
1197 |
|
1198 |
#: includes/class-lists.php:81
|
1211 |
msgid "Sync Lists with Constant Contact"
|
1212 |
msgstr ""
|
1213 |
|
1214 |
+
#: includes/class-logging.php:85
|
1215 |
+
msgid "Are you sure you want to delete current logs?"
|
1216 |
+
msgstr ""
|
1217 |
+
|
1218 |
+
#: includes/class-logging.php:103
|
1219 |
+
msgid "Debug logs"
|
1220 |
+
msgstr ""
|
1221 |
+
|
1222 |
+
#: includes/class-logging.php:137
|
1223 |
+
msgid "No error log exists"
|
1224 |
+
msgstr ""
|
1225 |
+
|
1226 |
+
#: includes/class-logging.php:146
|
1227 |
+
#, php-format
|
1228 |
+
msgid "Log display error: %s"
|
1229 |
+
msgstr ""
|
1230 |
+
|
1231 |
+
#: includes/class-logging.php:156
|
1232 |
+
msgid ""
|
1233 |
+
"Error log below can be used with support requests to help identify issues "
|
1234 |
+
"with Constant Contact Forms."
|
1235 |
+
msgstr ""
|
1236 |
+
|
1237 |
+
#: includes/class-logging.php:157
|
1238 |
+
msgid ""
|
1239 |
+
"When available, you can share information by copying and pasting the content "
|
1240 |
+
"in the textarea, or by using the \"Download logs\" link at the end. Logs can "
|
1241 |
+
"be cleared by using the \"Delete logs\" link."
|
1242 |
+
msgstr ""
|
1243 |
+
|
1244 |
+
#: includes/class-logging.php:164
|
1245 |
+
msgid ""
|
1246 |
+
"Error log may still have content, even if an error is shown above. Please "
|
1247 |
+
"use the download link below."
|
1248 |
+
msgstr ""
|
1249 |
+
|
1250 |
+
#: includes/class-logging.php:173
|
1251 |
+
msgid "Download logs"
|
1252 |
+
msgstr ""
|
1253 |
+
|
1254 |
+
#: includes/class-logging.php:181
|
1255 |
+
msgid "Delete logs"
|
1256 |
+
msgstr ""
|
1257 |
+
|
1258 |
+
#: includes/class-mail.php:269
|
1259 |
#, php-format
|
1260 |
msgid "Duplicate send mail for: %1$s and: %2$s"
|
1261 |
msgstr ""
|
1262 |
|
1263 |
+
#: includes/class-mail.php:293
|
1264 |
msgid "Your Constant Contact Forms plugin has captured new information."
|
1265 |
msgstr ""
|
1266 |
|
1267 |
+
#: includes/class-mail.php:297
|
1268 |
msgid "Form title: "
|
1269 |
msgstr ""
|
1270 |
|
1271 |
+
#: includes/class-mail.php:298
|
1272 |
msgid "Form information: "
|
1273 |
msgstr ""
|
1274 |
|
1275 |
+
#: includes/class-mail.php:304
|
1276 |
#, php-format
|
1277 |
msgid ""
|
1278 |
"Email marketing is a great way to stay connected and engage with visitors "
|
1280 |
"pn=miwordpress%s to sign up for a Free Trial."
|
1281 |
msgstr ""
|
1282 |
|
1283 |
+
#: includes/class-mail.php:341
|
1284 |
msgid "Constant Contact Forms Notification"
|
1285 |
msgstr ""
|
1286 |
|
1287 |
+
#: includes/class-mail.php:429
|
1288 |
#, php-format
|
1289 |
msgid ""
|
1290 |
"%sNote:%s You have disabled admin email notifications under the plugin "
|
1291 |
"settings, but are receiving this email because of the following reason."
|
1292 |
msgstr ""
|
1293 |
|
1294 |
+
#: includes/class-mail.php:452
|
1295 |
msgid "Submitted to Constant Contact:"
|
1296 |
msgstr ""
|
1297 |
|
1298 |
+
#: includes/class-mail.php:458
|
1299 |
msgid "NO (Constant Contact list not selected for this form)"
|
1300 |
msgstr ""
|
1301 |
|
1302 |
+
#: includes/class-mail.php:464
|
1303 |
msgid "NO (User did not select the Email Opt-in checkbox)"
|
1304 |
msgstr ""
|
1305 |
|
1306 |
+
#: includes/class-mail.php:464
|
1307 |
msgid ""
|
1308 |
"You can disable this under Form options. Email Opt-in isn't required to add "
|
1309 |
"subscribers into your account"
|
1331 |
"You may experience some issues with syncing them."
|
1332 |
msgstr ""
|
1333 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1334 |
#: includes/class-notification-content.php:111
|
1335 |
msgid "Constant Contact Forms for WordPress data tracking opt-in"
|
1336 |
msgstr ""
|
1366 |
msgid "Dismiss this notice."
|
1367 |
msgstr ""
|
1368 |
|
1369 |
+
#: includes/class-optin.php:137 includes/class-settings.php:789
|
1370 |
msgid "Agree"
|
1371 |
msgstr ""
|
1372 |
|
1373 |
+
#: includes/class-optin.php:138 includes/class-settings.php:790
|
1374 |
msgid "Disagree"
|
1375 |
msgstr ""
|
1376 |
|
1377 |
+
#: includes/class-process-form.php:107 includes/class-process-form.php:660
|
1378 |
msgid "There was an error sending your form."
|
1379 |
msgstr ""
|
1380 |
|
1381 |
+
#: includes/class-process-form.php:118 includes/class-process-form.php:680
|
1382 |
msgid "Your information has been submitted."
|
1383 |
msgstr ""
|
1384 |
|
1385 |
+
#: includes/class-process-form.php:135 includes/class-process-form.php:256
|
1386 |
+
#: includes/class-process-form.php:697
|
1387 |
msgid ""
|
1388 |
"We had trouble processing your submission. Please review your entries and "
|
1389 |
"try again."
|
1397 |
msgid "No form verify value provided"
|
1398 |
msgstr ""
|
1399 |
|
1400 |
+
#: includes/class-process-form.php:202 includes/class-process-form.php:244
|
1401 |
msgid "We do no think you are human"
|
1402 |
msgstr ""
|
1403 |
|
1405 |
msgid "Please properly fill out all required fields"
|
1406 |
msgstr ""
|
1407 |
|
1408 |
+
#: includes/class-process-form.php:228
|
1409 |
msgid "Failed reCAPTCHA check"
|
1410 |
msgstr ""
|
1411 |
|
1412 |
+
#: includes/class-process-form.php:265 includes/class-process-form.php:274
|
1413 |
+
#: includes/class-process-form.php:283
|
1414 |
msgid ""
|
1415 |
"We had trouble processing your submission. Make sure you haven't changed the "
|
1416 |
"required Form ID and try again."
|
1506 |
msgid "Secret Key"
|
1507 |
msgstr ""
|
1508 |
|
1509 |
+
#: includes/class-settings.php:369
|
1510 |
+
msgid "Support"
|
1511 |
+
msgstr ""
|
1512 |
+
|
1513 |
+
#: includes/class-settings.php:372
|
1514 |
+
msgid "Enable logging for debugging purposes."
|
1515 |
+
msgstr ""
|
1516 |
+
|
1517 |
+
#: includes/class-settings.php:373
|
1518 |
+
msgid ""
|
1519 |
+
"This option will turn on some logging functionality that can be used to "
|
1520 |
+
"deduce sources of issues with the use of Constant Contact Forms plugin."
|
1521 |
+
msgstr ""
|
1522 |
+
|
1523 |
+
#: includes/class-settings.php:391
|
1524 |
msgid "Add a checkbox to the comment field in your posts"
|
1525 |
msgstr ""
|
1526 |
|
1527 |
+
#: includes/class-settings.php:392
|
1528 |
msgid "Add a checkbox to the main WordPress login page"
|
1529 |
msgstr ""
|
1530 |
|
1531 |
+
#: includes/class-settings.php:397
|
1532 |
msgid "Add a checkbox to the WordPress user registration page"
|
1533 |
msgstr ""
|
1534 |
|
1535 |
+
#: includes/class-settings.php:486
|
1536 |
msgid "Sign up to our newsletter."
|
1537 |
msgstr ""
|
1538 |
|
package.json
CHANGED
@@ -14,7 +14,7 @@
|
|
14 |
"gulp-plumber": "^1.1.0",
|
15 |
"gulp-postcss": "^6.4.0",
|
16 |
"gulp-rename": "^1.2.2",
|
17 |
-
"gulp-sass": "
|
18 |
"gulp-sort": "^1.1.1",
|
19 |
"gulp-sourcemaps": "^1.12.0",
|
20 |
"gulp-uglify": "^1.5.2",
|
14 |
"gulp-plumber": "^1.1.0",
|
15 |
"gulp-postcss": "^6.4.0",
|
16 |
"gulp-rename": "^1.2.2",
|
17 |
+
"gulp-sass": "~3",
|
18 |
"gulp-sort": "^1.1.1",
|
19 |
"gulp-sourcemaps": "^1.12.0",
|
20 |
"gulp-uglify": "^1.5.2",
|
readme.txt
CHANGED
@@ -3,9 +3,10 @@ Contributors: constantcontact
|
|
3 |
Tags: capture, contacts, constant contact, constant contact form, constant contact newsletter, constant contact official, contact forms, email, form, forms, marketing, mobile, newsletter, opt-in, plugin, signup, subscribe, subscription, widget
|
4 |
Requires at least: 4.0.0
|
5 |
Tested up to: 4.9.4
|
6 |
-
Stable tag: 1.3.
|
7 |
License: GPLv2
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
|
|
9 |
|
10 |
The official Constant Contact plugin adds a contact form to your WordPress site to quickly capture information from visitors.
|
11 |
|
@@ -33,6 +34,18 @@ BONUS: If you have a Constant Contact account, all new email addresses that you
|
|
33 |
5. Basic Form
|
34 |
|
35 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
= 1.3.6 =
|
38 |
* Fixed: Validate and potentially create full urls for values passed into custom "redirect to url" values. Prevents unintended destinations from partial urls.
|
3 |
Tags: capture, contacts, constant contact, constant contact form, constant contact newsletter, constant contact official, contact forms, email, form, forms, marketing, mobile, newsletter, opt-in, plugin, signup, subscribe, subscription, widget
|
4 |
Requires at least: 4.0.0
|
5 |
Tested up to: 4.9.4
|
6 |
+
Stable tag: 1.3.7
|
7 |
License: GPLv2
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
+
Requires PHP: 5.4
|
10 |
|
11 |
The official Constant Contact plugin adds a contact form to your WordPress site to quickly capture information from visitors.
|
12 |
|
34 |
5. Basic Form
|
35 |
|
36 |
== Changelog ==
|
37 |
+
= 1.3.7 =
|
38 |
+
* Added: Logging functionality to help aid with debugging and the plugin not working as needed or expected.
|
39 |
+
* Added: Passed form ID to filters related to including labels for custom fields.
|
40 |
+
* Fixed: Made sure some Constant Contact markup was only added to the page when in a Constant Contact area.
|
41 |
+
* Fixed: Issue with submitted custom field lengths when also including the original labels. Users were able to still go above 50 character limit.
|
42 |
+
* Fixed: Addressed issue with email bypassing when not needing to opt in.
|
43 |
+
* Updated: CMB2 library to version 2.3.0.
|
44 |
+
* Updated: Guzzle library to version 5.3.2.
|
45 |
+
* Updated: Code quality regarding translated text, namespaces, and returned value consistency.
|
46 |
+
* Updated: Added minimum PHP version to plugin readme for use on WordPress.org.
|
47 |
+
* Updated: Reduced cache time for account information so changes reflect in WP admin more quickly.
|
48 |
+
* Updated: Revised disclosure message on the form to be more GDPR compliant.
|
49 |
|
50 |
= 1.3.6 =
|
51 |
* Fixed: Validate and potentially create full urls for values passed into custom "redirect to url" values. Prevents unintended destinations from partial urls.
|
vendor/CMB2/bootstrap.php
CHANGED
@@ -4,13 +4,14 @@
|
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
* @package CMB2
|
7 |
-
* @author
|
8 |
* @license GPL-2.0+
|
9 |
-
* @link
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Function to encapsulate the CMB2 bootstrap process.
|
|
|
14 |
* @since 2.2.0
|
15 |
* @return void
|
16 |
*/
|
@@ -35,6 +36,7 @@ function cmb2_bootstrap() {
|
|
35 |
/**
|
36 |
* For back-compat. Does the dirty-work of instantiating all the
|
37 |
* CMB2 instances for the cmb2_meta_boxes filter
|
|
|
38 |
* @since 2.0.2
|
39 |
*/
|
40 |
$cmb_config_arrays = apply_filters( 'cmb2_meta_boxes', array() );
|
@@ -50,20 +52,27 @@ function cmb2_bootstrap() {
|
|
50 |
/**
|
51 |
* Get all created metaboxes, and instantiate CMB2_hookup
|
52 |
* on metaboxes which require it.
|
|
|
53 |
* @since 2.0.2
|
54 |
*/
|
55 |
foreach ( CMB2_Boxes::get_all() as $cmb ) {
|
56 |
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
}
|
68 |
|
69 |
/**
|
@@ -72,4 +81,4 @@ function cmb2_bootstrap() {
|
|
72 |
do_action( 'cmb2_after_init' );
|
73 |
}
|
74 |
|
75 |
-
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
* @package CMB2
|
7 |
+
* @author CMB2
|
8 |
* @license GPL-2.0+
|
9 |
+
* @link https://cmb2.io
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Function to encapsulate the CMB2 bootstrap process.
|
14 |
+
*
|
15 |
* @since 2.2.0
|
16 |
* @return void
|
17 |
*/
|
36 |
/**
|
37 |
* For back-compat. Does the dirty-work of instantiating all the
|
38 |
* CMB2 instances for the cmb2_meta_boxes filter
|
39 |
+
*
|
40 |
* @since 2.0.2
|
41 |
*/
|
42 |
$cmb_config_arrays = apply_filters( 'cmb2_meta_boxes', array() );
|
52 |
/**
|
53 |
* Get all created metaboxes, and instantiate CMB2_hookup
|
54 |
* on metaboxes which require it.
|
55 |
+
*
|
56 |
* @since 2.0.2
|
57 |
*/
|
58 |
foreach ( CMB2_Boxes::get_all() as $cmb ) {
|
59 |
|
60 |
+
/**
|
61 |
+
* Initiates the box "hookup" into WordPress.
|
62 |
+
*
|
63 |
+
* Unless the 'hookup' box property is `false`, the box will be hooked in as
|
64 |
+
* a post/user/comment/option/term box.
|
65 |
+
*
|
66 |
+
* And if the 'show_in_rest' box property is set, the box will be hooked
|
67 |
+
* into the CMB2 REST API.
|
68 |
+
*
|
69 |
+
* The dynamic portion of the hook name, $cmb->cmb_id, is the box id.
|
70 |
+
*
|
71 |
+
* @since 2.2.6
|
72 |
+
*
|
73 |
+
* @param array $cmb The CMB2 object to hookup.
|
74 |
+
*/
|
75 |
+
do_action( "cmb2_init_hookup_{$cmb->cmb_id}", $cmb );
|
76 |
}
|
77 |
|
78 |
/**
|
81 |
do_action( 'cmb2_after_init' );
|
82 |
}
|
83 |
|
84 |
+
/* End. That's it, folks! */
|
vendor/CMB2/css/cmb2-front-rtl.css
CHANGED
@@ -1,3 +1,4 @@
|
|
|
|
1 |
/**
|
2 |
* CMB2 Styling
|
3 |
*/
|
@@ -50,7 +51,7 @@ Main Wrap
|
|
50 |
}
|
51 |
/* line 59, sass/partials/_main_wrap.scss */
|
52 |
.cmb2-wrap input:not([type="hidden"]) + input,
|
53 |
-
.cmb2-wrap input:not([type="hidden"]) + .button,
|
54 |
.cmb2-wrap input:not([type="hidden"]) + select {
|
55 |
margin-right: 20px;
|
56 |
}
|
@@ -86,7 +87,7 @@ Main Wrap
|
|
86 |
}
|
87 |
/* line 102, sass/partials/_main_wrap.scss */
|
88 |
.cmb2-wrap button,
|
89 |
-
.cmb2-wrap .button {
|
90 |
white-space: nowrap;
|
91 |
}
|
92 |
/* line 107, sass/partials/_main_wrap.scss */
|
@@ -105,91 +106,76 @@ Main Wrap
|
|
105 |
.cmb2-wrap .meta_mce textarea {
|
106 |
width: 100%;
|
107 |
}
|
108 |
-
/* line
|
109 |
.cmb2-wrap .wp-color-result,
|
110 |
.cmb2-wrap .wp-picker-input-wrap {
|
111 |
vertical-align: middle;
|
112 |
}
|
113 |
-
/* line
|
114 |
.cmb2-wrap .wp-color-result,
|
115 |
.cmb2-wrap .wp-picker-container {
|
116 |
margin: 0 0 0 10px;
|
117 |
}
|
118 |
-
/* line
|
119 |
.cmb2-wrap .cmb-row {
|
120 |
margin: 0;
|
121 |
}
|
122 |
-
/* line
|
123 |
.cmb2-wrap .cmb-row:after {
|
124 |
content: '';
|
125 |
clear: both;
|
126 |
display: block;
|
127 |
width: 100%;
|
128 |
}
|
129 |
-
/* line
|
130 |
-
.cmb2-wrap .cmb-row.cmb-repeat-row {
|
131 |
-
padding: 1.8em 0 0;
|
132 |
-
}
|
133 |
-
/* line 149, sass/partials/_main_wrap.scss */
|
134 |
-
.cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type {
|
135 |
-
padding: 0;
|
136 |
-
}
|
137 |
-
/* line 154, sass/partials/_main_wrap.scss */
|
138 |
.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description {
|
139 |
padding-top: 0;
|
140 |
-
padding-bottom:
|
141 |
}
|
142 |
|
143 |
-
/* line
|
144 |
.cmb2-metabox {
|
145 |
clear: both;
|
146 |
margin: 0;
|
147 |
}
|
148 |
-
/* line
|
149 |
.cmb2-metabox > .cmb-row:first-of-type > .cmb-td,
|
150 |
.cmb2-metabox > .cmb-row:first-of-type > .cmb-th,
|
151 |
.cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-td,
|
152 |
.cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-th {
|
153 |
border: 0;
|
154 |
}
|
155 |
-
/* line 174, sass/partials/_main_wrap.scss */
|
156 |
-
.cmb2-metabox > .cmb-row .cmb-repeat-table .cmb-row > .cmb-td {
|
157 |
-
padding-left: 20px;
|
158 |
-
box-sizing: border-box;
|
159 |
-
float: right;
|
160 |
-
}
|
161 |
|
162 |
-
/* line
|
163 |
.cmb-add-row {
|
164 |
margin: 1.8em 0 0;
|
165 |
}
|
166 |
|
167 |
-
/* line
|
168 |
.cmb-nested .cmb-td,
|
169 |
.cmb-repeatable-group .cmb-th,
|
170 |
.cmb-repeatable-group:first-of-type {
|
171 |
border: 0;
|
172 |
}
|
173 |
|
174 |
-
/* line
|
175 |
.cmb-row:last-of-type,
|
176 |
.cmb2-wrap .cmb-row:last-of-type,
|
177 |
.cmb-repeatable-group:last-of-type {
|
178 |
border-bottom: 0;
|
179 |
}
|
180 |
|
181 |
-
/* line
|
182 |
.cmb-repeatable-grouping {
|
183 |
border: 1px solid #e9e9e9;
|
184 |
padding: 0 1em;
|
185 |
-
max-width: 1000px;
|
186 |
}
|
187 |
-
/* line
|
188 |
.cmb-repeatable-grouping.cmb-row {
|
189 |
margin: 0 0 0.8em;
|
190 |
}
|
191 |
|
192 |
-
/* line
|
193 |
.cmb-th {
|
194 |
color: #222222;
|
195 |
float: right;
|
@@ -200,7 +186,7 @@ Main Wrap
|
|
200 |
width: 200px;
|
201 |
}
|
202 |
@media (max-width: 450px) {
|
203 |
-
/* line
|
204 |
.cmb-th {
|
205 |
font-size: 1.2em;
|
206 |
display: block;
|
@@ -212,20 +198,12 @@ Main Wrap
|
|
212 |
/* line 27, sass/partials/_mixins.scss */
|
213 |
.cmb-th label {
|
214 |
display: block;
|
215 |
-
margin-top:
|
216 |
-
|
217 |
-
}
|
218 |
-
/* line 32, sass/partials/_mixins.scss */
|
219 |
-
.cmb-th label:after {
|
220 |
-
border-bottom: 1px solid #e9e9e9;
|
221 |
-
content: '';
|
222 |
-
clear: both;
|
223 |
-
display: block;
|
224 |
-
padding-top: .4em;
|
225 |
}
|
226 |
}
|
227 |
|
228 |
-
/* line
|
229 |
.cmb-td {
|
230 |
line-height: 1.3;
|
231 |
max-width: 100%;
|
@@ -233,42 +211,135 @@ Main Wrap
|
|
233 |
vertical-align: middle;
|
234 |
}
|
235 |
|
236 |
-
/* line
|
237 |
.cmb-type-title .cmb-td {
|
238 |
padding: 0;
|
239 |
}
|
240 |
|
241 |
-
/* line
|
242 |
.cmb-th label {
|
243 |
display: block;
|
244 |
padding: 5px 0;
|
245 |
}
|
246 |
|
247 |
-
/* line
|
248 |
.cmb-th + .cmb-td {
|
249 |
float: right;
|
250 |
}
|
251 |
|
252 |
-
/* line
|
253 |
.cmb-td .cmb-td {
|
254 |
padding-bottom: 1em;
|
255 |
}
|
256 |
|
257 |
-
/* line
|
258 |
.cmb-remove-row {
|
259 |
text-align: left;
|
260 |
}
|
261 |
|
262 |
-
/* line
|
263 |
.empty-row.hidden {
|
264 |
display: none;
|
265 |
}
|
266 |
|
267 |
-
/* line
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
268 |
.cmb-repeatable-group .cmb-th {
|
269 |
padding: 5px;
|
270 |
}
|
271 |
-
/* line
|
272 |
.cmb-repeatable-group .cmb-group-title {
|
273 |
background-color: #e9e9e9;
|
274 |
padding: 8px 2.2em 8px 12px;
|
@@ -277,7 +348,7 @@ Main Wrap
|
|
277 |
font-size: 14px;
|
278 |
line-height: 1.4;
|
279 |
}
|
280 |
-
/* line
|
281 |
.cmb-repeatable-group .cmb-group-title h4 {
|
282 |
border: 0;
|
283 |
margin: 0;
|
@@ -285,12 +356,12 @@ Main Wrap
|
|
285 |
font-weight: 500;
|
286 |
padding: 0.5em 0.75em;
|
287 |
}
|
288 |
-
/* line
|
289 |
.cmb-repeatable-group .cmb-group-title .cmb-th {
|
290 |
display: block;
|
291 |
width: 100%;
|
292 |
}
|
293 |
-
/* line
|
294 |
.cmb-repeatable-group .cmb-group-description .cmb-th {
|
295 |
font-size: 1.2em;
|
296 |
display: block;
|
@@ -302,40 +373,32 @@ Main Wrap
|
|
302 |
/* line 27, sass/partials/_mixins.scss */
|
303 |
.cmb-repeatable-group .cmb-group-description .cmb-th label {
|
304 |
display: block;
|
305 |
-
margin-top:
|
306 |
-
|
307 |
-
}
|
308 |
-
/* line 32, sass/partials/_mixins.scss */
|
309 |
-
.cmb-repeatable-group .cmb-group-description .cmb-th label:after {
|
310 |
-
border-bottom: 1px solid #e9e9e9;
|
311 |
-
content: '';
|
312 |
-
clear: both;
|
313 |
-
display: block;
|
314 |
-
padding-top: .4em;
|
315 |
}
|
316 |
-
/* line
|
317 |
.cmb-repeatable-group .cmb-shift-rows {
|
318 |
font-size: 1em;
|
319 |
margin-left: 1em;
|
320 |
text-decoration: none;
|
321 |
}
|
322 |
-
/* line
|
323 |
.cmb-repeatable-group .cmb-shift-rows .dashicons {
|
324 |
font-size: 1.5em;
|
325 |
height: 1.5em;
|
326 |
line-height: 1.2em;
|
327 |
width: 1em;
|
328 |
}
|
329 |
-
/* line
|
330 |
.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
|
331 |
line-height: 1.3em;
|
332 |
}
|
333 |
-
/* line
|
334 |
.cmb-repeatable-group .cmb2-upload-button {
|
335 |
float: left;
|
336 |
}
|
337 |
|
338 |
-
/* line
|
339 |
p.cmb2-metabox-description {
|
340 |
color: #aaaaaa;
|
341 |
font-style: italic;
|
@@ -343,36 +406,36 @@ p.cmb2-metabox-description {
|
|
343 |
padding-top: .5em;
|
344 |
}
|
345 |
|
346 |
-
/* line
|
347 |
span.cmb2-metabox-description {
|
348 |
color: #aaaaaa;
|
349 |
font-style: italic;
|
350 |
}
|
351 |
|
352 |
-
/* line
|
353 |
.cmb2-metabox-title {
|
354 |
margin: 0 0 5px 0;
|
355 |
padding: 5px 0 0 0;
|
356 |
font-size: 14px;
|
357 |
}
|
358 |
|
359 |
-
/* line
|
360 |
.cmb-inline ul {
|
361 |
padding: 4px 0 0 0;
|
362 |
}
|
363 |
|
364 |
-
/* line
|
365 |
.cmb-inline li {
|
366 |
display: inline-block;
|
367 |
padding-left: 18px;
|
368 |
}
|
369 |
|
370 |
-
/* line
|
371 |
.cmb-type-textarea-code pre {
|
372 |
margin: 0;
|
373 |
}
|
374 |
|
375 |
-
/* line
|
376 |
.cmb2-media-status .img-status {
|
377 |
clear: none;
|
378 |
display: inline-block;
|
@@ -380,12 +443,12 @@ span.cmb2-metabox-description {
|
|
380 |
margin-left: 10px;
|
381 |
width: auto;
|
382 |
}
|
383 |
-
/* line
|
384 |
.cmb2-media-status .img-status img {
|
385 |
max-width: 350px;
|
386 |
height: auto;
|
387 |
}
|
388 |
-
/* line
|
389 |
.cmb2-media-status .img-status img,
|
390 |
.cmb2-media-status .embed-status {
|
391 |
background: #ffffff;
|
@@ -395,16 +458,16 @@ span.cmb2-metabox-description {
|
|
395 |
margin: 15px 0 0 0;
|
396 |
padding: 5px;
|
397 |
}
|
398 |
-
/* line
|
399 |
.cmb2-media-status .embed-status {
|
400 |
float: right;
|
401 |
max-width: 800px;
|
402 |
}
|
403 |
-
/* line
|
404 |
.cmb2-media-status .img-status, .cmb2-media-status .embed-status {
|
405 |
position: relative;
|
406 |
}
|
407 |
-
/* line
|
408 |
.cmb2-media-status .img-status .cmb2-remove-file-button, .cmb2-media-status .embed-status .cmb2-remove-file-button {
|
409 |
background: url(../images/ico-delete.png);
|
410 |
height: 16px;
|
@@ -414,16 +477,16 @@ span.cmb2-metabox-description {
|
|
414 |
top: -5px;
|
415 |
width: 16px;
|
416 |
}
|
417 |
-
/* line
|
418 |
.cmb2-media-status .img-status .cmb2-remove-file-button {
|
419 |
top: 10px;
|
420 |
}
|
421 |
-
/* line
|
422 |
.cmb2-media-status .img-status img, .cmb2-media-status .file-status > span {
|
423 |
cursor: pointer;
|
424 |
}
|
425 |
|
426 |
-
/* line
|
427 |
.cmb-type-file-list .cmb2-media-status .img-status {
|
428 |
clear: none;
|
429 |
vertical-align: middle;
|
@@ -433,7 +496,7 @@ span.cmb2-metabox-description {
|
|
433 |
margin-top: 0;
|
434 |
}
|
435 |
|
436 |
-
/* line
|
437 |
.cmb-attach-list li {
|
438 |
clear: both;
|
439 |
display: inline-block;
|
@@ -441,25 +504,30 @@ span.cmb2-metabox-description {
|
|
441 |
margin-top: 5px;
|
442 |
margin-bottom: 10px;
|
443 |
}
|
444 |
-
/* line
|
445 |
.cmb-attach-list li img {
|
446 |
cursor: move;
|
447 |
float: right;
|
448 |
margin-left: 10px;
|
449 |
}
|
450 |
|
451 |
-
/* line
|
452 |
.cmb2-remove-wrapper {
|
453 |
margin: 0;
|
454 |
}
|
455 |
|
456 |
-
/* line
|
457 |
.child-cmb2 .cmb-th {
|
458 |
text-align: right;
|
459 |
}
|
460 |
|
|
|
|
|
|
|
|
|
|
|
461 |
@media (max-width: 450px) {
|
462 |
-
/* line
|
463 |
.cmb-th,
|
464 |
.cmb-td,
|
465 |
.cmb-th + .cmb-td {
|
@@ -527,61 +595,30 @@ Post Metaboxes
|
|
527 |
line-height: 1.3;
|
528 |
}
|
529 |
/* line 63, sass/partials/_post_metaboxes.scss */
|
530 |
-
.cmb2-postbox .cmb-repeat-row .cmb-td, .cmb-type-group .cmb-repeat-row .cmb-td {
|
531 |
-
padding-bottom: 1.8em;
|
532 |
-
}
|
533 |
-
/* line 67, sass/partials/_post_metaboxes.scss */
|
534 |
.cmb2-postbox .cmb-th + .cmb-td, .cmb-type-group .cmb-th + .cmb-td {
|
535 |
width: 80%;
|
536 |
float: left;
|
537 |
}
|
538 |
-
/* line
|
539 |
.cmb2-postbox .cmb-row:not(:last-of-type),
|
540 |
.cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type),
|
541 |
.cmb-type-group .cmb-repeatable-group:not(:last-of-type) {
|
542 |
border-bottom: 1px solid #e9e9e9;
|
543 |
}
|
544 |
@media (max-width: 450px) {
|
545 |
-
/* line
|
546 |
.cmb2-postbox .cmb-row:not(:last-of-type),
|
547 |
.cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type),
|
548 |
.cmb-type-group .cmb-repeatable-group:not(:last-of-type) {
|
549 |
border-bottom: 0;
|
550 |
}
|
551 |
}
|
552 |
-
/* line
|
553 |
.cmb2-postbox .cmb-repeat-group-field,
|
554 |
.cmb2-postbox .cmb-remove-field-row, .cmb-type-group .cmb-repeat-group-field,
|
555 |
.cmb-type-group .cmb-remove-field-row {
|
556 |
padding-top: 1.8em;
|
557 |
}
|
558 |
-
/* line 88, sass/partials/_post_metaboxes.scss */
|
559 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody, .cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody, .cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody, .cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody {
|
560 |
-
display: table;
|
561 |
-
width: 100%;
|
562 |
-
}
|
563 |
-
/* line 92, sass/partials/_post_metaboxes.scss */
|
564 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text, .cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text, .cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text, .cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text {
|
565 |
-
width: 100%;
|
566 |
-
}
|
567 |
-
/* line 96, sass/partials/_post_metaboxes.scss */
|
568 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row), .cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row), .cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row), .cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row) {
|
569 |
-
display: table-row;
|
570 |
-
}
|
571 |
-
/* line 100, sass/partials/_post_metaboxes.scss */
|
572 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td, .cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td, .cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td, .cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td {
|
573 |
-
display: table-cell;
|
574 |
-
float: none;
|
575 |
-
width: 100%;
|
576 |
-
}
|
577 |
-
/* line 106, sass/partials/_post_metaboxes.scss */
|
578 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td, .cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td, .cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td, .cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td {
|
579 |
-
padding-top: 1.8em;
|
580 |
-
}
|
581 |
-
/* line 110, sass/partials/_post_metaboxes.scss */
|
582 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row, .cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row, .cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row, .cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row {
|
583 |
-
padding-left: 0;
|
584 |
-
}
|
585 |
|
586 |
/*--------------------------------------------------------------
|
587 |
Context Metaboxes
|
@@ -674,6 +711,76 @@ Context Metaboxes
|
|
674 |
margin-left: 0;
|
675 |
}
|
676 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
677 |
/*--------------------------------------------------------------
|
678 |
Misc.
|
679 |
--------------------------------------------------------------*/
|
@@ -690,27 +797,16 @@ Misc.
|
|
690 |
}
|
691 |
|
692 |
/* line 18, sass/partials/_misc.scss */
|
693 |
-
.cmb2-options-page .cmb2-metabox-title {
|
694 |
-
font-size: 1.3em;
|
695 |
-
margin: 1em 0;
|
696 |
-
}
|
697 |
-
/* line 21, sass/partials/_misc.scss */
|
698 |
-
.cmb2-options-page .cmb2-metabox-title + p.cmb2-metabox-description {
|
699 |
-
margin-top: -1.6em;
|
700 |
-
margin-bottom: .8em;
|
701 |
-
}
|
702 |
-
|
703 |
-
/* line 28, sass/partials/_misc.scss */
|
704 |
.cmb2-postbox .cmb-spinner, .cmb2-no-box-wrap .cmb-spinner {
|
705 |
float: right;
|
706 |
display: none;
|
707 |
}
|
708 |
|
709 |
-
/* line
|
710 |
.cmb-spinner {
|
711 |
display: none;
|
712 |
}
|
713 |
-
/* line
|
714 |
.cmb-spinner.is-active {
|
715 |
display: block;
|
716 |
}
|
@@ -771,10 +867,10 @@ Sidebar Placement Adjustments
|
|
771 |
}
|
772 |
/* line 55, sass/partials/_sidebar_placements.scss */
|
773 |
.inner-sidebar .cmb-th,
|
774 |
-
.inner-sidebar .cmb-td,
|
775 |
.inner-sidebar .cmb-th + .cmb-td,
|
776 |
#side-sortables .cmb-th,
|
777 |
-
#side-sortables .cmb-td,
|
778 |
#side-sortables .cmb-th + .cmb-td {
|
779 |
width: 100%;
|
780 |
display: block;
|
@@ -786,11 +882,6 @@ Sidebar Placement Adjustments
|
|
786 |
display: none;
|
787 |
}
|
788 |
/* line 67, sass/partials/_sidebar_placements.scss */
|
789 |
-
.inner-sidebar .cmb-td .cmb-td,
|
790 |
-
#side-sortables .cmb-td .cmb-td {
|
791 |
-
padding-bottom: 1em;
|
792 |
-
}
|
793 |
-
/* line 71, sass/partials/_sidebar_placements.scss */
|
794 |
.inner-sidebar .cmb-th,
|
795 |
#side-sortables .cmb-th {
|
796 |
display: block;
|
@@ -805,17 +896,8 @@ Sidebar Placement Adjustments
|
|
805 |
.inner-sidebar .cmb-th label,
|
806 |
#side-sortables .cmb-th label {
|
807 |
display: block;
|
808 |
-
margin-top:
|
809 |
-
|
810 |
-
}
|
811 |
-
/* line 32, sass/partials/_mixins.scss */
|
812 |
-
.inner-sidebar .cmb-th label:after,
|
813 |
-
#side-sortables .cmb-th label:after {
|
814 |
-
border-bottom: 1px solid #e9e9e9;
|
815 |
-
content: '';
|
816 |
-
clear: both;
|
817 |
-
display: block;
|
818 |
-
padding-top: .4em;
|
819 |
}
|
820 |
/* line 14, sass/partials/_mixins.scss */
|
821 |
.inner-sidebar .cmb-th label,
|
@@ -823,27 +905,27 @@ Sidebar Placement Adjustments
|
|
823 |
font-size: 14px;
|
824 |
line-height: 1.4em;
|
825 |
}
|
826 |
-
/* line
|
827 |
.inner-sidebar .cmb-group-description .cmb-th,
|
828 |
#side-sortables .cmb-group-description .cmb-th {
|
829 |
padding-top: 0;
|
830 |
}
|
831 |
-
/* line
|
832 |
.inner-sidebar .cmb-group-description .cmb2-metabox-description,
|
833 |
#side-sortables .cmb-group-description .cmb2-metabox-description {
|
834 |
padding: 0;
|
835 |
}
|
836 |
-
/* line
|
837 |
.inner-sidebar .cmb-group-title .cmb-th,
|
838 |
#side-sortables .cmb-group-title .cmb-th {
|
839 |
padding: 0;
|
840 |
}
|
841 |
-
/* line
|
842 |
.inner-sidebar .cmb-repeatable-grouping + .cmb-repeatable-grouping,
|
843 |
#side-sortables .cmb-repeatable-grouping + .cmb-repeatable-grouping {
|
844 |
margin-top: 1em;
|
845 |
}
|
846 |
-
/* line
|
847 |
.inner-sidebar .cmb2-media-status .img-status img,
|
848 |
.inner-sidebar .cmb2-media-status .embed-status img,
|
849 |
#side-sortables .cmb2-media-status .img-status img,
|
@@ -851,19 +933,19 @@ Sidebar Placement Adjustments
|
|
851 |
max-width: 90%;
|
852 |
height: auto;
|
853 |
}
|
854 |
-
/* line
|
855 |
.inner-sidebar .cmb2-list label,
|
856 |
#side-sortables .cmb2-list label {
|
857 |
display: inline;
|
858 |
font-weight: normal;
|
859 |
}
|
860 |
-
/* line
|
861 |
.inner-sidebar .cmb2-metabox-description,
|
862 |
#side-sortables .cmb2-metabox-description {
|
863 |
display: block;
|
864 |
padding: 7px 0 0;
|
865 |
}
|
866 |
-
/* line
|
867 |
.inner-sidebar .cmb-type-checkbox .cmb-td label,
|
868 |
.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description,
|
869 |
#side-sortables .cmb-type-checkbox .cmb-td label,
|
@@ -871,39 +953,25 @@ Sidebar Placement Adjustments
|
|
871 |
font-weight: normal;
|
872 |
display: inline;
|
873 |
}
|
874 |
-
/* line
|
875 |
.inner-sidebar .cmb-row .cmb2-metabox-description,
|
876 |
#side-sortables .cmb-row .cmb2-metabox-description {
|
877 |
padding-bottom: 1.8em;
|
878 |
}
|
879 |
-
/* line
|
880 |
.inner-sidebar .cmb2-metabox-title,
|
881 |
#side-sortables .cmb2-metabox-title {
|
882 |
font-size: 1.2em;
|
883 |
font-style: italic;
|
884 |
}
|
885 |
-
/* line
|
886 |
.inner-sidebar .cmb-remove-row,
|
887 |
#side-sortables .cmb-remove-row {
|
888 |
clear: both;
|
889 |
padding-top: 12px;
|
890 |
padding-bottom: 0;
|
891 |
}
|
892 |
-
/* line
|
893 |
-
.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td,
|
894 |
-
#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td {
|
895 |
-
width: auto;
|
896 |
-
clear: none;
|
897 |
-
float: right;
|
898 |
-
padding-top: 0;
|
899 |
-
}
|
900 |
-
/* line 151, sass/partials/_sidebar_placements.scss */
|
901 |
-
.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,
|
902 |
-
#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row {
|
903 |
-
float: left;
|
904 |
-
margin: 0;
|
905 |
-
}
|
906 |
-
/* line 158, sass/partials/_sidebar_placements.scss */
|
907 |
.inner-sidebar .cmb2-upload-button,
|
908 |
#side-sortables .cmb2-upload-button {
|
909 |
clear: both;
|
@@ -911,10 +979,6 @@ Sidebar Placement Adjustments
|
|
911 |
}
|
912 |
|
913 |
/* line 2, sass/partials/_collapsible_ui.scss */
|
914 |
-
.cmb2-metabox .cmb-type-group {
|
915 |
-
max-width: 1000px;
|
916 |
-
}
|
917 |
-
/* line 5, sass/partials/_collapsible_ui.scss */
|
918 |
.cmb2-metabox .cmbhandle {
|
919 |
color: #aaa;
|
920 |
float: left;
|
@@ -924,7 +988,7 @@ Sidebar Placement Adjustments
|
|
924 |
left: -1em;
|
925 |
position: relative;
|
926 |
}
|
927 |
-
/* line
|
928 |
.cmb2-metabox .cmbhandle:before {
|
929 |
content: '\f142';
|
930 |
left: 12px;
|
@@ -938,11 +1002,11 @@ Sidebar Placement Adjustments
|
|
938 |
-moz-osx-font-smoothing: grayscale;
|
939 |
text-decoration: none !important;
|
940 |
}
|
941 |
-
/* line
|
942 |
.cmb2-metabox .postbox.closed .cmbhandle:before {
|
943 |
content: '\f140';
|
944 |
}
|
945 |
-
/* line
|
946 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row {
|
947 |
-webkit-appearance: none !important;
|
948 |
background: none !important;
|
@@ -954,13 +1018,13 @@ Sidebar Placement Adjustments
|
|
954 |
padding: 2px 6px 3px;
|
955 |
opacity: .5;
|
956 |
}
|
957 |
-
/* line
|
958 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]) {
|
959 |
cursor: pointer;
|
960 |
color: #a00;
|
961 |
opacity: 1;
|
962 |
}
|
963 |
-
/* line
|
964 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover {
|
965 |
color: #f00;
|
966 |
}
|
1 |
+
@charset "UTF-8";
|
2 |
/**
|
3 |
* CMB2 Styling
|
4 |
*/
|
51 |
}
|
52 |
/* line 59, sass/partials/_main_wrap.scss */
|
53 |
.cmb2-wrap input:not([type="hidden"]) + input,
|
54 |
+
.cmb2-wrap input:not([type="hidden"]) + .button-secondary,
|
55 |
.cmb2-wrap input:not([type="hidden"]) + select {
|
56 |
margin-right: 20px;
|
57 |
}
|
87 |
}
|
88 |
/* line 102, sass/partials/_main_wrap.scss */
|
89 |
.cmb2-wrap button,
|
90 |
+
.cmb2-wrap .button-secondary {
|
91 |
white-space: nowrap;
|
92 |
}
|
93 |
/* line 107, sass/partials/_main_wrap.scss */
|
106 |
.cmb2-wrap .meta_mce textarea {
|
107 |
width: 100%;
|
108 |
}
|
109 |
+
/* line 124, sass/partials/_main_wrap.scss */
|
110 |
.cmb2-wrap .wp-color-result,
|
111 |
.cmb2-wrap .wp-picker-input-wrap {
|
112 |
vertical-align: middle;
|
113 |
}
|
114 |
+
/* line 129, sass/partials/_main_wrap.scss */
|
115 |
.cmb2-wrap .wp-color-result,
|
116 |
.cmb2-wrap .wp-picker-container {
|
117 |
margin: 0 0 0 10px;
|
118 |
}
|
119 |
+
/* line 134, sass/partials/_main_wrap.scss */
|
120 |
.cmb2-wrap .cmb-row {
|
121 |
margin: 0;
|
122 |
}
|
123 |
+
/* line 137, sass/partials/_main_wrap.scss */
|
124 |
.cmb2-wrap .cmb-row:after {
|
125 |
content: '';
|
126 |
clear: both;
|
127 |
display: block;
|
128 |
width: 100%;
|
129 |
}
|
130 |
+
/* line 144, sass/partials/_main_wrap.scss */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description {
|
132 |
padding-top: 0;
|
133 |
+
padding-bottom: 1em;
|
134 |
}
|
135 |
|
136 |
+
/* line 152, sass/partials/_main_wrap.scss */
|
137 |
.cmb2-metabox {
|
138 |
clear: both;
|
139 |
margin: 0;
|
140 |
}
|
141 |
+
/* line 158, sass/partials/_main_wrap.scss */
|
142 |
.cmb2-metabox > .cmb-row:first-of-type > .cmb-td,
|
143 |
.cmb2-metabox > .cmb-row:first-of-type > .cmb-th,
|
144 |
.cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-td,
|
145 |
.cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-th {
|
146 |
border: 0;
|
147 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
|
149 |
+
/* line 165, sass/partials/_main_wrap.scss */
|
150 |
.cmb-add-row {
|
151 |
margin: 1.8em 0 0;
|
152 |
}
|
153 |
|
154 |
+
/* line 169, sass/partials/_main_wrap.scss */
|
155 |
.cmb-nested .cmb-td,
|
156 |
.cmb-repeatable-group .cmb-th,
|
157 |
.cmb-repeatable-group:first-of-type {
|
158 |
border: 0;
|
159 |
}
|
160 |
|
161 |
+
/* line 175, sass/partials/_main_wrap.scss */
|
162 |
.cmb-row:last-of-type,
|
163 |
.cmb2-wrap .cmb-row:last-of-type,
|
164 |
.cmb-repeatable-group:last-of-type {
|
165 |
border-bottom: 0;
|
166 |
}
|
167 |
|
168 |
+
/* line 181, sass/partials/_main_wrap.scss */
|
169 |
.cmb-repeatable-grouping {
|
170 |
border: 1px solid #e9e9e9;
|
171 |
padding: 0 1em;
|
|
|
172 |
}
|
173 |
+
/* line 185, sass/partials/_main_wrap.scss */
|
174 |
.cmb-repeatable-grouping.cmb-row {
|
175 |
margin: 0 0 0.8em;
|
176 |
}
|
177 |
|
178 |
+
/* line 193, sass/partials/_main_wrap.scss */
|
179 |
.cmb-th {
|
180 |
color: #222222;
|
181 |
float: right;
|
186 |
width: 200px;
|
187 |
}
|
188 |
@media (max-width: 450px) {
|
189 |
+
/* line 193, sass/partials/_main_wrap.scss */
|
190 |
.cmb-th {
|
191 |
font-size: 1.2em;
|
192 |
display: block;
|
198 |
/* line 27, sass/partials/_mixins.scss */
|
199 |
.cmb-th label {
|
200 |
display: block;
|
201 |
+
margin-top: 0;
|
202 |
+
margin-bottom: 0.5em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
}
|
204 |
}
|
205 |
|
206 |
+
/* line 207, sass/partials/_main_wrap.scss */
|
207 |
.cmb-td {
|
208 |
line-height: 1.3;
|
209 |
max-width: 100%;
|
211 |
vertical-align: middle;
|
212 |
}
|
213 |
|
214 |
+
/* line 216, sass/partials/_main_wrap.scss */
|
215 |
.cmb-type-title .cmb-td {
|
216 |
padding: 0;
|
217 |
}
|
218 |
|
219 |
+
/* line 221, sass/partials/_main_wrap.scss */
|
220 |
.cmb-th label {
|
221 |
display: block;
|
222 |
padding: 5px 0;
|
223 |
}
|
224 |
|
225 |
+
/* line 226, sass/partials/_main_wrap.scss */
|
226 |
.cmb-th + .cmb-td {
|
227 |
float: right;
|
228 |
}
|
229 |
|
230 |
+
/* line 230, sass/partials/_main_wrap.scss */
|
231 |
.cmb-td .cmb-td {
|
232 |
padding-bottom: 1em;
|
233 |
}
|
234 |
|
235 |
+
/* line 234, sass/partials/_main_wrap.scss */
|
236 |
.cmb-remove-row {
|
237 |
text-align: left;
|
238 |
}
|
239 |
|
240 |
+
/* line 238, sass/partials/_main_wrap.scss */
|
241 |
.empty-row.hidden {
|
242 |
display: none;
|
243 |
}
|
244 |
|
245 |
+
/* line 243, sass/partials/_main_wrap.scss */
|
246 |
+
.cmb-repeat-table {
|
247 |
+
background-color: #fafafa;
|
248 |
+
border: 1px solid #e1e1e1;
|
249 |
+
}
|
250 |
+
/* line 247, sass/partials/_main_wrap.scss */
|
251 |
+
.cmb-repeat-table .cmb-row.cmb-repeat-row {
|
252 |
+
position: relative;
|
253 |
+
counter-increment: el;
|
254 |
+
margin: 0;
|
255 |
+
padding: 10px 50px 10px 10px;
|
256 |
+
border-bottom: none !important;
|
257 |
+
}
|
258 |
+
/* line 255, sass/partials/_main_wrap.scss */
|
259 |
+
.cmb-repeat-table .cmb-row.cmb-repeat-row + .cmb-repeat-row {
|
260 |
+
border-top: solid 1px #e9e9e9;
|
261 |
+
}
|
262 |
+
/* line 259, sass/partials/_main_wrap.scss */
|
263 |
+
.cmb-repeat-table .cmb-row.cmb-repeat-row:before {
|
264 |
+
content: counter(el);
|
265 |
+
display: block;
|
266 |
+
top: 0;
|
267 |
+
right: 0;
|
268 |
+
position: absolute;
|
269 |
+
width: 35px;
|
270 |
+
height: 100%;
|
271 |
+
line-height: 35px;
|
272 |
+
color: #aaaaaa;
|
273 |
+
text-align: center;
|
274 |
+
border-left: solid 1px #e9e9e9;
|
275 |
+
}
|
276 |
+
/* line 276, sass/partials/_main_wrap.scss */
|
277 |
+
.cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td {
|
278 |
+
margin: 0;
|
279 |
+
padding: 0;
|
280 |
+
}
|
281 |
+
/* line 283, sass/partials/_main_wrap.scss */
|
282 |
+
.cmb-repeat-table + .cmb-add-row {
|
283 |
+
margin: 0;
|
284 |
+
}
|
285 |
+
/* line 286, sass/partials/_main_wrap.scss */
|
286 |
+
.cmb-repeat-table + .cmb-add-row:before {
|
287 |
+
content: '';
|
288 |
+
width: 1px;
|
289 |
+
height: 1.6em;
|
290 |
+
display: block;
|
291 |
+
margin-right: 17px;
|
292 |
+
background-color: gainsboro;
|
293 |
+
}
|
294 |
+
/* line 296, sass/partials/_main_wrap.scss */
|
295 |
+
.cmb-repeat-table .cmb-remove-row {
|
296 |
+
top: 7px;
|
297 |
+
left: 7px;
|
298 |
+
position: absolute;
|
299 |
+
width: auto;
|
300 |
+
margin-right: 0;
|
301 |
+
padding: 0 !important;
|
302 |
+
display: none;
|
303 |
+
}
|
304 |
+
/* line 307, sass/partials/_main_wrap.scss */
|
305 |
+
.cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button {
|
306 |
+
font-size: 20px;
|
307 |
+
text-indent: -1000px;
|
308 |
+
overflow: hidden;
|
309 |
+
position: relative;
|
310 |
+
height: auto;
|
311 |
+
line-height: 1;
|
312 |
+
padding: 0 10px 0;
|
313 |
+
}
|
314 |
+
/* line 318, sass/partials/_main_wrap.scss */
|
315 |
+
.cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button:before {
|
316 |
+
content: "";
|
317 |
+
font-family: 'Dashicons';
|
318 |
+
speak: none;
|
319 |
+
font-weight: normal;
|
320 |
+
font-variant: normal;
|
321 |
+
text-transform: none;
|
322 |
+
line-height: 1;
|
323 |
+
-webkit-font-smoothing: antialiased;
|
324 |
+
margin: 0;
|
325 |
+
text-indent: 0;
|
326 |
+
position: absolute;
|
327 |
+
top: 0;
|
328 |
+
right: 0;
|
329 |
+
width: 100%;
|
330 |
+
height: 100%;
|
331 |
+
text-align: center;
|
332 |
+
}
|
333 |
+
/* line 324, sass/partials/_main_wrap.scss */
|
334 |
+
.cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row {
|
335 |
+
display: block;
|
336 |
+
}
|
337 |
+
|
338 |
+
/* line 332, sass/partials/_main_wrap.scss */
|
339 |
.cmb-repeatable-group .cmb-th {
|
340 |
padding: 5px;
|
341 |
}
|
342 |
+
/* line 336, sass/partials/_main_wrap.scss */
|
343 |
.cmb-repeatable-group .cmb-group-title {
|
344 |
background-color: #e9e9e9;
|
345 |
padding: 8px 2.2em 8px 12px;
|
348 |
font-size: 14px;
|
349 |
line-height: 1.4;
|
350 |
}
|
351 |
+
/* line 344, sass/partials/_main_wrap.scss */
|
352 |
.cmb-repeatable-group .cmb-group-title h4 {
|
353 |
border: 0;
|
354 |
margin: 0;
|
356 |
font-weight: 500;
|
357 |
padding: 0.5em 0.75em;
|
358 |
}
|
359 |
+
/* line 352, sass/partials/_main_wrap.scss */
|
360 |
.cmb-repeatable-group .cmb-group-title .cmb-th {
|
361 |
display: block;
|
362 |
width: 100%;
|
363 |
}
|
364 |
+
/* line 358, sass/partials/_main_wrap.scss */
|
365 |
.cmb-repeatable-group .cmb-group-description .cmb-th {
|
366 |
font-size: 1.2em;
|
367 |
display: block;
|
373 |
/* line 27, sass/partials/_mixins.scss */
|
374 |
.cmb-repeatable-group .cmb-group-description .cmb-th label {
|
375 |
display: block;
|
376 |
+
margin-top: 0;
|
377 |
+
margin-bottom: 0.5em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
378 |
}
|
379 |
+
/* line 362, sass/partials/_main_wrap.scss */
|
380 |
.cmb-repeatable-group .cmb-shift-rows {
|
381 |
font-size: 1em;
|
382 |
margin-left: 1em;
|
383 |
text-decoration: none;
|
384 |
}
|
385 |
+
/* line 367, sass/partials/_main_wrap.scss */
|
386 |
.cmb-repeatable-group .cmb-shift-rows .dashicons {
|
387 |
font-size: 1.5em;
|
388 |
height: 1.5em;
|
389 |
line-height: 1.2em;
|
390 |
width: 1em;
|
391 |
}
|
392 |
+
/* line 373, sass/partials/_main_wrap.scss */
|
393 |
.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
|
394 |
line-height: 1.3em;
|
395 |
}
|
396 |
+
/* line 380, sass/partials/_main_wrap.scss */
|
397 |
.cmb-repeatable-group .cmb2-upload-button {
|
398 |
float: left;
|
399 |
}
|
400 |
|
401 |
+
/* line 386, sass/partials/_main_wrap.scss */
|
402 |
p.cmb2-metabox-description {
|
403 |
color: #aaaaaa;
|
404 |
font-style: italic;
|
406 |
padding-top: .5em;
|
407 |
}
|
408 |
|
409 |
+
/* line 393, sass/partials/_main_wrap.scss */
|
410 |
span.cmb2-metabox-description {
|
411 |
color: #aaaaaa;
|
412 |
font-style: italic;
|
413 |
}
|
414 |
|
415 |
+
/* line 398, sass/partials/_main_wrap.scss */
|
416 |
.cmb2-metabox-title {
|
417 |
margin: 0 0 5px 0;
|
418 |
padding: 5px 0 0 0;
|
419 |
font-size: 14px;
|
420 |
}
|
421 |
|
422 |
+
/* line 404, sass/partials/_main_wrap.scss */
|
423 |
.cmb-inline ul {
|
424 |
padding: 4px 0 0 0;
|
425 |
}
|
426 |
|
427 |
+
/* line 408, sass/partials/_main_wrap.scss */
|
428 |
.cmb-inline li {
|
429 |
display: inline-block;
|
430 |
padding-left: 18px;
|
431 |
}
|
432 |
|
433 |
+
/* line 413, sass/partials/_main_wrap.scss */
|
434 |
.cmb-type-textarea-code pre {
|
435 |
margin: 0;
|
436 |
}
|
437 |
|
438 |
+
/* line 419, sass/partials/_main_wrap.scss */
|
439 |
.cmb2-media-status .img-status {
|
440 |
clear: none;
|
441 |
display: inline-block;
|
443 |
margin-left: 10px;
|
444 |
width: auto;
|
445 |
}
|
446 |
+
/* line 426, sass/partials/_main_wrap.scss */
|
447 |
.cmb2-media-status .img-status img {
|
448 |
max-width: 350px;
|
449 |
height: auto;
|
450 |
}
|
451 |
+
/* line 432, sass/partials/_main_wrap.scss */
|
452 |
.cmb2-media-status .img-status img,
|
453 |
.cmb2-media-status .embed-status {
|
454 |
background: #ffffff;
|
458 |
margin: 15px 0 0 0;
|
459 |
padding: 5px;
|
460 |
}
|
461 |
+
/* line 442, sass/partials/_main_wrap.scss */
|
462 |
.cmb2-media-status .embed-status {
|
463 |
float: right;
|
464 |
max-width: 800px;
|
465 |
}
|
466 |
+
/* line 447, sass/partials/_main_wrap.scss */
|
467 |
.cmb2-media-status .img-status, .cmb2-media-status .embed-status {
|
468 |
position: relative;
|
469 |
}
|
470 |
+
/* line 450, sass/partials/_main_wrap.scss */
|
471 |
.cmb2-media-status .img-status .cmb2-remove-file-button, .cmb2-media-status .embed-status .cmb2-remove-file-button {
|
472 |
background: url(../images/ico-delete.png);
|
473 |
height: 16px;
|
477 |
top: -5px;
|
478 |
width: 16px;
|
479 |
}
|
480 |
+
/* line 464, sass/partials/_main_wrap.scss */
|
481 |
.cmb2-media-status .img-status .cmb2-remove-file-button {
|
482 |
top: 10px;
|
483 |
}
|
484 |
+
/* line 469, sass/partials/_main_wrap.scss */
|
485 |
.cmb2-media-status .img-status img, .cmb2-media-status .file-status > span {
|
486 |
cursor: pointer;
|
487 |
}
|
488 |
|
489 |
+
/* line 475, sass/partials/_main_wrap.scss */
|
490 |
.cmb-type-file-list .cmb2-media-status .img-status {
|
491 |
clear: none;
|
492 |
vertical-align: middle;
|
496 |
margin-top: 0;
|
497 |
}
|
498 |
|
499 |
+
/* line 484, sass/partials/_main_wrap.scss */
|
500 |
.cmb-attach-list li {
|
501 |
clear: both;
|
502 |
display: inline-block;
|
504 |
margin-top: 5px;
|
505 |
margin-bottom: 10px;
|
506 |
}
|
507 |
+
/* line 491, sass/partials/_main_wrap.scss */
|
508 |
.cmb-attach-list li img {
|
509 |
cursor: move;
|
510 |
float: right;
|
511 |
margin-left: 10px;
|
512 |
}
|
513 |
|
514 |
+
/* line 498, sass/partials/_main_wrap.scss */
|
515 |
.cmb2-remove-wrapper {
|
516 |
margin: 0;
|
517 |
}
|
518 |
|
519 |
+
/* line 502, sass/partials/_main_wrap.scss */
|
520 |
.child-cmb2 .cmb-th {
|
521 |
text-align: right;
|
522 |
}
|
523 |
|
524 |
+
/* line 506, sass/partials/_main_wrap.scss */
|
525 |
+
.cmb2-indented-hierarchy {
|
526 |
+
padding-right: 1.5em;
|
527 |
+
}
|
528 |
+
|
529 |
@media (max-width: 450px) {
|
530 |
+
/* line 511, sass/partials/_main_wrap.scss */
|
531 |
.cmb-th,
|
532 |
.cmb-td,
|
533 |
.cmb-th + .cmb-td {
|
595 |
line-height: 1.3;
|
596 |
}
|
597 |
/* line 63, sass/partials/_post_metaboxes.scss */
|
|
|
|
|
|
|
|
|
598 |
.cmb2-postbox .cmb-th + .cmb-td, .cmb-type-group .cmb-th + .cmb-td {
|
599 |
width: 80%;
|
600 |
float: left;
|
601 |
}
|
602 |
+
/* line 68, sass/partials/_post_metaboxes.scss */
|
603 |
.cmb2-postbox .cmb-row:not(:last-of-type),
|
604 |
.cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type),
|
605 |
.cmb-type-group .cmb-repeatable-group:not(:last-of-type) {
|
606 |
border-bottom: 1px solid #e9e9e9;
|
607 |
}
|
608 |
@media (max-width: 450px) {
|
609 |
+
/* line 68, sass/partials/_post_metaboxes.scss */
|
610 |
.cmb2-postbox .cmb-row:not(:last-of-type),
|
611 |
.cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type),
|
612 |
.cmb-type-group .cmb-repeatable-group:not(:last-of-type) {
|
613 |
border-bottom: 0;
|
614 |
}
|
615 |
}
|
616 |
+
/* line 77, sass/partials/_post_metaboxes.scss */
|
617 |
.cmb2-postbox .cmb-repeat-group-field,
|
618 |
.cmb2-postbox .cmb-remove-field-row, .cmb-type-group .cmb-repeat-group-field,
|
619 |
.cmb-type-group .cmb-remove-field-row {
|
620 |
padding-top: 1.8em;
|
621 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
622 |
|
623 |
/*--------------------------------------------------------------
|
624 |
Context Metaboxes
|
711 |
margin-left: 0;
|
712 |
}
|
713 |
}
|
714 |
+
/*--------------------------------------------------------------
|
715 |
+
Options page
|
716 |
+
--------------------------------------------------------------*/
|
717 |
+
/* line 4, sass/partials/_options-page.scss */
|
718 |
+
.cmb2-options-page {
|
719 |
+
max-width: 1200px;
|
720 |
+
}
|
721 |
+
/* line 7, sass/partials/_options-page.scss */
|
722 |
+
.cmb2-options-page.wrap > h2 {
|
723 |
+
margin-bottom: 1em;
|
724 |
+
}
|
725 |
+
/* line 11, sass/partials/_options-page.scss */
|
726 |
+
.cmb2-options-page .cmb2-metabox > .cmb-row {
|
727 |
+
padding: 1em;
|
728 |
+
margin-top: -1px;
|
729 |
+
background: #ffffff;
|
730 |
+
border: 1px solid #e9e9e9;
|
731 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
|
732 |
+
}
|
733 |
+
/* line 18, sass/partials/_options-page.scss */
|
734 |
+
.cmb2-options-page .cmb2-metabox > .cmb-row > .cmb-th {
|
735 |
+
padding: 0;
|
736 |
+
font-weight: initial;
|
737 |
+
}
|
738 |
+
/* line 23, sass/partials/_options-page.scss */
|
739 |
+
.cmb2-options-page .cmb2-metabox > .cmb-row > .cmb-th + .cmb-td {
|
740 |
+
float: none;
|
741 |
+
padding: 0 1em 0 0;
|
742 |
+
margin-right: 200px;
|
743 |
+
}
|
744 |
+
@media (max-width: 450px) {
|
745 |
+
/* line 23, sass/partials/_options-page.scss */
|
746 |
+
.cmb2-options-page .cmb2-metabox > .cmb-row > .cmb-th + .cmb-td {
|
747 |
+
padding: 0;
|
748 |
+
margin-right: 0;
|
749 |
+
}
|
750 |
+
}
|
751 |
+
/* line 36, sass/partials/_options-page.scss */
|
752 |
+
.cmb2-options-page .cmb2-wrap .cmb-type-title {
|
753 |
+
margin-top: 1em;
|
754 |
+
padding: 0.6em 1em;
|
755 |
+
background-color: #fafafa;
|
756 |
+
}
|
757 |
+
/* line 41, sass/partials/_options-page.scss */
|
758 |
+
.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-title {
|
759 |
+
font-size: 12px;
|
760 |
+
margin-top: 0;
|
761 |
+
margin-bottom: 0;
|
762 |
+
text-transform: uppercase;
|
763 |
+
}
|
764 |
+
/* line 48, sass/partials/_options-page.scss */
|
765 |
+
.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-description {
|
766 |
+
padding-top: 0.25em;
|
767 |
+
}
|
768 |
+
/* line 54, sass/partials/_options-page.scss */
|
769 |
+
.cmb2-options-page .cmb-repeatable-group .cmb-group-description .cmb-th {
|
770 |
+
padding: 0 0 0.8em 0;
|
771 |
+
}
|
772 |
+
/* line 58, sass/partials/_options-page.scss */
|
773 |
+
.cmb2-options-page .cmb-repeatable-group .cmb-group-name {
|
774 |
+
font-size: 16px;
|
775 |
+
margin-top: 0;
|
776 |
+
margin-bottom: 0;
|
777 |
+
}
|
778 |
+
/* line 64, sass/partials/_options-page.scss */
|
779 |
+
.cmb2-options-page .cmb-repeatable-group .cmb-th > .cmb2-metabox-description {
|
780 |
+
font-weight: 400;
|
781 |
+
padding-bottom: 0 !important;
|
782 |
+
}
|
783 |
+
|
784 |
/*--------------------------------------------------------------
|
785 |
Misc.
|
786 |
--------------------------------------------------------------*/
|
797 |
}
|
798 |
|
799 |
/* line 18, sass/partials/_misc.scss */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
800 |
.cmb2-postbox .cmb-spinner, .cmb2-no-box-wrap .cmb-spinner {
|
801 |
float: right;
|
802 |
display: none;
|
803 |
}
|
804 |
|
805 |
+
/* line 24, sass/partials/_misc.scss */
|
806 |
.cmb-spinner {
|
807 |
display: none;
|
808 |
}
|
809 |
+
/* line 26, sass/partials/_misc.scss */
|
810 |
.cmb-spinner.is-active {
|
811 |
display: block;
|
812 |
}
|
867 |
}
|
868 |
/* line 55, sass/partials/_sidebar_placements.scss */
|
869 |
.inner-sidebar .cmb-th,
|
870 |
+
.inner-sidebar .cmb-td:not(.cmb-remove-row),
|
871 |
.inner-sidebar .cmb-th + .cmb-td,
|
872 |
#side-sortables .cmb-th,
|
873 |
+
#side-sortables .cmb-td:not(.cmb-remove-row),
|
874 |
#side-sortables .cmb-th + .cmb-td {
|
875 |
width: 100%;
|
876 |
display: block;
|
882 |
display: none;
|
883 |
}
|
884 |
/* line 67, sass/partials/_sidebar_placements.scss */
|
|
|
|
|
|
|
|
|
|
|
885 |
.inner-sidebar .cmb-th,
|
886 |
#side-sortables .cmb-th {
|
887 |
display: block;
|
896 |
.inner-sidebar .cmb-th label,
|
897 |
#side-sortables .cmb-th label {
|
898 |
display: block;
|
899 |
+
margin-top: 0;
|
900 |
+
margin-bottom: 0.5em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
901 |
}
|
902 |
/* line 14, sass/partials/_mixins.scss */
|
903 |
.inner-sidebar .cmb-th label,
|
905 |
font-size: 14px;
|
906 |
line-height: 1.4em;
|
907 |
}
|
908 |
+
/* line 74, sass/partials/_sidebar_placements.scss */
|
909 |
.inner-sidebar .cmb-group-description .cmb-th,
|
910 |
#side-sortables .cmb-group-description .cmb-th {
|
911 |
padding-top: 0;
|
912 |
}
|
913 |
+
/* line 77, sass/partials/_sidebar_placements.scss */
|
914 |
.inner-sidebar .cmb-group-description .cmb2-metabox-description,
|
915 |
#side-sortables .cmb-group-description .cmb2-metabox-description {
|
916 |
padding: 0;
|
917 |
}
|
918 |
+
/* line 84, sass/partials/_sidebar_placements.scss */
|
919 |
.inner-sidebar .cmb-group-title .cmb-th,
|
920 |
#side-sortables .cmb-group-title .cmb-th {
|
921 |
padding: 0;
|
922 |
}
|
923 |
+
/* line 90, sass/partials/_sidebar_placements.scss */
|
924 |
.inner-sidebar .cmb-repeatable-grouping + .cmb-repeatable-grouping,
|
925 |
#side-sortables .cmb-repeatable-grouping + .cmb-repeatable-grouping {
|
926 |
margin-top: 1em;
|
927 |
}
|
928 |
+
/* line 99, sass/partials/_sidebar_placements.scss */
|
929 |
.inner-sidebar .cmb2-media-status .img-status img,
|
930 |
.inner-sidebar .cmb2-media-status .embed-status img,
|
931 |
#side-sortables .cmb2-media-status .img-status img,
|
933 |
max-width: 90%;
|
934 |
height: auto;
|
935 |
}
|
936 |
+
/* line 107, sass/partials/_sidebar_placements.scss */
|
937 |
.inner-sidebar .cmb2-list label,
|
938 |
#side-sortables .cmb2-list label {
|
939 |
display: inline;
|
940 |
font-weight: normal;
|
941 |
}
|
942 |
+
/* line 112, sass/partials/_sidebar_placements.scss */
|
943 |
.inner-sidebar .cmb2-metabox-description,
|
944 |
#side-sortables .cmb2-metabox-description {
|
945 |
display: block;
|
946 |
padding: 7px 0 0;
|
947 |
}
|
948 |
+
/* line 119, sass/partials/_sidebar_placements.scss */
|
949 |
.inner-sidebar .cmb-type-checkbox .cmb-td label,
|
950 |
.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description,
|
951 |
#side-sortables .cmb-type-checkbox .cmb-td label,
|
953 |
font-weight: normal;
|
954 |
display: inline;
|
955 |
}
|
956 |
+
/* line 126, sass/partials/_sidebar_placements.scss */
|
957 |
.inner-sidebar .cmb-row .cmb2-metabox-description,
|
958 |
#side-sortables .cmb-row .cmb2-metabox-description {
|
959 |
padding-bottom: 1.8em;
|
960 |
}
|
961 |
+
/* line 130, sass/partials/_sidebar_placements.scss */
|
962 |
.inner-sidebar .cmb2-metabox-title,
|
963 |
#side-sortables .cmb2-metabox-title {
|
964 |
font-size: 1.2em;
|
965 |
font-style: italic;
|
966 |
}
|
967 |
+
/* line 135, sass/partials/_sidebar_placements.scss */
|
968 |
.inner-sidebar .cmb-remove-row,
|
969 |
#side-sortables .cmb-remove-row {
|
970 |
clear: both;
|
971 |
padding-top: 12px;
|
972 |
padding-bottom: 0;
|
973 |
}
|
974 |
+
/* line 141, sass/partials/_sidebar_placements.scss */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
975 |
.inner-sidebar .cmb2-upload-button,
|
976 |
#side-sortables .cmb2-upload-button {
|
977 |
clear: both;
|
979 |
}
|
980 |
|
981 |
/* line 2, sass/partials/_collapsible_ui.scss */
|
|
|
|
|
|
|
|
|
982 |
.cmb2-metabox .cmbhandle {
|
983 |
color: #aaa;
|
984 |
float: left;
|
988 |
left: -1em;
|
989 |
position: relative;
|
990 |
}
|
991 |
+
/* line 10, sass/partials/_collapsible_ui.scss */
|
992 |
.cmb2-metabox .cmbhandle:before {
|
993 |
content: '\f142';
|
994 |
left: 12px;
|
1002 |
-moz-osx-font-smoothing: grayscale;
|
1003 |
text-decoration: none !important;
|
1004 |
}
|
1005 |
+
/* line 27, sass/partials/_collapsible_ui.scss */
|
1006 |
.cmb2-metabox .postbox.closed .cmbhandle:before {
|
1007 |
content: '\f140';
|
1008 |
}
|
1009 |
+
/* line 33, sass/partials/_collapsible_ui.scss */
|
1010 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row {
|
1011 |
-webkit-appearance: none !important;
|
1012 |
background: none !important;
|
1018 |
padding: 2px 6px 3px;
|
1019 |
opacity: .5;
|
1020 |
}
|
1021 |
+
/* line 43, sass/partials/_collapsible_ui.scss */
|
1022 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]) {
|
1023 |
cursor: pointer;
|
1024 |
color: #a00;
|
1025 |
opacity: 1;
|
1026 |
}
|
1027 |
+
/* line 47, sass/partials/_collapsible_ui.scss */
|
1028 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover {
|
1029 |
color: #f00;
|
1030 |
}
|
vendor/CMB2/css/cmb2-front-rtl.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-right:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 0 0 5px;padding:0}.cmb2-wrap .button,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 0 0 10px}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat-row{padding:1.8em 0 0}.cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type{padding:0}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1.8em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb2-metabox>.cmb-row .cmb-repeat-table .cmb-row>.cmb-td{padding-left:20px;box-sizing:border-box;float:right}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em;max-width:1000px}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:right;font-weight:600;line-height:1.3;padding:20px 0 20px 10px;vertical-align:top;width:200px}@media (max-width:450px){.cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:right;width:100%}.cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:right}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:left}.empty-row.hidden{display:none}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 2.2em 8px 12px;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:right;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-repeatable-group .cmb-group-description .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-left:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:left}p.cmb2-metabox-description{color:#aaa;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#aaa;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-left:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;vertical-align:middle;margin-left:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px;height:auto}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#fff;border:1px solid #e9e9e9;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0;padding:5px}.cmb2-media-status .embed-status{float:right;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;right:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;vertical-align:middle;width:auto;margin-left:10px;margin-bottom:10px;margin-top:0}.cmb-attach-list li{clear:both;display:inline-block;width:100%;margin-top:5px;margin-bottom:10px}.cmb-attach-list li img{cursor:move;float:right;margin-left:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:right}@media (max-width:450px){.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}}#poststuff .cmb-group-title{margin-right:-1em;margin-left:-1em;min-height:1.5em}#poststuff .repeatable .cmb-group-title{padding-right:2.2em}.cmb-type-group .cmb2-wrap,.cmb2-postbox .cmb2-wrap{margin:0}.cmb-type-group .cmb2-wrap>.cmb-field-list>.cmb-row,.cmb2-postbox .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-type-group .cmb2-wrap input[type=text].cmb2-oembed,.cmb2-postbox .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-type-group .cmb-row,.cmb2-postbox .cmb-row{padding:0 0 1.8em;margin:0 0 .8em}.cmb-type-group .cmb-row .cmbhandle,.cmb2-postbox .cmb-row .cmbhandle{left:-1em;position:relative}.cmb-type-group .cmb-repeatable-grouping,.cmb2-postbox .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-type-group .cmb-repeatable-group>.cmb-row,.cmb2-postbox .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-type-group .cmb-th,.cmb2-postbox .cmb-th{width:18%;padding:0 0 0 2%}.cmb-type-group .cmb-td,.cmb2-postbox .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-type-group .cmb-repeat-row .cmb-td,.cmb2-postbox .cmb-repeat-row .cmb-td{padding-bottom:1.8em}.cmb-type-group .cmb-th+.cmb-td,.cmb2-postbox .cmb-th+.cmb-td{width:80%;float:left}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}@media (max-width:450px){.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:0}}.cmb-type-group .cmb-remove-field-row,.cmb-type-group .cmb-repeat-group-field,.cmb2-postbox .cmb-remove-field-row,.cmb2-postbox .cmb-repeat-group-field{padding-top:1.8em}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody{display:table;width:100%}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text{width:100%}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row){display:table-row}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td{display:table-cell;float:none;width:100%}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td{padding-top:1.8em}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row{padding-left:0}.js .cmb2-postbox.context-box .toggle-indicator:before{content:"\f142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js .cmb2-postbox.context-box.closed .toggle-indicator:before{content:"\f140"}.cmb2-postbox.context-box{margin-bottom:10px}.cmb2-postbox.context-box.context-after_title-box,.cmb2-postbox.context-box.context-before_permalink-box{margin-top:10px}.cmb2-postbox.context-box.context-after_editor-box{margin-top:20px;margin-bottom:0}.cmb2-postbox.context-box.context-form_top-box{margin-top:10px}.cmb2-postbox.context-box.context-form_top-box .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb2-postbox.context-box .hndle{cursor:auto}.cmb2-context-wrap{margin-top:10px}.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-left:300px;width:auto}.cmb2-context-wrap.cmb2-context-wrap-no-title .cmb2-metabox{padding:10px}.cmb2-context-wrap .cmb-th{padding:0 0 0 2%;width:18%}.cmb2-context-wrap .cmb-td{width:80%;padding:0}.cmb2-context-wrap .cmb-row{margin-bottom:10px}.cmb2-context-wrap .cmb-row:last-of-type{margin-bottom:0}@media only screen and (max-width:850px){.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-left:0}}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.cmb2-options-page .cmb2-metabox-title{font-size:1.3em;margin:1em 0}.cmb2-options-page .cmb2-metabox-title+p.cmb2-metabox-description{margin-top:-1.6em;margin-bottom:.8em}.cmb2-no-box-wrap .cmb-spinner,.cmb2-postbox .cmb-spinner{float:right;display:none}.cmb-spinner.is-active{display:block}#side-sortables .cmb2-wrap>.cmb-field-list>.cmb-row,.inner-sidebar .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.4em 0}#side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker),.inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker){width:100%}#side-sortables .cmb2-wrap input+input:not(.wp-picker-clear),#side-sortables .cmb2-wrap input+select,.inner-sidebar .cmb2-wrap input+input:not(.wp-picker-clear),.inner-sidebar .cmb2-wrap input+select{margin-right:0;margin-top:1em;display:block}#side-sortables .cmb2-wrap input.cmb2-text-money,.inner-sidebar .cmb2-wrap input.cmb2-text-money{max-width:70%}#side-sortables .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description,.inner-sidebar .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description{display:block}#side-sortables .cmb2-wrap label,.inner-sidebar .cmb2-wrap label{display:block;font-weight:700;padding:0 0 5px}#side-sortables textarea,.inner-sidebar textarea{max-width:99%}#side-sortables .cmb-repeatable-group,.inner-sidebar .cmb-repeatable-group{border-bottom:1px solid #e9e9e9}#side-sortables .cmb-type-group>.cmb-td>.cmb-repeatable-group,.inner-sidebar .cmb-type-group>.cmb-td>.cmb-repeatable-group{border-bottom:0;margin-bottom:-1.4em}#side-sortables .cmb-td,#side-sortables .cmb-th,#side-sortables .cmb-th+.cmb-td,.inner-sidebar .cmb-td,.inner-sidebar .cmb-th,.inner-sidebar .cmb-th+.cmb-td{width:100%;display:block;float:none}#side-sortables .closed .inside,.inner-sidebar .closed .inside{display:none}#side-sortables .cmb-td .cmb-td,.inner-sidebar .cmb-td .cmb-td{padding-bottom:1em}#side-sortables .cmb-th,.inner-sidebar .cmb-th{display:block;float:none;padding-bottom:1em;text-align:right;width:100%;padding-right:0;padding-left:0}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{display:block;margin-top:0;padding-bottom:5px}#side-sortables .cmb-th label:after,.inner-sidebar .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{font-size:14px;line-height:1.4em}#side-sortables .cmb-group-description .cmb-th,.inner-sidebar .cmb-group-description .cmb-th{padding-top:0}#side-sortables .cmb-group-description .cmb2-metabox-description,#side-sortables .cmb-group-title .cmb-th,.inner-sidebar .cmb-group-description .cmb2-metabox-description,.inner-sidebar .cmb-group-title .cmb-th{padding:0}#side-sortables .cmb-repeatable-grouping+.cmb-repeatable-grouping,.inner-sidebar .cmb-repeatable-grouping+.cmb-repeatable-grouping{margin-top:1em}#side-sortables .cmb2-media-status .embed-status img,#side-sortables .cmb2-media-status .img-status img,.inner-sidebar .cmb2-media-status .embed-status img,.inner-sidebar .cmb2-media-status .img-status img{max-width:90%;height:auto}#side-sortables .cmb2-list label,.inner-sidebar .cmb2-list label{display:inline;font-weight:400}#side-sortables .cmb2-metabox-description,.inner-sidebar .cmb2-metabox-description{display:block;padding:7px 0 0}#side-sortables .cmb-type-checkbox .cmb-td label,#side-sortables .cmb-type-checkbox .cmb2-metabox-description,.inner-sidebar .cmb-type-checkbox .cmb-td label,.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description{font-weight:400;display:inline}#side-sortables .cmb-row .cmb2-metabox-description,.inner-sidebar .cmb-row .cmb2-metabox-description{padding-bottom:1.8em}#side-sortables .cmb2-metabox-title,.inner-sidebar .cmb2-metabox-title{font-size:1.2em;font-style:italic}#side-sortables .cmb-remove-row,.inner-sidebar .cmb-remove-row{clear:both;padding-top:12px;padding-bottom:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td{width:auto;clear:none;float:right;padding-top:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row{float:left;margin:0}#side-sortables .cmb2-upload-button,.inner-sidebar .cmb2-upload-button{clear:both;margin-top:12px}.cmb2-metabox .cmb-type-group{max-width:1000px}.cmb2-metabox .cmbhandle{color:#aaa;float:left;width:27px;height:30px;cursor:pointer;left:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';left:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;right:0;top:.5em;line-height:1em;padding:2px 6px 3px;opacity:.5}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){cursor:pointer;color:#a00;opacity:1}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}* html .cmb2-element.ui-helper-clearfix{height:1%}.cmb2-element .ui-datepicker,.cmb2-element.ui-datepicker{padding:0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background-color:#fff;border:1px solid #dfdfdf;border-top:none;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075);min-width:17em;width:auto}.cmb2-element .ui-datepicker *,.cmb2-element.ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{font-size:13px;margin:0;border:none;border-collapse:collapse}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{border:none;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover{background:0 0;border-color:transparent;cursor:pointer}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin:0;padding:10px 0;color:#fff;font-size:14px;line-height:14px;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select,.cmb2-element.ui-datepicker .ui-datepicker-title select{margin-top:-8px;margin-bottom:-8px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-prev{position:relative;top:0;height:34px;width:34px}.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-prev{border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{right:0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next-hover{left:0}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{display:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev{float:right}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next{float:left}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{font:400 20px/34px dashicons;padding-right:7px;color:#fff;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:34px;height:34px}.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{content:'\f341'}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before{content:'\f345'}.cmb2-element .ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover:before{opacity:.7}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-year{width:33%;background:0 0;border-color:transparent;box-shadow:none;color:#fff}.cmb2-element .ui-datepicker select.ui-datepicker-month option,.cmb2-element .ui-datepicker select.ui-datepicker-year option,.cmb2-element.ui-datepicker select.ui-datepicker-month option,.cmb2-element.ui-datepicker select.ui-datepicker-year option{color:#333}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{color:#fff;font-weight:600}.cmb2-element .ui-datepicker thead th,.cmb2-element.ui-datepicker thead th{font-weight:400}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{padding:10px}.cmb2-element .ui-datepicker td,.cmb2-element.ui-datepicker td{padding:0;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-other-month,.cmb2-element.ui-datepicker td.ui-datepicker-other-month{border:transparent}.cmb2-element .ui-datepicker td.ui-datepicker-week-end,.cmb2-element.ui-datepicker td.ui-datepicker-week-end{background-color:#f4f4f4;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today{-webkit-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);-moz-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1)}.cmb2-element .ui-datepicker td.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-today{background-color:#f0f0c0}.cmb2-element .ui-datepicker td.ui-datepicker-current-day,.cmb2-element.ui-datepicker td.ui-datepicker-current-day{background:#bd8}.cmb2-element .ui-datepicker td .ui-state-default,.cmb2-element.ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;text-decoration:none;width:auto;display:block;padding:5px 10px;font-weight:400;color:#444}.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{opacity:.5}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{background:#32373c}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover,.cmb2-element.ui-datepicker td .ui-state-active,.cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.cmb2-element .ui-datepicker .ui-timepicker-div,.cmb2-element.ui-datepicker .ui-timepicker-div{font-size:14px}.cmb2-element .ui-datepicker .ui-timepicker-div dl,.cmb2-element.ui-datepicker .ui-timepicker-div dl{text-align:right;padding:0 .6em}.cmb2-element .ui-datepicker .ui-timepicker-div dl dt,.cmb2-element.ui-datepicker .ui-timepicker-div dl dt{float:right;clear:right;padding:0 5px 0 0}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd{margin:0 40% 10px 10px}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd select,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd select{width:100%}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane{padding:.6em;text-align:right}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary{padding:0 10px 1px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;margin:0 .4em .4em .6em}.admin-color-fresh .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.admin-color-fresh .cmb2-element .ui-datepicker thead,.admin-color-fresh .cmb2-element.ui-datepicker thead{background:#32373c}.admin-color-fresh .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-fresh .cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-widget-header{background:#52accc}.admin-color-blue .cmb2-element .ui-datepicker thead,.admin-color-blue .cmb2-element.ui-datepicker thead{background:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover{background:#096484;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-blue .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-widget-header{background:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker thead,.admin-color-coffee .cmb2-element.ui-datepicker thead{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover{background:#c7a589;color:#fff}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-widget-header{background:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker thead,.admin-color-ectoplasm .cmb2-element.ui-datepicker thead{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover{background:#a3b745;color:#fff}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-widget-header{background:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker thead,.admin-color-midnight .cmb2-element.ui-datepicker thead{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover{background:#e14d43;color:#fff}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-widget-header{background:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker thead,.admin-color-ocean .cmb2-element.ui-datepicker thead{background:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover{background:#9ebaa0;color:#fff}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-widget-header{background:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker th,.admin-color-sunrise .cmb2-element.ui-datepicker th{border-color:#be3631;background:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover{background:#dd823b;color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element.ui-datepicker .ui-widget-header{background:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-year,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-year{color:#555}.admin-color-light .cmb2-element .ui-datepicker thead,.admin-color-light .cmb2-element.ui-datepicker thead{background:#888}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-default{color:#555}.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover{background:#ccc}.admin-color-light .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-light .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-widget-header{background:#56b274}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker thead,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker thead{background:#36533f}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker td .ui-state-hover{background:#446950;color:#fff}.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-widget-header{background:#4ca26a}.admin-color-bbp-mint .cmb2-element .ui-datepicker thead,.admin-color-bbp-mint .cmb2-element.ui-datepicker thead{background:#4f6d59}.admin-color-bbp-mint .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-mint .cmb2-element.ui-datepicker td .ui-state-hover{background:#5fb37c;color:#fff}.closed .inside{display:none}.cmb-repeatable-grouping{position:relative}.cmb-repeatable-grouping .cmb-group-title{margin-right:-1em;margin-left:-1em;min-height:1.5em}.cmb-repeatable-grouping h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb-repeatable-group.repeatable .cmb-group-title{padding-right:2.2em}.cmb-repeatable-group.non-repeatable .cmb-group-title{padding-right:12px}.cmb-type-group .cmb-row .cmbhandle{left:0;position:absolute}.cmb-spinner{background:url(/wp-admin/images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;float:left;vertical-align:middle;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}
|
1 |
+
@charset "UTF-8";.cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button-secondary,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-right:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 0 0 5px;padding:0}.cmb2-wrap .button-secondary,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 0 0 10px}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:right;font-weight:600;line-height:1.3;padding:20px 0 20px 10px;vertical-align:top;width:200px}@media (max-width:450px){.cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:right;width:100%}.cmb-th label{display:block;margin-top:0;margin-bottom:.5em}}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:right}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:left}.empty-row.hidden{display:none}.cmb-repeat-table{background-color:#fafafa;border:1px solid #e1e1e1}.cmb-repeat-table .cmb-row.cmb-repeat-row{position:relative;counter-increment:el;margin:0;padding:10px 50px 10px 10px;border-bottom:none!important}.cmb-repeat-table .cmb-row.cmb-repeat-row+.cmb-repeat-row{border-top:solid 1px #e9e9e9}.cmb-repeat-table .cmb-row.cmb-repeat-row:before{content:counter(el);display:block;top:0;right:0;position:absolute;width:35px;height:100%;line-height:35px;color:#aaa;text-align:center;border-left:solid 1px #e9e9e9}.cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td{margin:0;padding:0}.cmb-repeat-table+.cmb-add-row{margin:0}.cmb-repeat-table+.cmb-add-row:before{content:'';width:1px;height:1.6em;display:block;margin-right:17px;background-color:#dcdcdc}.cmb-repeat-table .cmb-remove-row{top:7px;left:7px;position:absolute;width:auto;margin-right:0;padding:0!important;display:none}.cmb-repeat-table .cmb-remove-row>.cmb-remove-row-button{font-size:20px;text-indent:-1000px;overflow:hidden;position:relative;height:auto;line-height:1;padding:0 10px}.cmb-repeat-table .cmb-remove-row>.cmb-remove-row-button:before{content:"";font-family:Dashicons;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;right:0;width:100%;height:100%;text-align:center}.cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row{display:block}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 2.2em 8px 12px;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:right;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;margin-bottom:.5em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-left:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:left}p.cmb2-metabox-description{color:#aaa;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#aaa;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-left:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;vertical-align:middle;margin-left:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px;height:auto}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#fff;border:1px solid #e9e9e9;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0;padding:5px}.cmb2-media-status .embed-status{float:right;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;right:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;vertical-align:middle;width:auto;margin-left:10px;margin-bottom:10px;margin-top:0}.cmb-attach-list li{clear:both;display:inline-block;width:100%;margin-top:5px;margin-bottom:10px}.cmb-attach-list li img{cursor:move;float:right;margin-left:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:right}.cmb2-indented-hierarchy{padding-right:1.5em}@media (max-width:450px){.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}}#poststuff .cmb-group-title{margin-right:-1em;margin-left:-1em;min-height:1.5em}#poststuff .repeatable .cmb-group-title{padding-right:2.2em}.cmb-type-group .cmb2-wrap,.cmb2-postbox .cmb2-wrap{margin:0}.cmb-type-group .cmb2-wrap>.cmb-field-list>.cmb-row,.cmb2-postbox .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-type-group .cmb2-wrap input[type=text].cmb2-oembed,.cmb2-postbox .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-type-group .cmb-row,.cmb2-postbox .cmb-row{padding:0 0 1.8em;margin:0 0 .8em}.cmb-type-group .cmb-row .cmbhandle,.cmb2-postbox .cmb-row .cmbhandle{left:-1em;position:relative}.cmb-type-group .cmb-repeatable-grouping,.cmb2-postbox .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-type-group .cmb-repeatable-group>.cmb-row,.cmb2-postbox .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-type-group .cmb-th,.cmb2-postbox .cmb-th{width:18%;padding:0 0 0 2%}.cmb-type-group .cmb-td,.cmb2-postbox .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-type-group .cmb-th+.cmb-td,.cmb2-postbox .cmb-th+.cmb-td{width:80%;float:left}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}@media (max-width:450px){.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:0}}.cmb-type-group .cmb-remove-field-row,.cmb-type-group .cmb-repeat-group-field,.cmb2-postbox .cmb-remove-field-row,.cmb2-postbox .cmb-repeat-group-field{padding-top:1.8em}.js .cmb2-postbox.context-box .toggle-indicator:before{content:"\f142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js .cmb2-postbox.context-box.closed .toggle-indicator:before{content:"\f140"}.cmb2-postbox.context-box{margin-bottom:10px}.cmb2-postbox.context-box.context-after_title-box,.cmb2-postbox.context-box.context-before_permalink-box{margin-top:10px}.cmb2-postbox.context-box.context-after_editor-box{margin-top:20px;margin-bottom:0}.cmb2-postbox.context-box.context-form_top-box{margin-top:10px}.cmb2-postbox.context-box.context-form_top-box .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb2-postbox.context-box .hndle{cursor:auto}.cmb2-context-wrap{margin-top:10px}.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-left:300px;width:auto}.cmb2-context-wrap.cmb2-context-wrap-no-title .cmb2-metabox{padding:10px}.cmb2-context-wrap .cmb-th{padding:0 0 0 2%;width:18%}.cmb2-context-wrap .cmb-td{width:80%;padding:0}.cmb2-context-wrap .cmb-row{margin-bottom:10px}.cmb2-context-wrap .cmb-row:last-of-type{margin-bottom:0}@media only screen and (max-width:850px){.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-left:0}}.cmb2-options-page{max-width:1200px}.cmb2-options-page.wrap>h2{margin-bottom:1em}.cmb2-options-page .cmb2-metabox>.cmb-row{padding:1em;margin-top:-1px;background:#fff;border:1px solid #e9e9e9;box-shadow:0 1px 1px rgba(0,0,0,.05)}.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th{padding:0;font-weight:initial}.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th+.cmb-td{float:none;padding:0 1em 0 0;margin-right:200px}@media (max-width:450px){.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th+.cmb-td{padding:0;margin-right:0}}.cmb2-options-page .cmb2-wrap .cmb-type-title{margin-top:1em;padding:.6em 1em;background-color:#fafafa}.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-title{font-size:12px;margin-top:0;margin-bottom:0;text-transform:uppercase}.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-description{padding-top:.25em}.cmb2-options-page .cmb-repeatable-group .cmb-group-description .cmb-th{padding:0 0 .8em}.cmb2-options-page .cmb-repeatable-group .cmb-group-name{font-size:16px;margin-top:0;margin-bottom:0}.cmb2-options-page .cmb-repeatable-group .cmb-th>.cmb2-metabox-description{font-weight:400;padding-bottom:0!important}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.cmb2-no-box-wrap .cmb-spinner,.cmb2-postbox .cmb-spinner{float:right;display:none}.cmb-spinner.is-active{display:block}#side-sortables .cmb2-wrap>.cmb-field-list>.cmb-row,.inner-sidebar .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.4em 0}#side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker),.inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker){width:100%}#side-sortables .cmb2-wrap input+input:not(.wp-picker-clear),#side-sortables .cmb2-wrap input+select,.inner-sidebar .cmb2-wrap input+input:not(.wp-picker-clear),.inner-sidebar .cmb2-wrap input+select{margin-right:0;margin-top:1em;display:block}#side-sortables .cmb2-wrap input.cmb2-text-money,.inner-sidebar .cmb2-wrap input.cmb2-text-money{max-width:70%}#side-sortables .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description,.inner-sidebar .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description{display:block}#side-sortables .cmb2-wrap label,.inner-sidebar .cmb2-wrap label{display:block;font-weight:700;padding:0 0 5px}#side-sortables textarea,.inner-sidebar textarea{max-width:99%}#side-sortables .cmb-repeatable-group,.inner-sidebar .cmb-repeatable-group{border-bottom:1px solid #e9e9e9}#side-sortables .cmb-type-group>.cmb-td>.cmb-repeatable-group,.inner-sidebar .cmb-type-group>.cmb-td>.cmb-repeatable-group{border-bottom:0;margin-bottom:-1.4em}#side-sortables .cmb-td:not(.cmb-remove-row),#side-sortables .cmb-th,#side-sortables .cmb-th+.cmb-td,.inner-sidebar .cmb-td:not(.cmb-remove-row),.inner-sidebar .cmb-th,.inner-sidebar .cmb-th+.cmb-td{width:100%;display:block;float:none}#side-sortables .closed .inside,.inner-sidebar .closed .inside{display:none}#side-sortables .cmb-th,.inner-sidebar .cmb-th{display:block;float:none;padding-bottom:1em;text-align:right;width:100%;padding-right:0;padding-left:0}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{display:block;margin-top:0;margin-bottom:.5em;font-size:14px;line-height:1.4em}#side-sortables .cmb-group-description .cmb-th,.inner-sidebar .cmb-group-description .cmb-th{padding-top:0}#side-sortables .cmb-group-description .cmb2-metabox-description,#side-sortables .cmb-group-title .cmb-th,.inner-sidebar .cmb-group-description .cmb2-metabox-description,.inner-sidebar .cmb-group-title .cmb-th{padding:0}#side-sortables .cmb-repeatable-grouping+.cmb-repeatable-grouping,.inner-sidebar .cmb-repeatable-grouping+.cmb-repeatable-grouping{margin-top:1em}#side-sortables .cmb2-media-status .embed-status img,#side-sortables .cmb2-media-status .img-status img,.inner-sidebar .cmb2-media-status .embed-status img,.inner-sidebar .cmb2-media-status .img-status img{max-width:90%;height:auto}#side-sortables .cmb2-list label,.inner-sidebar .cmb2-list label{display:inline;font-weight:400}#side-sortables .cmb2-metabox-description,.inner-sidebar .cmb2-metabox-description{display:block;padding:7px 0 0}#side-sortables .cmb-type-checkbox .cmb-td label,#side-sortables .cmb-type-checkbox .cmb2-metabox-description,.inner-sidebar .cmb-type-checkbox .cmb-td label,.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description{font-weight:400;display:inline}#side-sortables .cmb-row .cmb2-metabox-description,.inner-sidebar .cmb-row .cmb2-metabox-description{padding-bottom:1.8em}#side-sortables .cmb2-metabox-title,.inner-sidebar .cmb2-metabox-title{font-size:1.2em;font-style:italic}#side-sortables .cmb-remove-row,.inner-sidebar .cmb-remove-row{clear:both;padding-top:12px;padding-bottom:0}#side-sortables .cmb2-upload-button,.inner-sidebar .cmb2-upload-button{clear:both;margin-top:12px}.cmb2-metabox .cmbhandle{color:#aaa;float:left;width:27px;height:30px;cursor:pointer;left:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';left:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;right:0;top:.5em;line-height:1em;padding:2px 6px 3px;opacity:.5}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){cursor:pointer;color:#a00;opacity:1}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}* html .cmb2-element.ui-helper-clearfix{height:1%}.cmb2-element .ui-datepicker,.cmb2-element.ui-datepicker{padding:0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background-color:#fff;border:1px solid #dfdfdf;border-top:none;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075);min-width:17em;width:auto}.cmb2-element .ui-datepicker *,.cmb2-element.ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{font-size:13px;margin:0;border:none;border-collapse:collapse}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{border:none;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover{background:0 0;border-color:transparent;cursor:pointer}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin:0;padding:10px 0;color:#fff;font-size:14px;line-height:14px;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select,.cmb2-element.ui-datepicker .ui-datepicker-title select{margin-top:-8px;margin-bottom:-8px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-prev{position:relative;top:0;height:34px;width:34px}.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-prev{border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{right:0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next-hover{left:0}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{display:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev{float:right}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next{float:left}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{font:400 20px/34px dashicons;padding-right:7px;color:#fff;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:34px;height:34px}.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{content:'\f341'}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before{content:'\f345'}.cmb2-element .ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover:before{opacity:.7}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-year{width:33%;background:0 0;border-color:transparent;box-shadow:none;color:#fff}.cmb2-element .ui-datepicker select.ui-datepicker-month option,.cmb2-element .ui-datepicker select.ui-datepicker-year option,.cmb2-element.ui-datepicker select.ui-datepicker-month option,.cmb2-element.ui-datepicker select.ui-datepicker-year option{color:#333}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{color:#fff;font-weight:600}.cmb2-element .ui-datepicker thead th,.cmb2-element.ui-datepicker thead th{font-weight:400}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{padding:10px}.cmb2-element .ui-datepicker td,.cmb2-element.ui-datepicker td{padding:0;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-other-month,.cmb2-element.ui-datepicker td.ui-datepicker-other-month{border:transparent}.cmb2-element .ui-datepicker td.ui-datepicker-week-end,.cmb2-element.ui-datepicker td.ui-datepicker-week-end{background-color:#f4f4f4;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today{-webkit-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);-moz-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1)}.cmb2-element .ui-datepicker td.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-today{background-color:#f0f0c0}.cmb2-element .ui-datepicker td.ui-datepicker-current-day,.cmb2-element.ui-datepicker td.ui-datepicker-current-day{background:#bd8}.cmb2-element .ui-datepicker td .ui-state-default,.cmb2-element.ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;text-decoration:none;width:auto;display:block;padding:5px 10px;font-weight:400;color:#444}.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{opacity:.5}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{background:#32373c}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover,.cmb2-element.ui-datepicker td .ui-state-active,.cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.cmb2-element .ui-datepicker .ui-timepicker-div,.cmb2-element.ui-datepicker .ui-timepicker-div{font-size:14px}.cmb2-element .ui-datepicker .ui-timepicker-div dl,.cmb2-element.ui-datepicker .ui-timepicker-div dl{text-align:right;padding:0 .6em}.cmb2-element .ui-datepicker .ui-timepicker-div dl dt,.cmb2-element.ui-datepicker .ui-timepicker-div dl dt{float:right;clear:right;padding:0 5px 0 0}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd{margin:0 40% 10px 10px}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd select,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd select{width:100%}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane{padding:.6em;text-align:right}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary{padding:0 10px 1px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;margin:0 .4em .4em .6em}.admin-color-fresh .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.admin-color-fresh .cmb2-element .ui-datepicker thead,.admin-color-fresh .cmb2-element.ui-datepicker thead{background:#32373c}.admin-color-fresh .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-fresh .cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-widget-header{background:#52accc}.admin-color-blue .cmb2-element .ui-datepicker thead,.admin-color-blue .cmb2-element.ui-datepicker thead{background:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover{background:#096484;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-blue .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-widget-header{background:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker thead,.admin-color-coffee .cmb2-element.ui-datepicker thead{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover{background:#c7a589;color:#fff}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-widget-header{background:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker thead,.admin-color-ectoplasm .cmb2-element.ui-datepicker thead{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover{background:#a3b745;color:#fff}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-widget-header{background:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker thead,.admin-color-midnight .cmb2-element.ui-datepicker thead{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover{background:#e14d43;color:#fff}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-widget-header{background:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker thead,.admin-color-ocean .cmb2-element.ui-datepicker thead{background:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover{background:#9ebaa0;color:#fff}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-widget-header{background:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker th,.admin-color-sunrise .cmb2-element.ui-datepicker th{border-color:#be3631;background:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover{background:#dd823b;color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element.ui-datepicker .ui-widget-header{background:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-year,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-year{color:#555}.admin-color-light .cmb2-element .ui-datepicker thead,.admin-color-light .cmb2-element.ui-datepicker thead{background:#888}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-default{color:#555}.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover{background:#ccc}.admin-color-light .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-light .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-widget-header{background:#56b274}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker thead,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker thead{background:#36533f}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker td .ui-state-hover{background:#446950;color:#fff}.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-widget-header{background:#4ca26a}.admin-color-bbp-mint .cmb2-element .ui-datepicker thead,.admin-color-bbp-mint .cmb2-element.ui-datepicker thead{background:#4f6d59}.admin-color-bbp-mint .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-mint .cmb2-element.ui-datepicker td .ui-state-hover{background:#5fb37c;color:#fff}.closed .inside{display:none}.cmb-repeatable-grouping{position:relative}.cmb-repeatable-grouping .cmb-group-title{margin-right:-1em;margin-left:-1em;min-height:1.5em}.cmb-repeatable-grouping h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb-repeatable-group.repeatable .cmb-group-title{padding-right:2.2em}.cmb-repeatable-group.non-repeatable .cmb-group-title{padding-right:12px}.cmb-type-group .cmb-row .cmbhandle{left:0;position:absolute}.cmb-spinner{background:url(/wp-admin/images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;float:left;vertical-align:middle;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}
|
vendor/CMB2/css/cmb2-front.css
CHANGED
@@ -1,3 +1,4 @@
|
|
|
|
1 |
/**
|
2 |
* CMB2 Styling
|
3 |
*/
|
@@ -50,7 +51,7 @@ Main Wrap
|
|
50 |
}
|
51 |
/* line 59, sass/partials/_main_wrap.scss */
|
52 |
.cmb2-wrap input:not([type="hidden"]) + input,
|
53 |
-
.cmb2-wrap input:not([type="hidden"]) + .button,
|
54 |
.cmb2-wrap input:not([type="hidden"]) + select {
|
55 |
margin-left: 20px;
|
56 |
}
|
@@ -86,7 +87,7 @@ Main Wrap
|
|
86 |
}
|
87 |
/* line 102, sass/partials/_main_wrap.scss */
|
88 |
.cmb2-wrap button,
|
89 |
-
.cmb2-wrap .button {
|
90 |
white-space: nowrap;
|
91 |
}
|
92 |
/* line 107, sass/partials/_main_wrap.scss */
|
@@ -105,91 +106,76 @@ Main Wrap
|
|
105 |
.cmb2-wrap .meta_mce textarea {
|
106 |
width: 100%;
|
107 |
}
|
108 |
-
/* line
|
109 |
.cmb2-wrap .wp-color-result,
|
110 |
.cmb2-wrap .wp-picker-input-wrap {
|
111 |
vertical-align: middle;
|
112 |
}
|
113 |
-
/* line
|
114 |
.cmb2-wrap .wp-color-result,
|
115 |
.cmb2-wrap .wp-picker-container {
|
116 |
margin: 0 10px 0 0;
|
117 |
}
|
118 |
-
/* line
|
119 |
.cmb2-wrap .cmb-row {
|
120 |
margin: 0;
|
121 |
}
|
122 |
-
/* line
|
123 |
.cmb2-wrap .cmb-row:after {
|
124 |
content: '';
|
125 |
clear: both;
|
126 |
display: block;
|
127 |
width: 100%;
|
128 |
}
|
129 |
-
/* line
|
130 |
-
.cmb2-wrap .cmb-row.cmb-repeat-row {
|
131 |
-
padding: 1.8em 0 0;
|
132 |
-
}
|
133 |
-
/* line 149, sass/partials/_main_wrap.scss */
|
134 |
-
.cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type {
|
135 |
-
padding: 0;
|
136 |
-
}
|
137 |
-
/* line 154, sass/partials/_main_wrap.scss */
|
138 |
.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description {
|
139 |
padding-top: 0;
|
140 |
-
padding-bottom:
|
141 |
}
|
142 |
|
143 |
-
/* line
|
144 |
.cmb2-metabox {
|
145 |
clear: both;
|
146 |
margin: 0;
|
147 |
}
|
148 |
-
/* line
|
149 |
.cmb2-metabox > .cmb-row:first-of-type > .cmb-td,
|
150 |
.cmb2-metabox > .cmb-row:first-of-type > .cmb-th,
|
151 |
.cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-td,
|
152 |
.cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-th {
|
153 |
border: 0;
|
154 |
}
|
155 |
-
/* line 174, sass/partials/_main_wrap.scss */
|
156 |
-
.cmb2-metabox > .cmb-row .cmb-repeat-table .cmb-row > .cmb-td {
|
157 |
-
padding-right: 20px;
|
158 |
-
box-sizing: border-box;
|
159 |
-
float: left;
|
160 |
-
}
|
161 |
|
162 |
-
/* line
|
163 |
.cmb-add-row {
|
164 |
margin: 1.8em 0 0;
|
165 |
}
|
166 |
|
167 |
-
/* line
|
168 |
.cmb-nested .cmb-td,
|
169 |
.cmb-repeatable-group .cmb-th,
|
170 |
.cmb-repeatable-group:first-of-type {
|
171 |
border: 0;
|
172 |
}
|
173 |
|
174 |
-
/* line
|
175 |
.cmb-row:last-of-type,
|
176 |
.cmb2-wrap .cmb-row:last-of-type,
|
177 |
.cmb-repeatable-group:last-of-type {
|
178 |
border-bottom: 0;
|
179 |
}
|
180 |
|
181 |
-
/* line
|
182 |
.cmb-repeatable-grouping {
|
183 |
border: 1px solid #e9e9e9;
|
184 |
padding: 0 1em;
|
185 |
-
max-width: 1000px;
|
186 |
}
|
187 |
-
/* line
|
188 |
.cmb-repeatable-grouping.cmb-row {
|
189 |
margin: 0 0 0.8em;
|
190 |
}
|
191 |
|
192 |
-
/* line
|
193 |
.cmb-th {
|
194 |
color: #222222;
|
195 |
float: left;
|
@@ -200,7 +186,7 @@ Main Wrap
|
|
200 |
width: 200px;
|
201 |
}
|
202 |
@media (max-width: 450px) {
|
203 |
-
/* line
|
204 |
.cmb-th {
|
205 |
font-size: 1.2em;
|
206 |
display: block;
|
@@ -212,20 +198,12 @@ Main Wrap
|
|
212 |
/* line 27, sass/partials/_mixins.scss */
|
213 |
.cmb-th label {
|
214 |
display: block;
|
215 |
-
margin-top:
|
216 |
-
|
217 |
-
}
|
218 |
-
/* line 32, sass/partials/_mixins.scss */
|
219 |
-
.cmb-th label:after {
|
220 |
-
border-bottom: 1px solid #e9e9e9;
|
221 |
-
content: '';
|
222 |
-
clear: both;
|
223 |
-
display: block;
|
224 |
-
padding-top: .4em;
|
225 |
}
|
226 |
}
|
227 |
|
228 |
-
/* line
|
229 |
.cmb-td {
|
230 |
line-height: 1.3;
|
231 |
max-width: 100%;
|
@@ -233,42 +211,135 @@ Main Wrap
|
|
233 |
vertical-align: middle;
|
234 |
}
|
235 |
|
236 |
-
/* line
|
237 |
.cmb-type-title .cmb-td {
|
238 |
padding: 0;
|
239 |
}
|
240 |
|
241 |
-
/* line
|
242 |
.cmb-th label {
|
243 |
display: block;
|
244 |
padding: 5px 0;
|
245 |
}
|
246 |
|
247 |
-
/* line
|
248 |
.cmb-th + .cmb-td {
|
249 |
float: left;
|
250 |
}
|
251 |
|
252 |
-
/* line
|
253 |
.cmb-td .cmb-td {
|
254 |
padding-bottom: 1em;
|
255 |
}
|
256 |
|
257 |
-
/* line
|
258 |
.cmb-remove-row {
|
259 |
text-align: right;
|
260 |
}
|
261 |
|
262 |
-
/* line
|
263 |
.empty-row.hidden {
|
264 |
display: none;
|
265 |
}
|
266 |
|
267 |
-
/* line
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
268 |
.cmb-repeatable-group .cmb-th {
|
269 |
padding: 5px;
|
270 |
}
|
271 |
-
/* line
|
272 |
.cmb-repeatable-group .cmb-group-title {
|
273 |
background-color: #e9e9e9;
|
274 |
padding: 8px 12px 8px 2.2em;
|
@@ -277,7 +348,7 @@ Main Wrap
|
|
277 |
font-size: 14px;
|
278 |
line-height: 1.4;
|
279 |
}
|
280 |
-
/* line
|
281 |
.cmb-repeatable-group .cmb-group-title h4 {
|
282 |
border: 0;
|
283 |
margin: 0;
|
@@ -285,12 +356,12 @@ Main Wrap
|
|
285 |
font-weight: 500;
|
286 |
padding: 0.5em 0.75em;
|
287 |
}
|
288 |
-
/* line
|
289 |
.cmb-repeatable-group .cmb-group-title .cmb-th {
|
290 |
display: block;
|
291 |
width: 100%;
|
292 |
}
|
293 |
-
/* line
|
294 |
.cmb-repeatable-group .cmb-group-description .cmb-th {
|
295 |
font-size: 1.2em;
|
296 |
display: block;
|
@@ -302,40 +373,32 @@ Main Wrap
|
|
302 |
/* line 27, sass/partials/_mixins.scss */
|
303 |
.cmb-repeatable-group .cmb-group-description .cmb-th label {
|
304 |
display: block;
|
305 |
-
margin-top:
|
306 |
-
|
307 |
-
}
|
308 |
-
/* line 32, sass/partials/_mixins.scss */
|
309 |
-
.cmb-repeatable-group .cmb-group-description .cmb-th label:after {
|
310 |
-
border-bottom: 1px solid #e9e9e9;
|
311 |
-
content: '';
|
312 |
-
clear: both;
|
313 |
-
display: block;
|
314 |
-
padding-top: .4em;
|
315 |
}
|
316 |
-
/* line
|
317 |
.cmb-repeatable-group .cmb-shift-rows {
|
318 |
font-size: 1em;
|
319 |
margin-right: 1em;
|
320 |
text-decoration: none;
|
321 |
}
|
322 |
-
/* line
|
323 |
.cmb-repeatable-group .cmb-shift-rows .dashicons {
|
324 |
font-size: 1.5em;
|
325 |
height: 1.5em;
|
326 |
line-height: 1.2em;
|
327 |
width: 1em;
|
328 |
}
|
329 |
-
/* line
|
330 |
.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
|
331 |
line-height: 1.3em;
|
332 |
}
|
333 |
-
/* line
|
334 |
.cmb-repeatable-group .cmb2-upload-button {
|
335 |
float: right;
|
336 |
}
|
337 |
|
338 |
-
/* line
|
339 |
p.cmb2-metabox-description {
|
340 |
color: #aaaaaa;
|
341 |
font-style: italic;
|
@@ -343,36 +406,36 @@ p.cmb2-metabox-description {
|
|
343 |
padding-top: .5em;
|
344 |
}
|
345 |
|
346 |
-
/* line
|
347 |
span.cmb2-metabox-description {
|
348 |
color: #aaaaaa;
|
349 |
font-style: italic;
|
350 |
}
|
351 |
|
352 |
-
/* line
|
353 |
.cmb2-metabox-title {
|
354 |
margin: 0 0 5px 0;
|
355 |
padding: 5px 0 0 0;
|
356 |
font-size: 14px;
|
357 |
}
|
358 |
|
359 |
-
/* line
|
360 |
.cmb-inline ul {
|
361 |
padding: 4px 0 0 0;
|
362 |
}
|
363 |
|
364 |
-
/* line
|
365 |
.cmb-inline li {
|
366 |
display: inline-block;
|
367 |
padding-right: 18px;
|
368 |
}
|
369 |
|
370 |
-
/* line
|
371 |
.cmb-type-textarea-code pre {
|
372 |
margin: 0;
|
373 |
}
|
374 |
|
375 |
-
/* line
|
376 |
.cmb2-media-status .img-status {
|
377 |
clear: none;
|
378 |
display: inline-block;
|
@@ -380,12 +443,12 @@ span.cmb2-metabox-description {
|
|
380 |
margin-right: 10px;
|
381 |
width: auto;
|
382 |
}
|
383 |
-
/* line
|
384 |
.cmb2-media-status .img-status img {
|
385 |
max-width: 350px;
|
386 |
height: auto;
|
387 |
}
|
388 |
-
/* line
|
389 |
.cmb2-media-status .img-status img,
|
390 |
.cmb2-media-status .embed-status {
|
391 |
background: #ffffff;
|
@@ -395,16 +458,16 @@ span.cmb2-metabox-description {
|
|
395 |
margin: 15px 0 0 0;
|
396 |
padding: 5px;
|
397 |
}
|
398 |
-
/* line
|
399 |
.cmb2-media-status .embed-status {
|
400 |
float: left;
|
401 |
max-width: 800px;
|
402 |
}
|
403 |
-
/* line
|
404 |
.cmb2-media-status .img-status, .cmb2-media-status .embed-status {
|
405 |
position: relative;
|
406 |
}
|
407 |
-
/* line
|
408 |
.cmb2-media-status .img-status .cmb2-remove-file-button, .cmb2-media-status .embed-status .cmb2-remove-file-button {
|
409 |
background: url(../images/ico-delete.png);
|
410 |
height: 16px;
|
@@ -414,16 +477,16 @@ span.cmb2-metabox-description {
|
|
414 |
top: -5px;
|
415 |
width: 16px;
|
416 |
}
|
417 |
-
/* line
|
418 |
.cmb2-media-status .img-status .cmb2-remove-file-button {
|
419 |
top: 10px;
|
420 |
}
|
421 |
-
/* line
|
422 |
.cmb2-media-status .img-status img, .cmb2-media-status .file-status > span {
|
423 |
cursor: pointer;
|
424 |
}
|
425 |
|
426 |
-
/* line
|
427 |
.cmb-type-file-list .cmb2-media-status .img-status {
|
428 |
clear: none;
|
429 |
vertical-align: middle;
|
@@ -433,7 +496,7 @@ span.cmb2-metabox-description {
|
|
433 |
margin-top: 0;
|
434 |
}
|
435 |
|
436 |
-
/* line
|
437 |
.cmb-attach-list li {
|
438 |
clear: both;
|
439 |
display: inline-block;
|
@@ -441,25 +504,30 @@ span.cmb2-metabox-description {
|
|
441 |
margin-top: 5px;
|
442 |
margin-bottom: 10px;
|
443 |
}
|
444 |
-
/* line
|
445 |
.cmb-attach-list li img {
|
446 |
cursor: move;
|
447 |
float: left;
|
448 |
margin-right: 10px;
|
449 |
}
|
450 |
|
451 |
-
/* line
|
452 |
.cmb2-remove-wrapper {
|
453 |
margin: 0;
|
454 |
}
|
455 |
|
456 |
-
/* line
|
457 |
.child-cmb2 .cmb-th {
|
458 |
text-align: left;
|
459 |
}
|
460 |
|
|
|
|
|
|
|
|
|
|
|
461 |
@media (max-width: 450px) {
|
462 |
-
/* line
|
463 |
.cmb-th,
|
464 |
.cmb-td,
|
465 |
.cmb-th + .cmb-td {
|
@@ -527,61 +595,30 @@ Post Metaboxes
|
|
527 |
line-height: 1.3;
|
528 |
}
|
529 |
/* line 63, sass/partials/_post_metaboxes.scss */
|
530 |
-
.cmb2-postbox .cmb-repeat-row .cmb-td, .cmb-type-group .cmb-repeat-row .cmb-td {
|
531 |
-
padding-bottom: 1.8em;
|
532 |
-
}
|
533 |
-
/* line 67, sass/partials/_post_metaboxes.scss */
|
534 |
.cmb2-postbox .cmb-th + .cmb-td, .cmb-type-group .cmb-th + .cmb-td {
|
535 |
width: 80%;
|
536 |
float: right;
|
537 |
}
|
538 |
-
/* line
|
539 |
.cmb2-postbox .cmb-row:not(:last-of-type),
|
540 |
.cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type),
|
541 |
.cmb-type-group .cmb-repeatable-group:not(:last-of-type) {
|
542 |
border-bottom: 1px solid #e9e9e9;
|
543 |
}
|
544 |
@media (max-width: 450px) {
|
545 |
-
/* line
|
546 |
.cmb2-postbox .cmb-row:not(:last-of-type),
|
547 |
.cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type),
|
548 |
.cmb-type-group .cmb-repeatable-group:not(:last-of-type) {
|
549 |
border-bottom: 0;
|
550 |
}
|
551 |
}
|
552 |
-
/* line
|
553 |
.cmb2-postbox .cmb-repeat-group-field,
|
554 |
.cmb2-postbox .cmb-remove-field-row, .cmb-type-group .cmb-repeat-group-field,
|
555 |
.cmb-type-group .cmb-remove-field-row {
|
556 |
padding-top: 1.8em;
|
557 |
}
|
558 |
-
/* line 88, sass/partials/_post_metaboxes.scss */
|
559 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody, .cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody, .cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody, .cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody {
|
560 |
-
display: table;
|
561 |
-
width: 100%;
|
562 |
-
}
|
563 |
-
/* line 92, sass/partials/_post_metaboxes.scss */
|
564 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text, .cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text, .cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text, .cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text {
|
565 |
-
width: 100%;
|
566 |
-
}
|
567 |
-
/* line 96, sass/partials/_post_metaboxes.scss */
|
568 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row), .cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row), .cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row), .cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row) {
|
569 |
-
display: table-row;
|
570 |
-
}
|
571 |
-
/* line 100, sass/partials/_post_metaboxes.scss */
|
572 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td, .cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td, .cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td, .cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td {
|
573 |
-
display: table-cell;
|
574 |
-
float: none;
|
575 |
-
width: 100%;
|
576 |
-
}
|
577 |
-
/* line 106, sass/partials/_post_metaboxes.scss */
|
578 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td, .cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td, .cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td, .cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td {
|
579 |
-
padding-top: 1.8em;
|
580 |
-
}
|
581 |
-
/* line 110, sass/partials/_post_metaboxes.scss */
|
582 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row, .cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row, .cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row, .cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row {
|
583 |
-
padding-right: 0;
|
584 |
-
}
|
585 |
|
586 |
/*--------------------------------------------------------------
|
587 |
Context Metaboxes
|
@@ -674,6 +711,76 @@ Context Metaboxes
|
|
674 |
margin-right: 0;
|
675 |
}
|
676 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
677 |
/*--------------------------------------------------------------
|
678 |
Misc.
|
679 |
--------------------------------------------------------------*/
|
@@ -690,27 +797,16 @@ Misc.
|
|
690 |
}
|
691 |
|
692 |
/* line 18, sass/partials/_misc.scss */
|
693 |
-
.cmb2-options-page .cmb2-metabox-title {
|
694 |
-
font-size: 1.3em;
|
695 |
-
margin: 1em 0;
|
696 |
-
}
|
697 |
-
/* line 21, sass/partials/_misc.scss */
|
698 |
-
.cmb2-options-page .cmb2-metabox-title + p.cmb2-metabox-description {
|
699 |
-
margin-top: -1.6em;
|
700 |
-
margin-bottom: .8em;
|
701 |
-
}
|
702 |
-
|
703 |
-
/* line 28, sass/partials/_misc.scss */
|
704 |
.cmb2-postbox .cmb-spinner, .cmb2-no-box-wrap .cmb-spinner {
|
705 |
float: left;
|
706 |
display: none;
|
707 |
}
|
708 |
|
709 |
-
/* line
|
710 |
.cmb-spinner {
|
711 |
display: none;
|
712 |
}
|
713 |
-
/* line
|
714 |
.cmb-spinner.is-active {
|
715 |
display: block;
|
716 |
}
|
@@ -771,10 +867,10 @@ Sidebar Placement Adjustments
|
|
771 |
}
|
772 |
/* line 55, sass/partials/_sidebar_placements.scss */
|
773 |
.inner-sidebar .cmb-th,
|
774 |
-
.inner-sidebar .cmb-td,
|
775 |
.inner-sidebar .cmb-th + .cmb-td,
|
776 |
#side-sortables .cmb-th,
|
777 |
-
#side-sortables .cmb-td,
|
778 |
#side-sortables .cmb-th + .cmb-td {
|
779 |
width: 100%;
|
780 |
display: block;
|
@@ -786,11 +882,6 @@ Sidebar Placement Adjustments
|
|
786 |
display: none;
|
787 |
}
|
788 |
/* line 67, sass/partials/_sidebar_placements.scss */
|
789 |
-
.inner-sidebar .cmb-td .cmb-td,
|
790 |
-
#side-sortables .cmb-td .cmb-td {
|
791 |
-
padding-bottom: 1em;
|
792 |
-
}
|
793 |
-
/* line 71, sass/partials/_sidebar_placements.scss */
|
794 |
.inner-sidebar .cmb-th,
|
795 |
#side-sortables .cmb-th {
|
796 |
display: block;
|
@@ -805,17 +896,8 @@ Sidebar Placement Adjustments
|
|
805 |
.inner-sidebar .cmb-th label,
|
806 |
#side-sortables .cmb-th label {
|
807 |
display: block;
|
808 |
-
margin-top:
|
809 |
-
|
810 |
-
}
|
811 |
-
/* line 32, sass/partials/_mixins.scss */
|
812 |
-
.inner-sidebar .cmb-th label:after,
|
813 |
-
#side-sortables .cmb-th label:after {
|
814 |
-
border-bottom: 1px solid #e9e9e9;
|
815 |
-
content: '';
|
816 |
-
clear: both;
|
817 |
-
display: block;
|
818 |
-
padding-top: .4em;
|
819 |
}
|
820 |
/* line 14, sass/partials/_mixins.scss */
|
821 |
.inner-sidebar .cmb-th label,
|
@@ -823,27 +905,27 @@ Sidebar Placement Adjustments
|
|
823 |
font-size: 14px;
|
824 |
line-height: 1.4em;
|
825 |
}
|
826 |
-
/* line
|
827 |
.inner-sidebar .cmb-group-description .cmb-th,
|
828 |
#side-sortables .cmb-group-description .cmb-th {
|
829 |
padding-top: 0;
|
830 |
}
|
831 |
-
/* line
|
832 |
.inner-sidebar .cmb-group-description .cmb2-metabox-description,
|
833 |
#side-sortables .cmb-group-description .cmb2-metabox-description {
|
834 |
padding: 0;
|
835 |
}
|
836 |
-
/* line
|
837 |
.inner-sidebar .cmb-group-title .cmb-th,
|
838 |
#side-sortables .cmb-group-title .cmb-th {
|
839 |
padding: 0;
|
840 |
}
|
841 |
-
/* line
|
842 |
.inner-sidebar .cmb-repeatable-grouping + .cmb-repeatable-grouping,
|
843 |
#side-sortables .cmb-repeatable-grouping + .cmb-repeatable-grouping {
|
844 |
margin-top: 1em;
|
845 |
}
|
846 |
-
/* line
|
847 |
.inner-sidebar .cmb2-media-status .img-status img,
|
848 |
.inner-sidebar .cmb2-media-status .embed-status img,
|
849 |
#side-sortables .cmb2-media-status .img-status img,
|
@@ -851,19 +933,19 @@ Sidebar Placement Adjustments
|
|
851 |
max-width: 90%;
|
852 |
height: auto;
|
853 |
}
|
854 |
-
/* line
|
855 |
.inner-sidebar .cmb2-list label,
|
856 |
#side-sortables .cmb2-list label {
|
857 |
display: inline;
|
858 |
font-weight: normal;
|
859 |
}
|
860 |
-
/* line
|
861 |
.inner-sidebar .cmb2-metabox-description,
|
862 |
#side-sortables .cmb2-metabox-description {
|
863 |
display: block;
|
864 |
padding: 7px 0 0;
|
865 |
}
|
866 |
-
/* line
|
867 |
.inner-sidebar .cmb-type-checkbox .cmb-td label,
|
868 |
.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description,
|
869 |
#side-sortables .cmb-type-checkbox .cmb-td label,
|
@@ -871,39 +953,25 @@ Sidebar Placement Adjustments
|
|
871 |
font-weight: normal;
|
872 |
display: inline;
|
873 |
}
|
874 |
-
/* line
|
875 |
.inner-sidebar .cmb-row .cmb2-metabox-description,
|
876 |
#side-sortables .cmb-row .cmb2-metabox-description {
|
877 |
padding-bottom: 1.8em;
|
878 |
}
|
879 |
-
/* line
|
880 |
.inner-sidebar .cmb2-metabox-title,
|
881 |
#side-sortables .cmb2-metabox-title {
|
882 |
font-size: 1.2em;
|
883 |
font-style: italic;
|
884 |
}
|
885 |
-
/* line
|
886 |
.inner-sidebar .cmb-remove-row,
|
887 |
#side-sortables .cmb-remove-row {
|
888 |
clear: both;
|
889 |
padding-top: 12px;
|
890 |
padding-bottom: 0;
|
891 |
}
|
892 |
-
/* line
|
893 |
-
.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td,
|
894 |
-
#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td {
|
895 |
-
width: auto;
|
896 |
-
clear: none;
|
897 |
-
float: left;
|
898 |
-
padding-top: 0;
|
899 |
-
}
|
900 |
-
/* line 151, sass/partials/_sidebar_placements.scss */
|
901 |
-
.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,
|
902 |
-
#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row {
|
903 |
-
float: right;
|
904 |
-
margin: 0;
|
905 |
-
}
|
906 |
-
/* line 158, sass/partials/_sidebar_placements.scss */
|
907 |
.inner-sidebar .cmb2-upload-button,
|
908 |
#side-sortables .cmb2-upload-button {
|
909 |
clear: both;
|
@@ -911,10 +979,6 @@ Sidebar Placement Adjustments
|
|
911 |
}
|
912 |
|
913 |
/* line 2, sass/partials/_collapsible_ui.scss */
|
914 |
-
.cmb2-metabox .cmb-type-group {
|
915 |
-
max-width: 1000px;
|
916 |
-
}
|
917 |
-
/* line 5, sass/partials/_collapsible_ui.scss */
|
918 |
.cmb2-metabox .cmbhandle {
|
919 |
color: #aaa;
|
920 |
float: right;
|
@@ -924,7 +988,7 @@ Sidebar Placement Adjustments
|
|
924 |
right: -1em;
|
925 |
position: relative;
|
926 |
}
|
927 |
-
/* line
|
928 |
.cmb2-metabox .cmbhandle:before {
|
929 |
content: '\f142';
|
930 |
right: 12px;
|
@@ -938,11 +1002,11 @@ Sidebar Placement Adjustments
|
|
938 |
-moz-osx-font-smoothing: grayscale;
|
939 |
text-decoration: none !important;
|
940 |
}
|
941 |
-
/* line
|
942 |
.cmb2-metabox .postbox.closed .cmbhandle:before {
|
943 |
content: '\f140';
|
944 |
}
|
945 |
-
/* line
|
946 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row {
|
947 |
-webkit-appearance: none !important;
|
948 |
background: none !important;
|
@@ -954,13 +1018,13 @@ Sidebar Placement Adjustments
|
|
954 |
padding: 2px 6px 3px;
|
955 |
opacity: .5;
|
956 |
}
|
957 |
-
/* line
|
958 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]) {
|
959 |
cursor: pointer;
|
960 |
color: #a00;
|
961 |
opacity: 1;
|
962 |
}
|
963 |
-
/* line
|
964 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover {
|
965 |
color: #f00;
|
966 |
}
|
1 |
+
@charset "UTF-8";
|
2 |
/**
|
3 |
* CMB2 Styling
|
4 |
*/
|
51 |
}
|
52 |
/* line 59, sass/partials/_main_wrap.scss */
|
53 |
.cmb2-wrap input:not([type="hidden"]) + input,
|
54 |
+
.cmb2-wrap input:not([type="hidden"]) + .button-secondary,
|
55 |
.cmb2-wrap input:not([type="hidden"]) + select {
|
56 |
margin-left: 20px;
|
57 |
}
|
87 |
}
|
88 |
/* line 102, sass/partials/_main_wrap.scss */
|
89 |
.cmb2-wrap button,
|
90 |
+
.cmb2-wrap .button-secondary {
|
91 |
white-space: nowrap;
|
92 |
}
|
93 |
/* line 107, sass/partials/_main_wrap.scss */
|
106 |
.cmb2-wrap .meta_mce textarea {
|
107 |
width: 100%;
|
108 |
}
|
109 |
+
/* line 124, sass/partials/_main_wrap.scss */
|
110 |
.cmb2-wrap .wp-color-result,
|
111 |
.cmb2-wrap .wp-picker-input-wrap {
|
112 |
vertical-align: middle;
|
113 |
}
|
114 |
+
/* line 129, sass/partials/_main_wrap.scss */
|
115 |
.cmb2-wrap .wp-color-result,
|
116 |
.cmb2-wrap .wp-picker-container {
|
117 |
margin: 0 10px 0 0;
|
118 |
}
|
119 |
+
/* line 134, sass/partials/_main_wrap.scss */
|
120 |
.cmb2-wrap .cmb-row {
|
121 |
margin: 0;
|
122 |
}
|
123 |
+
/* line 137, sass/partials/_main_wrap.scss */
|
124 |
.cmb2-wrap .cmb-row:after {
|
125 |
content: '';
|
126 |
clear: both;
|
127 |
display: block;
|
128 |
width: 100%;
|
129 |
}
|
130 |
+
/* line 144, sass/partials/_main_wrap.scss */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
131 |
.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description {
|
132 |
padding-top: 0;
|
133 |
+
padding-bottom: 1em;
|
134 |
}
|
135 |
|
136 |
+
/* line 152, sass/partials/_main_wrap.scss */
|
137 |
.cmb2-metabox {
|
138 |
clear: both;
|
139 |
margin: 0;
|
140 |
}
|
141 |
+
/* line 158, sass/partials/_main_wrap.scss */
|
142 |
.cmb2-metabox > .cmb-row:first-of-type > .cmb-td,
|
143 |
.cmb2-metabox > .cmb-row:first-of-type > .cmb-th,
|
144 |
.cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-td,
|
145 |
.cmb2-metabox .cmb-field-list > .cmb-row:first-of-type > .cmb-th {
|
146 |
border: 0;
|
147 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
|
149 |
+
/* line 165, sass/partials/_main_wrap.scss */
|
150 |
.cmb-add-row {
|
151 |
margin: 1.8em 0 0;
|
152 |
}
|
153 |
|
154 |
+
/* line 169, sass/partials/_main_wrap.scss */
|
155 |
.cmb-nested .cmb-td,
|
156 |
.cmb-repeatable-group .cmb-th,
|
157 |
.cmb-repeatable-group:first-of-type {
|
158 |
border: 0;
|
159 |
}
|
160 |
|
161 |
+
/* line 175, sass/partials/_main_wrap.scss */
|
162 |
.cmb-row:last-of-type,
|
163 |
.cmb2-wrap .cmb-row:last-of-type,
|
164 |
.cmb-repeatable-group:last-of-type {
|
165 |
border-bottom: 0;
|
166 |
}
|
167 |
|
168 |
+
/* line 181, sass/partials/_main_wrap.scss */
|
169 |
.cmb-repeatable-grouping {
|
170 |
border: 1px solid #e9e9e9;
|
171 |
padding: 0 1em;
|
|
|
172 |
}
|
173 |
+
/* line 185, sass/partials/_main_wrap.scss */
|
174 |
.cmb-repeatable-grouping.cmb-row {
|
175 |
margin: 0 0 0.8em;
|
176 |
}
|
177 |
|
178 |
+
/* line 193, sass/partials/_main_wrap.scss */
|
179 |
.cmb-th {
|
180 |
color: #222222;
|
181 |
float: left;
|
186 |
width: 200px;
|
187 |
}
|
188 |
@media (max-width: 450px) {
|
189 |
+
/* line 193, sass/partials/_main_wrap.scss */
|
190 |
.cmb-th {
|
191 |
font-size: 1.2em;
|
192 |
display: block;
|
198 |
/* line 27, sass/partials/_mixins.scss */
|
199 |
.cmb-th label {
|
200 |
display: block;
|
201 |
+
margin-top: 0;
|
202 |
+
margin-bottom: 0.5em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
}
|
204 |
}
|
205 |
|
206 |
+
/* line 207, sass/partials/_main_wrap.scss */
|
207 |
.cmb-td {
|
208 |
line-height: 1.3;
|
209 |
max-width: 100%;
|
211 |
vertical-align: middle;
|
212 |
}
|
213 |
|
214 |
+
/* line 216, sass/partials/_main_wrap.scss */
|
215 |
.cmb-type-title .cmb-td {
|
216 |
padding: 0;
|
217 |
}
|
218 |
|
219 |
+
/* line 221, sass/partials/_main_wrap.scss */
|
220 |
.cmb-th label {
|
221 |
display: block;
|
222 |
padding: 5px 0;
|
223 |
}
|
224 |
|
225 |
+
/* line 226, sass/partials/_main_wrap.scss */
|
226 |
.cmb-th + .cmb-td {
|
227 |
float: left;
|
228 |
}
|
229 |
|
230 |
+
/* line 230, sass/partials/_main_wrap.scss */
|
231 |
.cmb-td .cmb-td {
|
232 |
padding-bottom: 1em;
|
233 |
}
|
234 |
|
235 |
+
/* line 234, sass/partials/_main_wrap.scss */
|
236 |
.cmb-remove-row {
|
237 |
text-align: right;
|
238 |
}
|
239 |
|
240 |
+
/* line 238, sass/partials/_main_wrap.scss */
|
241 |
.empty-row.hidden {
|
242 |
display: none;
|
243 |
}
|
244 |
|
245 |
+
/* line 243, sass/partials/_main_wrap.scss */
|
246 |
+
.cmb-repeat-table {
|
247 |
+
background-color: #fafafa;
|
248 |
+
border: 1px solid #e1e1e1;
|
249 |
+
}
|
250 |
+
/* line 247, sass/partials/_main_wrap.scss */
|
251 |
+
.cmb-repeat-table .cmb-row.cmb-repeat-row {
|
252 |
+
position: relative;
|
253 |
+
counter-increment: el;
|
254 |
+
margin: 0;
|
255 |
+
padding: 10px 10px 10px 50px;
|
256 |
+
border-bottom: none !important;
|
257 |
+
}
|
258 |
+
/* line 255, sass/partials/_main_wrap.scss */
|
259 |
+
.cmb-repeat-table .cmb-row.cmb-repeat-row + .cmb-repeat-row {
|
260 |
+
border-top: solid 1px #e9e9e9;
|
261 |
+
}
|
262 |
+
/* line 259, sass/partials/_main_wrap.scss */
|
263 |
+
.cmb-repeat-table .cmb-row.cmb-repeat-row:before {
|
264 |
+
content: counter(el);
|
265 |
+
display: block;
|
266 |
+
top: 0;
|
267 |
+
left: 0;
|
268 |
+
position: absolute;
|
269 |
+
width: 35px;
|
270 |
+
height: 100%;
|
271 |
+
line-height: 35px;
|
272 |
+
color: #aaaaaa;
|
273 |
+
text-align: center;
|
274 |
+
border-right: solid 1px #e9e9e9;
|
275 |
+
}
|
276 |
+
/* line 276, sass/partials/_main_wrap.scss */
|
277 |
+
.cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td {
|
278 |
+
margin: 0;
|
279 |
+
padding: 0;
|
280 |
+
}
|
281 |
+
/* line 283, sass/partials/_main_wrap.scss */
|
282 |
+
.cmb-repeat-table + .cmb-add-row {
|
283 |
+
margin: 0;
|
284 |
+
}
|
285 |
+
/* line 286, sass/partials/_main_wrap.scss */
|
286 |
+
.cmb-repeat-table + .cmb-add-row:before {
|
287 |
+
content: '';
|
288 |
+
width: 1px;
|
289 |
+
height: 1.6em;
|
290 |
+
display: block;
|
291 |
+
margin-left: 17px;
|
292 |
+
background-color: gainsboro;
|
293 |
+
}
|
294 |
+
/* line 296, sass/partials/_main_wrap.scss */
|
295 |
+
.cmb-repeat-table .cmb-remove-row {
|
296 |
+
top: 7px;
|
297 |
+
right: 7px;
|
298 |
+
position: absolute;
|
299 |
+
width: auto;
|
300 |
+
margin-left: 0;
|
301 |
+
padding: 0 !important;
|
302 |
+
display: none;
|
303 |
+
}
|
304 |
+
/* line 307, sass/partials/_main_wrap.scss */
|
305 |
+
.cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button {
|
306 |
+
font-size: 20px;
|
307 |
+
text-indent: -1000px;
|
308 |
+
overflow: hidden;
|
309 |
+
position: relative;
|
310 |
+
height: auto;
|
311 |
+
line-height: 1;
|
312 |
+
padding: 0 10px 0;
|
313 |
+
}
|
314 |
+
/* line 318, sass/partials/_main_wrap.scss */
|
315 |
+
.cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button:before {
|
316 |
+
content: "";
|
317 |
+
font-family: 'Dashicons';
|
318 |
+
speak: none;
|
319 |
+
font-weight: normal;
|
320 |
+
font-variant: normal;
|
321 |
+
text-transform: none;
|
322 |
+
line-height: 1;
|
323 |
+
-webkit-font-smoothing: antialiased;
|
324 |
+
margin: 0;
|
325 |
+
text-indent: 0;
|
326 |
+
position: absolute;
|
327 |
+
top: 0;
|
328 |
+
left: 0;
|
329 |
+
width: 100%;
|
330 |
+
height: 100%;
|
331 |
+
text-align: center;
|
332 |
+
}
|
333 |
+
/* line 324, sass/partials/_main_wrap.scss */
|
334 |
+
.cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row {
|
335 |
+
display: block;
|
336 |
+
}
|
337 |
+
|
338 |
+
/* line 332, sass/partials/_main_wrap.scss */
|
339 |
.cmb-repeatable-group .cmb-th {
|
340 |
padding: 5px;
|
341 |
}
|
342 |
+
/* line 336, sass/partials/_main_wrap.scss */
|
343 |
.cmb-repeatable-group .cmb-group-title {
|
344 |
background-color: #e9e9e9;
|
345 |
padding: 8px 12px 8px 2.2em;
|
348 |
font-size: 14px;
|
349 |
line-height: 1.4;
|
350 |
}
|
351 |
+
/* line 344, sass/partials/_main_wrap.scss */
|
352 |
.cmb-repeatable-group .cmb-group-title h4 {
|
353 |
border: 0;
|
354 |
margin: 0;
|
356 |
font-weight: 500;
|
357 |
padding: 0.5em 0.75em;
|
358 |
}
|
359 |
+
/* line 352, sass/partials/_main_wrap.scss */
|
360 |
.cmb-repeatable-group .cmb-group-title .cmb-th {
|
361 |
display: block;
|
362 |
width: 100%;
|
363 |
}
|
364 |
+
/* line 358, sass/partials/_main_wrap.scss */
|
365 |
.cmb-repeatable-group .cmb-group-description .cmb-th {
|
366 |
font-size: 1.2em;
|
367 |
display: block;
|
373 |
/* line 27, sass/partials/_mixins.scss */
|
374 |
.cmb-repeatable-group .cmb-group-description .cmb-th label {
|
375 |
display: block;
|
376 |
+
margin-top: 0;
|
377 |
+
margin-bottom: 0.5em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
378 |
}
|
379 |
+
/* line 362, sass/partials/_main_wrap.scss */
|
380 |
.cmb-repeatable-group .cmb-shift-rows {
|
381 |
font-size: 1em;
|
382 |
margin-right: 1em;
|
383 |
text-decoration: none;
|
384 |
}
|
385 |
+
/* line 367, sass/partials/_main_wrap.scss */
|
386 |
.cmb-repeatable-group .cmb-shift-rows .dashicons {
|
387 |
font-size: 1.5em;
|
388 |
height: 1.5em;
|
389 |
line-height: 1.2em;
|
390 |
width: 1em;
|
391 |
}
|
392 |
+
/* line 373, sass/partials/_main_wrap.scss */
|
393 |
.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
|
394 |
line-height: 1.3em;
|
395 |
}
|
396 |
+
/* line 380, sass/partials/_main_wrap.scss */
|
397 |
.cmb-repeatable-group .cmb2-upload-button {
|
398 |
float: right;
|
399 |
}
|
400 |
|
401 |
+
/* line 386, sass/partials/_main_wrap.scss */
|
402 |
p.cmb2-metabox-description {
|
403 |
color: #aaaaaa;
|
404 |
font-style: italic;
|
406 |
padding-top: .5em;
|
407 |
}
|
408 |
|
409 |
+
/* line 393, sass/partials/_main_wrap.scss */
|
410 |
span.cmb2-metabox-description {
|
411 |
color: #aaaaaa;
|
412 |
font-style: italic;
|
413 |
}
|
414 |
|
415 |
+
/* line 398, sass/partials/_main_wrap.scss */
|
416 |
.cmb2-metabox-title {
|
417 |
margin: 0 0 5px 0;
|
418 |
padding: 5px 0 0 0;
|
419 |
font-size: 14px;
|
420 |
}
|
421 |
|
422 |
+
/* line 404, sass/partials/_main_wrap.scss */
|
423 |
.cmb-inline ul {
|
424 |
padding: 4px 0 0 0;
|
425 |
}
|
426 |
|
427 |
+
/* line 408, sass/partials/_main_wrap.scss */
|
428 |
.cmb-inline li {
|
429 |
display: inline-block;
|
430 |
padding-right: 18px;
|
431 |
}
|
432 |
|
433 |
+
/* line 413, sass/partials/_main_wrap.scss */
|
434 |
.cmb-type-textarea-code pre {
|
435 |
margin: 0;
|
436 |
}
|
437 |
|
438 |
+
/* line 419, sass/partials/_main_wrap.scss */
|
439 |
.cmb2-media-status .img-status {
|
440 |
clear: none;
|
441 |
display: inline-block;
|
443 |
margin-right: 10px;
|
444 |
width: auto;
|
445 |
}
|
446 |
+
/* line 426, sass/partials/_main_wrap.scss */
|
447 |
.cmb2-media-status .img-status img {
|
448 |
max-width: 350px;
|
449 |
height: auto;
|
450 |
}
|
451 |
+
/* line 432, sass/partials/_main_wrap.scss */
|
452 |
.cmb2-media-status .img-status img,
|
453 |
.cmb2-media-status .embed-status {
|
454 |
background: #ffffff;
|
458 |
margin: 15px 0 0 0;
|
459 |
padding: 5px;
|
460 |
}
|
461 |
+
/* line 442, sass/partials/_main_wrap.scss */
|
462 |
.cmb2-media-status .embed-status {
|
463 |
float: left;
|
464 |
max-width: 800px;
|
465 |
}
|
466 |
+
/* line 447, sass/partials/_main_wrap.scss */
|
467 |
.cmb2-media-status .img-status, .cmb2-media-status .embed-status {
|
468 |
position: relative;
|
469 |
}
|
470 |
+
/* line 450, sass/partials/_main_wrap.scss */
|
471 |
.cmb2-media-status .img-status .cmb2-remove-file-button, .cmb2-media-status .embed-status .cmb2-remove-file-button {
|
472 |
background: url(../images/ico-delete.png);
|
473 |
height: 16px;
|
477 |
top: -5px;
|
478 |
width: 16px;
|
479 |
}
|
480 |
+
/* line 464, sass/partials/_main_wrap.scss */
|
481 |
.cmb2-media-status .img-status .cmb2-remove-file-button {
|
482 |
top: 10px;
|
483 |
}
|
484 |
+
/* line 469, sass/partials/_main_wrap.scss */
|
485 |
.cmb2-media-status .img-status img, .cmb2-media-status .file-status > span {
|
486 |
cursor: pointer;
|
487 |
}
|
488 |
|
489 |
+
/* line 475, sass/partials/_main_wrap.scss */
|
490 |
.cmb-type-file-list .cmb2-media-status .img-status {
|
491 |
clear: none;
|
492 |
vertical-align: middle;
|
496 |
margin-top: 0;
|
497 |
}
|
498 |
|
499 |
+
/* line 484, sass/partials/_main_wrap.scss */
|
500 |
.cmb-attach-list li {
|
501 |
clear: both;
|
502 |
display: inline-block;
|
504 |
margin-top: 5px;
|
505 |
margin-bottom: 10px;
|
506 |
}
|
507 |
+
/* line 491, sass/partials/_main_wrap.scss */
|
508 |
.cmb-attach-list li img {
|
509 |
cursor: move;
|
510 |
float: left;
|
511 |
margin-right: 10px;
|
512 |
}
|
513 |
|
514 |
+
/* line 498, sass/partials/_main_wrap.scss */
|
515 |
.cmb2-remove-wrapper {
|
516 |
margin: 0;
|
517 |
}
|
518 |
|
519 |
+
/* line 502, sass/partials/_main_wrap.scss */
|
520 |
.child-cmb2 .cmb-th {
|
521 |
text-align: left;
|
522 |
}
|
523 |
|
524 |
+
/* line 506, sass/partials/_main_wrap.scss */
|
525 |
+
.cmb2-indented-hierarchy {
|
526 |
+
padding-left: 1.5em;
|
527 |
+
}
|
528 |
+
|
529 |
@media (max-width: 450px) {
|
530 |
+
/* line 511, sass/partials/_main_wrap.scss */
|
531 |
.cmb-th,
|
532 |
.cmb-td,
|
533 |
.cmb-th + .cmb-td {
|
595 |
line-height: 1.3;
|
596 |
}
|
597 |
/* line 63, sass/partials/_post_metaboxes.scss */
|
|
|
|
|
|
|
|
|
598 |
.cmb2-postbox .cmb-th + .cmb-td, .cmb-type-group .cmb-th + .cmb-td {
|
599 |
width: 80%;
|
600 |
float: right;
|
601 |
}
|
602 |
+
/* line 68, sass/partials/_post_metaboxes.scss */
|
603 |
.cmb2-postbox .cmb-row:not(:last-of-type),
|
604 |
.cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type),
|
605 |
.cmb-type-group .cmb-repeatable-group:not(:last-of-type) {
|
606 |
border-bottom: 1px solid #e9e9e9;
|
607 |
}
|
608 |
@media (max-width: 450px) {
|
609 |
+
/* line 68, sass/partials/_post_metaboxes.scss */
|
610 |
.cmb2-postbox .cmb-row:not(:last-of-type),
|
611 |
.cmb2-postbox .cmb-repeatable-group:not(:last-of-type), .cmb-type-group .cmb-row:not(:last-of-type),
|
612 |
.cmb-type-group .cmb-repeatable-group:not(:last-of-type) {
|
613 |
border-bottom: 0;
|
614 |
}
|
615 |
}
|
616 |
+
/* line 77, sass/partials/_post_metaboxes.scss */
|
617 |
.cmb2-postbox .cmb-repeat-group-field,
|
618 |
.cmb2-postbox .cmb-remove-field-row, .cmb-type-group .cmb-repeat-group-field,
|
619 |
.cmb-type-group .cmb-remove-field-row {
|
620 |
padding-top: 1.8em;
|
621 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
622 |
|
623 |
/*--------------------------------------------------------------
|
624 |
Context Metaboxes
|
711 |
margin-right: 0;
|
712 |
}
|
713 |
}
|
714 |
+
/*--------------------------------------------------------------
|
715 |
+
Options page
|
716 |
+
--------------------------------------------------------------*/
|
717 |
+
/* line 4, sass/partials/_options-page.scss */
|
718 |
+
.cmb2-options-page {
|
719 |
+
max-width: 1200px;
|
720 |
+
}
|
721 |
+
/* line 7, sass/partials/_options-page.scss */
|
722 |
+
.cmb2-options-page.wrap > h2 {
|
723 |
+
margin-bottom: 1em;
|
724 |
+
}
|
725 |
+
/* line 11, sass/partials/_options-page.scss */
|
726 |
+
.cmb2-options-page .cmb2-metabox > .cmb-row {
|
727 |
+
padding: 1em;
|
728 |
+
margin-top: -1px;
|
729 |
+
background: #ffffff;
|
730 |
+
border: 1px solid #e9e9e9;
|
731 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
|
732 |
+
}
|
733 |
+
/* line 18, sass/partials/_options-page.scss */
|
734 |
+
.cmb2-options-page .cmb2-metabox > .cmb-row > .cmb-th {
|
735 |
+
padding: 0;
|
736 |
+
font-weight: initial;
|
737 |
+
}
|
738 |
+
/* line 23, sass/partials/_options-page.scss */
|
739 |
+
.cmb2-options-page .cmb2-metabox > .cmb-row > .cmb-th + .cmb-td {
|
740 |
+
float: none;
|
741 |
+
padding: 0 0 0 1em;
|
742 |
+
margin-left: 200px;
|
743 |
+
}
|
744 |
+
@media (max-width: 450px) {
|
745 |
+
/* line 23, sass/partials/_options-page.scss */
|
746 |
+
.cmb2-options-page .cmb2-metabox > .cmb-row > .cmb-th + .cmb-td {
|
747 |
+
padding: 0;
|
748 |
+
margin-left: 0;
|
749 |
+
}
|
750 |
+
}
|
751 |
+
/* line 36, sass/partials/_options-page.scss */
|
752 |
+
.cmb2-options-page .cmb2-wrap .cmb-type-title {
|
753 |
+
margin-top: 1em;
|
754 |
+
padding: 0.6em 1em;
|
755 |
+
background-color: #fafafa;
|
756 |
+
}
|
757 |
+
/* line 41, sass/partials/_options-page.scss */
|
758 |
+
.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-title {
|
759 |
+
font-size: 12px;
|
760 |
+
margin-top: 0;
|
761 |
+
margin-bottom: 0;
|
762 |
+
text-transform: uppercase;
|
763 |
+
}
|
764 |
+
/* line 48, sass/partials/_options-page.scss */
|
765 |
+
.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-description {
|
766 |
+
padding-top: 0.25em;
|
767 |
+
}
|
768 |
+
/* line 54, sass/partials/_options-page.scss */
|
769 |
+
.cmb2-options-page .cmb-repeatable-group .cmb-group-description .cmb-th {
|
770 |
+
padding: 0 0 0.8em 0;
|
771 |
+
}
|
772 |
+
/* line 58, sass/partials/_options-page.scss */
|
773 |
+
.cmb2-options-page .cmb-repeatable-group .cmb-group-name {
|
774 |
+
font-size: 16px;
|
775 |
+
margin-top: 0;
|
776 |
+
margin-bottom: 0;
|
777 |
+
}
|
778 |
+
/* line 64, sass/partials/_options-page.scss */
|
779 |
+
.cmb2-options-page .cmb-repeatable-group .cmb-th > .cmb2-metabox-description {
|
780 |
+
font-weight: 400;
|
781 |
+
padding-bottom: 0 !important;
|
782 |
+
}
|
783 |
+
|
784 |
/*--------------------------------------------------------------
|
785 |
Misc.
|
786 |
--------------------------------------------------------------*/
|
797 |
}
|
798 |
|
799 |
/* line 18, sass/partials/_misc.scss */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
800 |
.cmb2-postbox .cmb-spinner, .cmb2-no-box-wrap .cmb-spinner {
|
801 |
float: left;
|
802 |
display: none;
|
803 |
}
|
804 |
|
805 |
+
/* line 24, sass/partials/_misc.scss */
|
806 |
.cmb-spinner {
|
807 |
display: none;
|
808 |
}
|
809 |
+
/* line 26, sass/partials/_misc.scss */
|
810 |
.cmb-spinner.is-active {
|
811 |
display: block;
|
812 |
}
|
867 |
}
|
868 |
/* line 55, sass/partials/_sidebar_placements.scss */
|
869 |
.inner-sidebar .cmb-th,
|
870 |
+
.inner-sidebar .cmb-td:not(.cmb-remove-row),
|
871 |
.inner-sidebar .cmb-th + .cmb-td,
|
872 |
#side-sortables .cmb-th,
|
873 |
+
#side-sortables .cmb-td:not(.cmb-remove-row),
|
874 |
#side-sortables .cmb-th + .cmb-td {
|
875 |
width: 100%;
|
876 |
display: block;
|
882 |
display: none;
|
883 |
}
|
884 |
/* line 67, sass/partials/_sidebar_placements.scss */
|
|
|
|
|
|
|
|
|
|
|
885 |
.inner-sidebar .cmb-th,
|
886 |
#side-sortables .cmb-th {
|
887 |
display: block;
|
896 |
.inner-sidebar .cmb-th label,
|
897 |
#side-sortables .cmb-th label {
|
898 |
display: block;
|
899 |
+
margin-top: 0;
|
900 |
+
margin-bottom: 0.5em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
901 |
}
|
902 |
/* line 14, sass/partials/_mixins.scss */
|
903 |
.inner-sidebar .cmb-th label,
|
905 |
font-size: 14px;
|
906 |
line-height: 1.4em;
|
907 |
}
|
908 |
+
/* line 74, sass/partials/_sidebar_placements.scss */
|
909 |
.inner-sidebar .cmb-group-description .cmb-th,
|
910 |
#side-sortables .cmb-group-description .cmb-th {
|
911 |
padding-top: 0;
|
912 |
}
|
913 |
+
/* line 77, sass/partials/_sidebar_placements.scss */
|
914 |
.inner-sidebar .cmb-group-description .cmb2-metabox-description,
|
915 |
#side-sortables .cmb-group-description .cmb2-metabox-description {
|
916 |
padding: 0;
|
917 |
}
|
918 |
+
/* line 84, sass/partials/_sidebar_placements.scss */
|
919 |
.inner-sidebar .cmb-group-title .cmb-th,
|
920 |
#side-sortables .cmb-group-title .cmb-th {
|
921 |
padding: 0;
|
922 |
}
|
923 |
+
/* line 90, sass/partials/_sidebar_placements.scss */
|
924 |
.inner-sidebar .cmb-repeatable-grouping + .cmb-repeatable-grouping,
|
925 |
#side-sortables .cmb-repeatable-grouping + .cmb-repeatable-grouping {
|
926 |
margin-top: 1em;
|
927 |
}
|
928 |
+
/* line 99, sass/partials/_sidebar_placements.scss */
|
929 |
.inner-sidebar .cmb2-media-status .img-status img,
|
930 |
.inner-sidebar .cmb2-media-status .embed-status img,
|
931 |
#side-sortables .cmb2-media-status .img-status img,
|
933 |
max-width: 90%;
|
934 |
height: auto;
|
935 |
}
|
936 |
+
/* line 107, sass/partials/_sidebar_placements.scss */
|
937 |
.inner-sidebar .cmb2-list label,
|
938 |
#side-sortables .cmb2-list label {
|
939 |
display: inline;
|
940 |
font-weight: normal;
|
941 |
}
|
942 |
+
/* line 112, sass/partials/_sidebar_placements.scss */
|
943 |
.inner-sidebar .cmb2-metabox-description,
|
944 |
#side-sortables .cmb2-metabox-description {
|
945 |
display: block;
|
946 |
padding: 7px 0 0;
|
947 |
}
|
948 |
+
/* line 119, sass/partials/_sidebar_placements.scss */
|
949 |
.inner-sidebar .cmb-type-checkbox .cmb-td label,
|
950 |
.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description,
|
951 |
#side-sortables .cmb-type-checkbox .cmb-td label,
|
953 |
font-weight: normal;
|
954 |
display: inline;
|
955 |
}
|
956 |
+
/* line 126, sass/partials/_sidebar_placements.scss */
|
957 |
.inner-sidebar .cmb-row .cmb2-metabox-description,
|
958 |
#side-sortables .cmb-row .cmb2-metabox-description {
|
959 |
padding-bottom: 1.8em;
|
960 |
}
|
961 |
+
/* line 130, sass/partials/_sidebar_placements.scss */
|
962 |
.inner-sidebar .cmb2-metabox-title,
|
963 |
#side-sortables .cmb2-metabox-title {
|
964 |
font-size: 1.2em;
|
965 |
font-style: italic;
|
966 |
}
|
967 |
+
/* line 135, sass/partials/_sidebar_placements.scss */
|
968 |
.inner-sidebar .cmb-remove-row,
|
969 |
#side-sortables .cmb-remove-row {
|
970 |
clear: both;
|
971 |
padding-top: 12px;
|
972 |
padding-bottom: 0;
|
973 |
}
|
974 |
+
/* line 141, sass/partials/_sidebar_placements.scss */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
975 |
.inner-sidebar .cmb2-upload-button,
|
976 |
#side-sortables .cmb2-upload-button {
|
977 |
clear: both;
|
979 |
}
|
980 |
|
981 |
/* line 2, sass/partials/_collapsible_ui.scss */
|
|
|
|
|
|
|
|
|
982 |
.cmb2-metabox .cmbhandle {
|
983 |
color: #aaa;
|
984 |
float: right;
|
988 |
right: -1em;
|
989 |
position: relative;
|
990 |
}
|
991 |
+
/* line 10, sass/partials/_collapsible_ui.scss */
|
992 |
.cmb2-metabox .cmbhandle:before {
|
993 |
content: '\f142';
|
994 |
right: 12px;
|
1002 |
-moz-osx-font-smoothing: grayscale;
|
1003 |
text-decoration: none !important;
|
1004 |
}
|
1005 |
+
/* line 27, sass/partials/_collapsible_ui.scss */
|
1006 |
.cmb2-metabox .postbox.closed .cmbhandle:before {
|
1007 |
content: '\f140';
|
1008 |
}
|
1009 |
+
/* line 33, sass/partials/_collapsible_ui.scss */
|
1010 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row {
|
1011 |
-webkit-appearance: none !important;
|
1012 |
background: none !important;
|
1018 |
padding: 2px 6px 3px;
|
1019 |
opacity: .5;
|
1020 |
}
|
1021 |
+
/* line 43, sass/partials/_collapsible_ui.scss */
|
1022 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]) {
|
1023 |
cursor: pointer;
|
1024 |
color: #a00;
|
1025 |
opacity: 1;
|
1026 |
}
|
1027 |
+
/* line 47, sass/partials/_collapsible_ui.scss */
|
1028 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover {
|
1029 |
color: #f00;
|
1030 |
}
|
vendor/CMB2/css/cmb2-front.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-left:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 5px 0 0;padding:0}.cmb2-wrap .button,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 10px 0 0}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat-row{padding:1.8em 0 0}.cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type{padding:0}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1.8em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb2-metabox>.cmb-row .cmb-repeat-table .cmb-row>.cmb-td{padding-right:20px;box-sizing:border-box;float:left}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em;max-width:1000px}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:left;font-weight:600;line-height:1.3;padding:20px 10px 20px 0;vertical-align:top;width:200px}@media (max-width:450px){.cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:left;width:100%}.cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:left}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:right}.empty-row.hidden{display:none}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 12px 8px 2.2em;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:left;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-repeatable-group .cmb-group-description .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-right:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:right}p.cmb2-metabox-description{color:#aaa;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#aaa;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-right:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;vertical-align:middle;margin-right:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px;height:auto}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#fff;border:1px solid #e9e9e9;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0;padding:5px}.cmb2-media-status .embed-status{float:left;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;left:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;vertical-align:middle;width:auto;margin-right:10px;margin-bottom:10px;margin-top:0}.cmb-attach-list li{clear:both;display:inline-block;width:100%;margin-top:5px;margin-bottom:10px}.cmb-attach-list li img{cursor:move;float:left;margin-right:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:left}@media (max-width:450px){.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}}#poststuff .cmb-group-title{margin-left:-1em;margin-right:-1em;min-height:1.5em}#poststuff .repeatable .cmb-group-title{padding-left:2.2em}.cmb-type-group .cmb2-wrap,.cmb2-postbox .cmb2-wrap{margin:0}.cmb-type-group .cmb2-wrap>.cmb-field-list>.cmb-row,.cmb2-postbox .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-type-group .cmb2-wrap input[type=text].cmb2-oembed,.cmb2-postbox .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-type-group .cmb-row,.cmb2-postbox .cmb-row{padding:0 0 1.8em;margin:0 0 .8em}.cmb-type-group .cmb-row .cmbhandle,.cmb2-postbox .cmb-row .cmbhandle{right:-1em;position:relative}.cmb-type-group .cmb-repeatable-grouping,.cmb2-postbox .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-type-group .cmb-repeatable-group>.cmb-row,.cmb2-postbox .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-type-group .cmb-th,.cmb2-postbox .cmb-th{width:18%;padding:0 2% 0 0}.cmb-type-group .cmb-td,.cmb2-postbox .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-type-group .cmb-repeat-row .cmb-td,.cmb2-postbox .cmb-repeat-row .cmb-td{padding-bottom:1.8em}.cmb-type-group .cmb-th+.cmb-td,.cmb2-postbox .cmb-th+.cmb-td{width:80%;float:right}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}@media (max-width:450px){.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:0}}.cmb-type-group .cmb-remove-field-row,.cmb-type-group .cmb-repeat-group-field,.cmb2-postbox .cmb-remove-field-row,.cmb2-postbox .cmb-repeat-group-field{padding-top:1.8em}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody{display:table;width:100%}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text{width:100%}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row){display:table-row}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td{display:table-cell;float:none;width:100%}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td{padding-top:1.8em}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row{padding-right:0}.js .cmb2-postbox.context-box .toggle-indicator:before{content:"\f142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js .cmb2-postbox.context-box.closed .toggle-indicator:before{content:"\f140"}.cmb2-postbox.context-box{margin-bottom:10px}.cmb2-postbox.context-box.context-after_title-box,.cmb2-postbox.context-box.context-before_permalink-box{margin-top:10px}.cmb2-postbox.context-box.context-after_editor-box{margin-top:20px;margin-bottom:0}.cmb2-postbox.context-box.context-form_top-box{margin-top:10px}.cmb2-postbox.context-box.context-form_top-box .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb2-postbox.context-box .hndle{cursor:auto}.cmb2-context-wrap{margin-top:10px}.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-right:300px;width:auto}.cmb2-context-wrap.cmb2-context-wrap-no-title .cmb2-metabox{padding:10px}.cmb2-context-wrap .cmb-th{padding:0 2% 0 0;width:18%}.cmb2-context-wrap .cmb-td{width:80%;padding:0}.cmb2-context-wrap .cmb-row{margin-bottom:10px}.cmb2-context-wrap .cmb-row:last-of-type{margin-bottom:0}@media only screen and (max-width:850px){.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-right:0}}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.cmb2-options-page .cmb2-metabox-title{font-size:1.3em;margin:1em 0}.cmb2-options-page .cmb2-metabox-title+p.cmb2-metabox-description{margin-top:-1.6em;margin-bottom:.8em}.cmb2-no-box-wrap .cmb-spinner,.cmb2-postbox .cmb-spinner{float:left;display:none}.cmb-spinner.is-active{display:block}#side-sortables .cmb2-wrap>.cmb-field-list>.cmb-row,.inner-sidebar .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.4em 0}#side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker),.inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker){width:100%}#side-sortables .cmb2-wrap input+input:not(.wp-picker-clear),#side-sortables .cmb2-wrap input+select,.inner-sidebar .cmb2-wrap input+input:not(.wp-picker-clear),.inner-sidebar .cmb2-wrap input+select{margin-left:0;margin-top:1em;display:block}#side-sortables .cmb2-wrap input.cmb2-text-money,.inner-sidebar .cmb2-wrap input.cmb2-text-money{max-width:70%}#side-sortables .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description,.inner-sidebar .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description{display:block}#side-sortables .cmb2-wrap label,.inner-sidebar .cmb2-wrap label{display:block;font-weight:700;padding:0 0 5px}#side-sortables textarea,.inner-sidebar textarea{max-width:99%}#side-sortables .cmb-repeatable-group,.inner-sidebar .cmb-repeatable-group{border-bottom:1px solid #e9e9e9}#side-sortables .cmb-type-group>.cmb-td>.cmb-repeatable-group,.inner-sidebar .cmb-type-group>.cmb-td>.cmb-repeatable-group{border-bottom:0;margin-bottom:-1.4em}#side-sortables .cmb-td,#side-sortables .cmb-th,#side-sortables .cmb-th+.cmb-td,.inner-sidebar .cmb-td,.inner-sidebar .cmb-th,.inner-sidebar .cmb-th+.cmb-td{width:100%;display:block;float:none}#side-sortables .closed .inside,.inner-sidebar .closed .inside{display:none}#side-sortables .cmb-td .cmb-td,.inner-sidebar .cmb-td .cmb-td{padding-bottom:1em}#side-sortables .cmb-th,.inner-sidebar .cmb-th{display:block;float:none;padding-bottom:1em;text-align:left;width:100%;padding-left:0;padding-right:0}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{display:block;margin-top:0;padding-bottom:5px}#side-sortables .cmb-th label:after,.inner-sidebar .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{font-size:14px;line-height:1.4em}#side-sortables .cmb-group-description .cmb-th,.inner-sidebar .cmb-group-description .cmb-th{padding-top:0}#side-sortables .cmb-group-description .cmb2-metabox-description,#side-sortables .cmb-group-title .cmb-th,.inner-sidebar .cmb-group-description .cmb2-metabox-description,.inner-sidebar .cmb-group-title .cmb-th{padding:0}#side-sortables .cmb-repeatable-grouping+.cmb-repeatable-grouping,.inner-sidebar .cmb-repeatable-grouping+.cmb-repeatable-grouping{margin-top:1em}#side-sortables .cmb2-media-status .embed-status img,#side-sortables .cmb2-media-status .img-status img,.inner-sidebar .cmb2-media-status .embed-status img,.inner-sidebar .cmb2-media-status .img-status img{max-width:90%;height:auto}#side-sortables .cmb2-list label,.inner-sidebar .cmb2-list label{display:inline;font-weight:400}#side-sortables .cmb2-metabox-description,.inner-sidebar .cmb2-metabox-description{display:block;padding:7px 0 0}#side-sortables .cmb-type-checkbox .cmb-td label,#side-sortables .cmb-type-checkbox .cmb2-metabox-description,.inner-sidebar .cmb-type-checkbox .cmb-td label,.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description{font-weight:400;display:inline}#side-sortables .cmb-row .cmb2-metabox-description,.inner-sidebar .cmb-row .cmb2-metabox-description{padding-bottom:1.8em}#side-sortables .cmb2-metabox-title,.inner-sidebar .cmb2-metabox-title{font-size:1.2em;font-style:italic}#side-sortables .cmb-remove-row,.inner-sidebar .cmb-remove-row{clear:both;padding-top:12px;padding-bottom:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td{width:auto;clear:none;float:left;padding-top:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row{float:right;margin:0}#side-sortables .cmb2-upload-button,.inner-sidebar .cmb2-upload-button{clear:both;margin-top:12px}.cmb2-metabox .cmb-type-group{max-width:1000px}.cmb2-metabox .cmbhandle{color:#aaa;float:right;width:27px;height:30px;cursor:pointer;right:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';right:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;left:0;top:.5em;line-height:1em;padding:2px 6px 3px;opacity:.5}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){cursor:pointer;color:#a00;opacity:1}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}* html .cmb2-element.ui-helper-clearfix{height:1%}.cmb2-element .ui-datepicker,.cmb2-element.ui-datepicker{padding:0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background-color:#fff;border:1px solid #dfdfdf;border-top:none;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075);min-width:17em;width:auto}.cmb2-element .ui-datepicker *,.cmb2-element.ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{font-size:13px;margin:0;border:none;border-collapse:collapse}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{border:none;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover{background:0 0;border-color:transparent;cursor:pointer}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin:0;padding:10px 0;color:#fff;font-size:14px;line-height:14px;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select,.cmb2-element.ui-datepicker .ui-datepicker-title select{margin-top:-8px;margin-bottom:-8px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-prev{position:relative;top:0;height:34px;width:34px}.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-prev{border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{left:0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next-hover{right:0}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{display:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev{float:left}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next{float:right}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{font:400 20px/34px dashicons;padding-left:7px;color:#fff;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:34px;height:34px}.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{content:'\f341'}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before{content:'\f345'}.cmb2-element .ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover:before{opacity:.7}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-year{width:33%;background:0 0;border-color:transparent;box-shadow:none;color:#fff}.cmb2-element .ui-datepicker select.ui-datepicker-month option,.cmb2-element .ui-datepicker select.ui-datepicker-year option,.cmb2-element.ui-datepicker select.ui-datepicker-month option,.cmb2-element.ui-datepicker select.ui-datepicker-year option{color:#333}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{color:#fff;font-weight:600}.cmb2-element .ui-datepicker thead th,.cmb2-element.ui-datepicker thead th{font-weight:400}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{padding:10px}.cmb2-element .ui-datepicker td,.cmb2-element.ui-datepicker td{padding:0;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-other-month,.cmb2-element.ui-datepicker td.ui-datepicker-other-month{border:transparent}.cmb2-element .ui-datepicker td.ui-datepicker-week-end,.cmb2-element.ui-datepicker td.ui-datepicker-week-end{background-color:#f4f4f4;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today{-webkit-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);-moz-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1)}.cmb2-element .ui-datepicker td.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-today{background-color:#f0f0c0}.cmb2-element .ui-datepicker td.ui-datepicker-current-day,.cmb2-element.ui-datepicker td.ui-datepicker-current-day{background:#bd8}.cmb2-element .ui-datepicker td .ui-state-default,.cmb2-element.ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;text-decoration:none;width:auto;display:block;padding:5px 10px;font-weight:400;color:#444}.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{opacity:.5}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{background:#32373c}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover,.cmb2-element.ui-datepicker td .ui-state-active,.cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.cmb2-element .ui-datepicker .ui-timepicker-div,.cmb2-element.ui-datepicker .ui-timepicker-div{font-size:14px}.cmb2-element .ui-datepicker .ui-timepicker-div dl,.cmb2-element.ui-datepicker .ui-timepicker-div dl{text-align:left;padding:0 .6em}.cmb2-element .ui-datepicker .ui-timepicker-div dl dt,.cmb2-element.ui-datepicker .ui-timepicker-div dl dt{float:left;clear:left;padding:0 0 0 5px}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd{margin:0 10px 10px 40%}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd select,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd select{width:100%}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane{padding:.6em;text-align:left}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary{padding:0 10px 1px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;margin:0 .6em .4em .4em}.admin-color-fresh .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.admin-color-fresh .cmb2-element .ui-datepicker thead,.admin-color-fresh .cmb2-element.ui-datepicker thead{background:#32373c}.admin-color-fresh .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-fresh .cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-widget-header{background:#52accc}.admin-color-blue .cmb2-element .ui-datepicker thead,.admin-color-blue .cmb2-element.ui-datepicker thead{background:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover{background:#096484;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-blue .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-widget-header{background:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker thead,.admin-color-coffee .cmb2-element.ui-datepicker thead{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover{background:#c7a589;color:#fff}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-widget-header{background:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker thead,.admin-color-ectoplasm .cmb2-element.ui-datepicker thead{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover{background:#a3b745;color:#fff}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-widget-header{background:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker thead,.admin-color-midnight .cmb2-element.ui-datepicker thead{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover{background:#e14d43;color:#fff}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-widget-header{background:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker thead,.admin-color-ocean .cmb2-element.ui-datepicker thead{background:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover{background:#9ebaa0;color:#fff}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-widget-header{background:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker th,.admin-color-sunrise .cmb2-element.ui-datepicker th{border-color:#be3631;background:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover{background:#dd823b;color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element.ui-datepicker .ui-widget-header{background:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-year,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-year{color:#555}.admin-color-light .cmb2-element .ui-datepicker thead,.admin-color-light .cmb2-element.ui-datepicker thead{background:#888}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-default{color:#555}.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover{background:#ccc}.admin-color-light .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-light .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-widget-header{background:#56b274}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker thead,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker thead{background:#36533f}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker td .ui-state-hover{background:#446950;color:#fff}.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-widget-header{background:#4ca26a}.admin-color-bbp-mint .cmb2-element .ui-datepicker thead,.admin-color-bbp-mint .cmb2-element.ui-datepicker thead{background:#4f6d59}.admin-color-bbp-mint .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-mint .cmb2-element.ui-datepicker td .ui-state-hover{background:#5fb37c;color:#fff}.closed .inside{display:none}.cmb-repeatable-grouping{position:relative}.cmb-repeatable-grouping .cmb-group-title{margin-left:-1em;margin-right:-1em;min-height:1.5em}.cmb-repeatable-grouping h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb-repeatable-group.repeatable .cmb-group-title{padding-left:2.2em}.cmb-repeatable-group.non-repeatable .cmb-group-title{padding-left:12px}.cmb-type-group .cmb-row .cmbhandle{right:0;position:absolute}.cmb-spinner{background:url(/wp-admin/images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;float:right;vertical-align:middle;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}
|
1 |
+
@charset "UTF-8";.cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button-secondary,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-left:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 5px 0 0;padding:0}.cmb2-wrap .button-secondary,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 10px 0 0}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:left;font-weight:600;line-height:1.3;padding:20px 10px 20px 0;vertical-align:top;width:200px}@media (max-width:450px){.cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:left;width:100%}.cmb-th label{display:block;margin-top:0;margin-bottom:.5em}}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:left}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:right}.empty-row.hidden{display:none}.cmb-repeat-table{background-color:#fafafa;border:1px solid #e1e1e1}.cmb-repeat-table .cmb-row.cmb-repeat-row{position:relative;counter-increment:el;margin:0;padding:10px 10px 10px 50px;border-bottom:none!important}.cmb-repeat-table .cmb-row.cmb-repeat-row+.cmb-repeat-row{border-top:solid 1px #e9e9e9}.cmb-repeat-table .cmb-row.cmb-repeat-row:before{content:counter(el);display:block;top:0;left:0;position:absolute;width:35px;height:100%;line-height:35px;color:#aaa;text-align:center;border-right:solid 1px #e9e9e9}.cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td{margin:0;padding:0}.cmb-repeat-table+.cmb-add-row{margin:0}.cmb-repeat-table+.cmb-add-row:before{content:'';width:1px;height:1.6em;display:block;margin-left:17px;background-color:#dcdcdc}.cmb-repeat-table .cmb-remove-row{top:7px;right:7px;position:absolute;width:auto;margin-left:0;padding:0!important;display:none}.cmb-repeat-table .cmb-remove-row>.cmb-remove-row-button{font-size:20px;text-indent:-1000px;overflow:hidden;position:relative;height:auto;line-height:1;padding:0 10px}.cmb-repeat-table .cmb-remove-row>.cmb-remove-row-button:before{content:"";font-family:Dashicons;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center}.cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row{display:block}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 12px 8px 2.2em;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:left;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;margin-bottom:.5em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-right:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:right}p.cmb2-metabox-description{color:#aaa;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#aaa;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-right:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;vertical-align:middle;margin-right:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px;height:auto}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#fff;border:1px solid #e9e9e9;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0;padding:5px}.cmb2-media-status .embed-status{float:left;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;left:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;vertical-align:middle;width:auto;margin-right:10px;margin-bottom:10px;margin-top:0}.cmb-attach-list li{clear:both;display:inline-block;width:100%;margin-top:5px;margin-bottom:10px}.cmb-attach-list li img{cursor:move;float:left;margin-right:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:left}.cmb2-indented-hierarchy{padding-left:1.5em}@media (max-width:450px){.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}}#poststuff .cmb-group-title{margin-left:-1em;margin-right:-1em;min-height:1.5em}#poststuff .repeatable .cmb-group-title{padding-left:2.2em}.cmb-type-group .cmb2-wrap,.cmb2-postbox .cmb2-wrap{margin:0}.cmb-type-group .cmb2-wrap>.cmb-field-list>.cmb-row,.cmb2-postbox .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-type-group .cmb2-wrap input[type=text].cmb2-oembed,.cmb2-postbox .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-type-group .cmb-row,.cmb2-postbox .cmb-row{padding:0 0 1.8em;margin:0 0 .8em}.cmb-type-group .cmb-row .cmbhandle,.cmb2-postbox .cmb-row .cmbhandle{right:-1em;position:relative}.cmb-type-group .cmb-repeatable-grouping,.cmb2-postbox .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-type-group .cmb-repeatable-group>.cmb-row,.cmb2-postbox .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-type-group .cmb-th,.cmb2-postbox .cmb-th{width:18%;padding:0 2% 0 0}.cmb-type-group .cmb-td,.cmb2-postbox .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-type-group .cmb-th+.cmb-td,.cmb2-postbox .cmb-th+.cmb-td{width:80%;float:right}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}@media (max-width:450px){.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:0}}.cmb-type-group .cmb-remove-field-row,.cmb-type-group .cmb-repeat-group-field,.cmb2-postbox .cmb-remove-field-row,.cmb2-postbox .cmb-repeat-group-field{padding-top:1.8em}.js .cmb2-postbox.context-box .toggle-indicator:before{content:"\f142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js .cmb2-postbox.context-box.closed .toggle-indicator:before{content:"\f140"}.cmb2-postbox.context-box{margin-bottom:10px}.cmb2-postbox.context-box.context-after_title-box,.cmb2-postbox.context-box.context-before_permalink-box{margin-top:10px}.cmb2-postbox.context-box.context-after_editor-box{margin-top:20px;margin-bottom:0}.cmb2-postbox.context-box.context-form_top-box{margin-top:10px}.cmb2-postbox.context-box.context-form_top-box .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb2-postbox.context-box .hndle{cursor:auto}.cmb2-context-wrap{margin-top:10px}.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-right:300px;width:auto}.cmb2-context-wrap.cmb2-context-wrap-no-title .cmb2-metabox{padding:10px}.cmb2-context-wrap .cmb-th{padding:0 2% 0 0;width:18%}.cmb2-context-wrap .cmb-td{width:80%;padding:0}.cmb2-context-wrap .cmb-row{margin-bottom:10px}.cmb2-context-wrap .cmb-row:last-of-type{margin-bottom:0}@media only screen and (max-width:850px){.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-right:0}}.cmb2-options-page{max-width:1200px}.cmb2-options-page.wrap>h2{margin-bottom:1em}.cmb2-options-page .cmb2-metabox>.cmb-row{padding:1em;margin-top:-1px;background:#fff;border:1px solid #e9e9e9;box-shadow:0 1px 1px rgba(0,0,0,.05)}.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th{padding:0;font-weight:initial}.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th+.cmb-td{float:none;padding:0 0 0 1em;margin-left:200px}@media (max-width:450px){.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th+.cmb-td{padding:0;margin-left:0}}.cmb2-options-page .cmb2-wrap .cmb-type-title{margin-top:1em;padding:.6em 1em;background-color:#fafafa}.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-title{font-size:12px;margin-top:0;margin-bottom:0;text-transform:uppercase}.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-description{padding-top:.25em}.cmb2-options-page .cmb-repeatable-group .cmb-group-description .cmb-th{padding:0 0 .8em}.cmb2-options-page .cmb-repeatable-group .cmb-group-name{font-size:16px;margin-top:0;margin-bottom:0}.cmb2-options-page .cmb-repeatable-group .cmb-th>.cmb2-metabox-description{font-weight:400;padding-bottom:0!important}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.cmb2-no-box-wrap .cmb-spinner,.cmb2-postbox .cmb-spinner{float:left;display:none}.cmb-spinner.is-active{display:block}#side-sortables .cmb2-wrap>.cmb-field-list>.cmb-row,.inner-sidebar .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.4em 0}#side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker),.inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker){width:100%}#side-sortables .cmb2-wrap input+input:not(.wp-picker-clear),#side-sortables .cmb2-wrap input+select,.inner-sidebar .cmb2-wrap input+input:not(.wp-picker-clear),.inner-sidebar .cmb2-wrap input+select{margin-left:0;margin-top:1em;display:block}#side-sortables .cmb2-wrap input.cmb2-text-money,.inner-sidebar .cmb2-wrap input.cmb2-text-money{max-width:70%}#side-sortables .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description,.inner-sidebar .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description{display:block}#side-sortables .cmb2-wrap label,.inner-sidebar .cmb2-wrap label{display:block;font-weight:700;padding:0 0 5px}#side-sortables textarea,.inner-sidebar textarea{max-width:99%}#side-sortables .cmb-repeatable-group,.inner-sidebar .cmb-repeatable-group{border-bottom:1px solid #e9e9e9}#side-sortables .cmb-type-group>.cmb-td>.cmb-repeatable-group,.inner-sidebar .cmb-type-group>.cmb-td>.cmb-repeatable-group{border-bottom:0;margin-bottom:-1.4em}#side-sortables .cmb-td:not(.cmb-remove-row),#side-sortables .cmb-th,#side-sortables .cmb-th+.cmb-td,.inner-sidebar .cmb-td:not(.cmb-remove-row),.inner-sidebar .cmb-th,.inner-sidebar .cmb-th+.cmb-td{width:100%;display:block;float:none}#side-sortables .closed .inside,.inner-sidebar .closed .inside{display:none}#side-sortables .cmb-th,.inner-sidebar .cmb-th{display:block;float:none;padding-bottom:1em;text-align:left;width:100%;padding-left:0;padding-right:0}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{display:block;margin-top:0;margin-bottom:.5em;font-size:14px;line-height:1.4em}#side-sortables .cmb-group-description .cmb-th,.inner-sidebar .cmb-group-description .cmb-th{padding-top:0}#side-sortables .cmb-group-description .cmb2-metabox-description,#side-sortables .cmb-group-title .cmb-th,.inner-sidebar .cmb-group-description .cmb2-metabox-description,.inner-sidebar .cmb-group-title .cmb-th{padding:0}#side-sortables .cmb-repeatable-grouping+.cmb-repeatable-grouping,.inner-sidebar .cmb-repeatable-grouping+.cmb-repeatable-grouping{margin-top:1em}#side-sortables .cmb2-media-status .embed-status img,#side-sortables .cmb2-media-status .img-status img,.inner-sidebar .cmb2-media-status .embed-status img,.inner-sidebar .cmb2-media-status .img-status img{max-width:90%;height:auto}#side-sortables .cmb2-list label,.inner-sidebar .cmb2-list label{display:inline;font-weight:400}#side-sortables .cmb2-metabox-description,.inner-sidebar .cmb2-metabox-description{display:block;padding:7px 0 0}#side-sortables .cmb-type-checkbox .cmb-td label,#side-sortables .cmb-type-checkbox .cmb2-metabox-description,.inner-sidebar .cmb-type-checkbox .cmb-td label,.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description{font-weight:400;display:inline}#side-sortables .cmb-row .cmb2-metabox-description,.inner-sidebar .cmb-row .cmb2-metabox-description{padding-bottom:1.8em}#side-sortables .cmb2-metabox-title,.inner-sidebar .cmb2-metabox-title{font-size:1.2em;font-style:italic}#side-sortables .cmb-remove-row,.inner-sidebar .cmb-remove-row{clear:both;padding-top:12px;padding-bottom:0}#side-sortables .cmb2-upload-button,.inner-sidebar .cmb2-upload-button{clear:both;margin-top:12px}.cmb2-metabox .cmbhandle{color:#aaa;float:right;width:27px;height:30px;cursor:pointer;right:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';right:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;left:0;top:.5em;line-height:1em;padding:2px 6px 3px;opacity:.5}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){cursor:pointer;color:#a00;opacity:1}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}* html .cmb2-element.ui-helper-clearfix{height:1%}.cmb2-element .ui-datepicker,.cmb2-element.ui-datepicker{padding:0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background-color:#fff;border:1px solid #dfdfdf;border-top:none;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075);min-width:17em;width:auto}.cmb2-element .ui-datepicker *,.cmb2-element.ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{font-size:13px;margin:0;border:none;border-collapse:collapse}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{border:none;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover{background:0 0;border-color:transparent;cursor:pointer}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin:0;padding:10px 0;color:#fff;font-size:14px;line-height:14px;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select,.cmb2-element.ui-datepicker .ui-datepicker-title select{margin-top:-8px;margin-bottom:-8px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-prev{position:relative;top:0;height:34px;width:34px}.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-prev{border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{left:0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next-hover{right:0}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{display:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev{float:left}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next{float:right}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{font:400 20px/34px dashicons;padding-left:7px;color:#fff;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:34px;height:34px}.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{content:'\f341'}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before{content:'\f345'}.cmb2-element .ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover:before{opacity:.7}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-year{width:33%;background:0 0;border-color:transparent;box-shadow:none;color:#fff}.cmb2-element .ui-datepicker select.ui-datepicker-month option,.cmb2-element .ui-datepicker select.ui-datepicker-year option,.cmb2-element.ui-datepicker select.ui-datepicker-month option,.cmb2-element.ui-datepicker select.ui-datepicker-year option{color:#333}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{color:#fff;font-weight:600}.cmb2-element .ui-datepicker thead th,.cmb2-element.ui-datepicker thead th{font-weight:400}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{padding:10px}.cmb2-element .ui-datepicker td,.cmb2-element.ui-datepicker td{padding:0;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-other-month,.cmb2-element.ui-datepicker td.ui-datepicker-other-month{border:transparent}.cmb2-element .ui-datepicker td.ui-datepicker-week-end,.cmb2-element.ui-datepicker td.ui-datepicker-week-end{background-color:#f4f4f4;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today{-webkit-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);-moz-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1)}.cmb2-element .ui-datepicker td.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-today{background-color:#f0f0c0}.cmb2-element .ui-datepicker td.ui-datepicker-current-day,.cmb2-element.ui-datepicker td.ui-datepicker-current-day{background:#bd8}.cmb2-element .ui-datepicker td .ui-state-default,.cmb2-element.ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;text-decoration:none;width:auto;display:block;padding:5px 10px;font-weight:400;color:#444}.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{opacity:.5}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{background:#32373c}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover,.cmb2-element.ui-datepicker td .ui-state-active,.cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.cmb2-element .ui-datepicker .ui-timepicker-div,.cmb2-element.ui-datepicker .ui-timepicker-div{font-size:14px}.cmb2-element .ui-datepicker .ui-timepicker-div dl,.cmb2-element.ui-datepicker .ui-timepicker-div dl{text-align:left;padding:0 .6em}.cmb2-element .ui-datepicker .ui-timepicker-div dl dt,.cmb2-element.ui-datepicker .ui-timepicker-div dl dt{float:left;clear:left;padding:0 0 0 5px}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd{margin:0 10px 10px 40%}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd select,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd select{width:100%}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane{padding:.6em;text-align:left}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary{padding:0 10px 1px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;margin:0 .6em .4em .4em}.admin-color-fresh .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.admin-color-fresh .cmb2-element .ui-datepicker thead,.admin-color-fresh .cmb2-element.ui-datepicker thead{background:#32373c}.admin-color-fresh .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-fresh .cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-widget-header{background:#52accc}.admin-color-blue .cmb2-element .ui-datepicker thead,.admin-color-blue .cmb2-element.ui-datepicker thead{background:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover{background:#096484;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-blue .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-widget-header{background:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker thead,.admin-color-coffee .cmb2-element.ui-datepicker thead{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover{background:#c7a589;color:#fff}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-widget-header{background:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker thead,.admin-color-ectoplasm .cmb2-element.ui-datepicker thead{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover{background:#a3b745;color:#fff}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-widget-header{background:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker thead,.admin-color-midnight .cmb2-element.ui-datepicker thead{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover{background:#e14d43;color:#fff}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-widget-header{background:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker thead,.admin-color-ocean .cmb2-element.ui-datepicker thead{background:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover{background:#9ebaa0;color:#fff}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-widget-header{background:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker th,.admin-color-sunrise .cmb2-element.ui-datepicker th{border-color:#be3631;background:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover{background:#dd823b;color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element.ui-datepicker .ui-widget-header{background:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-year,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-year{color:#555}.admin-color-light .cmb2-element .ui-datepicker thead,.admin-color-light .cmb2-element.ui-datepicker thead{background:#888}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-default{color:#555}.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover{background:#ccc}.admin-color-light .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-light .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-widget-header{background:#56b274}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker thead,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker thead{background:#36533f}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker td .ui-state-hover{background:#446950;color:#fff}.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-widget-header{background:#4ca26a}.admin-color-bbp-mint .cmb2-element .ui-datepicker thead,.admin-color-bbp-mint .cmb2-element.ui-datepicker thead{background:#4f6d59}.admin-color-bbp-mint .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-mint .cmb2-element.ui-datepicker td .ui-state-hover{background:#5fb37c;color:#fff}.closed .inside{display:none}.cmb-repeatable-grouping{position:relative}.cmb-repeatable-grouping .cmb-group-title{margin-left:-1em;margin-right:-1em;min-height:1.5em}.cmb-repeatable-grouping h3{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb-repeatable-group.repeatable .cmb-group-title{padding-left:2.2em}.cmb-repeatable-group.non-repeatable .cmb-group-title{padding-left:12px}.cmb-type-group .cmb-row .cmbhandle{right:0;position:absolute}.cmb-spinner{background:url(/wp-admin/images/spinner.gif) no-repeat;-webkit-background-size:20px 20px;background-size:20px 20px;display:none;float:right;vertical-align:middle;opacity:.7;filter:alpha(opacity=70);width:20px;height:20px;margin:4px 10px 0}
|
vendor/CMB2/css/cmb2-rtl.css
CHANGED
@@ -74,7 +74,7 @@ Main Wrap
|
|
74 |
/* line 59, sass/partials/_main_wrap.scss */
|
75 |
|
76 |
.cmb2-wrap input:not([type="hidden"]) + input,
|
77 |
-
.cmb2-wrap input:not([type="hidden"]) + .button,
|
78 |
.cmb2-wrap input:not([type="hidden"]) + select {
|
79 |
margin-right: 20px;
|
80 |
}
|
@@ -124,7 +124,7 @@ Main Wrap
|
|
124 |
/* line 102, sass/partials/_main_wrap.scss */
|
125 |
|
126 |
.cmb2-wrap button,
|
127 |
-
.cmb2-wrap .button {
|
128 |
white-space: nowrap;
|
129 |
}
|
130 |
|
@@ -152,27 +152,27 @@ Main Wrap
|
|
152 |
width: 100%;
|
153 |
}
|
154 |
|
155 |
-
/* line
|
156 |
|
157 |
.cmb2-wrap .wp-color-result,
|
158 |
.cmb2-wrap .wp-picker-input-wrap {
|
159 |
vertical-align: middle;
|
160 |
}
|
161 |
|
162 |
-
/* line
|
163 |
|
164 |
.cmb2-wrap .wp-color-result,
|
165 |
.cmb2-wrap .wp-picker-container {
|
166 |
margin: 0 0 0 10px;
|
167 |
}
|
168 |
|
169 |
-
/* line
|
170 |
|
171 |
.cmb2-wrap .cmb-row {
|
172 |
margin: 0;
|
173 |
}
|
174 |
|
175 |
-
/* line
|
176 |
|
177 |
.cmb2-wrap .cmb-row:after {
|
178 |
content: '';
|
@@ -181,33 +181,21 @@ Main Wrap
|
|
181 |
width: 100%;
|
182 |
}
|
183 |
|
184 |
-
/* line
|
185 |
-
|
186 |
-
.cmb2-wrap .cmb-row.cmb-repeat-row {
|
187 |
-
padding: 1.8em 0 0;
|
188 |
-
}
|
189 |
-
|
190 |
-
/* line 149, sass/partials/_main_wrap.scss */
|
191 |
-
|
192 |
-
.cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type {
|
193 |
-
padding: 0;
|
194 |
-
}
|
195 |
-
|
196 |
-
/* line 154, sass/partials/_main_wrap.scss */
|
197 |
|
198 |
.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description {
|
199 |
padding-top: 0;
|
200 |
-
padding-bottom:
|
201 |
}
|
202 |
|
203 |
-
/* line
|
204 |
|
205 |
.cmb2-metabox {
|
206 |
clear: both;
|
207 |
margin: 0;
|
208 |
}
|
209 |
|
210 |
-
/* line
|
211 |
|
212 |
.cmb2-metabox > .cmb-row:first-of-type > .cmb-td,
|
213 |
.cmb2-metabox > .cmb-row:first-of-type > .cmb-th,
|
@@ -216,21 +204,13 @@ Main Wrap
|
|
216 |
border: 0;
|
217 |
}
|
218 |
|
219 |
-
/* line
|
220 |
-
|
221 |
-
.cmb2-metabox > .cmb-row .cmb-repeat-table .cmb-row > .cmb-td {
|
222 |
-
padding-left: 20px;
|
223 |
-
box-sizing: border-box;
|
224 |
-
float: right;
|
225 |
-
}
|
226 |
-
|
227 |
-
/* line 182, sass/partials/_main_wrap.scss */
|
228 |
|
229 |
.cmb-add-row {
|
230 |
margin: 1.8em 0 0;
|
231 |
}
|
232 |
|
233 |
-
/* line
|
234 |
|
235 |
.cmb-nested .cmb-td,
|
236 |
.cmb-repeatable-group .cmb-th,
|
@@ -238,7 +218,7 @@ Main Wrap
|
|
238 |
border: 0;
|
239 |
}
|
240 |
|
241 |
-
/* line
|
242 |
|
243 |
.cmb-row:last-of-type,
|
244 |
.cmb2-wrap .cmb-row:last-of-type,
|
@@ -246,21 +226,20 @@ Main Wrap
|
|
246 |
border-bottom: 0;
|
247 |
}
|
248 |
|
249 |
-
/* line
|
250 |
|
251 |
.cmb-repeatable-grouping {
|
252 |
border: 1px solid #e9e9e9;
|
253 |
padding: 0 1em;
|
254 |
-
max-width: 1000px;
|
255 |
}
|
256 |
|
257 |
-
/* line
|
258 |
|
259 |
.cmb-repeatable-grouping.cmb-row {
|
260 |
margin: 0 0 0.8em;
|
261 |
}
|
262 |
|
263 |
-
/* line
|
264 |
|
265 |
.cmb-th {
|
266 |
color: #222222;
|
@@ -272,7 +251,7 @@ Main Wrap
|
|
272 |
width: 200px;
|
273 |
}
|
274 |
|
275 |
-
/* line
|
276 |
|
277 |
.cmb-td {
|
278 |
line-height: 1.3;
|
@@ -281,50 +260,164 @@ Main Wrap
|
|
281 |
vertical-align: middle;
|
282 |
}
|
283 |
|
284 |
-
/* line
|
285 |
|
286 |
.cmb-type-title .cmb-td {
|
287 |
padding: 0;
|
288 |
}
|
289 |
|
290 |
-
/* line
|
291 |
|
292 |
.cmb-th label {
|
293 |
display: block;
|
294 |
padding: 5px 0;
|
295 |
}
|
296 |
|
297 |
-
/* line
|
298 |
|
299 |
.cmb-th + .cmb-td {
|
300 |
float: right;
|
301 |
}
|
302 |
|
303 |
-
/* line
|
304 |
|
305 |
.cmb-td .cmb-td {
|
306 |
padding-bottom: 1em;
|
307 |
}
|
308 |
|
309 |
-
/* line
|
310 |
|
311 |
.cmb-remove-row {
|
312 |
text-align: left;
|
313 |
}
|
314 |
|
315 |
-
/* line
|
316 |
|
317 |
.empty-row.hidden {
|
318 |
display: none;
|
319 |
}
|
320 |
|
321 |
-
/* line
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
322 |
|
323 |
.cmb-repeatable-group .cmb-th {
|
324 |
padding: 5px;
|
325 |
}
|
326 |
|
327 |
-
/* line
|
328 |
|
329 |
.cmb-repeatable-group .cmb-group-title {
|
330 |
background-color: #e9e9e9;
|
@@ -335,7 +428,7 @@ Main Wrap
|
|
335 |
line-height: 1.4;
|
336 |
}
|
337 |
|
338 |
-
/* line
|
339 |
|
340 |
.cmb-repeatable-group .cmb-group-title h4 {
|
341 |
border: 0;
|
@@ -345,14 +438,14 @@ Main Wrap
|
|
345 |
padding: 0.5em 0.75em;
|
346 |
}
|
347 |
|
348 |
-
/* line
|
349 |
|
350 |
.cmb-repeatable-group .cmb-group-title .cmb-th {
|
351 |
display: block;
|
352 |
width: 100%;
|
353 |
}
|
354 |
|
355 |
-
/* line
|
356 |
|
357 |
.cmb-repeatable-group .cmb-group-description .cmb-th {
|
358 |
font-size: 1.2em;
|
@@ -367,21 +460,11 @@ Main Wrap
|
|
367 |
|
368 |
.cmb-repeatable-group .cmb-group-description .cmb-th label {
|
369 |
display: block;
|
370 |
-
margin-top:
|
371 |
-
|
372 |
-
}
|
373 |
-
|
374 |
-
/* line 32, sass/partials/_mixins.scss */
|
375 |
-
|
376 |
-
.cmb-repeatable-group .cmb-group-description .cmb-th label:after {
|
377 |
-
border-bottom: 1px solid #e9e9e9;
|
378 |
-
content: '';
|
379 |
-
clear: both;
|
380 |
-
display: block;
|
381 |
-
padding-top: .4em;
|
382 |
}
|
383 |
|
384 |
-
/* line
|
385 |
|
386 |
.cmb-repeatable-group .cmb-shift-rows {
|
387 |
font-size: 1em;
|
@@ -389,7 +472,7 @@ Main Wrap
|
|
389 |
text-decoration: none;
|
390 |
}
|
391 |
|
392 |
-
/* line
|
393 |
|
394 |
.cmb-repeatable-group .cmb-shift-rows .dashicons {
|
395 |
font-size: 1.5em;
|
@@ -398,19 +481,19 @@ Main Wrap
|
|
398 |
width: 1em;
|
399 |
}
|
400 |
|
401 |
-
/* line
|
402 |
|
403 |
.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
|
404 |
line-height: 1.3em;
|
405 |
}
|
406 |
|
407 |
-
/* line
|
408 |
|
409 |
.cmb-repeatable-group .cmb2-upload-button {
|
410 |
float: left;
|
411 |
}
|
412 |
|
413 |
-
/* line
|
414 |
|
415 |
p.cmb2-metabox-description {
|
416 |
color: #aaaaaa;
|
@@ -419,14 +502,14 @@ p.cmb2-metabox-description {
|
|
419 |
padding-top: .5em;
|
420 |
}
|
421 |
|
422 |
-
/* line
|
423 |
|
424 |
span.cmb2-metabox-description {
|
425 |
color: #aaaaaa;
|
426 |
font-style: italic;
|
427 |
}
|
428 |
|
429 |
-
/* line
|
430 |
|
431 |
.cmb2-metabox-title {
|
432 |
margin: 0 0 5px 0;
|
@@ -434,26 +517,26 @@ span.cmb2-metabox-description {
|
|
434 |
font-size: 14px;
|
435 |
}
|
436 |
|
437 |
-
/* line
|
438 |
|
439 |
.cmb-inline ul {
|
440 |
padding: 4px 0 0 0;
|
441 |
}
|
442 |
|
443 |
-
/* line
|
444 |
|
445 |
.cmb-inline li {
|
446 |
display: inline-block;
|
447 |
padding-left: 18px;
|
448 |
}
|
449 |
|
450 |
-
/* line
|
451 |
|
452 |
.cmb-type-textarea-code pre {
|
453 |
margin: 0;
|
454 |
}
|
455 |
|
456 |
-
/* line
|
457 |
|
458 |
.cmb2-media-status .img-status {
|
459 |
clear: none;
|
@@ -463,14 +546,14 @@ span.cmb2-metabox-description {
|
|
463 |
width: auto;
|
464 |
}
|
465 |
|
466 |
-
/* line
|
467 |
|
468 |
.cmb2-media-status .img-status img {
|
469 |
max-width: 350px;
|
470 |
height: auto;
|
471 |
}
|
472 |
|
473 |
-
/* line
|
474 |
|
475 |
.cmb2-media-status .img-status img,
|
476 |
.cmb2-media-status .embed-status {
|
@@ -482,21 +565,21 @@ span.cmb2-metabox-description {
|
|
482 |
padding: 5px;
|
483 |
}
|
484 |
|
485 |
-
/* line
|
486 |
|
487 |
.cmb2-media-status .embed-status {
|
488 |
float: right;
|
489 |
max-width: 800px;
|
490 |
}
|
491 |
|
492 |
-
/* line
|
493 |
|
494 |
.cmb2-media-status .img-status,
|
495 |
.cmb2-media-status .embed-status {
|
496 |
position: relative;
|
497 |
}
|
498 |
|
499 |
-
/* line
|
500 |
|
501 |
.cmb2-media-status .img-status .cmb2-remove-file-button,
|
502 |
.cmb2-media-status .embed-status .cmb2-remove-file-button {
|
@@ -509,20 +592,20 @@ span.cmb2-metabox-description {
|
|
509 |
width: 16px;
|
510 |
}
|
511 |
|
512 |
-
/* line
|
513 |
|
514 |
.cmb2-media-status .img-status .cmb2-remove-file-button {
|
515 |
top: 10px;
|
516 |
}
|
517 |
|
518 |
-
/* line
|
519 |
|
520 |
.cmb2-media-status .img-status img,
|
521 |
.cmb2-media-status .file-status > span {
|
522 |
cursor: pointer;
|
523 |
}
|
524 |
|
525 |
-
/* line
|
526 |
|
527 |
.cmb-type-file-list .cmb2-media-status .img-status {
|
528 |
clear: none;
|
@@ -533,7 +616,7 @@ span.cmb2-metabox-description {
|
|
533 |
margin-top: 0;
|
534 |
}
|
535 |
|
536 |
-
/* line
|
537 |
|
538 |
.cmb-attach-list li {
|
539 |
clear: both;
|
@@ -543,7 +626,7 @@ span.cmb2-metabox-description {
|
|
543 |
margin-bottom: 10px;
|
544 |
}
|
545 |
|
546 |
-
/* line
|
547 |
|
548 |
.cmb-attach-list li img {
|
549 |
cursor: move;
|
@@ -551,18 +634,24 @@ span.cmb2-metabox-description {
|
|
551 |
margin-left: 10px;
|
552 |
}
|
553 |
|
554 |
-
/* line
|
555 |
|
556 |
.cmb2-remove-wrapper {
|
557 |
margin: 0;
|
558 |
}
|
559 |
|
560 |
-
/* line
|
561 |
|
562 |
.child-cmb2 .cmb-th {
|
563 |
text-align: right;
|
564 |
}
|
565 |
|
|
|
|
|
|
|
|
|
|
|
|
|
566 |
/*--------------------------------------------------------------
|
567 |
Post Metaboxes
|
568 |
--------------------------------------------------------------*/
|
@@ -653,20 +742,13 @@ Post Metaboxes
|
|
653 |
|
654 |
/* line 63, sass/partials/_post_metaboxes.scss */
|
655 |
|
656 |
-
.cmb2-postbox .cmb-repeat-row .cmb-td,
|
657 |
-
.cmb-type-group .cmb-repeat-row .cmb-td {
|
658 |
-
padding-bottom: 1.8em;
|
659 |
-
}
|
660 |
-
|
661 |
-
/* line 67, sass/partials/_post_metaboxes.scss */
|
662 |
-
|
663 |
.cmb2-postbox .cmb-th + .cmb-td,
|
664 |
.cmb-type-group .cmb-th + .cmb-td {
|
665 |
width: 80%;
|
666 |
float: left;
|
667 |
}
|
668 |
|
669 |
-
/* line
|
670 |
|
671 |
.cmb2-postbox .cmb-row:not(:last-of-type),
|
672 |
.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),
|
@@ -675,7 +757,7 @@ Post Metaboxes
|
|
675 |
border-bottom: 1px solid #e9e9e9;
|
676 |
}
|
677 |
|
678 |
-
/* line
|
679 |
|
680 |
.cmb2-postbox .cmb-repeat-group-field,
|
681 |
.cmb2-postbox .cmb-remove-field-row,
|
@@ -684,63 +766,6 @@ Post Metaboxes
|
|
684 |
padding-top: 1.8em;
|
685 |
}
|
686 |
|
687 |
-
/* line 88, sass/partials/_post_metaboxes.scss */
|
688 |
-
|
689 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,
|
690 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,
|
691 |
-
.cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,
|
692 |
-
.cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody {
|
693 |
-
display: table;
|
694 |
-
width: 100%;
|
695 |
-
}
|
696 |
-
|
697 |
-
/* line 92, sass/partials/_post_metaboxes.scss */
|
698 |
-
|
699 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,
|
700 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,
|
701 |
-
.cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,
|
702 |
-
.cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text {
|
703 |
-
width: 100%;
|
704 |
-
}
|
705 |
-
|
706 |
-
/* line 96, sass/partials/_post_metaboxes.scss */
|
707 |
-
|
708 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),
|
709 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),
|
710 |
-
.cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),
|
711 |
-
.cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row) {
|
712 |
-
display: table-row;
|
713 |
-
}
|
714 |
-
|
715 |
-
/* line 100, sass/partials/_post_metaboxes.scss */
|
716 |
-
|
717 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,
|
718 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,
|
719 |
-
.cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,
|
720 |
-
.cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td {
|
721 |
-
display: table-cell;
|
722 |
-
float: none;
|
723 |
-
width: 100%;
|
724 |
-
}
|
725 |
-
|
726 |
-
/* line 106, sass/partials/_post_metaboxes.scss */
|
727 |
-
|
728 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,
|
729 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,
|
730 |
-
.cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,
|
731 |
-
.cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td {
|
732 |
-
padding-top: 1.8em;
|
733 |
-
}
|
734 |
-
|
735 |
-
/* line 110, sass/partials/_post_metaboxes.scss */
|
736 |
-
|
737 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,
|
738 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,
|
739 |
-
.cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,
|
740 |
-
.cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row {
|
741 |
-
padding-left: 0;
|
742 |
-
}
|
743 |
-
|
744 |
/*--------------------------------------------------------------
|
745 |
Context Metaboxes
|
746 |
--------------------------------------------------------------*/
|
@@ -858,6 +883,91 @@ Context Metaboxes
|
|
858 |
|
859 |
/* one column on the post write/edit screen */
|
860 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
861 |
/*--------------------------------------------------------------
|
862 |
Misc.
|
863 |
--------------------------------------------------------------*/
|
@@ -878,33 +988,19 @@ Misc.
|
|
878 |
|
879 |
/* line 18, sass/partials/_misc.scss */
|
880 |
|
881 |
-
.cmb2-options-page .cmb2-metabox-title {
|
882 |
-
font-size: 1.3em;
|
883 |
-
margin: 1em 0;
|
884 |
-
}
|
885 |
-
|
886 |
-
/* line 21, sass/partials/_misc.scss */
|
887 |
-
|
888 |
-
.cmb2-options-page .cmb2-metabox-title + p.cmb2-metabox-description {
|
889 |
-
margin-top: -1.6em;
|
890 |
-
margin-bottom: .8em;
|
891 |
-
}
|
892 |
-
|
893 |
-
/* line 28, sass/partials/_misc.scss */
|
894 |
-
|
895 |
.cmb2-postbox .cmb-spinner,
|
896 |
.cmb2-no-box-wrap .cmb-spinner {
|
897 |
float: right;
|
898 |
display: none;
|
899 |
}
|
900 |
|
901 |
-
/* line
|
902 |
|
903 |
.cmb-spinner {
|
904 |
display: none;
|
905 |
}
|
906 |
|
907 |
-
/* line
|
908 |
|
909 |
.cmb-spinner.is-active {
|
910 |
display: block;
|
@@ -987,10 +1083,10 @@ Sidebar Placement Adjustments
|
|
987 |
/* line 55, sass/partials/_sidebar_placements.scss */
|
988 |
|
989 |
.inner-sidebar .cmb-th,
|
990 |
-
.inner-sidebar .cmb-td,
|
991 |
.inner-sidebar .cmb-th + .cmb-td,
|
992 |
#side-sortables .cmb-th,
|
993 |
-
#side-sortables .cmb-td,
|
994 |
#side-sortables .cmb-th + .cmb-td {
|
995 |
width: 100%;
|
996 |
display: block;
|
@@ -1006,13 +1102,6 @@ Sidebar Placement Adjustments
|
|
1006 |
|
1007 |
/* line 67, sass/partials/_sidebar_placements.scss */
|
1008 |
|
1009 |
-
.inner-sidebar .cmb-td .cmb-td,
|
1010 |
-
#side-sortables .cmb-td .cmb-td {
|
1011 |
-
padding-bottom: 1em;
|
1012 |
-
}
|
1013 |
-
|
1014 |
-
/* line 71, sass/partials/_sidebar_placements.scss */
|
1015 |
-
|
1016 |
.inner-sidebar .cmb-th,
|
1017 |
#side-sortables .cmb-th {
|
1018 |
display: block;
|
@@ -1029,19 +1118,8 @@ Sidebar Placement Adjustments
|
|
1029 |
.inner-sidebar .cmb-th label,
|
1030 |
#side-sortables .cmb-th label {
|
1031 |
display: block;
|
1032 |
-
margin-top:
|
1033 |
-
|
1034 |
-
}
|
1035 |
-
|
1036 |
-
/* line 32, sass/partials/_mixins.scss */
|
1037 |
-
|
1038 |
-
.inner-sidebar .cmb-th label:after,
|
1039 |
-
#side-sortables .cmb-th label:after {
|
1040 |
-
border-bottom: 1px solid #e9e9e9;
|
1041 |
-
content: '';
|
1042 |
-
clear: both;
|
1043 |
-
display: block;
|
1044 |
-
padding-top: .4em;
|
1045 |
}
|
1046 |
|
1047 |
/* line 14, sass/partials/_mixins.scss */
|
@@ -1052,35 +1130,35 @@ Sidebar Placement Adjustments
|
|
1052 |
line-height: 1.4em;
|
1053 |
}
|
1054 |
|
1055 |
-
/* line
|
1056 |
|
1057 |
.inner-sidebar .cmb-group-description .cmb-th,
|
1058 |
#side-sortables .cmb-group-description .cmb-th {
|
1059 |
padding-top: 0;
|
1060 |
}
|
1061 |
|
1062 |
-
/* line
|
1063 |
|
1064 |
.inner-sidebar .cmb-group-description .cmb2-metabox-description,
|
1065 |
#side-sortables .cmb-group-description .cmb2-metabox-description {
|
1066 |
padding: 0;
|
1067 |
}
|
1068 |
|
1069 |
-
/* line
|
1070 |
|
1071 |
.inner-sidebar .cmb-group-title .cmb-th,
|
1072 |
#side-sortables .cmb-group-title .cmb-th {
|
1073 |
padding: 0;
|
1074 |
}
|
1075 |
|
1076 |
-
/* line
|
1077 |
|
1078 |
.inner-sidebar .cmb-repeatable-grouping + .cmb-repeatable-grouping,
|
1079 |
#side-sortables .cmb-repeatable-grouping + .cmb-repeatable-grouping {
|
1080 |
margin-top: 1em;
|
1081 |
}
|
1082 |
|
1083 |
-
/* line
|
1084 |
|
1085 |
.inner-sidebar .cmb2-media-status .img-status img,
|
1086 |
.inner-sidebar .cmb2-media-status .embed-status img,
|
@@ -1090,7 +1168,7 @@ Sidebar Placement Adjustments
|
|
1090 |
height: auto;
|
1091 |
}
|
1092 |
|
1093 |
-
/* line
|
1094 |
|
1095 |
.inner-sidebar .cmb2-list label,
|
1096 |
#side-sortables .cmb2-list label {
|
@@ -1098,7 +1176,7 @@ Sidebar Placement Adjustments
|
|
1098 |
font-weight: normal;
|
1099 |
}
|
1100 |
|
1101 |
-
/* line
|
1102 |
|
1103 |
.inner-sidebar .cmb2-metabox-description,
|
1104 |
#side-sortables .cmb2-metabox-description {
|
@@ -1106,7 +1184,7 @@ Sidebar Placement Adjustments
|
|
1106 |
padding: 7px 0 0;
|
1107 |
}
|
1108 |
|
1109 |
-
/* line
|
1110 |
|
1111 |
.inner-sidebar .cmb-type-checkbox .cmb-td label,
|
1112 |
.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description,
|
@@ -1116,14 +1194,14 @@ Sidebar Placement Adjustments
|
|
1116 |
display: inline;
|
1117 |
}
|
1118 |
|
1119 |
-
/* line
|
1120 |
|
1121 |
.inner-sidebar .cmb-row .cmb2-metabox-description,
|
1122 |
#side-sortables .cmb-row .cmb2-metabox-description {
|
1123 |
padding-bottom: 1.8em;
|
1124 |
}
|
1125 |
|
1126 |
-
/* line
|
1127 |
|
1128 |
.inner-sidebar .cmb2-metabox-title,
|
1129 |
#side-sortables .cmb2-metabox-title {
|
@@ -1131,7 +1209,7 @@ Sidebar Placement Adjustments
|
|
1131 |
font-style: italic;
|
1132 |
}
|
1133 |
|
1134 |
-
/* line
|
1135 |
|
1136 |
.inner-sidebar .cmb-remove-row,
|
1137 |
#side-sortables .cmb-remove-row {
|
@@ -1140,25 +1218,7 @@ Sidebar Placement Adjustments
|
|
1140 |
padding-bottom: 0;
|
1141 |
}
|
1142 |
|
1143 |
-
/* line
|
1144 |
-
|
1145 |
-
.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td,
|
1146 |
-
#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td {
|
1147 |
-
width: auto;
|
1148 |
-
clear: none;
|
1149 |
-
float: right;
|
1150 |
-
padding-top: 0;
|
1151 |
-
}
|
1152 |
-
|
1153 |
-
/* line 151, sass/partials/_sidebar_placements.scss */
|
1154 |
-
|
1155 |
-
.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,
|
1156 |
-
#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row {
|
1157 |
-
float: left;
|
1158 |
-
margin: 0;
|
1159 |
-
}
|
1160 |
-
|
1161 |
-
/* line 158, sass/partials/_sidebar_placements.scss */
|
1162 |
|
1163 |
.inner-sidebar .cmb2-upload-button,
|
1164 |
#side-sortables .cmb2-upload-button {
|
@@ -1168,12 +1228,6 @@ Sidebar Placement Adjustments
|
|
1168 |
|
1169 |
/* line 2, sass/partials/_collapsible_ui.scss */
|
1170 |
|
1171 |
-
.cmb2-metabox .cmb-type-group {
|
1172 |
-
max-width: 1000px;
|
1173 |
-
}
|
1174 |
-
|
1175 |
-
/* line 5, sass/partials/_collapsible_ui.scss */
|
1176 |
-
|
1177 |
.cmb2-metabox .cmbhandle {
|
1178 |
color: #aaa;
|
1179 |
float: left;
|
@@ -1184,7 +1238,7 @@ Sidebar Placement Adjustments
|
|
1184 |
position: relative;
|
1185 |
}
|
1186 |
|
1187 |
-
/* line
|
1188 |
|
1189 |
.cmb2-metabox .cmbhandle:before {
|
1190 |
content: '\f142';
|
@@ -1200,13 +1254,13 @@ Sidebar Placement Adjustments
|
|
1200 |
text-decoration: none !important;
|
1201 |
}
|
1202 |
|
1203 |
-
/* line
|
1204 |
|
1205 |
.cmb2-metabox .postbox.closed .cmbhandle:before {
|
1206 |
content: '\f140';
|
1207 |
}
|
1208 |
|
1209 |
-
/* line
|
1210 |
|
1211 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row {
|
1212 |
-webkit-appearance: none !important;
|
@@ -1220,7 +1274,7 @@ Sidebar Placement Adjustments
|
|
1220 |
opacity: .5;
|
1221 |
}
|
1222 |
|
1223 |
-
/* line
|
1224 |
|
1225 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]) {
|
1226 |
cursor: pointer;
|
@@ -1228,7 +1282,7 @@ Sidebar Placement Adjustments
|
|
1228 |
opacity: 1;
|
1229 |
}
|
1230 |
|
1231 |
-
/* line
|
1232 |
|
1233 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover {
|
1234 |
color: #f00;
|
@@ -1928,7 +1982,7 @@ Sidebar Placement Adjustments
|
|
1928 |
|
1929 |
@media (max-width: 450px) {
|
1930 |
|
1931 |
-
/* line
|
1932 |
|
1933 |
.cmb-th {
|
1934 |
font-size: 1.2em;
|
@@ -1943,21 +1997,11 @@ Sidebar Placement Adjustments
|
|
1943 |
|
1944 |
.cmb-th label {
|
1945 |
display: block;
|
1946 |
-
margin-top:
|
1947 |
-
|
1948 |
-
}
|
1949 |
-
|
1950 |
-
/* line 32, sass/partials/_mixins.scss */
|
1951 |
-
|
1952 |
-
.cmb-th label:after {
|
1953 |
-
border-bottom: 1px solid #e9e9e9;
|
1954 |
-
content: '';
|
1955 |
-
clear: both;
|
1956 |
-
display: block;
|
1957 |
-
padding-top: .4em;
|
1958 |
}
|
1959 |
|
1960 |
-
/* line
|
1961 |
|
1962 |
.cmb-th,
|
1963 |
.cmb-td,
|
@@ -1967,7 +2011,7 @@ Sidebar Placement Adjustments
|
|
1967 |
width: 100%;
|
1968 |
}
|
1969 |
|
1970 |
-
/* line
|
1971 |
|
1972 |
.cmb2-postbox .cmb-row:not(:last-of-type),
|
1973 |
.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),
|
@@ -1976,5 +2020,12 @@ Sidebar Placement Adjustments
|
|
1976 |
border-bottom: 0;
|
1977 |
}
|
1978 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1979 |
}
|
1980 |
|
74 |
/* line 59, sass/partials/_main_wrap.scss */
|
75 |
|
76 |
.cmb2-wrap input:not([type="hidden"]) + input,
|
77 |
+
.cmb2-wrap input:not([type="hidden"]) + .button-secondary,
|
78 |
.cmb2-wrap input:not([type="hidden"]) + select {
|
79 |
margin-right: 20px;
|
80 |
}
|
124 |
/* line 102, sass/partials/_main_wrap.scss */
|
125 |
|
126 |
.cmb2-wrap button,
|
127 |
+
.cmb2-wrap .button-secondary {
|
128 |
white-space: nowrap;
|
129 |
}
|
130 |
|
152 |
width: 100%;
|
153 |
}
|
154 |
|
155 |
+
/* line 124, sass/partials/_main_wrap.scss */
|
156 |
|
157 |
.cmb2-wrap .wp-color-result,
|
158 |
.cmb2-wrap .wp-picker-input-wrap {
|
159 |
vertical-align: middle;
|
160 |
}
|
161 |
|
162 |
+
/* line 129, sass/partials/_main_wrap.scss */
|
163 |
|
164 |
.cmb2-wrap .wp-color-result,
|
165 |
.cmb2-wrap .wp-picker-container {
|
166 |
margin: 0 0 0 10px;
|
167 |
}
|
168 |
|
169 |
+
/* line 134, sass/partials/_main_wrap.scss */
|
170 |
|
171 |
.cmb2-wrap .cmb-row {
|
172 |
margin: 0;
|
173 |
}
|
174 |
|
175 |
+
/* line 137, sass/partials/_main_wrap.scss */
|
176 |
|
177 |
.cmb2-wrap .cmb-row:after {
|
178 |
content: '';
|
181 |
width: 100%;
|
182 |
}
|
183 |
|
184 |
+
/* line 144, sass/partials/_main_wrap.scss */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
|
186 |
.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description {
|
187 |
padding-top: 0;
|
188 |
+
padding-bottom: 1em;
|
189 |
}
|
190 |
|
191 |
+
/* line 152, sass/partials/_main_wrap.scss */
|
192 |
|
193 |
.cmb2-metabox {
|
194 |
clear: both;
|
195 |
margin: 0;
|
196 |
}
|
197 |
|
198 |
+
/* line 158, sass/partials/_main_wrap.scss */
|
199 |
|
200 |
.cmb2-metabox > .cmb-row:first-of-type > .cmb-td,
|
201 |
.cmb2-metabox > .cmb-row:first-of-type > .cmb-th,
|
204 |
border: 0;
|
205 |
}
|
206 |
|
207 |
+
/* line 165, sass/partials/_main_wrap.scss */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
|
209 |
.cmb-add-row {
|
210 |
margin: 1.8em 0 0;
|
211 |
}
|
212 |
|
213 |
+
/* line 169, sass/partials/_main_wrap.scss */
|
214 |
|
215 |
.cmb-nested .cmb-td,
|
216 |
.cmb-repeatable-group .cmb-th,
|
218 |
border: 0;
|
219 |
}
|
220 |
|
221 |
+
/* line 175, sass/partials/_main_wrap.scss */
|
222 |
|
223 |
.cmb-row:last-of-type,
|
224 |
.cmb2-wrap .cmb-row:last-of-type,
|
226 |
border-bottom: 0;
|
227 |
}
|
228 |
|
229 |
+
/* line 181, sass/partials/_main_wrap.scss */
|
230 |
|
231 |
.cmb-repeatable-grouping {
|
232 |
border: 1px solid #e9e9e9;
|
233 |
padding: 0 1em;
|
|
|
234 |
}
|
235 |
|
236 |
+
/* line 185, sass/partials/_main_wrap.scss */
|
237 |
|
238 |
.cmb-repeatable-grouping.cmb-row {
|
239 |
margin: 0 0 0.8em;
|
240 |
}
|
241 |
|
242 |
+
/* line 193, sass/partials/_main_wrap.scss */
|
243 |
|
244 |
.cmb-th {
|
245 |
color: #222222;
|
251 |
width: 200px;
|
252 |
}
|
253 |
|
254 |
+
/* line 207, sass/partials/_main_wrap.scss */
|
255 |
|
256 |
.cmb-td {
|
257 |
line-height: 1.3;
|
260 |
vertical-align: middle;
|
261 |
}
|
262 |
|
263 |
+
/* line 216, sass/partials/_main_wrap.scss */
|
264 |
|
265 |
.cmb-type-title .cmb-td {
|
266 |
padding: 0;
|
267 |
}
|
268 |
|
269 |
+
/* line 221, sass/partials/_main_wrap.scss */
|
270 |
|
271 |
.cmb-th label {
|
272 |
display: block;
|
273 |
padding: 5px 0;
|
274 |
}
|
275 |
|
276 |
+
/* line 226, sass/partials/_main_wrap.scss */
|
277 |
|
278 |
.cmb-th + .cmb-td {
|
279 |
float: right;
|
280 |
}
|
281 |
|
282 |
+
/* line 230, sass/partials/_main_wrap.scss */
|
283 |
|
284 |
.cmb-td .cmb-td {
|
285 |
padding-bottom: 1em;
|
286 |
}
|
287 |
|
288 |
+
/* line 234, sass/partials/_main_wrap.scss */
|
289 |
|
290 |
.cmb-remove-row {
|
291 |
text-align: left;
|
292 |
}
|
293 |
|
294 |
+
/* line 238, sass/partials/_main_wrap.scss */
|
295 |
|
296 |
.empty-row.hidden {
|
297 |
display: none;
|
298 |
}
|
299 |
|
300 |
+
/* line 243, sass/partials/_main_wrap.scss */
|
301 |
+
|
302 |
+
.cmb-repeat-table {
|
303 |
+
background-color: #fafafa;
|
304 |
+
border: 1px solid #e1e1e1;
|
305 |
+
}
|
306 |
+
|
307 |
+
/* line 247, sass/partials/_main_wrap.scss */
|
308 |
+
|
309 |
+
.cmb-repeat-table .cmb-row.cmb-repeat-row {
|
310 |
+
position: relative;
|
311 |
+
counter-increment: el;
|
312 |
+
margin: 0;
|
313 |
+
padding: 10px 50px 10px 10px;
|
314 |
+
border-bottom: none !important;
|
315 |
+
}
|
316 |
+
|
317 |
+
/* line 255, sass/partials/_main_wrap.scss */
|
318 |
+
|
319 |
+
.cmb-repeat-table .cmb-row.cmb-repeat-row + .cmb-repeat-row {
|
320 |
+
border-top: solid 1px #e9e9e9;
|
321 |
+
}
|
322 |
+
|
323 |
+
/* line 259, sass/partials/_main_wrap.scss */
|
324 |
+
|
325 |
+
.cmb-repeat-table .cmb-row.cmb-repeat-row:before {
|
326 |
+
content: counter(el);
|
327 |
+
display: block;
|
328 |
+
top: 0;
|
329 |
+
right: 0;
|
330 |
+
position: absolute;
|
331 |
+
width: 35px;
|
332 |
+
height: 100%;
|
333 |
+
line-height: 35px;
|
334 |
+
color: #aaaaaa;
|
335 |
+
text-align: center;
|
336 |
+
border-left: solid 1px #e9e9e9;
|
337 |
+
}
|
338 |
+
|
339 |
+
/* line 276, sass/partials/_main_wrap.scss */
|
340 |
+
|
341 |
+
.cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td {
|
342 |
+
margin: 0;
|
343 |
+
padding: 0;
|
344 |
+
}
|
345 |
+
|
346 |
+
/* line 283, sass/partials/_main_wrap.scss */
|
347 |
+
|
348 |
+
.cmb-repeat-table + .cmb-add-row {
|
349 |
+
margin: 0;
|
350 |
+
}
|
351 |
+
|
352 |
+
/* line 286, sass/partials/_main_wrap.scss */
|
353 |
+
|
354 |
+
.cmb-repeat-table + .cmb-add-row:before {
|
355 |
+
content: '';
|
356 |
+
width: 1px;
|
357 |
+
height: 1.6em;
|
358 |
+
display: block;
|
359 |
+
margin-right: 17px;
|
360 |
+
background-color: gainsboro;
|
361 |
+
}
|
362 |
+
|
363 |
+
/* line 296, sass/partials/_main_wrap.scss */
|
364 |
+
|
365 |
+
.cmb-repeat-table .cmb-remove-row {
|
366 |
+
top: 7px;
|
367 |
+
left: 7px;
|
368 |
+
position: absolute;
|
369 |
+
width: auto;
|
370 |
+
margin-right: 0;
|
371 |
+
padding: 0 !important;
|
372 |
+
display: none;
|
373 |
+
}
|
374 |
+
|
375 |
+
/* line 307, sass/partials/_main_wrap.scss */
|
376 |
+
|
377 |
+
.cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button {
|
378 |
+
font-size: 20px;
|
379 |
+
text-indent: -1000px;
|
380 |
+
overflow: hidden;
|
381 |
+
position: relative;
|
382 |
+
height: auto;
|
383 |
+
line-height: 1;
|
384 |
+
padding: 0 10px 0;
|
385 |
+
}
|
386 |
+
|
387 |
+
/* line 318, sass/partials/_main_wrap.scss */
|
388 |
+
|
389 |
+
.cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button:before {
|
390 |
+
content: "";
|
391 |
+
font-family: 'Dashicons';
|
392 |
+
speak: none;
|
393 |
+
font-weight: normal;
|
394 |
+
font-variant: normal;
|
395 |
+
text-transform: none;
|
396 |
+
line-height: 1;
|
397 |
+
-webkit-font-smoothing: antialiased;
|
398 |
+
margin: 0;
|
399 |
+
text-indent: 0;
|
400 |
+
position: absolute;
|
401 |
+
top: 0;
|
402 |
+
right: 0;
|
403 |
+
width: 100%;
|
404 |
+
height: 100%;
|
405 |
+
text-align: center;
|
406 |
+
}
|
407 |
+
|
408 |
+
/* line 324, sass/partials/_main_wrap.scss */
|
409 |
+
|
410 |
+
.cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row {
|
411 |
+
display: block;
|
412 |
+
}
|
413 |
+
|
414 |
+
/* line 332, sass/partials/_main_wrap.scss */
|
415 |
|
416 |
.cmb-repeatable-group .cmb-th {
|
417 |
padding: 5px;
|
418 |
}
|
419 |
|
420 |
+
/* line 336, sass/partials/_main_wrap.scss */
|
421 |
|
422 |
.cmb-repeatable-group .cmb-group-title {
|
423 |
background-color: #e9e9e9;
|
428 |
line-height: 1.4;
|
429 |
}
|
430 |
|
431 |
+
/* line 344, sass/partials/_main_wrap.scss */
|
432 |
|
433 |
.cmb-repeatable-group .cmb-group-title h4 {
|
434 |
border: 0;
|
438 |
padding: 0.5em 0.75em;
|
439 |
}
|
440 |
|
441 |
+
/* line 352, sass/partials/_main_wrap.scss */
|
442 |
|
443 |
.cmb-repeatable-group .cmb-group-title .cmb-th {
|
444 |
display: block;
|
445 |
width: 100%;
|
446 |
}
|
447 |
|
448 |
+
/* line 358, sass/partials/_main_wrap.scss */
|
449 |
|
450 |
.cmb-repeatable-group .cmb-group-description .cmb-th {
|
451 |
font-size: 1.2em;
|
460 |
|
461 |
.cmb-repeatable-group .cmb-group-description .cmb-th label {
|
462 |
display: block;
|
463 |
+
margin-top: 0;
|
464 |
+
margin-bottom: 0.5em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
465 |
}
|
466 |
|
467 |
+
/* line 362, sass/partials/_main_wrap.scss */
|
468 |
|
469 |
.cmb-repeatable-group .cmb-shift-rows {
|
470 |
font-size: 1em;
|
472 |
text-decoration: none;
|
473 |
}
|
474 |
|
475 |
+
/* line 367, sass/partials/_main_wrap.scss */
|
476 |
|
477 |
.cmb-repeatable-group .cmb-shift-rows .dashicons {
|
478 |
font-size: 1.5em;
|
481 |
width: 1em;
|
482 |
}
|
483 |
|
484 |
+
/* line 373, sass/partials/_main_wrap.scss */
|
485 |
|
486 |
.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
|
487 |
line-height: 1.3em;
|
488 |
}
|
489 |
|
490 |
+
/* line 380, sass/partials/_main_wrap.scss */
|
491 |
|
492 |
.cmb-repeatable-group .cmb2-upload-button {
|
493 |
float: left;
|
494 |
}
|
495 |
|
496 |
+
/* line 386, sass/partials/_main_wrap.scss */
|
497 |
|
498 |
p.cmb2-metabox-description {
|
499 |
color: #aaaaaa;
|
502 |
padding-top: .5em;
|
503 |
}
|
504 |
|
505 |
+
/* line 393, sass/partials/_main_wrap.scss */
|
506 |
|
507 |
span.cmb2-metabox-description {
|
508 |
color: #aaaaaa;
|
509 |
font-style: italic;
|
510 |
}
|
511 |
|
512 |
+
/* line 398, sass/partials/_main_wrap.scss */
|
513 |
|
514 |
.cmb2-metabox-title {
|
515 |
margin: 0 0 5px 0;
|
517 |
font-size: 14px;
|
518 |
}
|
519 |
|
520 |
+
/* line 404, sass/partials/_main_wrap.scss */
|
521 |
|
522 |
.cmb-inline ul {
|
523 |
padding: 4px 0 0 0;
|
524 |
}
|
525 |
|
526 |
+
/* line 408, sass/partials/_main_wrap.scss */
|
527 |
|
528 |
.cmb-inline li {
|
529 |
display: inline-block;
|
530 |
padding-left: 18px;
|
531 |
}
|
532 |
|
533 |
+
/* line 413, sass/partials/_main_wrap.scss */
|
534 |
|
535 |
.cmb-type-textarea-code pre {
|
536 |
margin: 0;
|
537 |
}
|
538 |
|
539 |
+
/* line 419, sass/partials/_main_wrap.scss */
|
540 |
|
541 |
.cmb2-media-status .img-status {
|
542 |
clear: none;
|
546 |
width: auto;
|
547 |
}
|
548 |
|
549 |
+
/* line 426, sass/partials/_main_wrap.scss */
|
550 |
|
551 |
.cmb2-media-status .img-status img {
|
552 |
max-width: 350px;
|
553 |
height: auto;
|
554 |
}
|
555 |
|
556 |
+
/* line 432, sass/partials/_main_wrap.scss */
|
557 |
|
558 |
.cmb2-media-status .img-status img,
|
559 |
.cmb2-media-status .embed-status {
|
565 |
padding: 5px;
|
566 |
}
|
567 |
|
568 |
+
/* line 442, sass/partials/_main_wrap.scss */
|
569 |
|
570 |
.cmb2-media-status .embed-status {
|
571 |
float: right;
|
572 |
max-width: 800px;
|
573 |
}
|
574 |
|
575 |
+
/* line 447, sass/partials/_main_wrap.scss */
|
576 |
|
577 |
.cmb2-media-status .img-status,
|
578 |
.cmb2-media-status .embed-status {
|
579 |
position: relative;
|
580 |
}
|
581 |
|
582 |
+
/* line 450, sass/partials/_main_wrap.scss */
|
583 |
|
584 |
.cmb2-media-status .img-status .cmb2-remove-file-button,
|
585 |
.cmb2-media-status .embed-status .cmb2-remove-file-button {
|
592 |
width: 16px;
|
593 |
}
|
594 |
|
595 |
+
/* line 464, sass/partials/_main_wrap.scss */
|
596 |
|
597 |
.cmb2-media-status .img-status .cmb2-remove-file-button {
|
598 |
top: 10px;
|
599 |
}
|
600 |
|
601 |
+
/* line 469, sass/partials/_main_wrap.scss */
|
602 |
|
603 |
.cmb2-media-status .img-status img,
|
604 |
.cmb2-media-status .file-status > span {
|
605 |
cursor: pointer;
|
606 |
}
|
607 |
|
608 |
+
/* line 475, sass/partials/_main_wrap.scss */
|
609 |
|
610 |
.cmb-type-file-list .cmb2-media-status .img-status {
|
611 |
clear: none;
|
616 |
margin-top: 0;
|
617 |
}
|
618 |
|
619 |
+
/* line 484, sass/partials/_main_wrap.scss */
|
620 |
|
621 |
.cmb-attach-list li {
|
622 |
clear: both;
|
626 |
margin-bottom: 10px;
|
627 |
}
|
628 |
|
629 |
+
/* line 491, sass/partials/_main_wrap.scss */
|
630 |
|
631 |
.cmb-attach-list li img {
|
632 |
cursor: move;
|
634 |
margin-left: 10px;
|
635 |
}
|
636 |
|
637 |
+
/* line 498, sass/partials/_main_wrap.scss */
|
638 |
|
639 |
.cmb2-remove-wrapper {
|
640 |
margin: 0;
|
641 |
}
|
642 |
|
643 |
+
/* line 502, sass/partials/_main_wrap.scss */
|
644 |
|
645 |
.child-cmb2 .cmb-th {
|
646 |
text-align: right;
|
647 |
}
|
648 |
|
649 |
+
/* line 506, sass/partials/_main_wrap.scss */
|
650 |
+
|
651 |
+
.cmb2-indented-hierarchy {
|
652 |
+
padding-right: 1.5em;
|
653 |
+
}
|
654 |
+
|
655 |
/*--------------------------------------------------------------
|
656 |
Post Metaboxes
|
657 |
--------------------------------------------------------------*/
|
742 |
|
743 |
/* line 63, sass/partials/_post_metaboxes.scss */
|
744 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
745 |
.cmb2-postbox .cmb-th + .cmb-td,
|
746 |
.cmb-type-group .cmb-th + .cmb-td {
|
747 |
width: 80%;
|
748 |
float: left;
|
749 |
}
|
750 |
|
751 |
+
/* line 68, sass/partials/_post_metaboxes.scss */
|
752 |
|
753 |
.cmb2-postbox .cmb-row:not(:last-of-type),
|
754 |
.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),
|
757 |
border-bottom: 1px solid #e9e9e9;
|
758 |
}
|
759 |
|
760 |
+
/* line 77, sass/partials/_post_metaboxes.scss */
|
761 |
|
762 |
.cmb2-postbox .cmb-repeat-group-field,
|
763 |
.cmb2-postbox .cmb-remove-field-row,
|
766 |
padding-top: 1.8em;
|
767 |
}
|
768 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
769 |
/*--------------------------------------------------------------
|
770 |
Context Metaboxes
|
771 |
--------------------------------------------------------------*/
|
883 |
|
884 |
/* one column on the post write/edit screen */
|
885 |
|
886 |
+
/*--------------------------------------------------------------
|
887 |
+
Options page
|
888 |
+
--------------------------------------------------------------*/
|
889 |
+
|
890 |
+
/* line 4, sass/partials/_options-page.scss */
|
891 |
+
|
892 |
+
.cmb2-options-page {
|
893 |
+
max-width: 1200px;
|
894 |
+
}
|
895 |
+
|
896 |
+
/* line 7, sass/partials/_options-page.scss */
|
897 |
+
|
898 |
+
.cmb2-options-page.wrap > h2 {
|
899 |
+
margin-bottom: 1em;
|
900 |
+
}
|
901 |
+
|
902 |
+
/* line 11, sass/partials/_options-page.scss */
|
903 |
+
|
904 |
+
.cmb2-options-page .cmb2-metabox > .cmb-row {
|
905 |
+
padding: 1em;
|
906 |
+
margin-top: -1px;
|
907 |
+
background: #ffffff;
|
908 |
+
border: 1px solid #e9e9e9;
|
909 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
|
910 |
+
}
|
911 |
+
|
912 |
+
/* line 18, sass/partials/_options-page.scss */
|
913 |
+
|
914 |
+
.cmb2-options-page .cmb2-metabox > .cmb-row > .cmb-th {
|
915 |
+
padding: 0;
|
916 |
+
font-weight: initial;
|
917 |
+
}
|
918 |
+
|
919 |
+
/* line 23, sass/partials/_options-page.scss */
|
920 |
+
|
921 |
+
.cmb2-options-page .cmb2-metabox > .cmb-row > .cmb-th + .cmb-td {
|
922 |
+
float: none;
|
923 |
+
padding: 0 1em 0 0;
|
924 |
+
margin-right: 200px;
|
925 |
+
}
|
926 |
+
|
927 |
+
/* line 36, sass/partials/_options-page.scss */
|
928 |
+
|
929 |
+
.cmb2-options-page .cmb2-wrap .cmb-type-title {
|
930 |
+
margin-top: 1em;
|
931 |
+
padding: 0.6em 1em;
|
932 |
+
background-color: #fafafa;
|
933 |
+
}
|
934 |
+
|
935 |
+
/* line 41, sass/partials/_options-page.scss */
|
936 |
+
|
937 |
+
.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-title {
|
938 |
+
font-size: 12px;
|
939 |
+
margin-top: 0;
|
940 |
+
margin-bottom: 0;
|
941 |
+
text-transform: uppercase;
|
942 |
+
}
|
943 |
+
|
944 |
+
/* line 48, sass/partials/_options-page.scss */
|
945 |
+
|
946 |
+
.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-description {
|
947 |
+
padding-top: 0.25em;
|
948 |
+
}
|
949 |
+
|
950 |
+
/* line 54, sass/partials/_options-page.scss */
|
951 |
+
|
952 |
+
.cmb2-options-page .cmb-repeatable-group .cmb-group-description .cmb-th {
|
953 |
+
padding: 0 0 0.8em 0;
|
954 |
+
}
|
955 |
+
|
956 |
+
/* line 58, sass/partials/_options-page.scss */
|
957 |
+
|
958 |
+
.cmb2-options-page .cmb-repeatable-group .cmb-group-name {
|
959 |
+
font-size: 16px;
|
960 |
+
margin-top: 0;
|
961 |
+
margin-bottom: 0;
|
962 |
+
}
|
963 |
+
|
964 |
+
/* line 64, sass/partials/_options-page.scss */
|
965 |
+
|
966 |
+
.cmb2-options-page .cmb-repeatable-group .cmb-th > .cmb2-metabox-description {
|
967 |
+
font-weight: 400;
|
968 |
+
padding-bottom: 0 !important;
|
969 |
+
}
|
970 |
+
|
971 |
/*--------------------------------------------------------------
|
972 |
Misc.
|
973 |
--------------------------------------------------------------*/
|
988 |
|
989 |
/* line 18, sass/partials/_misc.scss */
|
990 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
991 |
.cmb2-postbox .cmb-spinner,
|
992 |
.cmb2-no-box-wrap .cmb-spinner {
|
993 |
float: right;
|
994 |
display: none;
|
995 |
}
|
996 |
|
997 |
+
/* line 24, sass/partials/_misc.scss */
|
998 |
|
999 |
.cmb-spinner {
|
1000 |
display: none;
|
1001 |
}
|
1002 |
|
1003 |
+
/* line 26, sass/partials/_misc.scss */
|
1004 |
|
1005 |
.cmb-spinner.is-active {
|
1006 |
display: block;
|
1083 |
/* line 55, sass/partials/_sidebar_placements.scss */
|
1084 |
|
1085 |
.inner-sidebar .cmb-th,
|
1086 |
+
.inner-sidebar .cmb-td:not(.cmb-remove-row),
|
1087 |
.inner-sidebar .cmb-th + .cmb-td,
|
1088 |
#side-sortables .cmb-th,
|
1089 |
+
#side-sortables .cmb-td:not(.cmb-remove-row),
|
1090 |
#side-sortables .cmb-th + .cmb-td {
|
1091 |
width: 100%;
|
1092 |
display: block;
|
1102 |
|
1103 |
/* line 67, sass/partials/_sidebar_placements.scss */
|
1104 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1105 |
.inner-sidebar .cmb-th,
|
1106 |
#side-sortables .cmb-th {
|
1107 |
display: block;
|
1118 |
.inner-sidebar .cmb-th label,
|
1119 |
#side-sortables .cmb-th label {
|
1120 |
display: block;
|
1121 |
+
margin-top: 0;
|
1122 |
+
margin-bottom: 0.5em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1123 |
}
|
1124 |
|
1125 |
/* line 14, sass/partials/_mixins.scss */
|
1130 |
line-height: 1.4em;
|
1131 |
}
|
1132 |
|
1133 |
+
/* line 74, sass/partials/_sidebar_placements.scss */
|
1134 |
|
1135 |
.inner-sidebar .cmb-group-description .cmb-th,
|
1136 |
#side-sortables .cmb-group-description .cmb-th {
|
1137 |
padding-top: 0;
|
1138 |
}
|
1139 |
|
1140 |
+
/* line 77, sass/partials/_sidebar_placements.scss */
|
1141 |
|
1142 |
.inner-sidebar .cmb-group-description .cmb2-metabox-description,
|
1143 |
#side-sortables .cmb-group-description .cmb2-metabox-description {
|
1144 |
padding: 0;
|
1145 |
}
|
1146 |
|
1147 |
+
/* line 84, sass/partials/_sidebar_placements.scss */
|
1148 |
|
1149 |
.inner-sidebar .cmb-group-title .cmb-th,
|
1150 |
#side-sortables .cmb-group-title .cmb-th {
|
1151 |
padding: 0;
|
1152 |
}
|
1153 |
|
1154 |
+
/* line 90, sass/partials/_sidebar_placements.scss */
|
1155 |
|
1156 |
.inner-sidebar .cmb-repeatable-grouping + .cmb-repeatable-grouping,
|
1157 |
#side-sortables .cmb-repeatable-grouping + .cmb-repeatable-grouping {
|
1158 |
margin-top: 1em;
|
1159 |
}
|
1160 |
|
1161 |
+
/* line 99, sass/partials/_sidebar_placements.scss */
|
1162 |
|
1163 |
.inner-sidebar .cmb2-media-status .img-status img,
|
1164 |
.inner-sidebar .cmb2-media-status .embed-status img,
|
1168 |
height: auto;
|
1169 |
}
|
1170 |
|
1171 |
+
/* line 107, sass/partials/_sidebar_placements.scss */
|
1172 |
|
1173 |
.inner-sidebar .cmb2-list label,
|
1174 |
#side-sortables .cmb2-list label {
|
1176 |
font-weight: normal;
|
1177 |
}
|
1178 |
|
1179 |
+
/* line 112, sass/partials/_sidebar_placements.scss */
|
1180 |
|
1181 |
.inner-sidebar .cmb2-metabox-description,
|
1182 |
#side-sortables .cmb2-metabox-description {
|
1184 |
padding: 7px 0 0;
|
1185 |
}
|
1186 |
|
1187 |
+
/* line 119, sass/partials/_sidebar_placements.scss */
|
1188 |
|
1189 |
.inner-sidebar .cmb-type-checkbox .cmb-td label,
|
1190 |
.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description,
|
1194 |
display: inline;
|
1195 |
}
|
1196 |
|
1197 |
+
/* line 126, sass/partials/_sidebar_placements.scss */
|
1198 |
|
1199 |
.inner-sidebar .cmb-row .cmb2-metabox-description,
|
1200 |
#side-sortables .cmb-row .cmb2-metabox-description {
|
1201 |
padding-bottom: 1.8em;
|
1202 |
}
|
1203 |
|
1204 |
+
/* line 130, sass/partials/_sidebar_placements.scss */
|
1205 |
|
1206 |
.inner-sidebar .cmb2-metabox-title,
|
1207 |
#side-sortables .cmb2-metabox-title {
|
1209 |
font-style: italic;
|
1210 |
}
|
1211 |
|
1212 |
+
/* line 135, sass/partials/_sidebar_placements.scss */
|
1213 |
|
1214 |
.inner-sidebar .cmb-remove-row,
|
1215 |
#side-sortables .cmb-remove-row {
|
1218 |
padding-bottom: 0;
|
1219 |
}
|
1220 |
|
1221 |
+
/* line 141, sass/partials/_sidebar_placements.scss */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1222 |
|
1223 |
.inner-sidebar .cmb2-upload-button,
|
1224 |
#side-sortables .cmb2-upload-button {
|
1228 |
|
1229 |
/* line 2, sass/partials/_collapsible_ui.scss */
|
1230 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1231 |
.cmb2-metabox .cmbhandle {
|
1232 |
color: #aaa;
|
1233 |
float: left;
|
1238 |
position: relative;
|
1239 |
}
|
1240 |
|
1241 |
+
/* line 10, sass/partials/_collapsible_ui.scss */
|
1242 |
|
1243 |
.cmb2-metabox .cmbhandle:before {
|
1244 |
content: '\f142';
|
1254 |
text-decoration: none !important;
|
1255 |
}
|
1256 |
|
1257 |
+
/* line 27, sass/partials/_collapsible_ui.scss */
|
1258 |
|
1259 |
.cmb2-metabox .postbox.closed .cmbhandle:before {
|
1260 |
content: '\f140';
|
1261 |
}
|
1262 |
|
1263 |
+
/* line 33, sass/partials/_collapsible_ui.scss */
|
1264 |
|
1265 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row {
|
1266 |
-webkit-appearance: none !important;
|
1274 |
opacity: .5;
|
1275 |
}
|
1276 |
|
1277 |
+
/* line 43, sass/partials/_collapsible_ui.scss */
|
1278 |
|
1279 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]) {
|
1280 |
cursor: pointer;
|
1282 |
opacity: 1;
|
1283 |
}
|
1284 |
|
1285 |
+
/* line 47, sass/partials/_collapsible_ui.scss */
|
1286 |
|
1287 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover {
|
1288 |
color: #f00;
|
1982 |
|
1983 |
@media (max-width: 450px) {
|
1984 |
|
1985 |
+
/* line 193, sass/partials/_main_wrap.scss */
|
1986 |
|
1987 |
.cmb-th {
|
1988 |
font-size: 1.2em;
|
1997 |
|
1998 |
.cmb-th label {
|
1999 |
display: block;
|
2000 |
+
margin-top: 0;
|
2001 |
+
margin-bottom: 0.5em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2002 |
}
|
2003 |
|
2004 |
+
/* line 511, sass/partials/_main_wrap.scss */
|
2005 |
|
2006 |
.cmb-th,
|
2007 |
.cmb-td,
|
2011 |
width: 100%;
|
2012 |
}
|
2013 |
|
2014 |
+
/* line 68, sass/partials/_post_metaboxes.scss */
|
2015 |
|
2016 |
.cmb2-postbox .cmb-row:not(:last-of-type),
|
2017 |
.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),
|
2020 |
border-bottom: 0;
|
2021 |
}
|
2022 |
|
2023 |
+
/* line 23, sass/partials/_options-page.scss */
|
2024 |
+
|
2025 |
+
.cmb2-options-page .cmb2-metabox > .cmb-row > .cmb-th + .cmb-td {
|
2026 |
+
padding: 0;
|
2027 |
+
margin-right: 0;
|
2028 |
+
}
|
2029 |
+
|
2030 |
}
|
2031 |
|
vendor/CMB2/css/cmb2-rtl.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-right:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 0 0 5px;padding:0}.cmb2-wrap .button,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 0 0 10px}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat-row{padding:1.8em 0 0}.cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type{padding:0}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1.8em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb2-metabox>.cmb-row .cmb-repeat-table .cmb-row>.cmb-td{padding-left:20px;box-sizing:border-box;float:right}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em;max-width:1000px}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:right;font-weight:600;line-height:1.3;padding:20px 0 20px 10px;vertical-align:top;width:200px}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:right}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:left}.empty-row.hidden{display:none}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 2.2em 8px 12px;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:right;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-repeatable-group .cmb-group-description .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-left:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:left}p.cmb2-metabox-description{color:#aaa;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#aaa;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-left:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;vertical-align:middle;margin-left:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px;height:auto}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#fff;border:1px solid #e9e9e9;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0;padding:5px}.cmb2-media-status .embed-status{float:right;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;right:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;vertical-align:middle;width:auto;margin-left:10px;margin-bottom:10px;margin-top:0}.cmb-attach-list li{clear:both;display:inline-block;width:100%;margin-top:5px;margin-bottom:10px}.cmb-attach-list li img{cursor:move;float:right;margin-left:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:right}#poststuff .cmb-group-title{margin-right:-1em;margin-left:-1em;min-height:1.5em}#poststuff .repeatable .cmb-group-title{padding-right:2.2em}.cmb-type-group .cmb2-wrap,.cmb2-postbox .cmb2-wrap{margin:0}.cmb-type-group .cmb2-wrap>.cmb-field-list>.cmb-row,.cmb2-postbox .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-type-group .cmb2-wrap input[type=text].cmb2-oembed,.cmb2-postbox .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-type-group .cmb-row,.cmb2-postbox .cmb-row{padding:0 0 1.8em;margin:0 0 .8em}.cmb-type-group .cmb-row .cmbhandle,.cmb2-postbox .cmb-row .cmbhandle{left:-1em;position:relative}.cmb-type-group .cmb-repeatable-grouping,.cmb2-postbox .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-type-group .cmb-repeatable-group>.cmb-row,.cmb2-postbox .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-type-group .cmb-th,.cmb2-postbox .cmb-th{width:18%;padding:0 0 0 2%}.cmb-type-group .cmb-td,.cmb2-postbox .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-type-group .cmb-repeat-row .cmb-td,.cmb2-postbox .cmb-repeat-row .cmb-td{padding-bottom:1.8em}.cmb-type-group .cmb-th+.cmb-td,.cmb2-postbox .cmb-th+.cmb-td{width:80%;float:left}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}.cmb-type-group .cmb-remove-field-row,.cmb-type-group .cmb-repeat-group-field,.cmb2-postbox .cmb-remove-field-row,.cmb2-postbox .cmb-repeat-group-field{padding-top:1.8em}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody{display:table;width:100%}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text{width:100%}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row){display:table-row}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td{display:table-cell;float:none;width:100%}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td{padding-top:1.8em}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row{padding-left:0}.js .cmb2-postbox.context-box .toggle-indicator:before{content:"\f142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js .cmb2-postbox.context-box.closed .toggle-indicator:before{content:"\f140"}.cmb2-postbox.context-box{margin-bottom:10px}.cmb2-postbox.context-box.context-after_title-box,.cmb2-postbox.context-box.context-before_permalink-box{margin-top:10px}.cmb2-postbox.context-box.context-after_editor-box{margin-top:20px;margin-bottom:0}.cmb2-postbox.context-box.context-form_top-box{margin-top:10px}.cmb2-postbox.context-box.context-form_top-box .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb2-postbox.context-box .hndle{cursor:auto}.cmb2-context-wrap{margin-top:10px}.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-left:300px;width:auto}.cmb2-context-wrap.cmb2-context-wrap-no-title .cmb2-metabox{padding:10px}.cmb2-context-wrap .cmb-th{padding:0 0 0 2%;width:18%}.cmb2-context-wrap .cmb-td{width:80%;padding:0}.cmb2-context-wrap .cmb-row{margin-bottom:10px}.cmb2-context-wrap .cmb-row:last-of-type{margin-bottom:0}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.cmb2-options-page .cmb2-metabox-title{font-size:1.3em;margin:1em 0}.cmb2-options-page .cmb2-metabox-title+p.cmb2-metabox-description{margin-top:-1.6em;margin-bottom:.8em}.cmb2-no-box-wrap .cmb-spinner,.cmb2-postbox .cmb-spinner{float:right;display:none}.cmb-spinner{display:none}.cmb-spinner.is-active{display:block}#side-sortables .cmb2-wrap>.cmb-field-list>.cmb-row,.inner-sidebar .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.4em 0}#side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker),.inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker){width:100%}#side-sortables .cmb2-wrap input+input:not(.wp-picker-clear),#side-sortables .cmb2-wrap input+select,.inner-sidebar .cmb2-wrap input+input:not(.wp-picker-clear),.inner-sidebar .cmb2-wrap input+select{margin-right:0;margin-top:1em;display:block}#side-sortables .cmb2-wrap input.cmb2-text-money,.inner-sidebar .cmb2-wrap input.cmb2-text-money{max-width:70%}#side-sortables .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description,.inner-sidebar .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description{display:block}#side-sortables .cmb2-wrap label,.inner-sidebar .cmb2-wrap label{display:block;font-weight:700;padding:0 0 5px}#side-sortables textarea,.inner-sidebar textarea{max-width:99%}#side-sortables .cmb-repeatable-group,.inner-sidebar .cmb-repeatable-group{border-bottom:1px solid #e9e9e9}#side-sortables .cmb-type-group>.cmb-td>.cmb-repeatable-group,.inner-sidebar .cmb-type-group>.cmb-td>.cmb-repeatable-group{border-bottom:0;margin-bottom:-1.4em}#side-sortables .cmb-td,#side-sortables .cmb-th,#side-sortables .cmb-th+.cmb-td,.inner-sidebar .cmb-td,.inner-sidebar .cmb-th,.inner-sidebar .cmb-th+.cmb-td{width:100%;display:block;float:none}#side-sortables .closed .inside,.inner-sidebar .closed .inside{display:none}#side-sortables .cmb-td .cmb-td,.inner-sidebar .cmb-td .cmb-td{padding-bottom:1em}#side-sortables .cmb-th,.inner-sidebar .cmb-th{display:block;float:none;padding-bottom:1em;text-align:right;width:100%;padding-right:0;padding-left:0}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{display:block;margin-top:0;padding-bottom:5px}#side-sortables .cmb-th label:after,.inner-sidebar .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{font-size:14px;line-height:1.4em}#side-sortables .cmb-group-description .cmb-th,.inner-sidebar .cmb-group-description .cmb-th{padding-top:0}#side-sortables .cmb-group-description .cmb2-metabox-description,#side-sortables .cmb-group-title .cmb-th,.inner-sidebar .cmb-group-description .cmb2-metabox-description,.inner-sidebar .cmb-group-title .cmb-th{padding:0}#side-sortables .cmb-repeatable-grouping+.cmb-repeatable-grouping,.inner-sidebar .cmb-repeatable-grouping+.cmb-repeatable-grouping{margin-top:1em}#side-sortables .cmb2-media-status .embed-status img,#side-sortables .cmb2-media-status .img-status img,.inner-sidebar .cmb2-media-status .embed-status img,.inner-sidebar .cmb2-media-status .img-status img{max-width:90%;height:auto}#side-sortables .cmb2-list label,.inner-sidebar .cmb2-list label{display:inline;font-weight:400}#side-sortables .cmb2-metabox-description,.inner-sidebar .cmb2-metabox-description{display:block;padding:7px 0 0}#side-sortables .cmb-type-checkbox .cmb-td label,#side-sortables .cmb-type-checkbox .cmb2-metabox-description,.inner-sidebar .cmb-type-checkbox .cmb-td label,.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description{font-weight:400;display:inline}#side-sortables .cmb-row .cmb2-metabox-description,.inner-sidebar .cmb-row .cmb2-metabox-description{padding-bottom:1.8em}#side-sortables .cmb2-metabox-title,.inner-sidebar .cmb2-metabox-title{font-size:1.2em;font-style:italic}#side-sortables .cmb-remove-row,.inner-sidebar .cmb-remove-row{clear:both;padding-top:12px;padding-bottom:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td{width:auto;clear:none;float:right;padding-top:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row{float:left;margin:0}#side-sortables .cmb2-upload-button,.inner-sidebar .cmb2-upload-button{clear:both;margin-top:12px}.cmb2-metabox .cmb-type-group{max-width:1000px}.cmb2-metabox .cmbhandle{color:#aaa;float:left;width:27px;height:30px;cursor:pointer;left:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';left:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;right:0;top:.5em;line-height:1em;padding:2px 6px 3px;opacity:.5}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){cursor:pointer;color:#a00;opacity:1}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}* html .cmb2-element.ui-helper-clearfix{height:1%}.cmb2-element .ui-datepicker,.cmb2-element.ui-datepicker{padding:0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background-color:#fff;border:1px solid #dfdfdf;border-top:none;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075);min-width:17em;width:auto}.cmb2-element .ui-datepicker *,.cmb2-element.ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{font-size:13px;margin:0;border:none;border-collapse:collapse}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{border:none;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover{background:0 0;border-color:transparent;cursor:pointer}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin:0;padding:10px 0;color:#fff;font-size:14px;line-height:14px;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select,.cmb2-element.ui-datepicker .ui-datepicker-title select{margin-top:-8px;margin-bottom:-8px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-prev{position:relative;top:0;height:34px;width:34px}.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-prev{border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{right:0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next-hover{left:0}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{display:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev{float:right}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next{float:left}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{font:400 20px/34px dashicons;padding-right:7px;color:#fff;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:34px;height:34px}.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{content:'\f341'}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before{content:'\f345'}.cmb2-element .ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover:before{opacity:.7}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-year{width:33%;background:0 0;border-color:transparent;box-shadow:none;color:#fff}.cmb2-element .ui-datepicker select.ui-datepicker-month option,.cmb2-element .ui-datepicker select.ui-datepicker-year option,.cmb2-element.ui-datepicker select.ui-datepicker-month option,.cmb2-element.ui-datepicker select.ui-datepicker-year option{color:#333}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{color:#fff;font-weight:600}.cmb2-element .ui-datepicker thead th,.cmb2-element.ui-datepicker thead th{font-weight:400}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{padding:10px}.cmb2-element .ui-datepicker td,.cmb2-element.ui-datepicker td{padding:0;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-other-month,.cmb2-element.ui-datepicker td.ui-datepicker-other-month{border:transparent}.cmb2-element .ui-datepicker td.ui-datepicker-week-end,.cmb2-element.ui-datepicker td.ui-datepicker-week-end{background-color:#f4f4f4;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today{-webkit-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);-moz-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1)}.cmb2-element .ui-datepicker td.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-today{background-color:#f0f0c0}.cmb2-element .ui-datepicker td.ui-datepicker-current-day,.cmb2-element.ui-datepicker td.ui-datepicker-current-day{background:#bd8}.cmb2-element .ui-datepicker td .ui-state-default,.cmb2-element.ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;text-decoration:none;width:auto;display:block;padding:5px 10px;font-weight:400;color:#444}.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{opacity:.5}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{background:#32373c}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover,.cmb2-element.ui-datepicker td .ui-state-active,.cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.cmb2-element .ui-datepicker .ui-timepicker-div,.cmb2-element.ui-datepicker .ui-timepicker-div{font-size:14px}.cmb2-element .ui-datepicker .ui-timepicker-div dl,.cmb2-element.ui-datepicker .ui-timepicker-div dl{text-align:right;padding:0 .6em}.cmb2-element .ui-datepicker .ui-timepicker-div dl dt,.cmb2-element.ui-datepicker .ui-timepicker-div dl dt{float:right;clear:right;padding:0 5px 0 0}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd{margin:0 40% 10px 10px}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd select,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd select{width:100%}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane{padding:.6em;text-align:right}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary{padding:0 10px 1px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;margin:0 .4em .4em .6em}.admin-color-fresh .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.admin-color-fresh .cmb2-element .ui-datepicker thead,.admin-color-fresh .cmb2-element.ui-datepicker thead{background:#32373c}.admin-color-fresh .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-fresh .cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-widget-header{background:#52accc}.admin-color-blue .cmb2-element .ui-datepicker thead,.admin-color-blue .cmb2-element.ui-datepicker thead{background:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover{background:#096484;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-blue .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-widget-header{background:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker thead,.admin-color-coffee .cmb2-element.ui-datepicker thead{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover{background:#c7a589;color:#fff}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-widget-header{background:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker thead,.admin-color-ectoplasm .cmb2-element.ui-datepicker thead{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover{background:#a3b745;color:#fff}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-widget-header{background:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker thead,.admin-color-midnight .cmb2-element.ui-datepicker thead{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover{background:#e14d43;color:#fff}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-widget-header{background:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker thead,.admin-color-ocean .cmb2-element.ui-datepicker thead{background:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover{background:#9ebaa0;color:#fff}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-widget-header{background:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker th,.admin-color-sunrise .cmb2-element.ui-datepicker th{border-color:#be3631;background:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover{background:#dd823b;color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element.ui-datepicker .ui-widget-header{background:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-year,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-year{color:#555}.admin-color-light .cmb2-element .ui-datepicker thead,.admin-color-light .cmb2-element.ui-datepicker thead{background:#888}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-default{color:#555}.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover{background:#ccc}.admin-color-light .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-light .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-widget-header{background:#56b274}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker thead,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker thead{background:#36533f}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker td .ui-state-hover{background:#446950;color:#fff}.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-widget-header{background:#4ca26a}.admin-color-bbp-mint .cmb2-element .ui-datepicker thead,.admin-color-bbp-mint .cmb2-element.ui-datepicker thead{background:#4f6d59}.admin-color-bbp-mint .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-mint .cmb2-element.ui-datepicker td .ui-state-hover{background:#5fb37c;color:#fff}@media only screen and (max-width:850px){.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-left:0}}@media (max-width:450px){.cmb-th{font-size:1.2em;padding-bottom:1em;text-align:right}.cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:0}}
|
1 |
+
.cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button-secondary,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-right:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 0 0 5px;padding:0}.cmb2-wrap .button-secondary,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 0 0 10px}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:right;font-weight:600;line-height:1.3;padding:20px 0 20px 10px;vertical-align:top;width:200px}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:right}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:left}.empty-row.hidden{display:none}.cmb-repeat-table{background-color:#fafafa;border:1px solid #e1e1e1}.cmb-repeat-table .cmb-row.cmb-repeat-row{position:relative;counter-increment:el;margin:0;padding:10px 50px 10px 10px;border-bottom:none!important}.cmb-repeat-table .cmb-row.cmb-repeat-row+.cmb-repeat-row{border-top:solid 1px #e9e9e9}.cmb-repeat-table .cmb-row.cmb-repeat-row:before{content:counter(el);display:block;top:0;right:0;position:absolute;width:35px;height:100%;line-height:35px;color:#aaa;text-align:center;border-left:solid 1px #e9e9e9}.cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td{margin:0;padding:0}.cmb-repeat-table+.cmb-add-row{margin:0}.cmb-repeat-table+.cmb-add-row:before{content:'';width:1px;height:1.6em;display:block;margin-right:17px;background-color:#dcdcdc}.cmb-repeat-table .cmb-remove-row{top:7px;left:7px;position:absolute;width:auto;margin-right:0;padding:0!important;display:none}.cmb-repeat-table .cmb-remove-row>.cmb-remove-row-button{font-size:20px;text-indent:-1000px;overflow:hidden;position:relative;height:auto;line-height:1;padding:0 10px}.cmb-repeat-table .cmb-remove-row>.cmb-remove-row-button:before{content:"";font-family:Dashicons;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;right:0;width:100%;height:100%;text-align:center}.cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row{display:block}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 2.2em 8px 12px;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:right;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;margin-bottom:.5em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-left:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:left}p.cmb2-metabox-description{color:#aaa;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#aaa;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-left:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;vertical-align:middle;margin-left:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px;height:auto}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#fff;border:1px solid #e9e9e9;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0;padding:5px}.cmb2-media-status .embed-status{float:right;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;right:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;vertical-align:middle;width:auto;margin-left:10px;margin-bottom:10px;margin-top:0}.cmb-attach-list li{clear:both;display:inline-block;width:100%;margin-top:5px;margin-bottom:10px}.cmb-attach-list li img{cursor:move;float:right;margin-left:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:right}.cmb2-indented-hierarchy{padding-right:1.5em}#poststuff .cmb-group-title{margin-right:-1em;margin-left:-1em;min-height:1.5em}#poststuff .repeatable .cmb-group-title{padding-right:2.2em}.cmb-type-group .cmb2-wrap,.cmb2-postbox .cmb2-wrap{margin:0}.cmb-type-group .cmb2-wrap>.cmb-field-list>.cmb-row,.cmb2-postbox .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-type-group .cmb2-wrap input[type=text].cmb2-oembed,.cmb2-postbox .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-type-group .cmb-row,.cmb2-postbox .cmb-row{padding:0 0 1.8em;margin:0 0 .8em}.cmb-type-group .cmb-row .cmbhandle,.cmb2-postbox .cmb-row .cmbhandle{left:-1em;position:relative}.cmb-type-group .cmb-repeatable-grouping,.cmb2-postbox .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-type-group .cmb-repeatable-group>.cmb-row,.cmb2-postbox .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-type-group .cmb-th,.cmb2-postbox .cmb-th{width:18%;padding:0 0 0 2%}.cmb-type-group .cmb-td,.cmb2-postbox .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-type-group .cmb-th+.cmb-td,.cmb2-postbox .cmb-th+.cmb-td{width:80%;float:left}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}.cmb-type-group .cmb-remove-field-row,.cmb-type-group .cmb-repeat-group-field,.cmb2-postbox .cmb-remove-field-row,.cmb2-postbox .cmb-repeat-group-field{padding-top:1.8em}.js .cmb2-postbox.context-box .toggle-indicator:before{content:"\f142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js .cmb2-postbox.context-box.closed .toggle-indicator:before{content:"\f140"}.cmb2-postbox.context-box{margin-bottom:10px}.cmb2-postbox.context-box.context-after_title-box,.cmb2-postbox.context-box.context-before_permalink-box{margin-top:10px}.cmb2-postbox.context-box.context-after_editor-box{margin-top:20px;margin-bottom:0}.cmb2-postbox.context-box.context-form_top-box{margin-top:10px}.cmb2-postbox.context-box.context-form_top-box .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb2-postbox.context-box .hndle{cursor:auto}.cmb2-context-wrap{margin-top:10px}.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-left:300px;width:auto}.cmb2-context-wrap.cmb2-context-wrap-no-title .cmb2-metabox{padding:10px}.cmb2-context-wrap .cmb-th{padding:0 0 0 2%;width:18%}.cmb2-context-wrap .cmb-td{width:80%;padding:0}.cmb2-context-wrap .cmb-row{margin-bottom:10px}.cmb2-context-wrap .cmb-row:last-of-type{margin-bottom:0}.cmb2-options-page{max-width:1200px}.cmb2-options-page.wrap>h2{margin-bottom:1em}.cmb2-options-page .cmb2-metabox>.cmb-row{padding:1em;margin-top:-1px;background:#fff;border:1px solid #e9e9e9;box-shadow:0 1px 1px rgba(0,0,0,.05)}.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th{padding:0;font-weight:initial}.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th+.cmb-td{float:none;padding:0 1em 0 0;margin-right:200px}.cmb2-options-page .cmb2-wrap .cmb-type-title{margin-top:1em;padding:.6em 1em;background-color:#fafafa}.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-title{font-size:12px;margin-top:0;margin-bottom:0;text-transform:uppercase}.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-description{padding-top:.25em}.cmb2-options-page .cmb-repeatable-group .cmb-group-description .cmb-th{padding:0 0 .8em}.cmb2-options-page .cmb-repeatable-group .cmb-group-name{font-size:16px;margin-top:0;margin-bottom:0}.cmb2-options-page .cmb-repeatable-group .cmb-th>.cmb2-metabox-description{font-weight:400;padding-bottom:0!important}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.cmb2-no-box-wrap .cmb-spinner,.cmb2-postbox .cmb-spinner{float:right;display:none}.cmb-spinner{display:none}.cmb-spinner.is-active{display:block}#side-sortables .cmb2-wrap>.cmb-field-list>.cmb-row,.inner-sidebar .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.4em 0}#side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker),.inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker){width:100%}#side-sortables .cmb2-wrap input+input:not(.wp-picker-clear),#side-sortables .cmb2-wrap input+select,.inner-sidebar .cmb2-wrap input+input:not(.wp-picker-clear),.inner-sidebar .cmb2-wrap input+select{margin-right:0;margin-top:1em;display:block}#side-sortables .cmb2-wrap input.cmb2-text-money,.inner-sidebar .cmb2-wrap input.cmb2-text-money{max-width:70%}#side-sortables .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description,.inner-sidebar .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description{display:block}#side-sortables .cmb2-wrap label,.inner-sidebar .cmb2-wrap label{display:block;font-weight:700;padding:0 0 5px}#side-sortables textarea,.inner-sidebar textarea{max-width:99%}#side-sortables .cmb-repeatable-group,.inner-sidebar .cmb-repeatable-group{border-bottom:1px solid #e9e9e9}#side-sortables .cmb-type-group>.cmb-td>.cmb-repeatable-group,.inner-sidebar .cmb-type-group>.cmb-td>.cmb-repeatable-group{border-bottom:0;margin-bottom:-1.4em}#side-sortables .cmb-td:not(.cmb-remove-row),#side-sortables .cmb-th,#side-sortables .cmb-th+.cmb-td,.inner-sidebar .cmb-td:not(.cmb-remove-row),.inner-sidebar .cmb-th,.inner-sidebar .cmb-th+.cmb-td{width:100%;display:block;float:none}#side-sortables .closed .inside,.inner-sidebar .closed .inside{display:none}#side-sortables .cmb-th,.inner-sidebar .cmb-th{display:block;float:none;padding-bottom:1em;text-align:right;width:100%;padding-right:0;padding-left:0}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{display:block;margin-top:0;margin-bottom:.5em;font-size:14px;line-height:1.4em}#side-sortables .cmb-group-description .cmb-th,.inner-sidebar .cmb-group-description .cmb-th{padding-top:0}#side-sortables .cmb-group-description .cmb2-metabox-description,#side-sortables .cmb-group-title .cmb-th,.inner-sidebar .cmb-group-description .cmb2-metabox-description,.inner-sidebar .cmb-group-title .cmb-th{padding:0}#side-sortables .cmb-repeatable-grouping+.cmb-repeatable-grouping,.inner-sidebar .cmb-repeatable-grouping+.cmb-repeatable-grouping{margin-top:1em}#side-sortables .cmb2-media-status .embed-status img,#side-sortables .cmb2-media-status .img-status img,.inner-sidebar .cmb2-media-status .embed-status img,.inner-sidebar .cmb2-media-status .img-status img{max-width:90%;height:auto}#side-sortables .cmb2-list label,.inner-sidebar .cmb2-list label{display:inline;font-weight:400}#side-sortables .cmb2-metabox-description,.inner-sidebar .cmb2-metabox-description{display:block;padding:7px 0 0}#side-sortables .cmb-type-checkbox .cmb-td label,#side-sortables .cmb-type-checkbox .cmb2-metabox-description,.inner-sidebar .cmb-type-checkbox .cmb-td label,.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description{font-weight:400;display:inline}#side-sortables .cmb-row .cmb2-metabox-description,.inner-sidebar .cmb-row .cmb2-metabox-description{padding-bottom:1.8em}#side-sortables .cmb2-metabox-title,.inner-sidebar .cmb2-metabox-title{font-size:1.2em;font-style:italic}#side-sortables .cmb-remove-row,.inner-sidebar .cmb-remove-row{clear:both;padding-top:12px;padding-bottom:0}#side-sortables .cmb2-upload-button,.inner-sidebar .cmb2-upload-button{clear:both;margin-top:12px}.cmb2-metabox .cmbhandle{color:#aaa;float:left;width:27px;height:30px;cursor:pointer;left:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';left:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;right:0;top:.5em;line-height:1em;padding:2px 6px 3px;opacity:.5}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){cursor:pointer;color:#a00;opacity:1}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}* html .cmb2-element.ui-helper-clearfix{height:1%}.cmb2-element .ui-datepicker,.cmb2-element.ui-datepicker{padding:0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background-color:#fff;border:1px solid #dfdfdf;border-top:none;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075);min-width:17em;width:auto}.cmb2-element .ui-datepicker *,.cmb2-element.ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{font-size:13px;margin:0;border:none;border-collapse:collapse}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{border:none;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover{background:0 0;border-color:transparent;cursor:pointer}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin:0;padding:10px 0;color:#fff;font-size:14px;line-height:14px;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select,.cmb2-element.ui-datepicker .ui-datepicker-title select{margin-top:-8px;margin-bottom:-8px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-prev{position:relative;top:0;height:34px;width:34px}.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-prev{border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{right:0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next-hover{left:0}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{display:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev{float:right}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next{float:left}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{font:400 20px/34px dashicons;padding-right:7px;color:#fff;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:34px;height:34px}.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{content:'\f341'}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before{content:'\f345'}.cmb2-element .ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover:before{opacity:.7}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-year{width:33%;background:0 0;border-color:transparent;box-shadow:none;color:#fff}.cmb2-element .ui-datepicker select.ui-datepicker-month option,.cmb2-element .ui-datepicker select.ui-datepicker-year option,.cmb2-element.ui-datepicker select.ui-datepicker-month option,.cmb2-element.ui-datepicker select.ui-datepicker-year option{color:#333}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{color:#fff;font-weight:600}.cmb2-element .ui-datepicker thead th,.cmb2-element.ui-datepicker thead th{font-weight:400}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{padding:10px}.cmb2-element .ui-datepicker td,.cmb2-element.ui-datepicker td{padding:0;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-other-month,.cmb2-element.ui-datepicker td.ui-datepicker-other-month{border:transparent}.cmb2-element .ui-datepicker td.ui-datepicker-week-end,.cmb2-element.ui-datepicker td.ui-datepicker-week-end{background-color:#f4f4f4;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today{-webkit-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);-moz-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1)}.cmb2-element .ui-datepicker td.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-today{background-color:#f0f0c0}.cmb2-element .ui-datepicker td.ui-datepicker-current-day,.cmb2-element.ui-datepicker td.ui-datepicker-current-day{background:#bd8}.cmb2-element .ui-datepicker td .ui-state-default,.cmb2-element.ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;text-decoration:none;width:auto;display:block;padding:5px 10px;font-weight:400;color:#444}.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{opacity:.5}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{background:#32373c}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover,.cmb2-element.ui-datepicker td .ui-state-active,.cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.cmb2-element .ui-datepicker .ui-timepicker-div,.cmb2-element.ui-datepicker .ui-timepicker-div{font-size:14px}.cmb2-element .ui-datepicker .ui-timepicker-div dl,.cmb2-element.ui-datepicker .ui-timepicker-div dl{text-align:right;padding:0 .6em}.cmb2-element .ui-datepicker .ui-timepicker-div dl dt,.cmb2-element.ui-datepicker .ui-timepicker-div dl dt{float:right;clear:right;padding:0 5px 0 0}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd{margin:0 40% 10px 10px}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd select,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd select{width:100%}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane{padding:.6em;text-align:right}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary{padding:0 10px 1px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;margin:0 .4em .4em .6em}.admin-color-fresh .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.admin-color-fresh .cmb2-element .ui-datepicker thead,.admin-color-fresh .cmb2-element.ui-datepicker thead{background:#32373c}.admin-color-fresh .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-fresh .cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-widget-header{background:#52accc}.admin-color-blue .cmb2-element .ui-datepicker thead,.admin-color-blue .cmb2-element.ui-datepicker thead{background:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover{background:#096484;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-blue .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-widget-header{background:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker thead,.admin-color-coffee .cmb2-element.ui-datepicker thead{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover{background:#c7a589;color:#fff}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-widget-header{background:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker thead,.admin-color-ectoplasm .cmb2-element.ui-datepicker thead{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover{background:#a3b745;color:#fff}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-widget-header{background:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker thead,.admin-color-midnight .cmb2-element.ui-datepicker thead{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover{background:#e14d43;color:#fff}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-widget-header{background:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker thead,.admin-color-ocean .cmb2-element.ui-datepicker thead{background:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover{background:#9ebaa0;color:#fff}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-widget-header{background:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker th,.admin-color-sunrise .cmb2-element.ui-datepicker th{border-color:#be3631;background:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover{background:#dd823b;color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element.ui-datepicker .ui-widget-header{background:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-year,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-year{color:#555}.admin-color-light .cmb2-element .ui-datepicker thead,.admin-color-light .cmb2-element.ui-datepicker thead{background:#888}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-default{color:#555}.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover{background:#ccc}.admin-color-light .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-light .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-widget-header{background:#56b274}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker thead,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker thead{background:#36533f}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker td .ui-state-hover{background:#446950;color:#fff}.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-widget-header{background:#4ca26a}.admin-color-bbp-mint .cmb2-element .ui-datepicker thead,.admin-color-bbp-mint .cmb2-element.ui-datepicker thead{background:#4f6d59}.admin-color-bbp-mint .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-mint .cmb2-element.ui-datepicker td .ui-state-hover{background:#5fb37c;color:#fff}@media only screen and (max-width:850px){.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-left:0}}@media (max-width:450px){.cmb-th{font-size:1.2em;padding-bottom:1em;text-align:right}.cmb-th label{display:block;margin-top:0;margin-bottom:.5em}.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:0}.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th+.cmb-td{padding:0;margin-right:0}}
|
vendor/CMB2/css/cmb2.css
CHANGED
@@ -74,7 +74,7 @@ Main Wrap
|
|
74 |
/* line 59, sass/partials/_main_wrap.scss */
|
75 |
|
76 |
.cmb2-wrap input:not([type="hidden"]) + input,
|
77 |
-
.cmb2-wrap input:not([type="hidden"]) + .button,
|
78 |
.cmb2-wrap input:not([type="hidden"]) + select {
|
79 |
margin-left: 20px;
|
80 |
}
|
@@ -124,7 +124,7 @@ Main Wrap
|
|
124 |
/* line 102, sass/partials/_main_wrap.scss */
|
125 |
|
126 |
.cmb2-wrap button,
|
127 |
-
.cmb2-wrap .button {
|
128 |
white-space: nowrap;
|
129 |
}
|
130 |
|
@@ -152,27 +152,27 @@ Main Wrap
|
|
152 |
width: 100%;
|
153 |
}
|
154 |
|
155 |
-
/* line
|
156 |
|
157 |
.cmb2-wrap .wp-color-result,
|
158 |
.cmb2-wrap .wp-picker-input-wrap {
|
159 |
vertical-align: middle;
|
160 |
}
|
161 |
|
162 |
-
/* line
|
163 |
|
164 |
.cmb2-wrap .wp-color-result,
|
165 |
.cmb2-wrap .wp-picker-container {
|
166 |
margin: 0 10px 0 0;
|
167 |
}
|
168 |
|
169 |
-
/* line
|
170 |
|
171 |
.cmb2-wrap .cmb-row {
|
172 |
margin: 0;
|
173 |
}
|
174 |
|
175 |
-
/* line
|
176 |
|
177 |
.cmb2-wrap .cmb-row:after {
|
178 |
content: '';
|
@@ -181,33 +181,21 @@ Main Wrap
|
|
181 |
width: 100%;
|
182 |
}
|
183 |
|
184 |
-
/* line
|
185 |
-
|
186 |
-
.cmb2-wrap .cmb-row.cmb-repeat-row {
|
187 |
-
padding: 1.8em 0 0;
|
188 |
-
}
|
189 |
-
|
190 |
-
/* line 149, sass/partials/_main_wrap.scss */
|
191 |
-
|
192 |
-
.cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type {
|
193 |
-
padding: 0;
|
194 |
-
}
|
195 |
-
|
196 |
-
/* line 154, sass/partials/_main_wrap.scss */
|
197 |
|
198 |
.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description {
|
199 |
padding-top: 0;
|
200 |
-
padding-bottom:
|
201 |
}
|
202 |
|
203 |
-
/* line
|
204 |
|
205 |
.cmb2-metabox {
|
206 |
clear: both;
|
207 |
margin: 0;
|
208 |
}
|
209 |
|
210 |
-
/* line
|
211 |
|
212 |
.cmb2-metabox > .cmb-row:first-of-type > .cmb-td,
|
213 |
.cmb2-metabox > .cmb-row:first-of-type > .cmb-th,
|
@@ -216,21 +204,13 @@ Main Wrap
|
|
216 |
border: 0;
|
217 |
}
|
218 |
|
219 |
-
/* line
|
220 |
-
|
221 |
-
.cmb2-metabox > .cmb-row .cmb-repeat-table .cmb-row > .cmb-td {
|
222 |
-
padding-right: 20px;
|
223 |
-
box-sizing: border-box;
|
224 |
-
float: left;
|
225 |
-
}
|
226 |
-
|
227 |
-
/* line 182, sass/partials/_main_wrap.scss */
|
228 |
|
229 |
.cmb-add-row {
|
230 |
margin: 1.8em 0 0;
|
231 |
}
|
232 |
|
233 |
-
/* line
|
234 |
|
235 |
.cmb-nested .cmb-td,
|
236 |
.cmb-repeatable-group .cmb-th,
|
@@ -238,7 +218,7 @@ Main Wrap
|
|
238 |
border: 0;
|
239 |
}
|
240 |
|
241 |
-
/* line
|
242 |
|
243 |
.cmb-row:last-of-type,
|
244 |
.cmb2-wrap .cmb-row:last-of-type,
|
@@ -246,21 +226,20 @@ Main Wrap
|
|
246 |
border-bottom: 0;
|
247 |
}
|
248 |
|
249 |
-
/* line
|
250 |
|
251 |
.cmb-repeatable-grouping {
|
252 |
border: 1px solid #e9e9e9;
|
253 |
padding: 0 1em;
|
254 |
-
max-width: 1000px;
|
255 |
}
|
256 |
|
257 |
-
/* line
|
258 |
|
259 |
.cmb-repeatable-grouping.cmb-row {
|
260 |
margin: 0 0 0.8em;
|
261 |
}
|
262 |
|
263 |
-
/* line
|
264 |
|
265 |
.cmb-th {
|
266 |
color: #222222;
|
@@ -272,7 +251,7 @@ Main Wrap
|
|
272 |
width: 200px;
|
273 |
}
|
274 |
|
275 |
-
/* line
|
276 |
|
277 |
.cmb-td {
|
278 |
line-height: 1.3;
|
@@ -281,50 +260,164 @@ Main Wrap
|
|
281 |
vertical-align: middle;
|
282 |
}
|
283 |
|
284 |
-
/* line
|
285 |
|
286 |
.cmb-type-title .cmb-td {
|
287 |
padding: 0;
|
288 |
}
|
289 |
|
290 |
-
/* line
|
291 |
|
292 |
.cmb-th label {
|
293 |
display: block;
|
294 |
padding: 5px 0;
|
295 |
}
|
296 |
|
297 |
-
/* line
|
298 |
|
299 |
.cmb-th + .cmb-td {
|
300 |
float: left;
|
301 |
}
|
302 |
|
303 |
-
/* line
|
304 |
|
305 |
.cmb-td .cmb-td {
|
306 |
padding-bottom: 1em;
|
307 |
}
|
308 |
|
309 |
-
/* line
|
310 |
|
311 |
.cmb-remove-row {
|
312 |
text-align: right;
|
313 |
}
|
314 |
|
315 |
-
/* line
|
316 |
|
317 |
.empty-row.hidden {
|
318 |
display: none;
|
319 |
}
|
320 |
|
321 |
-
/* line
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
322 |
|
323 |
.cmb-repeatable-group .cmb-th {
|
324 |
padding: 5px;
|
325 |
}
|
326 |
|
327 |
-
/* line
|
328 |
|
329 |
.cmb-repeatable-group .cmb-group-title {
|
330 |
background-color: #e9e9e9;
|
@@ -335,7 +428,7 @@ Main Wrap
|
|
335 |
line-height: 1.4;
|
336 |
}
|
337 |
|
338 |
-
/* line
|
339 |
|
340 |
.cmb-repeatable-group .cmb-group-title h4 {
|
341 |
border: 0;
|
@@ -345,14 +438,14 @@ Main Wrap
|
|
345 |
padding: 0.5em 0.75em;
|
346 |
}
|
347 |
|
348 |
-
/* line
|
349 |
|
350 |
.cmb-repeatable-group .cmb-group-title .cmb-th {
|
351 |
display: block;
|
352 |
width: 100%;
|
353 |
}
|
354 |
|
355 |
-
/* line
|
356 |
|
357 |
.cmb-repeatable-group .cmb-group-description .cmb-th {
|
358 |
font-size: 1.2em;
|
@@ -367,21 +460,11 @@ Main Wrap
|
|
367 |
|
368 |
.cmb-repeatable-group .cmb-group-description .cmb-th label {
|
369 |
display: block;
|
370 |
-
margin-top:
|
371 |
-
|
372 |
-
}
|
373 |
-
|
374 |
-
/* line 32, sass/partials/_mixins.scss */
|
375 |
-
|
376 |
-
.cmb-repeatable-group .cmb-group-description .cmb-th label:after {
|
377 |
-
border-bottom: 1px solid #e9e9e9;
|
378 |
-
content: '';
|
379 |
-
clear: both;
|
380 |
-
display: block;
|
381 |
-
padding-top: .4em;
|
382 |
}
|
383 |
|
384 |
-
/* line
|
385 |
|
386 |
.cmb-repeatable-group .cmb-shift-rows {
|
387 |
font-size: 1em;
|
@@ -389,7 +472,7 @@ Main Wrap
|
|
389 |
text-decoration: none;
|
390 |
}
|
391 |
|
392 |
-
/* line
|
393 |
|
394 |
.cmb-repeatable-group .cmb-shift-rows .dashicons {
|
395 |
font-size: 1.5em;
|
@@ -398,19 +481,19 @@ Main Wrap
|
|
398 |
width: 1em;
|
399 |
}
|
400 |
|
401 |
-
/* line
|
402 |
|
403 |
.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
|
404 |
line-height: 1.3em;
|
405 |
}
|
406 |
|
407 |
-
/* line
|
408 |
|
409 |
.cmb-repeatable-group .cmb2-upload-button {
|
410 |
float: right;
|
411 |
}
|
412 |
|
413 |
-
/* line
|
414 |
|
415 |
p.cmb2-metabox-description {
|
416 |
color: #aaaaaa;
|
@@ -419,14 +502,14 @@ p.cmb2-metabox-description {
|
|
419 |
padding-top: .5em;
|
420 |
}
|
421 |
|
422 |
-
/* line
|
423 |
|
424 |
span.cmb2-metabox-description {
|
425 |
color: #aaaaaa;
|
426 |
font-style: italic;
|
427 |
}
|
428 |
|
429 |
-
/* line
|
430 |
|
431 |
.cmb2-metabox-title {
|
432 |
margin: 0 0 5px 0;
|
@@ -434,26 +517,26 @@ span.cmb2-metabox-description {
|
|
434 |
font-size: 14px;
|
435 |
}
|
436 |
|
437 |
-
/* line
|
438 |
|
439 |
.cmb-inline ul {
|
440 |
padding: 4px 0 0 0;
|
441 |
}
|
442 |
|
443 |
-
/* line
|
444 |
|
445 |
.cmb-inline li {
|
446 |
display: inline-block;
|
447 |
padding-right: 18px;
|
448 |
}
|
449 |
|
450 |
-
/* line
|
451 |
|
452 |
.cmb-type-textarea-code pre {
|
453 |
margin: 0;
|
454 |
}
|
455 |
|
456 |
-
/* line
|
457 |
|
458 |
.cmb2-media-status .img-status {
|
459 |
clear: none;
|
@@ -463,14 +546,14 @@ span.cmb2-metabox-description {
|
|
463 |
width: auto;
|
464 |
}
|
465 |
|
466 |
-
/* line
|
467 |
|
468 |
.cmb2-media-status .img-status img {
|
469 |
max-width: 350px;
|
470 |
height: auto;
|
471 |
}
|
472 |
|
473 |
-
/* line
|
474 |
|
475 |
.cmb2-media-status .img-status img,
|
476 |
.cmb2-media-status .embed-status {
|
@@ -482,21 +565,21 @@ span.cmb2-metabox-description {
|
|
482 |
padding: 5px;
|
483 |
}
|
484 |
|
485 |
-
/* line
|
486 |
|
487 |
.cmb2-media-status .embed-status {
|
488 |
float: left;
|
489 |
max-width: 800px;
|
490 |
}
|
491 |
|
492 |
-
/* line
|
493 |
|
494 |
.cmb2-media-status .img-status,
|
495 |
.cmb2-media-status .embed-status {
|
496 |
position: relative;
|
497 |
}
|
498 |
|
499 |
-
/* line
|
500 |
|
501 |
.cmb2-media-status .img-status .cmb2-remove-file-button,
|
502 |
.cmb2-media-status .embed-status .cmb2-remove-file-button {
|
@@ -509,20 +592,20 @@ span.cmb2-metabox-description {
|
|
509 |
width: 16px;
|
510 |
}
|
511 |
|
512 |
-
/* line
|
513 |
|
514 |
.cmb2-media-status .img-status .cmb2-remove-file-button {
|
515 |
top: 10px;
|
516 |
}
|
517 |
|
518 |
-
/* line
|
519 |
|
520 |
.cmb2-media-status .img-status img,
|
521 |
.cmb2-media-status .file-status > span {
|
522 |
cursor: pointer;
|
523 |
}
|
524 |
|
525 |
-
/* line
|
526 |
|
527 |
.cmb-type-file-list .cmb2-media-status .img-status {
|
528 |
clear: none;
|
@@ -533,7 +616,7 @@ span.cmb2-metabox-description {
|
|
533 |
margin-top: 0;
|
534 |
}
|
535 |
|
536 |
-
/* line
|
537 |
|
538 |
.cmb-attach-list li {
|
539 |
clear: both;
|
@@ -543,7 +626,7 @@ span.cmb2-metabox-description {
|
|
543 |
margin-bottom: 10px;
|
544 |
}
|
545 |
|
546 |
-
/* line
|
547 |
|
548 |
.cmb-attach-list li img {
|
549 |
cursor: move;
|
@@ -551,18 +634,24 @@ span.cmb2-metabox-description {
|
|
551 |
margin-right: 10px;
|
552 |
}
|
553 |
|
554 |
-
/* line
|
555 |
|
556 |
.cmb2-remove-wrapper {
|
557 |
margin: 0;
|
558 |
}
|
559 |
|
560 |
-
/* line
|
561 |
|
562 |
.child-cmb2 .cmb-th {
|
563 |
text-align: left;
|
564 |
}
|
565 |
|
|
|
|
|
|
|
|
|
|
|
|
|
566 |
/*--------------------------------------------------------------
|
567 |
Post Metaboxes
|
568 |
--------------------------------------------------------------*/
|
@@ -653,20 +742,13 @@ Post Metaboxes
|
|
653 |
|
654 |
/* line 63, sass/partials/_post_metaboxes.scss */
|
655 |
|
656 |
-
.cmb2-postbox .cmb-repeat-row .cmb-td,
|
657 |
-
.cmb-type-group .cmb-repeat-row .cmb-td {
|
658 |
-
padding-bottom: 1.8em;
|
659 |
-
}
|
660 |
-
|
661 |
-
/* line 67, sass/partials/_post_metaboxes.scss */
|
662 |
-
|
663 |
.cmb2-postbox .cmb-th + .cmb-td,
|
664 |
.cmb-type-group .cmb-th + .cmb-td {
|
665 |
width: 80%;
|
666 |
float: right;
|
667 |
}
|
668 |
|
669 |
-
/* line
|
670 |
|
671 |
.cmb2-postbox .cmb-row:not(:last-of-type),
|
672 |
.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),
|
@@ -675,7 +757,7 @@ Post Metaboxes
|
|
675 |
border-bottom: 1px solid #e9e9e9;
|
676 |
}
|
677 |
|
678 |
-
/* line
|
679 |
|
680 |
.cmb2-postbox .cmb-repeat-group-field,
|
681 |
.cmb2-postbox .cmb-remove-field-row,
|
@@ -684,63 +766,6 @@ Post Metaboxes
|
|
684 |
padding-top: 1.8em;
|
685 |
}
|
686 |
|
687 |
-
/* line 88, sass/partials/_post_metaboxes.scss */
|
688 |
-
|
689 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,
|
690 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,
|
691 |
-
.cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,
|
692 |
-
.cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody {
|
693 |
-
display: table;
|
694 |
-
width: 100%;
|
695 |
-
}
|
696 |
-
|
697 |
-
/* line 92, sass/partials/_post_metaboxes.scss */
|
698 |
-
|
699 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,
|
700 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,
|
701 |
-
.cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,
|
702 |
-
.cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text {
|
703 |
-
width: 100%;
|
704 |
-
}
|
705 |
-
|
706 |
-
/* line 96, sass/partials/_post_metaboxes.scss */
|
707 |
-
|
708 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),
|
709 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),
|
710 |
-
.cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),
|
711 |
-
.cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row) {
|
712 |
-
display: table-row;
|
713 |
-
}
|
714 |
-
|
715 |
-
/* line 100, sass/partials/_post_metaboxes.scss */
|
716 |
-
|
717 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,
|
718 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,
|
719 |
-
.cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,
|
720 |
-
.cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td {
|
721 |
-
display: table-cell;
|
722 |
-
float: none;
|
723 |
-
width: 100%;
|
724 |
-
}
|
725 |
-
|
726 |
-
/* line 106, sass/partials/_post_metaboxes.scss */
|
727 |
-
|
728 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,
|
729 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,
|
730 |
-
.cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,
|
731 |
-
.cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td {
|
732 |
-
padding-top: 1.8em;
|
733 |
-
}
|
734 |
-
|
735 |
-
/* line 110, sass/partials/_post_metaboxes.scss */
|
736 |
-
|
737 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,
|
738 |
-
.cmb2-postbox .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,
|
739 |
-
.cmb-type-group .cmb2-metabox > .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,
|
740 |
-
.cmb-type-group .cmb2-metabox > .cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row {
|
741 |
-
padding-right: 0;
|
742 |
-
}
|
743 |
-
|
744 |
/*--------------------------------------------------------------
|
745 |
Context Metaboxes
|
746 |
--------------------------------------------------------------*/
|
@@ -858,6 +883,91 @@ Context Metaboxes
|
|
858 |
|
859 |
/* one column on the post write/edit screen */
|
860 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
861 |
/*--------------------------------------------------------------
|
862 |
Misc.
|
863 |
--------------------------------------------------------------*/
|
@@ -878,33 +988,19 @@ Misc.
|
|
878 |
|
879 |
/* line 18, sass/partials/_misc.scss */
|
880 |
|
881 |
-
.cmb2-options-page .cmb2-metabox-title {
|
882 |
-
font-size: 1.3em;
|
883 |
-
margin: 1em 0;
|
884 |
-
}
|
885 |
-
|
886 |
-
/* line 21, sass/partials/_misc.scss */
|
887 |
-
|
888 |
-
.cmb2-options-page .cmb2-metabox-title + p.cmb2-metabox-description {
|
889 |
-
margin-top: -1.6em;
|
890 |
-
margin-bottom: .8em;
|
891 |
-
}
|
892 |
-
|
893 |
-
/* line 28, sass/partials/_misc.scss */
|
894 |
-
|
895 |
.cmb2-postbox .cmb-spinner,
|
896 |
.cmb2-no-box-wrap .cmb-spinner {
|
897 |
float: left;
|
898 |
display: none;
|
899 |
}
|
900 |
|
901 |
-
/* line
|
902 |
|
903 |
.cmb-spinner {
|
904 |
display: none;
|
905 |
}
|
906 |
|
907 |
-
/* line
|
908 |
|
909 |
.cmb-spinner.is-active {
|
910 |
display: block;
|
@@ -987,10 +1083,10 @@ Sidebar Placement Adjustments
|
|
987 |
/* line 55, sass/partials/_sidebar_placements.scss */
|
988 |
|
989 |
.inner-sidebar .cmb-th,
|
990 |
-
.inner-sidebar .cmb-td,
|
991 |
.inner-sidebar .cmb-th + .cmb-td,
|
992 |
#side-sortables .cmb-th,
|
993 |
-
#side-sortables .cmb-td,
|
994 |
#side-sortables .cmb-th + .cmb-td {
|
995 |
width: 100%;
|
996 |
display: block;
|
@@ -1006,13 +1102,6 @@ Sidebar Placement Adjustments
|
|
1006 |
|
1007 |
/* line 67, sass/partials/_sidebar_placements.scss */
|
1008 |
|
1009 |
-
.inner-sidebar .cmb-td .cmb-td,
|
1010 |
-
#side-sortables .cmb-td .cmb-td {
|
1011 |
-
padding-bottom: 1em;
|
1012 |
-
}
|
1013 |
-
|
1014 |
-
/* line 71, sass/partials/_sidebar_placements.scss */
|
1015 |
-
|
1016 |
.inner-sidebar .cmb-th,
|
1017 |
#side-sortables .cmb-th {
|
1018 |
display: block;
|
@@ -1029,19 +1118,8 @@ Sidebar Placement Adjustments
|
|
1029 |
.inner-sidebar .cmb-th label,
|
1030 |
#side-sortables .cmb-th label {
|
1031 |
display: block;
|
1032 |
-
margin-top:
|
1033 |
-
|
1034 |
-
}
|
1035 |
-
|
1036 |
-
/* line 32, sass/partials/_mixins.scss */
|
1037 |
-
|
1038 |
-
.inner-sidebar .cmb-th label:after,
|
1039 |
-
#side-sortables .cmb-th label:after {
|
1040 |
-
border-bottom: 1px solid #e9e9e9;
|
1041 |
-
content: '';
|
1042 |
-
clear: both;
|
1043 |
-
display: block;
|
1044 |
-
padding-top: .4em;
|
1045 |
}
|
1046 |
|
1047 |
/* line 14, sass/partials/_mixins.scss */
|
@@ -1052,35 +1130,35 @@ Sidebar Placement Adjustments
|
|
1052 |
line-height: 1.4em;
|
1053 |
}
|
1054 |
|
1055 |
-
/* line
|
1056 |
|
1057 |
.inner-sidebar .cmb-group-description .cmb-th,
|
1058 |
#side-sortables .cmb-group-description .cmb-th {
|
1059 |
padding-top: 0;
|
1060 |
}
|
1061 |
|
1062 |
-
/* line
|
1063 |
|
1064 |
.inner-sidebar .cmb-group-description .cmb2-metabox-description,
|
1065 |
#side-sortables .cmb-group-description .cmb2-metabox-description {
|
1066 |
padding: 0;
|
1067 |
}
|
1068 |
|
1069 |
-
/* line
|
1070 |
|
1071 |
.inner-sidebar .cmb-group-title .cmb-th,
|
1072 |
#side-sortables .cmb-group-title .cmb-th {
|
1073 |
padding: 0;
|
1074 |
}
|
1075 |
|
1076 |
-
/* line
|
1077 |
|
1078 |
.inner-sidebar .cmb-repeatable-grouping + .cmb-repeatable-grouping,
|
1079 |
#side-sortables .cmb-repeatable-grouping + .cmb-repeatable-grouping {
|
1080 |
margin-top: 1em;
|
1081 |
}
|
1082 |
|
1083 |
-
/* line
|
1084 |
|
1085 |
.inner-sidebar .cmb2-media-status .img-status img,
|
1086 |
.inner-sidebar .cmb2-media-status .embed-status img,
|
@@ -1090,7 +1168,7 @@ Sidebar Placement Adjustments
|
|
1090 |
height: auto;
|
1091 |
}
|
1092 |
|
1093 |
-
/* line
|
1094 |
|
1095 |
.inner-sidebar .cmb2-list label,
|
1096 |
#side-sortables .cmb2-list label {
|
@@ -1098,7 +1176,7 @@ Sidebar Placement Adjustments
|
|
1098 |
font-weight: normal;
|
1099 |
}
|
1100 |
|
1101 |
-
/* line
|
1102 |
|
1103 |
.inner-sidebar .cmb2-metabox-description,
|
1104 |
#side-sortables .cmb2-metabox-description {
|
@@ -1106,7 +1184,7 @@ Sidebar Placement Adjustments
|
|
1106 |
padding: 7px 0 0;
|
1107 |
}
|
1108 |
|
1109 |
-
/* line
|
1110 |
|
1111 |
.inner-sidebar .cmb-type-checkbox .cmb-td label,
|
1112 |
.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description,
|
@@ -1116,14 +1194,14 @@ Sidebar Placement Adjustments
|
|
1116 |
display: inline;
|
1117 |
}
|
1118 |
|
1119 |
-
/* line
|
1120 |
|
1121 |
.inner-sidebar .cmb-row .cmb2-metabox-description,
|
1122 |
#side-sortables .cmb-row .cmb2-metabox-description {
|
1123 |
padding-bottom: 1.8em;
|
1124 |
}
|
1125 |
|
1126 |
-
/* line
|
1127 |
|
1128 |
.inner-sidebar .cmb2-metabox-title,
|
1129 |
#side-sortables .cmb2-metabox-title {
|
@@ -1131,7 +1209,7 @@ Sidebar Placement Adjustments
|
|
1131 |
font-style: italic;
|
1132 |
}
|
1133 |
|
1134 |
-
/* line
|
1135 |
|
1136 |
.inner-sidebar .cmb-remove-row,
|
1137 |
#side-sortables .cmb-remove-row {
|
@@ -1140,25 +1218,7 @@ Sidebar Placement Adjustments
|
|
1140 |
padding-bottom: 0;
|
1141 |
}
|
1142 |
|
1143 |
-
/* line
|
1144 |
-
|
1145 |
-
.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td,
|
1146 |
-
#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td {
|
1147 |
-
width: auto;
|
1148 |
-
clear: none;
|
1149 |
-
float: left;
|
1150 |
-
padding-top: 0;
|
1151 |
-
}
|
1152 |
-
|
1153 |
-
/* line 151, sass/partials/_sidebar_placements.scss */
|
1154 |
-
|
1155 |
-
.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,
|
1156 |
-
#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row {
|
1157 |
-
float: right;
|
1158 |
-
margin: 0;
|
1159 |
-
}
|
1160 |
-
|
1161 |
-
/* line 158, sass/partials/_sidebar_placements.scss */
|
1162 |
|
1163 |
.inner-sidebar .cmb2-upload-button,
|
1164 |
#side-sortables .cmb2-upload-button {
|
@@ -1168,12 +1228,6 @@ Sidebar Placement Adjustments
|
|
1168 |
|
1169 |
/* line 2, sass/partials/_collapsible_ui.scss */
|
1170 |
|
1171 |
-
.cmb2-metabox .cmb-type-group {
|
1172 |
-
max-width: 1000px;
|
1173 |
-
}
|
1174 |
-
|
1175 |
-
/* line 5, sass/partials/_collapsible_ui.scss */
|
1176 |
-
|
1177 |
.cmb2-metabox .cmbhandle {
|
1178 |
color: #aaa;
|
1179 |
float: right;
|
@@ -1184,7 +1238,7 @@ Sidebar Placement Adjustments
|
|
1184 |
position: relative;
|
1185 |
}
|
1186 |
|
1187 |
-
/* line
|
1188 |
|
1189 |
.cmb2-metabox .cmbhandle:before {
|
1190 |
content: '\f142';
|
@@ -1200,13 +1254,13 @@ Sidebar Placement Adjustments
|
|
1200 |
text-decoration: none !important;
|
1201 |
}
|
1202 |
|
1203 |
-
/* line
|
1204 |
|
1205 |
.cmb2-metabox .postbox.closed .cmbhandle:before {
|
1206 |
content: '\f140';
|
1207 |
}
|
1208 |
|
1209 |
-
/* line
|
1210 |
|
1211 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row {
|
1212 |
-webkit-appearance: none !important;
|
@@ -1220,7 +1274,7 @@ Sidebar Placement Adjustments
|
|
1220 |
opacity: .5;
|
1221 |
}
|
1222 |
|
1223 |
-
/* line
|
1224 |
|
1225 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]) {
|
1226 |
cursor: pointer;
|
@@ -1228,7 +1282,7 @@ Sidebar Placement Adjustments
|
|
1228 |
opacity: 1;
|
1229 |
}
|
1230 |
|
1231 |
-
/* line
|
1232 |
|
1233 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover {
|
1234 |
color: #f00;
|
@@ -1928,7 +1982,7 @@ Sidebar Placement Adjustments
|
|
1928 |
|
1929 |
@media (max-width: 450px) {
|
1930 |
|
1931 |
-
/* line
|
1932 |
|
1933 |
.cmb-th {
|
1934 |
font-size: 1.2em;
|
@@ -1943,21 +1997,11 @@ Sidebar Placement Adjustments
|
|
1943 |
|
1944 |
.cmb-th label {
|
1945 |
display: block;
|
1946 |
-
margin-top:
|
1947 |
-
|
1948 |
-
}
|
1949 |
-
|
1950 |
-
/* line 32, sass/partials/_mixins.scss */
|
1951 |
-
|
1952 |
-
.cmb-th label:after {
|
1953 |
-
border-bottom: 1px solid #e9e9e9;
|
1954 |
-
content: '';
|
1955 |
-
clear: both;
|
1956 |
-
display: block;
|
1957 |
-
padding-top: .4em;
|
1958 |
}
|
1959 |
|
1960 |
-
/* line
|
1961 |
|
1962 |
.cmb-th,
|
1963 |
.cmb-td,
|
@@ -1967,7 +2011,7 @@ Sidebar Placement Adjustments
|
|
1967 |
width: 100%;
|
1968 |
}
|
1969 |
|
1970 |
-
/* line
|
1971 |
|
1972 |
.cmb2-postbox .cmb-row:not(:last-of-type),
|
1973 |
.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),
|
@@ -1976,5 +2020,12 @@ Sidebar Placement Adjustments
|
|
1976 |
border-bottom: 0;
|
1977 |
}
|
1978 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1979 |
}
|
1980 |
|
74 |
/* line 59, sass/partials/_main_wrap.scss */
|
75 |
|
76 |
.cmb2-wrap input:not([type="hidden"]) + input,
|
77 |
+
.cmb2-wrap input:not([type="hidden"]) + .button-secondary,
|
78 |
.cmb2-wrap input:not([type="hidden"]) + select {
|
79 |
margin-left: 20px;
|
80 |
}
|
124 |
/* line 102, sass/partials/_main_wrap.scss */
|
125 |
|
126 |
.cmb2-wrap button,
|
127 |
+
.cmb2-wrap .button-secondary {
|
128 |
white-space: nowrap;
|
129 |
}
|
130 |
|
152 |
width: 100%;
|
153 |
}
|
154 |
|
155 |
+
/* line 124, sass/partials/_main_wrap.scss */
|
156 |
|
157 |
.cmb2-wrap .wp-color-result,
|
158 |
.cmb2-wrap .wp-picker-input-wrap {
|
159 |
vertical-align: middle;
|
160 |
}
|
161 |
|
162 |
+
/* line 129, sass/partials/_main_wrap.scss */
|
163 |
|
164 |
.cmb2-wrap .wp-color-result,
|
165 |
.cmb2-wrap .wp-picker-container {
|
166 |
margin: 0 10px 0 0;
|
167 |
}
|
168 |
|
169 |
+
/* line 134, sass/partials/_main_wrap.scss */
|
170 |
|
171 |
.cmb2-wrap .cmb-row {
|
172 |
margin: 0;
|
173 |
}
|
174 |
|
175 |
+
/* line 137, sass/partials/_main_wrap.scss */
|
176 |
|
177 |
.cmb2-wrap .cmb-row:after {
|
178 |
content: '';
|
181 |
width: 100%;
|
182 |
}
|
183 |
|
184 |
+
/* line 144, sass/partials/_main_wrap.scss */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
|
186 |
.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description {
|
187 |
padding-top: 0;
|
188 |
+
padding-bottom: 1em;
|
189 |
}
|
190 |
|
191 |
+
/* line 152, sass/partials/_main_wrap.scss */
|
192 |
|
193 |
.cmb2-metabox {
|
194 |
clear: both;
|
195 |
margin: 0;
|
196 |
}
|
197 |
|
198 |
+
/* line 158, sass/partials/_main_wrap.scss */
|
199 |
|
200 |
.cmb2-metabox > .cmb-row:first-of-type > .cmb-td,
|
201 |
.cmb2-metabox > .cmb-row:first-of-type > .cmb-th,
|
204 |
border: 0;
|
205 |
}
|
206 |
|
207 |
+
/* line 165, sass/partials/_main_wrap.scss */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
|
209 |
.cmb-add-row {
|
210 |
margin: 1.8em 0 0;
|
211 |
}
|
212 |
|
213 |
+
/* line 169, sass/partials/_main_wrap.scss */
|
214 |
|
215 |
.cmb-nested .cmb-td,
|
216 |
.cmb-repeatable-group .cmb-th,
|
218 |
border: 0;
|
219 |
}
|
220 |
|
221 |
+
/* line 175, sass/partials/_main_wrap.scss */
|
222 |
|
223 |
.cmb-row:last-of-type,
|
224 |
.cmb2-wrap .cmb-row:last-of-type,
|
226 |
border-bottom: 0;
|
227 |
}
|
228 |
|
229 |
+
/* line 181, sass/partials/_main_wrap.scss */
|
230 |
|
231 |
.cmb-repeatable-grouping {
|
232 |
border: 1px solid #e9e9e9;
|
233 |
padding: 0 1em;
|
|
|
234 |
}
|
235 |
|
236 |
+
/* line 185, sass/partials/_main_wrap.scss */
|
237 |
|
238 |
.cmb-repeatable-grouping.cmb-row {
|
239 |
margin: 0 0 0.8em;
|
240 |
}
|
241 |
|
242 |
+
/* line 193, sass/partials/_main_wrap.scss */
|
243 |
|
244 |
.cmb-th {
|
245 |
color: #222222;
|
251 |
width: 200px;
|
252 |
}
|
253 |
|
254 |
+
/* line 207, sass/partials/_main_wrap.scss */
|
255 |
|
256 |
.cmb-td {
|
257 |
line-height: 1.3;
|
260 |
vertical-align: middle;
|
261 |
}
|
262 |
|
263 |
+
/* line 216, sass/partials/_main_wrap.scss */
|
264 |
|
265 |
.cmb-type-title .cmb-td {
|
266 |
padding: 0;
|
267 |
}
|
268 |
|
269 |
+
/* line 221, sass/partials/_main_wrap.scss */
|
270 |
|
271 |
.cmb-th label {
|
272 |
display: block;
|
273 |
padding: 5px 0;
|
274 |
}
|
275 |
|
276 |
+
/* line 226, sass/partials/_main_wrap.scss */
|
277 |
|
278 |
.cmb-th + .cmb-td {
|
279 |
float: left;
|
280 |
}
|
281 |
|
282 |
+
/* line 230, sass/partials/_main_wrap.scss */
|
283 |
|
284 |
.cmb-td .cmb-td {
|
285 |
padding-bottom: 1em;
|
286 |
}
|
287 |
|
288 |
+
/* line 234, sass/partials/_main_wrap.scss */
|
289 |
|
290 |
.cmb-remove-row {
|
291 |
text-align: right;
|
292 |
}
|
293 |
|
294 |
+
/* line 238, sass/partials/_main_wrap.scss */
|
295 |
|
296 |
.empty-row.hidden {
|
297 |
display: none;
|
298 |
}
|
299 |
|
300 |
+
/* line 243, sass/partials/_main_wrap.scss */
|
301 |
+
|
302 |
+
.cmb-repeat-table {
|
303 |
+
background-color: #fafafa;
|
304 |
+
border: 1px solid #e1e1e1;
|
305 |
+
}
|
306 |
+
|
307 |
+
/* line 247, sass/partials/_main_wrap.scss */
|
308 |
+
|
309 |
+
.cmb-repeat-table .cmb-row.cmb-repeat-row {
|
310 |
+
position: relative;
|
311 |
+
counter-increment: el;
|
312 |
+
margin: 0;
|
313 |
+
padding: 10px 10px 10px 50px;
|
314 |
+
border-bottom: none !important;
|
315 |
+
}
|
316 |
+
|
317 |
+
/* line 255, sass/partials/_main_wrap.scss */
|
318 |
+
|
319 |
+
.cmb-repeat-table .cmb-row.cmb-repeat-row + .cmb-repeat-row {
|
320 |
+
border-top: solid 1px #e9e9e9;
|
321 |
+
}
|
322 |
+
|
323 |
+
/* line 259, sass/partials/_main_wrap.scss */
|
324 |
+
|
325 |
+
.cmb-repeat-table .cmb-row.cmb-repeat-row:before {
|
326 |
+
content: counter(el);
|
327 |
+
display: block;
|
328 |
+
top: 0;
|
329 |
+
left: 0;
|
330 |
+
position: absolute;
|
331 |
+
width: 35px;
|
332 |
+
height: 100%;
|
333 |
+
line-height: 35px;
|
334 |
+
color: #aaaaaa;
|
335 |
+
text-align: center;
|
336 |
+
border-right: solid 1px #e9e9e9;
|
337 |
+
}
|
338 |
+
|
339 |
+
/* line 276, sass/partials/_main_wrap.scss */
|
340 |
+
|
341 |
+
.cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td {
|
342 |
+
margin: 0;
|
343 |
+
padding: 0;
|
344 |
+
}
|
345 |
+
|
346 |
+
/* line 283, sass/partials/_main_wrap.scss */
|
347 |
+
|
348 |
+
.cmb-repeat-table + .cmb-add-row {
|
349 |
+
margin: 0;
|
350 |
+
}
|
351 |
+
|
352 |
+
/* line 286, sass/partials/_main_wrap.scss */
|
353 |
+
|
354 |
+
.cmb-repeat-table + .cmb-add-row:before {
|
355 |
+
content: '';
|
356 |
+
width: 1px;
|
357 |
+
height: 1.6em;
|
358 |
+
display: block;
|
359 |
+
margin-left: 17px;
|
360 |
+
background-color: gainsboro;
|
361 |
+
}
|
362 |
+
|
363 |
+
/* line 296, sass/partials/_main_wrap.scss */
|
364 |
+
|
365 |
+
.cmb-repeat-table .cmb-remove-row {
|
366 |
+
top: 7px;
|
367 |
+
right: 7px;
|
368 |
+
position: absolute;
|
369 |
+
width: auto;
|
370 |
+
margin-left: 0;
|
371 |
+
padding: 0 !important;
|
372 |
+
display: none;
|
373 |
+
}
|
374 |
+
|
375 |
+
/* line 307, sass/partials/_main_wrap.scss */
|
376 |
+
|
377 |
+
.cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button {
|
378 |
+
font-size: 20px;
|
379 |
+
text-indent: -1000px;
|
380 |
+
overflow: hidden;
|
381 |
+
position: relative;
|
382 |
+
height: auto;
|
383 |
+
line-height: 1;
|
384 |
+
padding: 0 10px 0;
|
385 |
+
}
|
386 |
+
|
387 |
+
/* line 318, sass/partials/_main_wrap.scss */
|
388 |
+
|
389 |
+
.cmb-repeat-table .cmb-remove-row > .cmb-remove-row-button:before {
|
390 |
+
content: "";
|
391 |
+
font-family: 'Dashicons';
|
392 |
+
speak: none;
|
393 |
+
font-weight: normal;
|
394 |
+
font-variant: normal;
|
395 |
+
text-transform: none;
|
396 |
+
line-height: 1;
|
397 |
+
-webkit-font-smoothing: antialiased;
|
398 |
+
margin: 0;
|
399 |
+
text-indent: 0;
|
400 |
+
position: absolute;
|
401 |
+
top: 0;
|
402 |
+
left: 0;
|
403 |
+
width: 100%;
|
404 |
+
height: 100%;
|
405 |
+
text-align: center;
|
406 |
+
}
|
407 |
+
|
408 |
+
/* line 324, sass/partials/_main_wrap.scss */
|
409 |
+
|
410 |
+
.cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row {
|
411 |
+
display: block;
|
412 |
+
}
|
413 |
+
|
414 |
+
/* line 332, sass/partials/_main_wrap.scss */
|
415 |
|
416 |
.cmb-repeatable-group .cmb-th {
|
417 |
padding: 5px;
|
418 |
}
|
419 |
|
420 |
+
/* line 336, sass/partials/_main_wrap.scss */
|
421 |
|
422 |
.cmb-repeatable-group .cmb-group-title {
|
423 |
background-color: #e9e9e9;
|
428 |
line-height: 1.4;
|
429 |
}
|
430 |
|
431 |
+
/* line 344, sass/partials/_main_wrap.scss */
|
432 |
|
433 |
.cmb-repeatable-group .cmb-group-title h4 {
|
434 |
border: 0;
|
438 |
padding: 0.5em 0.75em;
|
439 |
}
|
440 |
|
441 |
+
/* line 352, sass/partials/_main_wrap.scss */
|
442 |
|
443 |
.cmb-repeatable-group .cmb-group-title .cmb-th {
|
444 |
display: block;
|
445 |
width: 100%;
|
446 |
}
|
447 |
|
448 |
+
/* line 358, sass/partials/_main_wrap.scss */
|
449 |
|
450 |
.cmb-repeatable-group .cmb-group-description .cmb-th {
|
451 |
font-size: 1.2em;
|
460 |
|
461 |
.cmb-repeatable-group .cmb-group-description .cmb-th label {
|
462 |
display: block;
|
463 |
+
margin-top: 0;
|
464 |
+
margin-bottom: 0.5em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
465 |
}
|
466 |
|
467 |
+
/* line 362, sass/partials/_main_wrap.scss */
|
468 |
|
469 |
.cmb-repeatable-group .cmb-shift-rows {
|
470 |
font-size: 1em;
|
472 |
text-decoration: none;
|
473 |
}
|
474 |
|
475 |
+
/* line 367, sass/partials/_main_wrap.scss */
|
476 |
|
477 |
.cmb-repeatable-group .cmb-shift-rows .dashicons {
|
478 |
font-size: 1.5em;
|
481 |
width: 1em;
|
482 |
}
|
483 |
|
484 |
+
/* line 373, sass/partials/_main_wrap.scss */
|
485 |
|
486 |
.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2 {
|
487 |
line-height: 1.3em;
|
488 |
}
|
489 |
|
490 |
+
/* line 380, sass/partials/_main_wrap.scss */
|
491 |
|
492 |
.cmb-repeatable-group .cmb2-upload-button {
|
493 |
float: right;
|
494 |
}
|
495 |
|
496 |
+
/* line 386, sass/partials/_main_wrap.scss */
|
497 |
|
498 |
p.cmb2-metabox-description {
|
499 |
color: #aaaaaa;
|
502 |
padding-top: .5em;
|
503 |
}
|
504 |
|
505 |
+
/* line 393, sass/partials/_main_wrap.scss */
|
506 |
|
507 |
span.cmb2-metabox-description {
|
508 |
color: #aaaaaa;
|
509 |
font-style: italic;
|
510 |
}
|
511 |
|
512 |
+
/* line 398, sass/partials/_main_wrap.scss */
|
513 |
|
514 |
.cmb2-metabox-title {
|
515 |
margin: 0 0 5px 0;
|
517 |
font-size: 14px;
|
518 |
}
|
519 |
|
520 |
+
/* line 404, sass/partials/_main_wrap.scss */
|
521 |
|
522 |
.cmb-inline ul {
|
523 |
padding: 4px 0 0 0;
|
524 |
}
|
525 |
|
526 |
+
/* line 408, sass/partials/_main_wrap.scss */
|
527 |
|
528 |
.cmb-inline li {
|
529 |
display: inline-block;
|
530 |
padding-right: 18px;
|
531 |
}
|
532 |
|
533 |
+
/* line 413, sass/partials/_main_wrap.scss */
|
534 |
|
535 |
.cmb-type-textarea-code pre {
|
536 |
margin: 0;
|
537 |
}
|
538 |
|
539 |
+
/* line 419, sass/partials/_main_wrap.scss */
|
540 |
|
541 |
.cmb2-media-status .img-status {
|
542 |
clear: none;
|
546 |
width: auto;
|
547 |
}
|
548 |
|
549 |
+
/* line 426, sass/partials/_main_wrap.scss */
|
550 |
|
551 |
.cmb2-media-status .img-status img {
|
552 |
max-width: 350px;
|
553 |
height: auto;
|
554 |
}
|
555 |
|
556 |
+
/* line 432, sass/partials/_main_wrap.scss */
|
557 |
|
558 |
.cmb2-media-status .img-status img,
|
559 |
.cmb2-media-status .embed-status {
|
565 |
padding: 5px;
|
566 |
}
|
567 |
|
568 |
+
/* line 442, sass/partials/_main_wrap.scss */
|
569 |
|
570 |
.cmb2-media-status .embed-status {
|
571 |
float: left;
|
572 |
max-width: 800px;
|
573 |
}
|
574 |
|
575 |
+
/* line 447, sass/partials/_main_wrap.scss */
|
576 |
|
577 |
.cmb2-media-status .img-status,
|
578 |
.cmb2-media-status .embed-status {
|
579 |
position: relative;
|
580 |
}
|
581 |
|
582 |
+
/* line 450, sass/partials/_main_wrap.scss */
|
583 |
|
584 |
.cmb2-media-status .img-status .cmb2-remove-file-button,
|
585 |
.cmb2-media-status .embed-status .cmb2-remove-file-button {
|
592 |
width: 16px;
|
593 |
}
|
594 |
|
595 |
+
/* line 464, sass/partials/_main_wrap.scss */
|
596 |
|
597 |
.cmb2-media-status .img-status .cmb2-remove-file-button {
|
598 |
top: 10px;
|
599 |
}
|
600 |
|
601 |
+
/* line 469, sass/partials/_main_wrap.scss */
|
602 |
|
603 |
.cmb2-media-status .img-status img,
|
604 |
.cmb2-media-status .file-status > span {
|
605 |
cursor: pointer;
|
606 |
}
|
607 |
|
608 |
+
/* line 475, sass/partials/_main_wrap.scss */
|
609 |
|
610 |
.cmb-type-file-list .cmb2-media-status .img-status {
|
611 |
clear: none;
|
616 |
margin-top: 0;
|
617 |
}
|
618 |
|
619 |
+
/* line 484, sass/partials/_main_wrap.scss */
|
620 |
|
621 |
.cmb-attach-list li {
|
622 |
clear: both;
|
626 |
margin-bottom: 10px;
|
627 |
}
|
628 |
|
629 |
+
/* line 491, sass/partials/_main_wrap.scss */
|
630 |
|
631 |
.cmb-attach-list li img {
|
632 |
cursor: move;
|
634 |
margin-right: 10px;
|
635 |
}
|
636 |
|
637 |
+
/* line 498, sass/partials/_main_wrap.scss */
|
638 |
|
639 |
.cmb2-remove-wrapper {
|
640 |
margin: 0;
|
641 |
}
|
642 |
|
643 |
+
/* line 502, sass/partials/_main_wrap.scss */
|
644 |
|
645 |
.child-cmb2 .cmb-th {
|
646 |
text-align: left;
|
647 |
}
|
648 |
|
649 |
+
/* line 506, sass/partials/_main_wrap.scss */
|
650 |
+
|
651 |
+
.cmb2-indented-hierarchy {
|
652 |
+
padding-left: 1.5em;
|
653 |
+
}
|
654 |
+
|
655 |
/*--------------------------------------------------------------
|
656 |
Post Metaboxes
|
657 |
--------------------------------------------------------------*/
|
742 |
|
743 |
/* line 63, sass/partials/_post_metaboxes.scss */
|
744 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
745 |
.cmb2-postbox .cmb-th + .cmb-td,
|
746 |
.cmb-type-group .cmb-th + .cmb-td {
|
747 |
width: 80%;
|
748 |
float: right;
|
749 |
}
|
750 |
|
751 |
+
/* line 68, sass/partials/_post_metaboxes.scss */
|
752 |
|
753 |
.cmb2-postbox .cmb-row:not(:last-of-type),
|
754 |
.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),
|
757 |
border-bottom: 1px solid #e9e9e9;
|
758 |
}
|
759 |
|
760 |
+
/* line 77, sass/partials/_post_metaboxes.scss */
|
761 |
|
762 |
.cmb2-postbox .cmb-repeat-group-field,
|
763 |
.cmb2-postbox .cmb-remove-field-row,
|
766 |
padding-top: 1.8em;
|
767 |
}
|
768 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
769 |
/*--------------------------------------------------------------
|
770 |
Context Metaboxes
|
771 |
--------------------------------------------------------------*/
|
883 |
|
884 |
/* one column on the post write/edit screen */
|
885 |
|
886 |
+
/*--------------------------------------------------------------
|
887 |
+
Options page
|
888 |
+
--------------------------------------------------------------*/
|
889 |
+
|
890 |
+
/* line 4, sass/partials/_options-page.scss */
|
891 |
+
|
892 |
+
.cmb2-options-page {
|
893 |
+
max-width: 1200px;
|
894 |
+
}
|
895 |
+
|
896 |
+
/* line 7, sass/partials/_options-page.scss */
|
897 |
+
|
898 |
+
.cmb2-options-page.wrap > h2 {
|
899 |
+
margin-bottom: 1em;
|
900 |
+
}
|
901 |
+
|
902 |
+
/* line 11, sass/partials/_options-page.scss */
|
903 |
+
|
904 |
+
.cmb2-options-page .cmb2-metabox > .cmb-row {
|
905 |
+
padding: 1em;
|
906 |
+
margin-top: -1px;
|
907 |
+
background: #ffffff;
|
908 |
+
border: 1px solid #e9e9e9;
|
909 |
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
|
910 |
+
}
|
911 |
+
|
912 |
+
/* line 18, sass/partials/_options-page.scss */
|
913 |
+
|
914 |
+
.cmb2-options-page .cmb2-metabox > .cmb-row > .cmb-th {
|
915 |
+
padding: 0;
|
916 |
+
font-weight: initial;
|
917 |
+
}
|
918 |
+
|
919 |
+
/* line 23, sass/partials/_options-page.scss */
|
920 |
+
|
921 |
+
.cmb2-options-page .cmb2-metabox > .cmb-row > .cmb-th + .cmb-td {
|
922 |
+
float: none;
|
923 |
+
padding: 0 0 0 1em;
|
924 |
+
margin-left: 200px;
|
925 |
+
}
|
926 |
+
|
927 |
+
/* line 36, sass/partials/_options-page.scss */
|
928 |
+
|
929 |
+
.cmb2-options-page .cmb2-wrap .cmb-type-title {
|
930 |
+
margin-top: 1em;
|
931 |
+
padding: 0.6em 1em;
|
932 |
+
background-color: #fafafa;
|
933 |
+
}
|
934 |
+
|
935 |
+
/* line 41, sass/partials/_options-page.scss */
|
936 |
+
|
937 |
+
.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-title {
|
938 |
+
font-size: 12px;
|
939 |
+
margin-top: 0;
|
940 |
+
margin-bottom: 0;
|
941 |
+
text-transform: uppercase;
|
942 |
+
}
|
943 |
+
|
944 |
+
/* line 48, sass/partials/_options-page.scss */
|
945 |
+
|
946 |
+
.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-description {
|
947 |
+
padding-top: 0.25em;
|
948 |
+
}
|
949 |
+
|
950 |
+
/* line 54, sass/partials/_options-page.scss */
|
951 |
+
|
952 |
+
.cmb2-options-page .cmb-repeatable-group .cmb-group-description .cmb-th {
|
953 |
+
padding: 0 0 0.8em 0;
|
954 |
+
}
|
955 |
+
|
956 |
+
/* line 58, sass/partials/_options-page.scss */
|
957 |
+
|
958 |
+
.cmb2-options-page .cmb-repeatable-group .cmb-group-name {
|
959 |
+
font-size: 16px;
|
960 |
+
margin-top: 0;
|
961 |
+
margin-bottom: 0;
|
962 |
+
}
|
963 |
+
|
964 |
+
/* line 64, sass/partials/_options-page.scss */
|
965 |
+
|
966 |
+
.cmb2-options-page .cmb-repeatable-group .cmb-th > .cmb2-metabox-description {
|
967 |
+
font-weight: 400;
|
968 |
+
padding-bottom: 0 !important;
|
969 |
+
}
|
970 |
+
|
971 |
/*--------------------------------------------------------------
|
972 |
Misc.
|
973 |
--------------------------------------------------------------*/
|
988 |
|
989 |
/* line 18, sass/partials/_misc.scss */
|
990 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
991 |
.cmb2-postbox .cmb-spinner,
|
992 |
.cmb2-no-box-wrap .cmb-spinner {
|
993 |
float: left;
|
994 |
display: none;
|
995 |
}
|
996 |
|
997 |
+
/* line 24, sass/partials/_misc.scss */
|
998 |
|
999 |
.cmb-spinner {
|
1000 |
display: none;
|
1001 |
}
|
1002 |
|
1003 |
+
/* line 26, sass/partials/_misc.scss */
|
1004 |
|
1005 |
.cmb-spinner.is-active {
|
1006 |
display: block;
|
1083 |
/* line 55, sass/partials/_sidebar_placements.scss */
|
1084 |
|
1085 |
.inner-sidebar .cmb-th,
|
1086 |
+
.inner-sidebar .cmb-td:not(.cmb-remove-row),
|
1087 |
.inner-sidebar .cmb-th + .cmb-td,
|
1088 |
#side-sortables .cmb-th,
|
1089 |
+
#side-sortables .cmb-td:not(.cmb-remove-row),
|
1090 |
#side-sortables .cmb-th + .cmb-td {
|
1091 |
width: 100%;
|
1092 |
display: block;
|
1102 |
|
1103 |
/* line 67, sass/partials/_sidebar_placements.scss */
|
1104 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1105 |
.inner-sidebar .cmb-th,
|
1106 |
#side-sortables .cmb-th {
|
1107 |
display: block;
|
1118 |
.inner-sidebar .cmb-th label,
|
1119 |
#side-sortables .cmb-th label {
|
1120 |
display: block;
|
1121 |
+
margin-top: 0;
|
1122 |
+
margin-bottom: 0.5em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1123 |
}
|
1124 |
|
1125 |
/* line 14, sass/partials/_mixins.scss */
|
1130 |
line-height: 1.4em;
|
1131 |
}
|
1132 |
|
1133 |
+
/* line 74, sass/partials/_sidebar_placements.scss */
|
1134 |
|
1135 |
.inner-sidebar .cmb-group-description .cmb-th,
|
1136 |
#side-sortables .cmb-group-description .cmb-th {
|
1137 |
padding-top: 0;
|
1138 |
}
|
1139 |
|
1140 |
+
/* line 77, sass/partials/_sidebar_placements.scss */
|
1141 |
|
1142 |
.inner-sidebar .cmb-group-description .cmb2-metabox-description,
|
1143 |
#side-sortables .cmb-group-description .cmb2-metabox-description {
|
1144 |
padding: 0;
|
1145 |
}
|
1146 |
|
1147 |
+
/* line 84, sass/partials/_sidebar_placements.scss */
|
1148 |
|
1149 |
.inner-sidebar .cmb-group-title .cmb-th,
|
1150 |
#side-sortables .cmb-group-title .cmb-th {
|
1151 |
padding: 0;
|
1152 |
}
|
1153 |
|
1154 |
+
/* line 90, sass/partials/_sidebar_placements.scss */
|
1155 |
|
1156 |
.inner-sidebar .cmb-repeatable-grouping + .cmb-repeatable-grouping,
|
1157 |
#side-sortables .cmb-repeatable-grouping + .cmb-repeatable-grouping {
|
1158 |
margin-top: 1em;
|
1159 |
}
|
1160 |
|
1161 |
+
/* line 99, sass/partials/_sidebar_placements.scss */
|
1162 |
|
1163 |
.inner-sidebar .cmb2-media-status .img-status img,
|
1164 |
.inner-sidebar .cmb2-media-status .embed-status img,
|
1168 |
height: auto;
|
1169 |
}
|
1170 |
|
1171 |
+
/* line 107, sass/partials/_sidebar_placements.scss */
|
1172 |
|
1173 |
.inner-sidebar .cmb2-list label,
|
1174 |
#side-sortables .cmb2-list label {
|
1176 |
font-weight: normal;
|
1177 |
}
|
1178 |
|
1179 |
+
/* line 112, sass/partials/_sidebar_placements.scss */
|
1180 |
|
1181 |
.inner-sidebar .cmb2-metabox-description,
|
1182 |
#side-sortables .cmb2-metabox-description {
|
1184 |
padding: 7px 0 0;
|
1185 |
}
|
1186 |
|
1187 |
+
/* line 119, sass/partials/_sidebar_placements.scss */
|
1188 |
|
1189 |
.inner-sidebar .cmb-type-checkbox .cmb-td label,
|
1190 |
.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description,
|
1194 |
display: inline;
|
1195 |
}
|
1196 |
|
1197 |
+
/* line 126, sass/partials/_sidebar_placements.scss */
|
1198 |
|
1199 |
.inner-sidebar .cmb-row .cmb2-metabox-description,
|
1200 |
#side-sortables .cmb-row .cmb2-metabox-description {
|
1201 |
padding-bottom: 1.8em;
|
1202 |
}
|
1203 |
|
1204 |
+
/* line 130, sass/partials/_sidebar_placements.scss */
|
1205 |
|
1206 |
.inner-sidebar .cmb2-metabox-title,
|
1207 |
#side-sortables .cmb2-metabox-title {
|
1209 |
font-style: italic;
|
1210 |
}
|
1211 |
|
1212 |
+
/* line 135, sass/partials/_sidebar_placements.scss */
|
1213 |
|
1214 |
.inner-sidebar .cmb-remove-row,
|
1215 |
#side-sortables .cmb-remove-row {
|
1218 |
padding-bottom: 0;
|
1219 |
}
|
1220 |
|
1221 |
+
/* line 141, sass/partials/_sidebar_placements.scss */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1222 |
|
1223 |
.inner-sidebar .cmb2-upload-button,
|
1224 |
#side-sortables .cmb2-upload-button {
|
1228 |
|
1229 |
/* line 2, sass/partials/_collapsible_ui.scss */
|
1230 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1231 |
.cmb2-metabox .cmbhandle {
|
1232 |
color: #aaa;
|
1233 |
float: right;
|
1238 |
position: relative;
|
1239 |
}
|
1240 |
|
1241 |
+
/* line 10, sass/partials/_collapsible_ui.scss */
|
1242 |
|
1243 |
.cmb2-metabox .cmbhandle:before {
|
1244 |
content: '\f142';
|
1254 |
text-decoration: none !important;
|
1255 |
}
|
1256 |
|
1257 |
+
/* line 27, sass/partials/_collapsible_ui.scss */
|
1258 |
|
1259 |
.cmb2-metabox .postbox.closed .cmbhandle:before {
|
1260 |
content: '\f140';
|
1261 |
}
|
1262 |
|
1263 |
+
/* line 33, sass/partials/_collapsible_ui.scss */
|
1264 |
|
1265 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row {
|
1266 |
-webkit-appearance: none !important;
|
1274 |
opacity: .5;
|
1275 |
}
|
1276 |
|
1277 |
+
/* line 43, sass/partials/_collapsible_ui.scss */
|
1278 |
|
1279 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]) {
|
1280 |
cursor: pointer;
|
1282 |
opacity: 1;
|
1283 |
}
|
1284 |
|
1285 |
+
/* line 47, sass/partials/_collapsible_ui.scss */
|
1286 |
|
1287 |
.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover {
|
1288 |
color: #f00;
|
1982 |
|
1983 |
@media (max-width: 450px) {
|
1984 |
|
1985 |
+
/* line 193, sass/partials/_main_wrap.scss */
|
1986 |
|
1987 |
.cmb-th {
|
1988 |
font-size: 1.2em;
|
1997 |
|
1998 |
.cmb-th label {
|
1999 |
display: block;
|
2000 |
+
margin-top: 0;
|
2001 |
+
margin-bottom: 0.5em;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2002 |
}
|
2003 |
|
2004 |
+
/* line 511, sass/partials/_main_wrap.scss */
|
2005 |
|
2006 |
.cmb-th,
|
2007 |
.cmb-td,
|
2011 |
width: 100%;
|
2012 |
}
|
2013 |
|
2014 |
+
/* line 68, sass/partials/_post_metaboxes.scss */
|
2015 |
|
2016 |
.cmb2-postbox .cmb-row:not(:last-of-type),
|
2017 |
.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),
|
2020 |
border-bottom: 0;
|
2021 |
}
|
2022 |
|
2023 |
+
/* line 23, sass/partials/_options-page.scss */
|
2024 |
+
|
2025 |
+
.cmb2-options-page .cmb2-metabox > .cmb-row > .cmb-th + .cmb-td {
|
2026 |
+
padding: 0;
|
2027 |
+
margin-left: 0;
|
2028 |
+
}
|
2029 |
+
|
2030 |
}
|
2031 |
|
vendor/CMB2/css/cmb2.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-left:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 5px 0 0;padding:0}.cmb2-wrap .button,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 10px 0 0}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat-row{padding:1.8em 0 0}.cmb2-wrap .cmb-row.cmb-repeat-row:first-of-type{padding:0}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1.8em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb2-metabox>.cmb-row .cmb-repeat-table .cmb-row>.cmb-td{padding-right:20px;box-sizing:border-box;float:left}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em;max-width:1000px}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:left;font-weight:600;line-height:1.3;padding:20px 10px 20px 0;vertical-align:top;width:200px}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:left}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:right}.empty-row.hidden{display:none}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 12px 8px 2.2em;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:left;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-repeatable-group .cmb-group-description .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-right:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:right}p.cmb2-metabox-description{color:#aaa;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#aaa;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-right:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;vertical-align:middle;margin-right:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px;height:auto}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#fff;border:1px solid #e9e9e9;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0;padding:5px}.cmb2-media-status .embed-status{float:left;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;left:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;vertical-align:middle;width:auto;margin-right:10px;margin-bottom:10px;margin-top:0}.cmb-attach-list li{clear:both;display:inline-block;width:100%;margin-top:5px;margin-bottom:10px}.cmb-attach-list li img{cursor:move;float:left;margin-right:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:left}#poststuff .cmb-group-title{margin-left:-1em;margin-right:-1em;min-height:1.5em}#poststuff .repeatable .cmb-group-title{padding-left:2.2em}.cmb-type-group .cmb2-wrap,.cmb2-postbox .cmb2-wrap{margin:0}.cmb-type-group .cmb2-wrap>.cmb-field-list>.cmb-row,.cmb2-postbox .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-type-group .cmb2-wrap input[type=text].cmb2-oembed,.cmb2-postbox .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-type-group .cmb-row,.cmb2-postbox .cmb-row{padding:0 0 1.8em;margin:0 0 .8em}.cmb-type-group .cmb-row .cmbhandle,.cmb2-postbox .cmb-row .cmbhandle{right:-1em;position:relative}.cmb-type-group .cmb-repeatable-grouping,.cmb2-postbox .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-type-group .cmb-repeatable-group>.cmb-row,.cmb2-postbox .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-type-group .cmb-th,.cmb2-postbox .cmb-th{width:18%;padding:0 2% 0 0}.cmb-type-group .cmb-td,.cmb2-postbox .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-type-group .cmb-repeat-row .cmb-td,.cmb2-postbox .cmb-repeat-row .cmb-td{padding-bottom:1.8em}.cmb-type-group .cmb-th+.cmb-td,.cmb2-postbox .cmb-th+.cmb-td{width:80%;float:right}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}.cmb-type-group .cmb-remove-field-row,.cmb-type-group .cmb-repeat-group-field,.cmb2-postbox .cmb-remove-field-row,.cmb2-postbox .cmb-repeat-group-field{padding-top:1.8em}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody{display:table;width:100%}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody input.regular-text{width:100%}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row),.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(.hidden):not(.empty-row){display:table-row}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td{display:table-cell;float:none;width:100%}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-row:not(:first-of-type) .cmb-td{padding-top:1.8em}.cmb-type-group .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb-type-group .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb2-postbox .cmb2-metabox>.cmb-row .cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row,.cmb2-postbox .cmb2-metabox>.cmb-row.table-layout .cmb-repeat-table .cmb-tbody .cmb-td.cmb-remove-row{padding-right:0}.js .cmb2-postbox.context-box .toggle-indicator:before{content:"\f142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js .cmb2-postbox.context-box.closed .toggle-indicator:before{content:"\f140"}.cmb2-postbox.context-box{margin-bottom:10px}.cmb2-postbox.context-box.context-after_title-box,.cmb2-postbox.context-box.context-before_permalink-box{margin-top:10px}.cmb2-postbox.context-box.context-after_editor-box{margin-top:20px;margin-bottom:0}.cmb2-postbox.context-box.context-form_top-box{margin-top:10px}.cmb2-postbox.context-box.context-form_top-box .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb2-postbox.context-box .hndle{cursor:auto}.cmb2-context-wrap{margin-top:10px}.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-right:300px;width:auto}.cmb2-context-wrap.cmb2-context-wrap-no-title .cmb2-metabox{padding:10px}.cmb2-context-wrap .cmb-th{padding:0 2% 0 0;width:18%}.cmb2-context-wrap .cmb-td{width:80%;padding:0}.cmb2-context-wrap .cmb-row{margin-bottom:10px}.cmb2-context-wrap .cmb-row:last-of-type{margin-bottom:0}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.cmb2-options-page .cmb2-metabox-title{font-size:1.3em;margin:1em 0}.cmb2-options-page .cmb2-metabox-title+p.cmb2-metabox-description{margin-top:-1.6em;margin-bottom:.8em}.cmb2-no-box-wrap .cmb-spinner,.cmb2-postbox .cmb-spinner{float:left;display:none}.cmb-spinner{display:none}.cmb-spinner.is-active{display:block}#side-sortables .cmb2-wrap>.cmb-field-list>.cmb-row,.inner-sidebar .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.4em 0}#side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker),.inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker){width:100%}#side-sortables .cmb2-wrap input+input:not(.wp-picker-clear),#side-sortables .cmb2-wrap input+select,.inner-sidebar .cmb2-wrap input+input:not(.wp-picker-clear),.inner-sidebar .cmb2-wrap input+select{margin-left:0;margin-top:1em;display:block}#side-sortables .cmb2-wrap input.cmb2-text-money,.inner-sidebar .cmb2-wrap input.cmb2-text-money{max-width:70%}#side-sortables .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description,.inner-sidebar .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description{display:block}#side-sortables .cmb2-wrap label,.inner-sidebar .cmb2-wrap label{display:block;font-weight:700;padding:0 0 5px}#side-sortables textarea,.inner-sidebar textarea{max-width:99%}#side-sortables .cmb-repeatable-group,.inner-sidebar .cmb-repeatable-group{border-bottom:1px solid #e9e9e9}#side-sortables .cmb-type-group>.cmb-td>.cmb-repeatable-group,.inner-sidebar .cmb-type-group>.cmb-td>.cmb-repeatable-group{border-bottom:0;margin-bottom:-1.4em}#side-sortables .cmb-td,#side-sortables .cmb-th,#side-sortables .cmb-th+.cmb-td,.inner-sidebar .cmb-td,.inner-sidebar .cmb-th,.inner-sidebar .cmb-th+.cmb-td{width:100%;display:block;float:none}#side-sortables .closed .inside,.inner-sidebar .closed .inside{display:none}#side-sortables .cmb-td .cmb-td,.inner-sidebar .cmb-td .cmb-td{padding-bottom:1em}#side-sortables .cmb-th,.inner-sidebar .cmb-th{display:block;float:none;padding-bottom:1em;text-align:left;width:100%;padding-left:0;padding-right:0}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{display:block;margin-top:0;padding-bottom:5px}#side-sortables .cmb-th label:after,.inner-sidebar .cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{font-size:14px;line-height:1.4em}#side-sortables .cmb-group-description .cmb-th,.inner-sidebar .cmb-group-description .cmb-th{padding-top:0}#side-sortables .cmb-group-description .cmb2-metabox-description,#side-sortables .cmb-group-title .cmb-th,.inner-sidebar .cmb-group-description .cmb2-metabox-description,.inner-sidebar .cmb-group-title .cmb-th{padding:0}#side-sortables .cmb-repeatable-grouping+.cmb-repeatable-grouping,.inner-sidebar .cmb-repeatable-grouping+.cmb-repeatable-grouping{margin-top:1em}#side-sortables .cmb2-media-status .embed-status img,#side-sortables .cmb2-media-status .img-status img,.inner-sidebar .cmb2-media-status .embed-status img,.inner-sidebar .cmb2-media-status .img-status img{max-width:90%;height:auto}#side-sortables .cmb2-list label,.inner-sidebar .cmb2-list label{display:inline;font-weight:400}#side-sortables .cmb2-metabox-description,.inner-sidebar .cmb2-metabox-description{display:block;padding:7px 0 0}#side-sortables .cmb-type-checkbox .cmb-td label,#side-sortables .cmb-type-checkbox .cmb2-metabox-description,.inner-sidebar .cmb-type-checkbox .cmb-td label,.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description{font-weight:400;display:inline}#side-sortables .cmb-row .cmb2-metabox-description,.inner-sidebar .cmb-row .cmb2-metabox-description{padding-bottom:1.8em}#side-sortables .cmb2-metabox-title,.inner-sidebar .cmb2-metabox-title{font-size:1.2em;font-style:italic}#side-sortables .cmb-remove-row,.inner-sidebar .cmb-remove-row{clear:both;padding-top:12px;padding-bottom:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td{width:auto;clear:none;float:left;padding-top:0}#side-sortables .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row,.inner-sidebar .cmb-type-colorpicker .cmb-repeat-row .cmb-td.cmb-remove-row{float:right;margin:0}#side-sortables .cmb2-upload-button,.inner-sidebar .cmb2-upload-button{clear:both;margin-top:12px}.cmb2-metabox .cmb-type-group{max-width:1000px}.cmb2-metabox .cmbhandle{color:#aaa;float:right;width:27px;height:30px;cursor:pointer;right:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';right:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;left:0;top:.5em;line-height:1em;padding:2px 6px 3px;opacity:.5}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){cursor:pointer;color:#a00;opacity:1}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}* html .cmb2-element.ui-helper-clearfix{height:1%}.cmb2-element .ui-datepicker,.cmb2-element.ui-datepicker{padding:0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background-color:#fff;border:1px solid #dfdfdf;border-top:none;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075);min-width:17em;width:auto}.cmb2-element .ui-datepicker *,.cmb2-element.ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{font-size:13px;margin:0;border:none;border-collapse:collapse}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{border:none;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover{background:0 0;border-color:transparent;cursor:pointer}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin:0;padding:10px 0;color:#fff;font-size:14px;line-height:14px;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select,.cmb2-element.ui-datepicker .ui-datepicker-title select{margin-top:-8px;margin-bottom:-8px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-prev{position:relative;top:0;height:34px;width:34px}.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-prev{border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{left:0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next-hover{right:0}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{display:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev{float:left}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next{float:right}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{font:400 20px/34px dashicons;padding-left:7px;color:#fff;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:34px;height:34px}.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{content:'\f341'}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before{content:'\f345'}.cmb2-element .ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover:before{opacity:.7}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-year{width:33%;background:0 0;border-color:transparent;box-shadow:none;color:#fff}.cmb2-element .ui-datepicker select.ui-datepicker-month option,.cmb2-element .ui-datepicker select.ui-datepicker-year option,.cmb2-element.ui-datepicker select.ui-datepicker-month option,.cmb2-element.ui-datepicker select.ui-datepicker-year option{color:#333}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{color:#fff;font-weight:600}.cmb2-element .ui-datepicker thead th,.cmb2-element.ui-datepicker thead th{font-weight:400}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{padding:10px}.cmb2-element .ui-datepicker td,.cmb2-element.ui-datepicker td{padding:0;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-other-month,.cmb2-element.ui-datepicker td.ui-datepicker-other-month{border:transparent}.cmb2-element .ui-datepicker td.ui-datepicker-week-end,.cmb2-element.ui-datepicker td.ui-datepicker-week-end{background-color:#f4f4f4;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today{-webkit-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);-moz-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1)}.cmb2-element .ui-datepicker td.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-today{background-color:#f0f0c0}.cmb2-element .ui-datepicker td.ui-datepicker-current-day,.cmb2-element.ui-datepicker td.ui-datepicker-current-day{background:#bd8}.cmb2-element .ui-datepicker td .ui-state-default,.cmb2-element.ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;text-decoration:none;width:auto;display:block;padding:5px 10px;font-weight:400;color:#444}.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{opacity:.5}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{background:#32373c}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover,.cmb2-element.ui-datepicker td .ui-state-active,.cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.cmb2-element .ui-datepicker .ui-timepicker-div,.cmb2-element.ui-datepicker .ui-timepicker-div{font-size:14px}.cmb2-element .ui-datepicker .ui-timepicker-div dl,.cmb2-element.ui-datepicker .ui-timepicker-div dl{text-align:left;padding:0 .6em}.cmb2-element .ui-datepicker .ui-timepicker-div dl dt,.cmb2-element.ui-datepicker .ui-timepicker-div dl dt{float:left;clear:left;padding:0 0 0 5px}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd{margin:0 10px 10px 40%}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd select,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd select{width:100%}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane{padding:.6em;text-align:left}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary{padding:0 10px 1px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;margin:0 .6em .4em .4em}.admin-color-fresh .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.admin-color-fresh .cmb2-element .ui-datepicker thead,.admin-color-fresh .cmb2-element.ui-datepicker thead{background:#32373c}.admin-color-fresh .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-fresh .cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-widget-header{background:#52accc}.admin-color-blue .cmb2-element .ui-datepicker thead,.admin-color-blue .cmb2-element.ui-datepicker thead{background:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover{background:#096484;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-blue .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-widget-header{background:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker thead,.admin-color-coffee .cmb2-element.ui-datepicker thead{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover{background:#c7a589;color:#fff}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-widget-header{background:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker thead,.admin-color-ectoplasm .cmb2-element.ui-datepicker thead{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover{background:#a3b745;color:#fff}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-widget-header{background:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker thead,.admin-color-midnight .cmb2-element.ui-datepicker thead{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover{background:#e14d43;color:#fff}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-widget-header{background:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker thead,.admin-color-ocean .cmb2-element.ui-datepicker thead{background:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover{background:#9ebaa0;color:#fff}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-widget-header{background:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker th,.admin-color-sunrise .cmb2-element.ui-datepicker th{border-color:#be3631;background:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover{background:#dd823b;color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element.ui-datepicker .ui-widget-header{background:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-year,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-year{color:#555}.admin-color-light .cmb2-element .ui-datepicker thead,.admin-color-light .cmb2-element.ui-datepicker thead{background:#888}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-default{color:#555}.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover{background:#ccc}.admin-color-light .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-light .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-widget-header{background:#56b274}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker thead,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker thead{background:#36533f}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker td .ui-state-hover{background:#446950;color:#fff}.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-widget-header{background:#4ca26a}.admin-color-bbp-mint .cmb2-element .ui-datepicker thead,.admin-color-bbp-mint .cmb2-element.ui-datepicker thead{background:#4f6d59}.admin-color-bbp-mint .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-mint .cmb2-element.ui-datepicker td .ui-state-hover{background:#5fb37c;color:#fff}@media only screen and (max-width:850px){.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-right:0}}@media (max-width:450px){.cmb-th{font-size:1.2em;padding-bottom:1em;text-align:left}.cmb-th label{display:block;margin-top:0;padding-bottom:5px}.cmb-th label:after{border-bottom:1px solid #e9e9e9;content:'';clear:both;display:block;padding-top:.4em}.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:0}}
|
1 |
+
.cmb2-wrap{margin:0}.cmb2-wrap input,.cmb2-wrap textarea{font-size:14px;max-width:100%;padding:5px}.cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb2-wrap textarea{width:500px}.cmb2-wrap textarea.cmb2-textarea-code{font-family:"Courier 10 Pitch",Courier,monospace;line-height:16px}.cmb2-wrap input.cmb2-text-small,.cmb2-wrap input.cmb2-timepicker{width:100px}.cmb2-wrap input.cmb2-text-money{width:90px}.cmb2-wrap input.cmb2-text-medium{width:230px}.cmb2-wrap input.cmb2-upload-file{width:65%}.cmb2-wrap input.ed_button{padding:2px 4px}.cmb2-wrap input:not([type=hidden])+.button-secondary,.cmb2-wrap input:not([type=hidden])+input,.cmb2-wrap input:not([type=hidden])+select{margin-left:20px}.cmb2-wrap ul{margin:0}.cmb2-wrap li{font-size:14px;line-height:16px;margin:1px 0 5px}.cmb2-wrap select{font-size:14px;margin-top:3px}.cmb2-wrap input:focus,.cmb2-wrap textarea:focus{background:#fffff8}.cmb2-wrap input[type=checkbox],.cmb2-wrap input[type=radio]{margin:0 5px 0 0;padding:0}.cmb2-wrap .button-secondary,.cmb2-wrap button{white-space:nowrap}.cmb2-wrap .mceLayout{border:1px solid #e9e9e9!important}.cmb2-wrap .mceIframeContainer{background:#fff}.cmb2-wrap .meta_mce{width:97%}.cmb2-wrap .meta_mce textarea{width:100%}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-input-wrap{vertical-align:middle}.cmb2-wrap .wp-color-result,.cmb2-wrap .wp-picker-container{margin:0 10px 0 0}.cmb2-wrap .cmb-row{margin:0}.cmb2-wrap .cmb-row:after{content:'';clear:both;display:block;width:100%}.cmb2-wrap .cmb-row.cmb-repeat .cmb2-metabox-description{padding-top:0;padding-bottom:1em}.cmb2-metabox{clear:both;margin:0}.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox .cmb-field-list>.cmb-row:first-of-type>.cmb-th,.cmb2-metabox>.cmb-row:first-of-type>.cmb-td,.cmb2-metabox>.cmb-row:first-of-type>.cmb-th{border:0}.cmb-add-row{margin:1.8em 0 0}.cmb-nested .cmb-td,.cmb-repeatable-group .cmb-th,.cmb-repeatable-group:first-of-type{border:0}.cmb-repeatable-group:last-of-type,.cmb-row:last-of-type,.cmb2-wrap .cmb-row:last-of-type{border-bottom:0}.cmb-repeatable-grouping{border:1px solid #e9e9e9;padding:0 1em}.cmb-repeatable-grouping.cmb-row{margin:0 0 .8em}.cmb-th{color:#222;float:left;font-weight:600;line-height:1.3;padding:20px 10px 20px 0;vertical-align:top;width:200px}.cmb-td{line-height:1.3;max-width:100%;padding:15px 10px;vertical-align:middle}.cmb-type-title .cmb-td{padding:0}.cmb-th label{display:block;padding:5px 0}.cmb-th+.cmb-td{float:left}.cmb-td .cmb-td{padding-bottom:1em}.cmb-remove-row{text-align:right}.empty-row.hidden{display:none}.cmb-repeat-table{background-color:#fafafa;border:1px solid #e1e1e1}.cmb-repeat-table .cmb-row.cmb-repeat-row{position:relative;counter-increment:el;margin:0;padding:10px 10px 10px 50px;border-bottom:none!important}.cmb-repeat-table .cmb-row.cmb-repeat-row+.cmb-repeat-row{border-top:solid 1px #e9e9e9}.cmb-repeat-table .cmb-row.cmb-repeat-row:before{content:counter(el);display:block;top:0;left:0;position:absolute;width:35px;height:100%;line-height:35px;color:#aaa;text-align:center;border-right:solid 1px #e9e9e9}.cmb-repeat-table .cmb-row.cmb-repeat-row .cmb-td{margin:0;padding:0}.cmb-repeat-table+.cmb-add-row{margin:0}.cmb-repeat-table+.cmb-add-row:before{content:'';width:1px;height:1.6em;display:block;margin-left:17px;background-color:#dcdcdc}.cmb-repeat-table .cmb-remove-row{top:7px;right:7px;position:absolute;width:auto;margin-left:0;padding:0!important;display:none}.cmb-repeat-table .cmb-remove-row>.cmb-remove-row-button{font-size:20px;text-indent:-1000px;overflow:hidden;position:relative;height:auto;line-height:1;padding:0 10px}.cmb-repeat-table .cmb-remove-row>.cmb-remove-row-button:before{content:"";font-family:Dashicons;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center}.cmb-repeat-table .cmb-repeat-row:hover .cmb-remove-row{display:block}.cmb-repeatable-group .cmb-th{padding:5px}.cmb-repeatable-group .cmb-group-title{background-color:#e9e9e9;padding:8px 12px 8px 2.2em;margin:0 -1em;min-height:1.5em;font-size:14px;line-height:1.4}.cmb-repeatable-group .cmb-group-title h4{border:0;margin:0;font-size:1.2em;font-weight:500;padding:.5em .75em}.cmb-repeatable-group .cmb-group-title .cmb-th{display:block;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th{font-size:1.2em;display:block;float:none;padding-bottom:1em;text-align:left;width:100%}.cmb-repeatable-group .cmb-group-description .cmb-th label{display:block;margin-top:0;margin-bottom:.5em}.cmb-repeatable-group .cmb-shift-rows{font-size:1em;margin-right:1em;text-decoration:none}.cmb-repeatable-group .cmb-shift-rows .dashicons{font-size:1.5em;height:1.5em;line-height:1.2em;width:1em}.cmb-repeatable-group .cmb-shift-rows .dashicons.dashicons-arrow-down-alt2{line-height:1.3em}.cmb-repeatable-group .cmb2-upload-button{float:right}p.cmb2-metabox-description{color:#aaa;font-style:italic;margin:0;padding-top:.5em}span.cmb2-metabox-description{color:#aaa;font-style:italic}.cmb2-metabox-title{margin:0 0 5px;padding:5px 0 0;font-size:14px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-right:18px}.cmb-type-textarea-code pre{margin:0}.cmb2-media-status .img-status{clear:none;display:inline-block;vertical-align:middle;margin-right:10px;width:auto}.cmb2-media-status .img-status img{max-width:350px;height:auto}.cmb2-media-status .embed-status,.cmb2-media-status .img-status img{background:#fff;border:1px solid #e9e9e9;border-radius:2px;-moz-border-radius:2px;margin:15px 0 0;padding:5px}.cmb2-media-status .embed-status{float:left;max-width:800px}.cmb2-media-status .embed-status,.cmb2-media-status .img-status{position:relative}.cmb2-media-status .embed-status .cmb2-remove-file-button,.cmb2-media-status .img-status .cmb2-remove-file-button{background:url(../images/ico-delete.png);height:16px;left:-5px;position:absolute;text-indent:-9999px;top:-5px;width:16px}.cmb2-media-status .img-status .cmb2-remove-file-button{top:10px}.cmb2-media-status .file-status>span,.cmb2-media-status .img-status img{cursor:pointer}.cmb-type-file-list .cmb2-media-status .img-status{clear:none;vertical-align:middle;width:auto;margin-right:10px;margin-bottom:10px;margin-top:0}.cmb-attach-list li{clear:both;display:inline-block;width:100%;margin-top:5px;margin-bottom:10px}.cmb-attach-list li img{cursor:move;float:left;margin-right:10px}.cmb2-remove-wrapper{margin:0}.child-cmb2 .cmb-th{text-align:left}.cmb2-indented-hierarchy{padding-left:1.5em}#poststuff .cmb-group-title{margin-left:-1em;margin-right:-1em;min-height:1.5em}#poststuff .repeatable .cmb-group-title{padding-left:2.2em}.cmb-type-group .cmb2-wrap,.cmb2-postbox .cmb2-wrap{margin:0}.cmb-type-group .cmb2-wrap>.cmb-field-list>.cmb-row,.cmb2-postbox .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.8em 0}.cmb-type-group .cmb2-wrap input[type=text].cmb2-oembed,.cmb2-postbox .cmb2-wrap input[type=text].cmb2-oembed{width:100%}.cmb-type-group .cmb-row,.cmb2-postbox .cmb-row{padding:0 0 1.8em;margin:0 0 .8em}.cmb-type-group .cmb-row .cmbhandle,.cmb2-postbox .cmb-row .cmbhandle{right:-1em;position:relative}.cmb-type-group .cmb-repeatable-grouping,.cmb2-postbox .cmb-repeatable-grouping{padding:0 1em;max-width:100%;min-width:1px!important}.cmb-type-group .cmb-repeatable-group>.cmb-row,.cmb2-postbox .cmb-repeatable-group>.cmb-row{padding-bottom:0}.cmb-type-group .cmb-th,.cmb2-postbox .cmb-th{width:18%;padding:0 2% 0 0}.cmb-type-group .cmb-td,.cmb2-postbox .cmb-td{margin-bottom:0;padding:0;line-height:1.3}.cmb-type-group .cmb-th+.cmb-td,.cmb2-postbox .cmb-th+.cmb-td{width:80%;float:right}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:1px solid #e9e9e9}.cmb-type-group .cmb-remove-field-row,.cmb-type-group .cmb-repeat-group-field,.cmb2-postbox .cmb-remove-field-row,.cmb2-postbox .cmb-repeat-group-field{padding-top:1.8em}.js .cmb2-postbox.context-box .toggle-indicator:before{content:"\f142";display:inline-block;font:400 20px/1 dashicons;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.js .cmb2-postbox.context-box.closed .toggle-indicator:before{content:"\f140"}.cmb2-postbox.context-box{margin-bottom:10px}.cmb2-postbox.context-box.context-after_title-box,.cmb2-postbox.context-box.context-before_permalink-box{margin-top:10px}.cmb2-postbox.context-box.context-after_editor-box{margin-top:20px;margin-bottom:0}.cmb2-postbox.context-box.context-form_top-box{margin-top:10px}.cmb2-postbox.context-box.context-form_top-box .hndle{font-size:14px;padding:8px 12px;margin:0;line-height:1.4}.cmb2-postbox.context-box .hndle{cursor:auto}.cmb2-context-wrap{margin-top:10px}.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-right:300px;width:auto}.cmb2-context-wrap.cmb2-context-wrap-no-title .cmb2-metabox{padding:10px}.cmb2-context-wrap .cmb-th{padding:0 2% 0 0;width:18%}.cmb2-context-wrap .cmb-td{width:80%;padding:0}.cmb2-context-wrap .cmb-row{margin-bottom:10px}.cmb2-context-wrap .cmb-row:last-of-type{margin-bottom:0}.cmb2-options-page{max-width:1200px}.cmb2-options-page.wrap>h2{margin-bottom:1em}.cmb2-options-page .cmb2-metabox>.cmb-row{padding:1em;margin-top:-1px;background:#fff;border:1px solid #e9e9e9;box-shadow:0 1px 1px rgba(0,0,0,.05)}.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th{padding:0;font-weight:initial}.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th+.cmb-td{float:none;padding:0 0 0 1em;margin-left:200px}.cmb2-options-page .cmb2-wrap .cmb-type-title{margin-top:1em;padding:.6em 1em;background-color:#fafafa}.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-title{font-size:12px;margin-top:0;margin-bottom:0;text-transform:uppercase}.cmb2-options-page .cmb2-wrap .cmb-type-title .cmb2-metabox-description{padding-top:.25em}.cmb2-options-page .cmb-repeatable-group .cmb-group-description .cmb-th{padding:0 0 .8em}.cmb2-options-page .cmb-repeatable-group .cmb-group-name{font-size:16px;margin-top:0;margin-bottom:0}.cmb2-options-page .cmb-repeatable-group .cmb-th>.cmb2-metabox-description{font-weight:400;padding-bottom:0!important}#poststuff .cmb-repeatable-group h2{margin:0}.edit-tags-php .cmb2-metabox-title,.profile-php .cmb2-metabox-title,.user-edit-php .cmb2-metabox-title{font-size:1.4em}.cmb2-no-box-wrap .cmb-spinner,.cmb2-postbox .cmb-spinner{float:left;display:none}.cmb-spinner{display:none}.cmb-spinner.is-active{display:block}#side-sortables .cmb2-wrap>.cmb-field-list>.cmb-row,.inner-sidebar .cmb2-wrap>.cmb-field-list>.cmb-row{padding:1.4em 0}#side-sortables .cmb2-wrap input[type=text]:not(.wp-color-picker),.inner-sidebar .cmb2-wrap input[type=text]:not(.wp-color-picker){width:100%}#side-sortables .cmb2-wrap input+input:not(.wp-picker-clear),#side-sortables .cmb2-wrap input+select,.inner-sidebar .cmb2-wrap input+input:not(.wp-picker-clear),.inner-sidebar .cmb2-wrap input+select{margin-left:0;margin-top:1em;display:block}#side-sortables .cmb2-wrap input.cmb2-text-money,.inner-sidebar .cmb2-wrap input.cmb2-text-money{max-width:70%}#side-sortables .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description,.inner-sidebar .cmb2-wrap input.cmb2-text-money+.cmb2-metabox-description{display:block}#side-sortables .cmb2-wrap label,.inner-sidebar .cmb2-wrap label{display:block;font-weight:700;padding:0 0 5px}#side-sortables textarea,.inner-sidebar textarea{max-width:99%}#side-sortables .cmb-repeatable-group,.inner-sidebar .cmb-repeatable-group{border-bottom:1px solid #e9e9e9}#side-sortables .cmb-type-group>.cmb-td>.cmb-repeatable-group,.inner-sidebar .cmb-type-group>.cmb-td>.cmb-repeatable-group{border-bottom:0;margin-bottom:-1.4em}#side-sortables .cmb-td:not(.cmb-remove-row),#side-sortables .cmb-th,#side-sortables .cmb-th+.cmb-td,.inner-sidebar .cmb-td:not(.cmb-remove-row),.inner-sidebar .cmb-th,.inner-sidebar .cmb-th+.cmb-td{width:100%;display:block;float:none}#side-sortables .closed .inside,.inner-sidebar .closed .inside{display:none}#side-sortables .cmb-th,.inner-sidebar .cmb-th{display:block;float:none;padding-bottom:1em;text-align:left;width:100%;padding-left:0;padding-right:0}#side-sortables .cmb-th label,.inner-sidebar .cmb-th label{display:block;margin-top:0;margin-bottom:.5em;font-size:14px;line-height:1.4em}#side-sortables .cmb-group-description .cmb-th,.inner-sidebar .cmb-group-description .cmb-th{padding-top:0}#side-sortables .cmb-group-description .cmb2-metabox-description,#side-sortables .cmb-group-title .cmb-th,.inner-sidebar .cmb-group-description .cmb2-metabox-description,.inner-sidebar .cmb-group-title .cmb-th{padding:0}#side-sortables .cmb-repeatable-grouping+.cmb-repeatable-grouping,.inner-sidebar .cmb-repeatable-grouping+.cmb-repeatable-grouping{margin-top:1em}#side-sortables .cmb2-media-status .embed-status img,#side-sortables .cmb2-media-status .img-status img,.inner-sidebar .cmb2-media-status .embed-status img,.inner-sidebar .cmb2-media-status .img-status img{max-width:90%;height:auto}#side-sortables .cmb2-list label,.inner-sidebar .cmb2-list label{display:inline;font-weight:400}#side-sortables .cmb2-metabox-description,.inner-sidebar .cmb2-metabox-description{display:block;padding:7px 0 0}#side-sortables .cmb-type-checkbox .cmb-td label,#side-sortables .cmb-type-checkbox .cmb2-metabox-description,.inner-sidebar .cmb-type-checkbox .cmb-td label,.inner-sidebar .cmb-type-checkbox .cmb2-metabox-description{font-weight:400;display:inline}#side-sortables .cmb-row .cmb2-metabox-description,.inner-sidebar .cmb-row .cmb2-metabox-description{padding-bottom:1.8em}#side-sortables .cmb2-metabox-title,.inner-sidebar .cmb2-metabox-title{font-size:1.2em;font-style:italic}#side-sortables .cmb-remove-row,.inner-sidebar .cmb-remove-row{clear:both;padding-top:12px;padding-bottom:0}#side-sortables .cmb2-upload-button,.inner-sidebar .cmb2-upload-button{clear:both;margin-top:12px}.cmb2-metabox .cmbhandle{color:#aaa;float:right;width:27px;height:30px;cursor:pointer;right:-1em;position:relative}.cmb2-metabox .cmbhandle:before{content:'\f142';right:12px;font:400 20px/1 dashicons;speak:none;display:inline-block;padding:8px 10px;top:0;position:relative;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none!important}.cmb2-metabox .postbox.closed .cmbhandle:before{content:'\f140'}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row{-webkit-appearance:none!important;background:none!important;border:none!important;position:absolute;left:0;top:.5em;line-height:1em;padding:2px 6px 3px;opacity:.5}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]){cursor:pointer;color:#a00;opacity:1}.cmb2-metabox button.dashicons-before.dashicons-no-alt.cmb-remove-group-row:not([disabled]):hover{color:red}* html .cmb2-element.ui-helper-clearfix{height:1%}.cmb2-element .ui-datepicker,.cmb2-element.ui-datepicker{padding:0;margin:0;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0;background-color:#fff;border:1px solid #dfdfdf;border-top:none;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.075);box-shadow:0 3px 6px rgba(0,0,0,.075);min-width:17em;width:auto}.cmb2-element .ui-datepicker *,.cmb2-element.ui-datepicker *{padding:0;font-family:"Open Sans",sans-serif;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.cmb2-element .ui-datepicker table,.cmb2-element.ui-datepicker table{font-size:13px;margin:0;border:none;border-collapse:collapse}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{border:none;color:#fff;font-weight:400}.cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover{background:0 0;border-color:transparent;cursor:pointer}.cmb2-element .ui-datepicker .ui-datepicker-title,.cmb2-element.ui-datepicker .ui-datepicker-title{margin:0;padding:10px 0;color:#fff;font-size:14px;line-height:14px;text-align:center}.cmb2-element .ui-datepicker .ui-datepicker-title select,.cmb2-element.ui-datepicker .ui-datepicker-title select{margin-top:-8px;margin-bottom:-8px}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-prev{position:relative;top:0;height:34px;width:34px}.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element .ui-datepicker .ui-state-hover.ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-next,.cmb2-element.ui-datepicker .ui-state-hover.ui-datepicker-prev{border:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover,.cmb2-element.ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover{left:0}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element .ui-datepicker .ui-datepicker-next-hover,.cmb2-element.ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next-hover{right:0}.cmb2-element .ui-datepicker .ui-datepicker-next span,.cmb2-element .ui-datepicker .ui-datepicker-prev span,.cmb2-element.ui-datepicker .ui-datepicker-next span,.cmb2-element.ui-datepicker .ui-datepicker-prev span{display:none}.cmb2-element .ui-datepicker .ui-datepicker-prev,.cmb2-element.ui-datepicker .ui-datepicker-prev{float:left}.cmb2-element .ui-datepicker .ui-datepicker-next,.cmb2-element.ui-datepicker .ui-datepicker-next{float:right}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{font:400 20px/34px dashicons;padding-left:7px;color:#fff;speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:34px;height:34px}.cmb2-element .ui-datepicker .ui-datepicker-prev:before,.cmb2-element.ui-datepicker .ui-datepicker-prev:before{content:'\f341'}.cmb2-element .ui-datepicker .ui-datepicker-next:before,.cmb2-element.ui-datepicker .ui-datepicker-next:before{content:'\f345'}.cmb2-element .ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element .ui-datepicker .ui-datepicker-prev-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-next-hover:before,.cmb2-element.ui-datepicker .ui-datepicker-prev-hover:before{opacity:.7}.cmb2-element .ui-datepicker select.ui-datepicker-month,.cmb2-element .ui-datepicker select.ui-datepicker-year,.cmb2-element.ui-datepicker select.ui-datepicker-month,.cmb2-element.ui-datepicker select.ui-datepicker-year{width:33%;background:0 0;border-color:transparent;box-shadow:none;color:#fff}.cmb2-element .ui-datepicker select.ui-datepicker-month option,.cmb2-element .ui-datepicker select.ui-datepicker-year option,.cmb2-element.ui-datepicker select.ui-datepicker-month option,.cmb2-element.ui-datepicker select.ui-datepicker-year option{color:#333}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{color:#fff;font-weight:600}.cmb2-element .ui-datepicker thead th,.cmb2-element.ui-datepicker thead th{font-weight:400}.cmb2-element .ui-datepicker th,.cmb2-element.ui-datepicker th{padding:10px}.cmb2-element .ui-datepicker td,.cmb2-element.ui-datepicker td{padding:0;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-other-month,.cmb2-element.ui-datepicker td.ui-datepicker-other-month{border:transparent}.cmb2-element .ui-datepicker td.ui-datepicker-week-end,.cmb2-element.ui-datepicker td.ui-datepicker-week-end{background-color:#f4f4f4;border:1px solid #f4f4f4}.cmb2-element .ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-week-end.ui-datepicker-today{-webkit-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);-moz-box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1);box-shadow:inset 0 0 1px 0 rgba(0,0,0,.1)}.cmb2-element .ui-datepicker td.ui-datepicker-today,.cmb2-element.ui-datepicker td.ui-datepicker-today{background-color:#f0f0c0}.cmb2-element .ui-datepicker td.ui-datepicker-current-day,.cmb2-element.ui-datepicker td.ui-datepicker-current-day{background:#bd8}.cmb2-element .ui-datepicker td .ui-state-default,.cmb2-element.ui-datepicker td .ui-state-default{background:0 0;border:none;text-align:center;text-decoration:none;width:auto;display:block;padding:5px 10px;font-weight:400;color:#444}.cmb2-element .ui-datepicker td.ui-state-disabled .ui-state-default,.cmb2-element.ui-datepicker td.ui-state-disabled .ui-state-default{opacity:.5}.cmb2-element .ui-datepicker .ui-datepicker-header,.cmb2-element .ui-datepicker .ui-widget-header,.cmb2-element.ui-datepicker .ui-datepicker-header,.cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.cmb2-element .ui-datepicker thead,.cmb2-element.ui-datepicker thead{background:#32373c}.cmb2-element .ui-datepicker td .ui-state-active,.cmb2-element .ui-datepicker td .ui-state-hover,.cmb2-element.ui-datepicker td .ui-state-active,.cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.cmb2-element .ui-datepicker .ui-timepicker-div,.cmb2-element.ui-datepicker .ui-timepicker-div{font-size:14px}.cmb2-element .ui-datepicker .ui-timepicker-div dl,.cmb2-element.ui-datepicker .ui-timepicker-div dl{text-align:left;padding:0 .6em}.cmb2-element .ui-datepicker .ui-timepicker-div dl dt,.cmb2-element.ui-datepicker .ui-timepicker-div dl dt{float:left;clear:left;padding:0 0 0 5px}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd{margin:0 10px 10px 40%}.cmb2-element .ui-datepicker .ui-timepicker-div dl dd select,.cmb2-element.ui-datepicker .ui-timepicker-div dl dd select{width:100%}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane{padding:.6em;text-align:left}.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element .ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-primary,.cmb2-element.ui-datepicker .ui-timepicker-div+.ui-datepicker-buttonpane .button-secondary{padding:0 10px 1px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;margin:0 .6em .4em .4em}.admin-color-fresh .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-fresh .cmb2-element.ui-datepicker .ui-widget-header{background:#00a0d2}.admin-color-fresh .cmb2-element .ui-datepicker thead,.admin-color-fresh .cmb2-element.ui-datepicker thead{background:#32373c}.admin-color-fresh .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-fresh .cmb2-element.ui-datepicker td .ui-state-hover{background:#0073aa;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-blue .cmb2-element.ui-datepicker .ui-widget-header{background:#52accc}.admin-color-blue .cmb2-element .ui-datepicker thead,.admin-color-blue .cmb2-element.ui-datepicker thead{background:#4796b3}.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-blue .cmb2-element.ui-datepicker td .ui-state-hover{background:#096484;color:#fff}.admin-color-blue .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-blue .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-coffee .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-coffee .cmb2-element.ui-datepicker .ui-widget-header{background:#59524c}.admin-color-coffee .cmb2-element .ui-datepicker thead,.admin-color-coffee .cmb2-element.ui-datepicker thead{background:#46403c}.admin-color-coffee .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-coffee .cmb2-element.ui-datepicker td .ui-state-hover{background:#c7a589;color:#fff}.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ectoplasm .cmb2-element.ui-datepicker .ui-widget-header{background:#523f6d}.admin-color-ectoplasm .cmb2-element .ui-datepicker thead,.admin-color-ectoplasm .cmb2-element.ui-datepicker thead{background:#413256}.admin-color-ectoplasm .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ectoplasm .cmb2-element.ui-datepicker td .ui-state-hover{background:#a3b745;color:#fff}.admin-color-midnight .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-midnight .cmb2-element.ui-datepicker .ui-widget-header{background:#363b3f}.admin-color-midnight .cmb2-element .ui-datepicker thead,.admin-color-midnight .cmb2-element.ui-datepicker thead{background:#26292c}.admin-color-midnight .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-midnight .cmb2-element.ui-datepicker td .ui-state-hover{background:#e14d43;color:#fff}.admin-color-ocean .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-ocean .cmb2-element.ui-datepicker .ui-widget-header{background:#738e96}.admin-color-ocean .cmb2-element .ui-datepicker thead,.admin-color-ocean .cmb2-element.ui-datepicker thead{background:#627c83}.admin-color-ocean .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-ocean .cmb2-element.ui-datepicker td .ui-state-hover{background:#9ebaa0;color:#fff}.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-datepicker-header .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker .ui-widget-header{background:#cf4944}.admin-color-sunrise .cmb2-element .ui-datepicker th,.admin-color-sunrise .cmb2-element.ui-datepicker th{border-color:#be3631;background:#be3631}.admin-color-sunrise .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-sunrise .cmb2-element.ui-datepicker td .ui-state-hover{background:#dd823b;color:#fff}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-light .cmb2-element.ui-datepicker .ui-widget-header{background:#e5e5e5}.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element .ui-datepicker select.ui-datepicker-year,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-month,.admin-color-light .cmb2-element.ui-datepicker select.ui-datepicker-year{color:#555}.admin-color-light .cmb2-element .ui-datepicker thead,.admin-color-light .cmb2-element.ui-datepicker thead{background:#888}.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element .ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-default,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-next:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-prev:before,.admin-color-light .cmb2-element.ui-datepicker .ui-datepicker-title,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-default{color:#555}.admin-color-light .cmb2-element .ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-active,.admin-color-light .cmb2-element.ui-datepicker td .ui-state-hover{background:#ccc}.admin-color-light .cmb2-element .ui-datepicker td.ui-datepicker-today,.admin-color-light .cmb2-element.ui-datepicker td.ui-datepicker-today{background:#eee}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker .ui-widget-header{background:#56b274}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker thead,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker thead{background:#36533f}.admin-color-bbp-evergreen .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-evergreen .cmb2-element.ui-datepicker td .ui-state-hover{background:#446950;color:#fff}.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element .ui-datepicker .ui-widget-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-datepicker-header,.admin-color-bbp-mint .cmb2-element.ui-datepicker .ui-widget-header{background:#4ca26a}.admin-color-bbp-mint .cmb2-element .ui-datepicker thead,.admin-color-bbp-mint .cmb2-element.ui-datepicker thead{background:#4f6d59}.admin-color-bbp-mint .cmb2-element .ui-datepicker td .ui-state-hover,.admin-color-bbp-mint .cmb2-element.ui-datepicker td .ui-state-hover{background:#5fb37c;color:#fff}@media only screen and (max-width:850px){.cmb2-context-wrap.cmb2-context-wrap-form_top{margin-right:0}}@media (max-width:450px){.cmb-th{font-size:1.2em;padding-bottom:1em;text-align:left}.cmb-th label{display:block;margin-top:0;margin-bottom:.5em}.cmb-td,.cmb-th,.cmb-th+.cmb-td{display:block;float:none;width:100%}.cmb-type-group .cmb-repeatable-group:not(:last-of-type),.cmb-type-group .cmb-row:not(:last-of-type),.cmb2-postbox .cmb-repeatable-group:not(:last-of-type),.cmb2-postbox .cmb-row:not(:last-of-type){border-bottom:0}.cmb2-options-page .cmb2-metabox>.cmb-row>.cmb-th+.cmb-td{padding:0;margin-left:0}}
|
vendor/CMB2/css/index.php
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
<?php
|
2 |
-
// Silence is golden
|
1 |
<?php
|
2 |
+
// Silence is golden
|
vendor/CMB2/images/index.php
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
<?php
|
2 |
-
// Silence is golden
|
1 |
<?php
|
2 |
+
// Silence is golden
|
vendor/CMB2/includes/CMB2.php
CHANGED
@@ -4,9 +4,9 @@
|
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
* @package CMB2
|
7 |
-
* @author
|
8 |
* @license GPL-2.0+
|
9 |
-
* @link
|
10 |
*
|
11 |
* @property-read string $cmb_id
|
12 |
* @property-read array $meta_box
|
@@ -14,10 +14,15 @@
|
|
14 |
* @property-read bool $has_columns
|
15 |
* @property-read array $tax_metaboxes_to_remove
|
16 |
*/
|
|
|
|
|
|
|
|
|
17 |
class CMB2 extends CMB2_Base {
|
18 |
|
19 |
/**
|
20 |
* The object properties name.
|
|
|
21 |
* @var string
|
22 |
* @since 2.2.3
|
23 |
*/
|
@@ -25,6 +30,7 @@ class CMB2 extends CMB2_Base {
|
|
25 |
|
26 |
/**
|
27 |
* Metabox Config array
|
|
|
28 |
* @var array
|
29 |
* @since 0.9.0
|
30 |
*/
|
@@ -32,6 +38,7 @@ class CMB2 extends CMB2_Base {
|
|
32 |
|
33 |
/**
|
34 |
* Type of object registered for metabox. (e.g., post, user, or comment)
|
|
|
35 |
* @var string
|
36 |
* @since 1.0.0
|
37 |
*/
|
@@ -39,6 +46,7 @@ class CMB2 extends CMB2_Base {
|
|
39 |
|
40 |
/**
|
41 |
* List of fields that are changed/updated on save
|
|
|
42 |
* @var array
|
43 |
* @since 1.1.0
|
44 |
*/
|
@@ -46,42 +54,78 @@ class CMB2 extends CMB2_Base {
|
|
46 |
|
47 |
/**
|
48 |
* Metabox Defaults
|
|
|
49 |
* @var array
|
50 |
* @since 1.0.1
|
51 |
*/
|
52 |
protected $mb_defaults = array(
|
53 |
'id' => '',
|
54 |
'title' => '',
|
55 |
-
// Post type slug, or 'user', 'term', 'comment', or 'options-page'
|
56 |
'object_types' => array(),
|
|
|
57 |
/*
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
*/
|
66 |
'context' => 'normal',
|
67 |
'priority' => 'high',
|
68 |
-
'show_names' => true, // Show field names on the left
|
69 |
'show_on_cb' => null, // Callback to determine if metabox should display.
|
70 |
-
'show_on' => array(), // Post IDs or page templates to display this metabox. overrides 'show_on_cb'
|
71 |
-
'cmb_styles' => true, // Include CMB2 stylesheet
|
72 |
-
'enqueue_js' => true, // Include CMB2 JS
|
73 |
'fields' => array(),
|
|
|
|
|
|
|
|
|
|
|
74 |
'hookup' => true,
|
75 |
-
'save_fields' => true, // Will not save during hookup if false
|
76 |
-
'closed' => false, // Default to
|
77 |
'taxonomies' => array(),
|
78 |
-
'new_user_section' => 'add-new-user', // or 'add-existing-user'
|
79 |
'new_term_section' => true,
|
80 |
'show_in_rest' => false,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
);
|
82 |
|
83 |
/**
|
84 |
* Metabox field objects
|
|
|
85 |
* @var array
|
86 |
* @since 2.0.3
|
87 |
*/
|
@@ -89,6 +133,7 @@ class CMB2 extends CMB2_Base {
|
|
89 |
|
90 |
/**
|
91 |
* An array of hidden fields to output at the end of the form
|
|
|
92 |
* @var array
|
93 |
* @since 2.0.0
|
94 |
*/
|
@@ -96,6 +141,7 @@ class CMB2 extends CMB2_Base {
|
|
96 |
|
97 |
/**
|
98 |
* Array of key => value data for saving. Likely $_POST data.
|
|
|
99 |
* @var string
|
100 |
* @since 2.0.0
|
101 |
*/
|
@@ -103,6 +149,7 @@ class CMB2 extends CMB2_Base {
|
|
103 |
|
104 |
/**
|
105 |
* Whether there are fields to be shown in columns. Set in CMB2::add_field().
|
|
|
106 |
* @var bool
|
107 |
* @since 2.2.2
|
108 |
*/
|
@@ -110,6 +157,7 @@ class CMB2 extends CMB2_Base {
|
|
110 |
|
111 |
/**
|
112 |
* If taxonomy field is requesting to remove_default, we store the taxonomy here.
|
|
|
113 |
* @var array
|
114 |
* @since 2.2.3
|
115 |
*/
|
@@ -117,9 +165,10 @@ class CMB2 extends CMB2_Base {
|
|
117 |
|
118 |
/**
|
119 |
* Get started
|
|
|
120 |
* @since 0.4.0
|
121 |
-
* @param array $config Metabox config array
|
122 |
-
* @param integer $object_id Optional object id
|
123 |
*/
|
124 |
public function __construct( $config, $object_id = 0 ) {
|
125 |
|
@@ -127,12 +176,19 @@ class CMB2 extends CMB2_Base {
|
|
127 |
wp_die( esc_html__( 'Metabox configuration is required to have an ID parameter.', 'cmb2' ) );
|
128 |
}
|
129 |
|
|
|
130 |
$this->meta_box = wp_parse_args( $config, $this->mb_defaults );
|
131 |
$this->meta_box['fields'] = array();
|
132 |
|
|
|
|
|
133 |
$this->object_id( $object_id );
|
|
|
|
|
|
|
|
|
|
|
134 |
$this->mb_object_type();
|
135 |
-
$this->cmb_id = $config['id'];
|
136 |
|
137 |
if ( ! empty( $config['fields'] ) && is_array( $config['fields'] ) ) {
|
138 |
$this->add_fields( $config['fields'] );
|
@@ -148,13 +204,22 @@ class CMB2 extends CMB2_Base {
|
|
148 |
* @param array $cmb This CMB2 object
|
149 |
*/
|
150 |
do_action( "cmb2_init_{$this->cmb_id}", $this );
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
}
|
152 |
|
153 |
/**
|
154 |
* Loops through and displays fields
|
|
|
155 |
* @since 1.0.0
|
156 |
-
* @param int $object_id Object ID
|
157 |
-
* @param string $object_type Type of object being saved. (e.g., post, user, or comment)
|
|
|
|
|
158 |
*/
|
159 |
public function show_form( $object_id = 0, $object_type = '' ) {
|
160 |
$this->render_form_open( $object_id, $object_type );
|
@@ -163,16 +228,18 @@ class CMB2 extends CMB2_Base {
|
|
163 |
$this->render_field( $field_args );
|
164 |
}
|
165 |
|
166 |
-
$this->render_form_close( $object_id, $object_type );
|
167 |
}
|
168 |
|
169 |
/**
|
170 |
* Outputs the opening form markup and runs corresponding hooks:
|
171 |
* 'cmb2_before_form' and "cmb2_before_{$object_type}_form_{$this->cmb_id}"
|
|
|
172 |
* @since 2.2.0
|
173 |
-
* @param integer $object_id Object ID
|
174 |
-
* @param string $object_type Object type
|
175 |
-
*
|
|
|
176 |
*/
|
177 |
public function render_form_open( $object_id = 0, $object_type = '' ) {
|
178 |
$object_type = $this->object_type( $object_type );
|
@@ -185,12 +252,12 @@ class CMB2 extends CMB2_Base {
|
|
185 |
/**
|
186 |
* Hook before form table begins
|
187 |
*
|
188 |
-
* @param array $cmb_id The current box ID
|
189 |
-
* @param int $object_id The ID of the current object
|
190 |
* @param string $object_type The type of object you are working with.
|
191 |
* Usually `post` (this applies to all post-types).
|
192 |
* Could also be `comment`, `user` or `options-page`.
|
193 |
-
* @param array $cmb This CMB2 object
|
194 |
*/
|
195 |
do_action( 'cmb2_before_form', $this->cmb_id, $object_id, $object_type, $this );
|
196 |
|
@@ -209,8 +276,9 @@ class CMB2 extends CMB2_Base {
|
|
209 |
*/
|
210 |
do_action( "cmb2_before_{$object_type}_form_{$this->cmb_id}", $object_id, $this );
|
211 |
|
212 |
-
echo '<div class="', $this->box_classes(), '"><div id="cmb2-metabox-', sanitize_html_class( $this->cmb_id ), '" class="cmb2-metabox cmb-field-list">';
|
213 |
|
|
|
214 |
}
|
215 |
|
216 |
/**
|
@@ -282,10 +350,12 @@ class CMB2 extends CMB2_Base {
|
|
282 |
/**
|
283 |
* Outputs the closing form markup and runs corresponding hooks:
|
284 |
* 'cmb2_after_form' and "cmb2_after_{$object_type}_form_{$this->cmb_id}"
|
|
|
285 |
* @since 2.2.0
|
286 |
-
* @param integer $object_id Object ID
|
287 |
-
* @param string $object_type Object type
|
288 |
-
*
|
|
|
289 |
*/
|
290 |
public function render_form_close( $object_id = 0, $object_type = '' ) {
|
291 |
$object_type = $this->object_type( $object_type );
|
@@ -295,18 +365,6 @@ class CMB2 extends CMB2_Base {
|
|
295 |
|
296 |
$this->render_hidden_fields();
|
297 |
|
298 |
-
/**
|
299 |
-
* Hook after form form has been rendered
|
300 |
-
*
|
301 |
-
* @param array $cmb_id The current box ID
|
302 |
-
* @param int $object_id The ID of the current object
|
303 |
-
* @param string $object_type The type of object you are working with.
|
304 |
-
* Usually `post` (this applies to all post-types).
|
305 |
-
* Could also be `comment`, `user` or `options-page`.
|
306 |
-
* @param array $cmb This CMB2 object
|
307 |
-
*/
|
308 |
-
do_action( 'cmb2_after_form', $this->cmb_id, $object_id, $object_type, $this );
|
309 |
-
|
310 |
/**
|
311 |
* Hook after form form has been rendered
|
312 |
*
|
@@ -321,12 +379,26 @@ class CMB2 extends CMB2_Base {
|
|
321 |
*/
|
322 |
do_action( "cmb2_after_{$object_type}_form_{$this->cmb_id}", $object_id, $this );
|
323 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
324 |
echo "\n<!-- End CMB2 Fields -->\n";
|
325 |
|
|
|
326 |
}
|
327 |
|
328 |
/**
|
329 |
* Renders a field based on the field type
|
|
|
330 |
* @since 2.2.0
|
331 |
* @param array $field_args A field configuration array.
|
332 |
* @return mixed CMB2_Field object if successful.
|
@@ -334,22 +406,22 @@ class CMB2 extends CMB2_Base {
|
|
334 |
public function render_field( $field_args ) {
|
335 |
$field_args['context'] = $this->prop( 'context' );
|
336 |
|
337 |
-
if ( 'group'
|
338 |
|
339 |
if ( ! isset( $field_args['show_names'] ) ) {
|
340 |
$field_args['show_names'] = $this->prop( 'show_names' );
|
341 |
}
|
342 |
$field = $this->render_group( $field_args );
|
343 |
|
344 |
-
} elseif ( 'hidden'
|
345 |
-
// Save rendering for after the metabox
|
346 |
$field = $this->add_hidden_field( $field_args );
|
347 |
|
348 |
} else {
|
349 |
|
350 |
$field_args['show_names'] = $this->prop( 'show_names' );
|
351 |
|
352 |
-
// Render default fields
|
353 |
$field = $this->get_field( $field_args )->render_field();
|
354 |
}
|
355 |
|
@@ -357,56 +429,80 @@ class CMB2 extends CMB2_Base {
|
|
357 |
}
|
358 |
|
359 |
/**
|
360 |
-
* Render a
|
361 |
-
*
|
|
|
362 |
* @return CMB2_Field|null Group field object.
|
363 |
*/
|
364 |
public function render_group( $args ) {
|
|
|
365 |
|
366 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
|
|
367 |
return;
|
368 |
}
|
369 |
|
370 |
-
$field_group =
|
|
|
371 |
|
372 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
373 |
if ( ! $field_group || ! $field_group->should_show() ) {
|
374 |
return;
|
375 |
}
|
376 |
|
377 |
-
$desc = $field_group->args( 'description' );
|
378 |
-
$label = $field_group->args( 'name' );
|
379 |
-
$group_val = (array) $field_group->value();
|
380 |
-
$remove_disabled = count( $group_val ) <= 1 ? 'disabled="disabled" ' : '';
|
381 |
$field_group->index = 0;
|
382 |
|
383 |
$field_group->peform_param_callback( 'before_group' );
|
384 |
|
385 |
-
|
|
|
|
|
|
|
|
|
386 |
|
387 |
if ( $desc || $label ) {
|
388 |
$class = $desc ? ' cmb-group-description' : '';
|
389 |
echo '<div class="cmb-row', $class, '"><div class="cmb-th">';
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
echo '</div></div>';
|
397 |
}
|
398 |
|
399 |
if ( ! empty( $group_val ) ) {
|
400 |
foreach ( $group_val as $group_key => $field_id ) {
|
401 |
-
$this->render_group_row( $field_group
|
402 |
$field_group->index++;
|
403 |
}
|
404 |
} else {
|
405 |
-
$this->render_group_row( $field_group
|
406 |
}
|
407 |
|
408 |
if ( $field_group->args( 'repeatable' ) ) {
|
409 |
-
echo '<div class="cmb-row"><div class="cmb-td"><p class="cmb-add-row"><button type="button" data-selector="', $field_group->id(), '_repeat" data-grouptitle="', $field_group->options( 'group_title' ), '" class="cmb-add-group-row button">', $field_group->options( 'add_button' ), '</button></p></div></div>';
|
410 |
}
|
411 |
|
412 |
echo '</div></div></div>';
|
@@ -418,6 +514,7 @@ class CMB2 extends CMB2_Base {
|
|
418 |
|
419 |
/**
|
420 |
* Get the group wrap attributes, which are passed through a filter.
|
|
|
421 |
* @since 2.2.3
|
422 |
* @param CMB2_Field $field_group The group CMB2_Field object.
|
423 |
* @return string The attributes string.
|
@@ -445,16 +542,27 @@ class CMB2 extends CMB2_Base {
|
|
445 |
*/
|
446 |
$group_wrap_attributes = apply_filters( 'cmb2_group_wrap_attributes', $group_wrap_attributes, $field_group );
|
447 |
|
448 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
449 |
}
|
450 |
|
451 |
/**
|
452 |
* Render a repeatable group row
|
|
|
453 |
* @since 1.0.2
|
454 |
-
* @param CMB2_Field $field_group
|
455 |
-
*
|
|
|
456 |
*/
|
457 |
-
public function render_group_row( $field_group
|
458 |
|
459 |
$field_group->peform_param_callback( 'before_group_row' );
|
460 |
$closed_class = $field_group->options( 'closed' ) ? ' closed' : '';
|
@@ -462,52 +570,55 @@ class CMB2 extends CMB2_Base {
|
|
462 |
echo '
|
463 |
<div class="postbox cmb-row cmb-repeatable-grouping', $closed_class, '" data-iterator="', $field_group->index, '">';
|
464 |
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
|
469 |
echo '
|
470 |
<div class="cmbhandle" title="' , esc_attr__( 'Click to toggle', 'cmb2' ), '"><br></div>
|
471 |
<h3 class="cmb-group-title cmbhandle-title"><span>', $field_group->replace_hash( $field_group->options( 'group_title' ) ), '</span></h3>
|
472 |
|
473 |
<div class="inside cmb-td cmb-nested cmb-field-list">';
|
474 |
-
// Loop and render repeatable group fields
|
475 |
-
|
476 |
-
|
477 |
|
478 |
-
|
479 |
-
|
480 |
|
481 |
-
|
482 |
|
483 |
-
|
484 |
-
|
485 |
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
<div class="cmb-row cmb-remove-field-row">
|
492 |
<div class="cmb-remove-row">
|
493 |
-
<button type="button"
|
494 |
</div>
|
495 |
</div>
|
496 |
';
|
497 |
-
|
498 |
echo '
|
499 |
</div>
|
500 |
</div>
|
501 |
';
|
502 |
|
503 |
$field_group->peform_param_callback( 'after_group_row' );
|
|
|
|
|
504 |
}
|
505 |
|
506 |
/**
|
507 |
* Add a hidden field to the list of hidden fields to be rendered later
|
|
|
508 |
* @since 2.0.0
|
509 |
-
* @param array $field_args Array of field arguments to be passed to CMB2_Field
|
510 |
-
* @param CMB2_Field|null $field_group CMB2_Field group field object
|
511 |
*/
|
512 |
public function add_hidden_field( $field_args, $field_group = null ) {
|
513 |
if ( isset( $field_args['field_args'] ) ) {
|
@@ -530,7 +641,10 @@ class CMB2 extends CMB2_Base {
|
|
530 |
|
531 |
/**
|
532 |
* Loop through and output hidden fields
|
|
|
533 |
* @since 2.0.0
|
|
|
|
|
534 |
*/
|
535 |
public function render_hidden_fields() {
|
536 |
if ( ! empty( $this->hidden_fields ) ) {
|
@@ -538,39 +652,42 @@ class CMB2 extends CMB2_Base {
|
|
538 |
$hidden->render();
|
539 |
}
|
540 |
}
|
|
|
|
|
541 |
}
|
542 |
|
543 |
/**
|
544 |
* Returns array of sanitized field values (without saving them)
|
|
|
545 |
* @since 2.0.3
|
546 |
-
* @param array
|
547 |
*/
|
548 |
public function get_sanitized_values( array $data_to_sanitize ) {
|
549 |
$this->data_to_save = $data_to_sanitize;
|
550 |
$stored_id = $this->object_id();
|
551 |
|
552 |
-
// We do this So CMB will sanitize our data for us, but not save it
|
553 |
$this->object_id( '_' );
|
554 |
|
555 |
-
// Ensure temp. data store is empty
|
556 |
cmb2_options( 0 )->set();
|
557 |
|
558 |
// We want to get any taxonomy values back.
|
559 |
add_filter( "cmb2_return_taxonomy_values_{$this->cmb_id}", '__return_true' );
|
560 |
|
561 |
-
// Process/save fields
|
562 |
$this->process_fields();
|
563 |
|
564 |
// Put things back the way they were.
|
565 |
remove_filter( "cmb2_return_taxonomy_values_{$this->cmb_id}", '__return_true' );
|
566 |
|
567 |
-
// Get data from temp. data store
|
568 |
$sanitized_values = cmb2_options( 0 )->get_options();
|
569 |
|
570 |
-
// Empty out temp. data store again
|
571 |
cmb2_options( 0 )->set();
|
572 |
|
573 |
-
// Reset the object id
|
574 |
$this->object_id( $stored_id );
|
575 |
|
576 |
return $sanitized_values;
|
@@ -578,51 +695,62 @@ class CMB2 extends CMB2_Base {
|
|
578 |
|
579 |
/**
|
580 |
* Loops through and saves field data
|
|
|
581 |
* @since 1.0.0
|
582 |
-
* @param int $object_id Object ID
|
583 |
-
* @param string $object_type Type of object being saved. (e.g., post, user, or comment)
|
584 |
* @param array $data_to_save Array of key => value data for saving. Likely $_POST data.
|
|
|
|
|
585 |
*/
|
586 |
public function save_fields( $object_id = 0, $object_type = '', $data_to_save = array() ) {
|
587 |
|
588 |
-
// Fall-back to $_POST data
|
589 |
$this->data_to_save = ! empty( $data_to_save ) ? $data_to_save : $_POST;
|
590 |
$object_id = $this->object_id( $object_id );
|
591 |
$object_type = $this->object_type( $object_type );
|
592 |
|
593 |
$this->process_fields();
|
594 |
|
595 |
-
// If options page, save the updated options
|
596 |
-
if ( 'options-page'
|
597 |
cmb2_options( $object_id )->set();
|
598 |
}
|
599 |
|
600 |
-
$this->after_save();
|
601 |
}
|
602 |
|
603 |
/**
|
604 |
* Process and save form fields
|
|
|
605 |
* @since 2.0.0
|
|
|
|
|
606 |
*/
|
607 |
public function process_fields() {
|
608 |
|
609 |
$this->pre_process();
|
610 |
|
611 |
-
// Remove the show_on properties so saving works
|
612 |
$this->prop( 'show_on', array() );
|
613 |
|
614 |
-
// save field ids of those that are updated
|
615 |
$this->updated = array();
|
616 |
|
617 |
foreach ( $this->prop( 'fields' ) as $field_args ) {
|
618 |
$this->process_field( $field_args );
|
619 |
}
|
|
|
|
|
620 |
}
|
621 |
|
622 |
/**
|
623 |
* Process and save a field
|
|
|
624 |
* @since 2.0.0
|
625 |
-
* @param array
|
|
|
|
|
626 |
*/
|
627 |
public function process_field( $field_args ) {
|
628 |
|
@@ -636,7 +764,7 @@ class CMB2 extends CMB2_Base {
|
|
636 |
break;
|
637 |
|
638 |
case 'title':
|
639 |
-
// Don't process title fields
|
640 |
break;
|
641 |
|
642 |
default:
|
@@ -650,8 +778,16 @@ class CMB2 extends CMB2_Base {
|
|
650 |
break;
|
651 |
}
|
652 |
|
|
|
653 |
}
|
654 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
655 |
public function pre_process() {
|
656 |
/**
|
657 |
* Fires before fields have been processed/saved.
|
@@ -666,8 +802,18 @@ class CMB2 extends CMB2_Base {
|
|
666 |
* @param int $object_id The ID of the current object
|
667 |
*/
|
668 |
do_action( "cmb2_{$this->object_type()}_process_fields_{$this->cmb_id}", $this, $this->object_id() );
|
|
|
|
|
669 |
}
|
670 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
671 |
public function after_save() {
|
672 |
$object_type = $this->object_type();
|
673 |
$object_id = $this->object_id();
|
@@ -702,13 +848,16 @@ class CMB2 extends CMB2_Base {
|
|
702 |
* @param array $cmb This CMB2 object
|
703 |
*/
|
704 |
do_action( "cmb2_save_{$object_type}_fields_{$this->cmb_id}", $object_id, $this->updated, $this );
|
|
|
|
|
705 |
}
|
706 |
|
707 |
/**
|
708 |
* Save a repeatable group
|
|
|
709 |
* @since 1.x.x
|
710 |
-
* @param array
|
711 |
-
* @return mixed Return of CMB2_Field::update_data()
|
712 |
*/
|
713 |
public function save_group( $args ) {
|
714 |
if ( ! isset( $args['id'], $args['fields'] ) || ! is_array( $args['fields'] ) ) {
|
@@ -720,9 +869,10 @@ class CMB2 extends CMB2_Base {
|
|
720 |
|
721 |
/**
|
722 |
* Save a repeatable group
|
|
|
723 |
* @since 1.x.x
|
724 |
-
* @param CMB2_Field $field_group CMB2_Field group field object
|
725 |
-
* @return mixed Return of CMB2_Field::update_data()
|
726 |
*/
|
727 |
public function save_group_field( $field_group ) {
|
728 |
$base_id = $field_group->id();
|
@@ -732,7 +882,7 @@ class CMB2 extends CMB2_Base {
|
|
732 |
}
|
733 |
|
734 |
$old = $field_group->get_data();
|
735 |
-
// Check if group field has sanitization_cb
|
736 |
$group_vals = $field_group->sanitization_cb( $this->data_to_save[ $base_id ] );
|
737 |
$saved = array();
|
738 |
|
@@ -741,7 +891,7 @@ class CMB2 extends CMB2_Base {
|
|
741 |
|
742 |
foreach ( array_values( $field_group->fields() ) as $field_args ) {
|
743 |
if ( 'title' === $field_args['type'] ) {
|
744 |
-
// Don't process title fields
|
745 |
continue;
|
746 |
}
|
747 |
|
@@ -750,33 +900,33 @@ class CMB2 extends CMB2_Base {
|
|
750 |
|
751 |
foreach ( (array) $group_vals as $field_group->index => $post_vals ) {
|
752 |
|
753 |
-
// Get value
|
754 |
$new_val = isset( $group_vals[ $field_group->index ][ $sub_id ] )
|
755 |
? $group_vals[ $field_group->index ][ $sub_id ]
|
756 |
: false;
|
757 |
|
758 |
-
// Sanitize
|
759 |
$new_val = $field->sanitization_cb( $new_val );
|
760 |
|
761 |
if ( is_array( $new_val ) && $field->args( 'has_supporting_data' ) ) {
|
762 |
if ( $field->args( 'repeatable' ) ) {
|
763 |
$_new_val = array();
|
764 |
foreach ( $new_val as $group_index => $grouped_data ) {
|
765 |
-
// Add the supporting data to the $saved array stack
|
766 |
$saved[ $field_group->index ][ $grouped_data['supporting_field_id'] ][] = $grouped_data['supporting_field_value'];
|
767 |
-
// Reset var to the actual value
|
768 |
$_new_val[ $group_index ] = $grouped_data['value'];
|
769 |
}
|
770 |
$new_val = $_new_val;
|
771 |
} else {
|
772 |
-
// Add the supporting data to the $saved array stack
|
773 |
$saved[ $field_group->index ][ $new_val['supporting_field_id'] ] = $new_val['supporting_field_value'];
|
774 |
-
// Reset var to the actual value
|
775 |
$new_val = $new_val['value'];
|
776 |
}
|
777 |
}
|
778 |
|
779 |
-
// Get old value
|
780 |
$old_val = is_array( $old ) && isset( $old[ $field_group->index ][ $sub_id ] )
|
781 |
? $old[ $field_group->index ][ $sub_id ]
|
782 |
: false;
|
@@ -784,18 +934,18 @@ class CMB2 extends CMB2_Base {
|
|
784 |
$is_updated = ( ! CMB2_Utils::isempty( $new_val ) && $new_val !== $old_val );
|
785 |
$is_removed = ( CMB2_Utils::isempty( $new_val ) && ! CMB2_Utils::isempty( $old_val ) );
|
786 |
|
787 |
-
// Compare values and add to `$updated` array
|
788 |
if ( $is_updated || $is_removed ) {
|
789 |
$this->updated[] = $base_id . '::' . $field_group->index . '::' . $sub_id;
|
790 |
}
|
791 |
|
792 |
-
// Add to `$saved` array
|
793 |
$saved[ $field_group->index ][ $sub_id ] = $new_val;
|
794 |
|
795 |
-
}
|
796 |
|
797 |
$saved[ $field_group->index ] = CMB2_Utils::filter_empty( $saved[ $field_group->index ] );
|
798 |
-
}
|
799 |
|
800 |
$saved = CMB2_Utils::filter_empty( $saved );
|
801 |
|
@@ -804,9 +954,10 @@ class CMB2 extends CMB2_Base {
|
|
804 |
|
805 |
/**
|
806 |
* Get object id from global space if no id is provided
|
|
|
807 |
* @since 1.0.0
|
808 |
-
* @param integer $object_id Object ID
|
809 |
-
* @return integer $object_id Object ID
|
810 |
*/
|
811 |
public function object_id( $object_id = 0 ) {
|
812 |
global $pagenow;
|
@@ -820,29 +971,36 @@ class CMB2 extends CMB2_Base {
|
|
820 |
return $this->object_id;
|
821 |
}
|
822 |
|
823 |
-
// Try to get our object ID from the global space
|
824 |
switch ( $this->object_type() ) {
|
825 |
case 'user':
|
826 |
-
$object_id = isset( $_REQUEST['user_id'] ) ? $_REQUEST['user_id'] : $object_id;
|
827 |
-
$object_id = ! $object_id && 'user-new.php'
|
828 |
break;
|
829 |
|
830 |
case 'comment':
|
831 |
-
$object_id = isset( $_REQUEST['c'] ) ? $_REQUEST['c'] : $object_id;
|
832 |
$object_id = ! $object_id && isset( $GLOBALS['comments']->comment_ID ) ? $GLOBALS['comments']->comment_ID : $object_id;
|
833 |
break;
|
834 |
|
835 |
case 'term':
|
836 |
-
$object_id = isset( $_REQUEST['tag_ID'] ) ? $_REQUEST['tag_ID'] : $object_id;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
837 |
break;
|
838 |
|
839 |
default:
|
840 |
$object_id = isset( $GLOBALS['post']->ID ) ? $GLOBALS['post']->ID : $object_id;
|
841 |
-
$object_id = isset( $_REQUEST['post'] ) ? $_REQUEST['post'] : $object_id;
|
842 |
break;
|
843 |
}
|
844 |
|
845 |
-
// reset to id or 0
|
846 |
$this->object_id = $object_id ? $object_id : 0;
|
847 |
|
848 |
return $this->object_id;
|
@@ -850,8 +1008,9 @@ class CMB2 extends CMB2_Base {
|
|
850 |
|
851 |
/**
|
852 |
* Sets the $object_type based on metabox settings
|
|
|
853 |
* @since 1.0.0
|
854 |
-
* @return string Object type
|
855 |
*/
|
856 |
public function mb_object_type() {
|
857 |
if ( null !== $this->mb_object_type ) {
|
@@ -867,7 +1026,7 @@ class CMB2 extends CMB2_Base {
|
|
867 |
|
868 |
$type = '';
|
869 |
|
870 |
-
// if it's an array of one, extract it
|
871 |
if ( 1 === count( $registered_types ) ) {
|
872 |
$last = end( $registered_types );
|
873 |
if ( is_string( $last ) ) {
|
@@ -877,7 +1036,7 @@ class CMB2 extends CMB2_Base {
|
|
877 |
$type = $curr_type;
|
878 |
}
|
879 |
|
880 |
-
// Get our object type
|
881 |
switch ( $type ) {
|
882 |
|
883 |
case 'user':
|
@@ -896,26 +1055,160 @@ class CMB2 extends CMB2_Base {
|
|
896 |
|
897 |
/**
|
898 |
* Gets the box 'object_types' array based on box settings.
|
|
|
899 |
* @since 2.2.3
|
900 |
-
* @
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
901 |
*/
|
902 |
-
|
903 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
904 |
}
|
905 |
|
906 |
/**
|
907 |
* Determines if metabox is for an options page
|
|
|
908 |
* @since 1.0.1
|
909 |
-
* @return boolean True/False
|
910 |
*/
|
911 |
public function is_options_page_mb() {
|
912 |
-
return (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
913 |
}
|
914 |
|
915 |
/**
|
916 |
* Returns the object type
|
|
|
917 |
* @since 1.0.0
|
918 |
-
* @
|
|
|
919 |
*/
|
920 |
public function object_type( $object_type = '' ) {
|
921 |
if ( $object_type ) {
|
@@ -934,6 +1227,7 @@ class CMB2 extends CMB2_Base {
|
|
934 |
|
935 |
/**
|
936 |
* Get the object type for the current page, based on the $pagenow global.
|
|
|
937 |
* @since 2.2.2
|
938 |
* @return string Page object type name.
|
939 |
*/
|
@@ -957,15 +1251,23 @@ class CMB2 extends CMB2_Base {
|
|
957 |
$type = 'term';
|
958 |
}
|
959 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
960 |
return $type;
|
961 |
}
|
962 |
|
963 |
/**
|
964 |
* Set metabox property.
|
|
|
965 |
* @since 2.2.2
|
966 |
-
* @param string $property Metabox config property to retrieve
|
967 |
-
* @param mixed $value Value to set if no value found
|
968 |
-
* @return mixed Metabox config property value or false
|
969 |
*/
|
970 |
public function set_prop( $property, $value ) {
|
971 |
$this->meta_box[ $property ] = $value;
|
@@ -975,10 +1277,11 @@ class CMB2 extends CMB2_Base {
|
|
975 |
|
976 |
/**
|
977 |
* Get metabox property and optionally set a fallback
|
|
|
978 |
* @since 2.0.0
|
979 |
-
* @param string $property Metabox config property to retrieve
|
980 |
-
* @param mixed $fallback Fallback value to set if no value found
|
981 |
-
* @return mixed Metabox config property value or false
|
982 |
*/
|
983 |
public function prop( $property, $fallback = null ) {
|
984 |
if ( array_key_exists( $property, $this->meta_box ) ) {
|
@@ -990,12 +1293,16 @@ class CMB2 extends CMB2_Base {
|
|
990 |
|
991 |
/**
|
992 |
* Get a field object
|
|
|
993 |
* @since 2.0.3
|
994 |
-
* @param string|array|CMB2_Field $field
|
995 |
-
* @param CMB2_Field|null $field_group
|
996 |
-
* @
|
|
|
|
|
|
|
997 |
*/
|
998 |
-
public function get_field( $field, $field_group = null ) {
|
999 |
if ( $field instanceof CMB2_Field ) {
|
1000 |
return $field;
|
1001 |
}
|
@@ -1012,7 +1319,8 @@ class CMB2 extends CMB2_Base {
|
|
1012 |
list( $field_id, $sub_field_id ) = $ids;
|
1013 |
|
1014 |
$index = implode( '', $ids ) . ( $field_group ? $field_group->index : '' );
|
1015 |
-
|
|
|
1016 |
return $this->fields[ $index ];
|
1017 |
}
|
1018 |
|
@@ -1023,19 +1331,20 @@ class CMB2 extends CMB2_Base {
|
|
1023 |
|
1024 |
/**
|
1025 |
* Handles determining which type of arguments to pass to CMB2_Field
|
|
|
1026 |
* @since 2.0.7
|
1027 |
-
* @param mixed $field_id Field (or group field) ID
|
1028 |
-
* @param mixed $field_args Array of field arguments
|
1029 |
-
* @param mixed $sub_field_id Sub field ID (if field_group exists)
|
1030 |
-
* @param CMB2_Field|null $field_group If a sub-field, will be the parent group CMB2_Field object
|
1031 |
-
* @return array Array of CMB2_Field arguments
|
1032 |
*/
|
1033 |
public function get_field_args( $field_id, $field_args, $sub_field_id, $field_group ) {
|
1034 |
|
1035 |
-
// Check if group is passed and if fields were added in the old-school fields array
|
1036 |
if ( $field_group && ( $sub_field_id || 0 === $sub_field_id ) ) {
|
1037 |
|
1038 |
-
// Update the fields array w/ any modified properties inherited from the group field
|
1039 |
$this->meta_box['fields'][ $field_id ]['fields'][ $sub_field_id ] = $field_args;
|
1040 |
|
1041 |
return $this->get_default_args( $field_args, $field_group );
|
@@ -1050,9 +1359,10 @@ class CMB2 extends CMB2_Base {
|
|
1050 |
|
1051 |
/**
|
1052 |
* Get default field arguments specific to this CMB2 object.
|
|
|
1053 |
* @since 2.2.0
|
1054 |
* @param array $field_args Metabox field config array.
|
1055 |
-
* @param CMB2_Field $field_group (optional) CMB2_Field object (group parent)
|
1056 |
* @return array Array of field arguments.
|
1057 |
*/
|
1058 |
protected function get_default_args( $field_args, $field_group = null ) {
|
@@ -1073,22 +1383,14 @@ class CMB2 extends CMB2_Base {
|
|
1073 |
return $args;
|
1074 |
}
|
1075 |
|
1076 |
-
/**
|
1077 |
-
* Get a new field object specific to this CMB2 object.
|
1078 |
-
* @since 2.2.0
|
1079 |
-
* @param array $field_args Metabox field config array.
|
1080 |
-
* @param CMB2_Field $field_group (optional) CMB2_Field object (group parent)
|
1081 |
-
* @return CMB2_Field CMB2_Field object
|
1082 |
-
*/
|
1083 |
-
protected function get_new_field( $field_args, $field_group = null ) {
|
1084 |
-
return new CMB2_Field( $this->get_default_args( $field_args, $field_group ) );
|
1085 |
-
}
|
1086 |
-
|
1087 |
/**
|
1088 |
* When fields are added in the old-school way, intitate them as they should be
|
|
|
1089 |
* @since 2.1.0
|
1090 |
-
* @param array $fields Array of fields to add
|
1091 |
-
* @param mixed $parent_field_id Parent field id or null
|
|
|
|
|
1092 |
*/
|
1093 |
protected function add_fields( $fields, $parent_field_id = null ) {
|
1094 |
foreach ( $fields as $field ) {
|
@@ -1107,14 +1409,17 @@ class CMB2 extends CMB2_Base {
|
|
1107 |
$this->add_fields( $sub_fields, $field_id );
|
1108 |
}
|
1109 |
}
|
|
|
|
|
1110 |
}
|
1111 |
|
1112 |
/**
|
1113 |
* Add a field to the metabox
|
|
|
1114 |
* @since 2.0.0
|
1115 |
-
* @param array
|
1116 |
-
* @param int
|
1117 |
-
* @return string|false
|
1118 |
*/
|
1119 |
public function add_field( array $field, $position = 0 ) {
|
1120 |
if ( ! is_array( $field ) || ! array_key_exists( 'id', $field ) ) {
|
@@ -1126,15 +1431,27 @@ class CMB2 extends CMB2_Base {
|
|
1126 |
case 'file':
|
1127 |
case 'file_list':
|
1128 |
|
1129 |
-
// Initiate attachment JS hooks
|
1130 |
add_filter( 'wp_prepare_attachment_for_js', array( 'CMB2_Type_File_Base', 'prepare_image_sizes_for_js' ), 10, 3 );
|
1131 |
break;
|
1132 |
|
1133 |
case 'oembed':
|
1134 |
|
1135 |
-
// Initiate oembed Ajax hooks
|
1136 |
cmb2_ajax();
|
1137 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1138 |
}
|
1139 |
|
1140 |
if ( isset( $field['column'] ) && false !== $field['column'] ) {
|
@@ -1156,8 +1473,9 @@ class CMB2 extends CMB2_Base {
|
|
1156 |
|
1157 |
/**
|
1158 |
* Defines a field's column if requesting to be show in admin columns.
|
|
|
1159 |
* @since 2.2.3
|
1160 |
-
* @param array
|
1161 |
* @return array Modified metabox field config array.
|
1162 |
*/
|
1163 |
protected function define_field_column( array $field ) {
|
@@ -1175,11 +1493,12 @@ class CMB2 extends CMB2_Base {
|
|
1175 |
|
1176 |
/**
|
1177 |
* Add a field to a group
|
|
|
1178 |
* @since 2.0.0
|
1179 |
-
* @param string $parent_field_id The field id of the group field to add the field
|
1180 |
-
* @param array $field Metabox field config array
|
1181 |
-
* @param int $position (optional) Position of metabox. 1 for first, etc
|
1182 |
-
* @return mixed Array of parent/field ids or false
|
1183 |
*/
|
1184 |
public function add_group_field( $parent_field_id, array $field, $position = 0 ) {
|
1185 |
if ( ! array_key_exists( $parent_field_id, $this->meta_box['fields'] ) ) {
|
@@ -1207,10 +1526,11 @@ class CMB2 extends CMB2_Base {
|
|
1207 |
|
1208 |
/**
|
1209 |
* Add a field array to a fields array in desired position
|
|
|
1210 |
* @since 2.0.2
|
1211 |
-
* @param array $field Metabox field config array
|
1212 |
-
* @param array
|
1213 |
-
* @param integer $position Optionally specify a position in the array to be inserted
|
1214 |
*/
|
1215 |
protected function _add_field_to_array( $field, &$fields, $position = 0 ) {
|
1216 |
if ( $position ) {
|
@@ -1222,10 +1542,11 @@ class CMB2 extends CMB2_Base {
|
|
1222 |
|
1223 |
/**
|
1224 |
* Remove a field from the metabox
|
|
|
1225 |
* @since 2.0.0
|
1226 |
-
* @param string $field_id The field id of the field to remove
|
1227 |
-
* @param string $parent_field_id (optional) The field id of the group field to remove field from
|
1228 |
-
* @return bool True if field was removed
|
1229 |
*/
|
1230 |
public function remove_field( $field_id, $parent_field_id = '' ) {
|
1231 |
$ids = $this->get_field_ids( $field_id, $parent_field_id );
|
@@ -1249,17 +1570,19 @@ class CMB2 extends CMB2_Base {
|
|
1249 |
if ( isset( $this->meta_box['fields'][ $field_id ]['fields'][ $sub_field_id ] ) ) {
|
1250 |
unset( $this->meta_box['fields'][ $field_id ]['fields'][ $sub_field_id ] );
|
1251 |
}
|
|
|
1252 |
return true;
|
1253 |
}
|
1254 |
|
1255 |
/**
|
1256 |
* Update or add a property to a field
|
|
|
1257 |
* @since 2.0.0
|
1258 |
-
* @param string $field_id Field id
|
1259 |
-
* @param string $property Field property to set/update
|
1260 |
-
* @param mixed $value Value to set the field property
|
1261 |
-
* @param string $parent_field_id (optional) The field id of the group field to remove field from
|
1262 |
-
* @return mixed Field id. Strict compare to false, as success can return a falsey value (like 0)
|
1263 |
*/
|
1264 |
public function update_field_property( $field_id, $property, $value, $parent_field_id = '' ) {
|
1265 |
$ids = $this->get_field_ids( $field_id, $parent_field_id );
|
@@ -1281,10 +1604,11 @@ class CMB2 extends CMB2_Base {
|
|
1281 |
|
1282 |
/**
|
1283 |
* Check if field ids match a field and return the index/field id
|
|
|
1284 |
* @since 2.0.2
|
1285 |
-
* @param string
|
1286 |
-
* @param string
|
1287 |
-
* @return mixed Array of field/parent ids, or false
|
1288 |
*/
|
1289 |
public function get_field_ids( $field_id, $parent_field_id = '' ) {
|
1290 |
$sub_field_id = $parent_field_id ? $field_id : '';
|
@@ -1315,11 +1639,12 @@ class CMB2 extends CMB2_Base {
|
|
1315 |
}
|
1316 |
|
1317 |
/**
|
1318 |
-
* When using the old array filter, it is unlikely field array indexes will be the field id
|
|
|
1319 |
* @since 2.0.2
|
1320 |
-
* @param string $field_id The field id
|
1321 |
-
* @param array $fields Array of fields to search
|
1322 |
-
* @return mixed Field index or false
|
1323 |
*/
|
1324 |
public function search_old_school_array( $field_id, $fields ) {
|
1325 |
$ids = wp_list_pluck( $fields, 'id' );
|
@@ -1329,18 +1654,21 @@ class CMB2 extends CMB2_Base {
|
|
1329 |
|
1330 |
/**
|
1331 |
* Handles metabox property callbacks, and passes this $cmb object as property.
|
|
|
1332 |
* @since 2.2.3
|
1333 |
-
* @param callable $cb
|
1334 |
-
* @
|
|
|
1335 |
*/
|
1336 |
-
|
1337 |
-
return call_user_func( $cb, $this );
|
1338 |
}
|
1339 |
|
1340 |
/**
|
1341 |
* Generate a unique nonce field for each registered meta_box
|
|
|
1342 |
* @since 2.0.0
|
1343 |
-
* @return
|
1344 |
*/
|
1345 |
public function nonce_field() {
|
1346 |
wp_nonce_field( $this->nonce(), $this->nonce(), false, true );
|
@@ -1348,17 +1676,29 @@ class CMB2 extends CMB2_Base {
|
|
1348 |
|
1349 |
/**
|
1350 |
* Generate a unique nonce for each registered meta_box
|
|
|
1351 |
* @since 2.0.0
|
1352 |
-
* @return string unique nonce string
|
1353 |
*/
|
1354 |
public function nonce() {
|
1355 |
-
if ( $this->generated_nonce ) {
|
1356 |
-
|
1357 |
}
|
1358 |
-
|
1359 |
return $this->generated_nonce;
|
1360 |
}
|
1361 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1362 |
/**
|
1363 |
* Whether this box is an "alternate context" box. This means the box has a 'context' property defined as:
|
1364 |
* 'form_top', 'before_permalink', 'after_title', or 'after_editor'.
|
@@ -1367,23 +1707,24 @@ class CMB2 extends CMB2_Base {
|
|
1367 |
* @return bool
|
1368 |
*/
|
1369 |
public function is_alternate_context_box() {
|
1370 |
-
return $this->prop( 'context' ) && in_array( $this->prop( 'context' ), array( 'form_top', 'before_permalink', 'after_title', 'after_editor' ) );
|
1371 |
}
|
1372 |
|
1373 |
/**
|
1374 |
* Magic getter for our object.
|
1375 |
-
*
|
|
|
1376 |
* @throws Exception Throws an exception if the field is invalid.
|
1377 |
* @return mixed
|
1378 |
*/
|
1379 |
-
public function __get( $
|
1380 |
-
switch ( $
|
1381 |
case 'updated':
|
1382 |
case 'has_columns':
|
1383 |
case 'tax_metaboxes_to_remove':
|
1384 |
-
return $this->{$
|
1385 |
default:
|
1386 |
-
return parent::__get( $
|
1387 |
}
|
1388 |
}
|
1389 |
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
* @package CMB2
|
7 |
+
* @author CMB2 team
|
8 |
* @license GPL-2.0+
|
9 |
+
* @link https://cmb2.io
|
10 |
*
|
11 |
* @property-read string $cmb_id
|
12 |
* @property-read array $meta_box
|
14 |
* @property-read bool $has_columns
|
15 |
* @property-read array $tax_metaboxes_to_remove
|
16 |
*/
|
17 |
+
|
18 |
+
/**
|
19 |
+
* The main CMB2 object for storing box data/properties.
|
20 |
+
*/
|
21 |
class CMB2 extends CMB2_Base {
|
22 |
|
23 |
/**
|
24 |
* The object properties name.
|
25 |
+
*
|
26 |
* @var string
|
27 |
* @since 2.2.3
|
28 |
*/
|
30 |
|
31 |
/**
|
32 |
* Metabox Config array
|
33 |
+
*
|
34 |
* @var array
|
35 |
* @since 0.9.0
|
36 |
*/
|
38 |
|
39 |
/**
|
40 |
* Type of object registered for metabox. (e.g., post, user, or comment)
|
41 |
+
*
|
42 |
* @var string
|
43 |
* @since 1.0.0
|
44 |
*/
|
46 |
|
47 |
/**
|
48 |
* List of fields that are changed/updated on save
|
49 |
+
*
|
50 |
* @var array
|
51 |
* @since 1.1.0
|
52 |
*/
|
54 |
|
55 |
/**
|
56 |
* Metabox Defaults
|
57 |
+
*
|
58 |
* @var array
|
59 |
* @since 1.0.1
|
60 |
*/
|
61 |
protected $mb_defaults = array(
|
62 |
'id' => '',
|
63 |
'title' => '',
|
64 |
+
// Post type slug, or 'user', 'term', 'comment', or 'options-page'.
|
65 |
'object_types' => array(),
|
66 |
+
|
67 |
/*
|
68 |
+
* The context within the screen where the boxes should display. Available contexts vary
|
69 |
+
* from screen to screen. Post edit screen contexts include 'normal', 'side', and 'advanced'.
|
70 |
+
*
|
71 |
+
* For placement in locations outside of a metabox, other options include:
|
72 |
+
* 'form_top', 'before_permalink', 'after_title', 'after_editor'
|
73 |
+
*
|
74 |
+
* Comments screen contexts include 'normal' and 'side'. Default is 'normal'.
|
75 |
*/
|
76 |
'context' => 'normal',
|
77 |
'priority' => 'high',
|
78 |
+
'show_names' => true, // Show field names on the left.
|
79 |
'show_on_cb' => null, // Callback to determine if metabox should display.
|
80 |
+
'show_on' => array(), // Post IDs or page templates to display this metabox. overrides 'show_on_cb'.
|
81 |
+
'cmb_styles' => true, // Include CMB2 stylesheet.
|
82 |
+
'enqueue_js' => true, // Include CMB2 JS.
|
83 |
'fields' => array(),
|
84 |
+
|
85 |
+
/*
|
86 |
+
* Handles hooking CMB2 forms/metaboxes into the post/attachement/user/options-page screens
|
87 |
+
* and handles hooking in and saving those fields.
|
88 |
+
*/
|
89 |
'hookup' => true,
|
90 |
+
'save_fields' => true, // Will not save during hookup if false.
|
91 |
+
'closed' => false, // Default metabox to being closed.
|
92 |
'taxonomies' => array(),
|
93 |
+
'new_user_section' => 'add-new-user', // or 'add-existing-user'.
|
94 |
'new_term_section' => true,
|
95 |
'show_in_rest' => false,
|
96 |
+
'classes' => null, // Optionally add classes to the CMB2 wrapper
|
97 |
+
'classes_cb' => '', // Optionally add classes to the CMB2 wrapper (via a callback)
|
98 |
+
|
99 |
+
/*
|
100 |
+
* The following parameter is for post alternate-context metaboxes only.
|
101 |
+
*
|
102 |
+
* To output the fields 'naked' (without a postbox wrapper/style), then
|
103 |
+
* add a `'remove_box_wrap' => true` to your metabox registration array.
|
104 |
+
*/
|
105 |
+
'remove_box_wrap' => false,
|
106 |
+
|
107 |
+
/*
|
108 |
+
* The following parameters are for options-page metaboxes,
|
109 |
+
* and several are passed along to add_menu_page()/add_submenu_page()
|
110 |
+
*/
|
111 |
+
|
112 |
+
// 'menu_title' => null, // Falls back to 'title' (above). Do not define here so we can set a fallback.
|
113 |
+
'message_cb' => '', // Optionally define the options-save message (via a callback).
|
114 |
+
'option_key' => '', // The actual option key and admin menu page slug.
|
115 |
+
'parent_slug' => '', // Used as first param in add_submenu_page().
|
116 |
+
'capability' => 'manage_options', // Cap required to view options-page.
|
117 |
+
'icon_url' => '', // Menu icon. Only applicable if 'parent_slug' is left empty.
|
118 |
+
'position' => null, // Menu position. Only applicable if 'parent_slug' is left empty.
|
119 |
+
|
120 |
+
'admin_menu_hook' => 'admin_menu', // Alternately 'network_admin_menu' to add network-level options page.
|
121 |
+
'display_cb' => false, // Override the options-page form output (CMB2_Hookup::options_page_output()).
|
122 |
+
'save_button' => '', // The text for the options-page save button. Defaults to 'Save'.
|
123 |
+
'disable_settings_errors' => false, // On settings pages (not options-general.php sub-pages), allows disabling.
|
124 |
);
|
125 |
|
126 |
/**
|
127 |
* Metabox field objects
|
128 |
+
*
|
129 |
* @var array
|
130 |
* @since 2.0.3
|
131 |
*/
|
133 |
|
134 |
/**
|
135 |
* An array of hidden fields to output at the end of the form
|
136 |
+
*
|
137 |
* @var array
|
138 |
* @since 2.0.0
|
139 |
*/
|
141 |
|
142 |
/**
|
143 |
* Array of key => value data for saving. Likely $_POST data.
|
144 |
+
*
|
145 |
* @var string
|
146 |
* @since 2.0.0
|
147 |
*/
|
149 |
|
150 |
/**
|
151 |
* Whether there are fields to be shown in columns. Set in CMB2::add_field().
|
152 |
+
*
|
153 |
* @var bool
|
154 |
* @since 2.2.2
|
155 |
*/
|
157 |
|
158 |
/**
|
159 |
* If taxonomy field is requesting to remove_default, we store the taxonomy here.
|
160 |
+
*
|
161 |
* @var array
|
162 |
* @since 2.2.3
|
163 |
*/
|
165 |
|
166 |
/**
|
167 |
* Get started
|
168 |
+
*
|
169 |
* @since 0.4.0
|
170 |
+
* @param array $config Metabox config array.
|
171 |
+
* @param integer $object_id Optional object id.
|
172 |
*/
|
173 |
public function __construct( $config, $object_id = 0 ) {
|
174 |
|
176 |
wp_die( esc_html__( 'Metabox configuration is required to have an ID parameter.', 'cmb2' ) );
|
177 |
}
|
178 |
|
179 |
+
$this->cmb_id = $config['id'];
|
180 |
$this->meta_box = wp_parse_args( $config, $this->mb_defaults );
|
181 |
$this->meta_box['fields'] = array();
|
182 |
|
183 |
+
// Ensures object_types is an array.
|
184 |
+
$this->set_prop( 'object_types', $this->box_types() ) ;
|
185 |
$this->object_id( $object_id );
|
186 |
+
|
187 |
+
if ( $this->is_options_page_mb() ) {
|
188 |
+
$this->init_options_mb();
|
189 |
+
}
|
190 |
+
|
191 |
$this->mb_object_type();
|
|
|
192 |
|
193 |
if ( ! empty( $config['fields'] ) && is_array( $config['fields'] ) ) {
|
194 |
$this->add_fields( $config['fields'] );
|
204 |
* @param array $cmb This CMB2 object
|
205 |
*/
|
206 |
do_action( "cmb2_init_{$this->cmb_id}", $this );
|
207 |
+
|
208 |
+
// Hook in the hookup... how meta.
|
209 |
+
add_action( "cmb2_init_hookup_{$this->cmb_id}", array( 'CMB2_hookup', 'maybe_init_and_hookup' ) );
|
210 |
+
|
211 |
+
// Hook in the rest api functionality.
|
212 |
+
add_action( "cmb2_init_hookup_{$this->cmb_id}", array( 'CMB2_REST', 'maybe_init_and_hookup' ) );
|
213 |
}
|
214 |
|
215 |
/**
|
216 |
* Loops through and displays fields
|
217 |
+
*
|
218 |
* @since 1.0.0
|
219 |
+
* @param int $object_id Object ID.
|
220 |
+
* @param string $object_type Type of object being saved. (e.g., post, user, or comment).
|
221 |
+
*
|
222 |
+
* @return CMB2
|
223 |
*/
|
224 |
public function show_form( $object_id = 0, $object_type = '' ) {
|
225 |
$this->render_form_open( $object_id, $object_type );
|
228 |
$this->render_field( $field_args );
|
229 |
}
|
230 |
|
231 |
+
return $this->render_form_close( $object_id, $object_type );
|
232 |
}
|
233 |
|
234 |
/**
|
235 |
* Outputs the opening form markup and runs corresponding hooks:
|
236 |
* 'cmb2_before_form' and "cmb2_before_{$object_type}_form_{$this->cmb_id}"
|
237 |
+
*
|
238 |
* @since 2.2.0
|
239 |
+
* @param integer $object_id Object ID.
|
240 |
+
* @param string $object_type Object type.
|
241 |
+
*
|
242 |
+
* @return CMB2
|
243 |
*/
|
244 |
public function render_form_open( $object_id = 0, $object_type = '' ) {
|
245 |
$object_type = $this->object_type( $object_type );
|
252 |
/**
|
253 |
* Hook before form table begins
|
254 |
*
|
255 |
+
* @param array $cmb_id The current box ID.
|
256 |
+
* @param int $object_id The ID of the current object.
|
257 |
* @param string $object_type The type of object you are working with.
|
258 |
* Usually `post` (this applies to all post-types).
|
259 |
* Could also be `comment`, `user` or `options-page`.
|
260 |
+
* @param array $cmb This CMB2 object.
|
261 |
*/
|
262 |
do_action( 'cmb2_before_form', $this->cmb_id, $object_id, $object_type, $this );
|
263 |
|
276 |
*/
|
277 |
do_action( "cmb2_before_{$object_type}_form_{$this->cmb_id}", $object_id, $this );
|
278 |
|
279 |
+
echo '<div class="', esc_attr( $this->box_classes() ), '"><div id="cmb2-metabox-', sanitize_html_class( $this->cmb_id ), '" class="cmb2-metabox cmb-field-list">';
|
280 |
|
281 |
+
return $this;
|
282 |
}
|
283 |
|
284 |
/**
|
350 |
/**
|
351 |
* Outputs the closing form markup and runs corresponding hooks:
|
352 |
* 'cmb2_after_form' and "cmb2_after_{$object_type}_form_{$this->cmb_id}"
|
353 |
+
*
|
354 |
* @since 2.2.0
|
355 |
+
* @param integer $object_id Object ID.
|
356 |
+
* @param string $object_type Object type.
|
357 |
+
*
|
358 |
+
* @return CMB2
|
359 |
*/
|
360 |
public function render_form_close( $object_id = 0, $object_type = '' ) {
|
361 |
$object_type = $this->object_type( $object_type );
|
365 |
|
366 |
$this->render_hidden_fields();
|
367 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
368 |
/**
|
369 |
* Hook after form form has been rendered
|
370 |
*
|
379 |
*/
|
380 |
do_action( "cmb2_after_{$object_type}_form_{$this->cmb_id}", $object_id, $this );
|
381 |
|
382 |
+
/**
|
383 |
+
* Hook after form form has been rendered
|
384 |
+
*
|
385 |
+
* @param array $cmb_id The current box ID.
|
386 |
+
* @param int $object_id The ID of the current object.
|
387 |
+
* @param string $object_type The type of object you are working with.
|
388 |
+
* Usually `post` (this applies to all post-types).
|
389 |
+
* Could also be `comment`, `user` or `options-page`.
|
390 |
+
* @param array $cmb This CMB2 object.
|
391 |
+
*/
|
392 |
+
do_action( 'cmb2_after_form', $this->cmb_id, $object_id, $object_type, $this );
|
393 |
+
|
394 |
echo "\n<!-- End CMB2 Fields -->\n";
|
395 |
|
396 |
+
return $this;
|
397 |
}
|
398 |
|
399 |
/**
|
400 |
* Renders a field based on the field type
|
401 |
+
*
|
402 |
* @since 2.2.0
|
403 |
* @param array $field_args A field configuration array.
|
404 |
* @return mixed CMB2_Field object if successful.
|
406 |
public function render_field( $field_args ) {
|
407 |
$field_args['context'] = $this->prop( 'context' );
|
408 |
|
409 |
+
if ( 'group' === $field_args['type'] ) {
|
410 |
|
411 |
if ( ! isset( $field_args['show_names'] ) ) {
|
412 |
$field_args['show_names'] = $this->prop( 'show_names' );
|
413 |
}
|
414 |
$field = $this->render_group( $field_args );
|
415 |
|
416 |
+
} elseif ( 'hidden' === $field_args['type'] && $this->get_field( $field_args )->should_show() ) {
|
417 |
+
// Save rendering for after the metabox.
|
418 |
$field = $this->add_hidden_field( $field_args );
|
419 |
|
420 |
} else {
|
421 |
|
422 |
$field_args['show_names'] = $this->prop( 'show_names' );
|
423 |
|
424 |
+
// Render default fields.
|
425 |
$field = $this->get_field( $field_args )->render_field();
|
426 |
}
|
427 |
|
429 |
}
|
430 |
|
431 |
/**
|
432 |
+
* Render a group of fields.
|
433 |
+
*
|
434 |
+
* @param array|CMB2_Field $args Array of field arguments for a group field parent or the group parent field.
|
435 |
* @return CMB2_Field|null Group field object.
|
436 |
*/
|
437 |
public function render_group( $args ) {
|
438 |
+
$field_group = false;
|
439 |
|
440 |
+
if ( $args instanceof CMB2_Field ) {
|
441 |
+
$field_group = 'group' === $args->type() ? $args : false;
|
442 |
+
} elseif ( isset( $args['id'], $args['fields'] ) && is_array( $args['fields'] ) ) {
|
443 |
+
$field_group = $this->get_field( $args );
|
444 |
+
}
|
445 |
+
|
446 |
+
if ( ! $field_group ) {
|
447 |
return;
|
448 |
}
|
449 |
|
450 |
+
$field_group->render_context = 'edit';
|
451 |
+
$field_group->peform_param_callback( 'render_row_cb' );
|
452 |
|
453 |
+
return $field_group;
|
454 |
+
}
|
455 |
+
|
456 |
+
/**
|
457 |
+
* The default callback to render a group of fields.
|
458 |
+
*
|
459 |
+
* @since 2.2.6
|
460 |
+
*
|
461 |
+
* @param array $field_args Array of field arguments for the group field parent.
|
462 |
+
* @param CMB2_Field $field_group The CMB2_Field group object.
|
463 |
+
*
|
464 |
+
* @return CMB2_Field|null Group field object.
|
465 |
+
*/
|
466 |
+
public function render_group_callback( $field_args, $field_group ) {
|
467 |
+
|
468 |
+
// If field is requesting to be conditionally shown.
|
469 |
if ( ! $field_group || ! $field_group->should_show() ) {
|
470 |
return;
|
471 |
}
|
472 |
|
|
|
|
|
|
|
|
|
473 |
$field_group->index = 0;
|
474 |
|
475 |
$field_group->peform_param_callback( 'before_group' );
|
476 |
|
477 |
+
$desc = $field_group->args( 'description' );
|
478 |
+
$label = $field_group->args( 'name' );
|
479 |
+
$group_val = (array) $field_group->value();
|
480 |
+
|
481 |
+
echo '<div class="cmb-row cmb-repeat-group-wrap ', esc_attr( $field_group->row_classes() ), '" data-fieldtype="group"><div class="cmb-td"><div data-groupid="', esc_attr( $field_group->id() ), '" id="', esc_attr( $field_group->id() ), '_repeat" ', $this->group_wrap_attributes( $field_group ), '>';
|
482 |
|
483 |
if ( $desc || $label ) {
|
484 |
$class = $desc ? ' cmb-group-description' : '';
|
485 |
echo '<div class="cmb-row', $class, '"><div class="cmb-th">';
|
486 |
+
if ( $label ) {
|
487 |
+
echo '<h2 class="cmb-group-name">', $label, '</h2>';
|
488 |
+
}
|
489 |
+
if ( $desc ) {
|
490 |
+
echo '<p class="cmb2-metabox-description">', $desc, '</p>';
|
491 |
+
}
|
492 |
echo '</div></div>';
|
493 |
}
|
494 |
|
495 |
if ( ! empty( $group_val ) ) {
|
496 |
foreach ( $group_val as $group_key => $field_id ) {
|
497 |
+
$this->render_group_row( $field_group );
|
498 |
$field_group->index++;
|
499 |
}
|
500 |
} else {
|
501 |
+
$this->render_group_row( $field_group );
|
502 |
}
|
503 |
|
504 |
if ( $field_group->args( 'repeatable' ) ) {
|
505 |
+
echo '<div class="cmb-row"><div class="cmb-td"><p class="cmb-add-row"><button type="button" data-selector="', esc_attr( $field_group->id() ), '_repeat" data-grouptitle="', esc_attr( $field_group->options( 'group_title' ) ), '" class="cmb-add-group-row button-secondary">', $field_group->options( 'add_button' ), '</button></p></div></div>';
|
506 |
}
|
507 |
|
508 |
echo '</div></div></div>';
|
514 |
|
515 |
/**
|
516 |
* Get the group wrap attributes, which are passed through a filter.
|
517 |
+
*
|
518 |
* @since 2.2.3
|
519 |
* @param CMB2_Field $field_group The group CMB2_Field object.
|
520 |
* @return string The attributes string.
|
542 |
*/
|
543 |
$group_wrap_attributes = apply_filters( 'cmb2_group_wrap_attributes', $group_wrap_attributes, $field_group );
|
544 |
|
545 |
+
$atts = array();
|
546 |
+
foreach ( $group_wrap_attributes as $att => $att_value ) {
|
547 |
+
if ( ! CMB2_Utils::is_data_attribute( $att ) ) {
|
548 |
+
$att_value = htmlspecialchars( $att_value );
|
549 |
+
}
|
550 |
+
|
551 |
+
$atts[ sanitize_html_class( $att ) ] = sanitize_text_field( strip_tags( $att_value ) );
|
552 |
+
}
|
553 |
+
|
554 |
+
return CMB2_Utils::concat_attrs( $atts );
|
555 |
}
|
556 |
|
557 |
/**
|
558 |
* Render a repeatable group row
|
559 |
+
*
|
560 |
* @since 1.0.2
|
561 |
+
* @param CMB2_Field $field_group CMB2_Field group field object.
|
562 |
+
*
|
563 |
+
* @return CMB2
|
564 |
*/
|
565 |
+
public function render_group_row( $field_group ) {
|
566 |
|
567 |
$field_group->peform_param_callback( 'before_group_row' );
|
568 |
$closed_class = $field_group->options( 'closed' ) ? ' closed' : '';
|
570 |
echo '
|
571 |
<div class="postbox cmb-row cmb-repeatable-grouping', $closed_class, '" data-iterator="', $field_group->index, '">';
|
572 |
|
573 |
+
if ( $field_group->args( 'repeatable' ) ) {
|
574 |
+
echo '<button type="button" data-selector="', $field_group->id(), '_repeat" class="dashicons-before dashicons-no-alt cmb-remove-group-row" title="', esc_attr( $field_group->options( 'remove_button' ) ), '"></button>';
|
575 |
+
}
|
576 |
|
577 |
echo '
|
578 |
<div class="cmbhandle" title="' , esc_attr__( 'Click to toggle', 'cmb2' ), '"><br></div>
|
579 |
<h3 class="cmb-group-title cmbhandle-title"><span>', $field_group->replace_hash( $field_group->options( 'group_title' ) ), '</span></h3>
|
580 |
|
581 |
<div class="inside cmb-td cmb-nested cmb-field-list">';
|
582 |
+
// Loop and render repeatable group fields.
|
583 |
+
foreach ( array_values( $field_group->args( 'fields' ) ) as $field_args ) {
|
584 |
+
if ( 'hidden' === $field_args['type'] ) {
|
585 |
|
586 |
+
// Save rendering for after the metabox.
|
587 |
+
$this->add_hidden_field( $field_args, $field_group );
|
588 |
|
589 |
+
} else {
|
590 |
|
591 |
+
$field_args['show_names'] = $field_group->args( 'show_names' );
|
592 |
+
$field_args['context'] = $field_group->args( 'context' );
|
593 |
|
594 |
+
$field = $this->get_field( $field_args, $field_group )->render_field();
|
595 |
+
}
|
596 |
+
}
|
597 |
+
if ( $field_group->args( 'repeatable' ) ) {
|
598 |
+
echo '
|
599 |
<div class="cmb-row cmb-remove-field-row">
|
600 |
<div class="cmb-remove-row">
|
601 |
+
<button type="button" data-selector="', $field_group->id(), '_repeat" class="cmb-remove-group-row cmb-remove-group-row-button alignright button-secondary">', $field_group->options( 'remove_button' ), '</button>
|
602 |
</div>
|
603 |
</div>
|
604 |
';
|
605 |
+
}
|
606 |
echo '
|
607 |
</div>
|
608 |
</div>
|
609 |
';
|
610 |
|
611 |
$field_group->peform_param_callback( 'after_group_row' );
|
612 |
+
|
613 |
+
return $this;
|
614 |
}
|
615 |
|
616 |
/**
|
617 |
* Add a hidden field to the list of hidden fields to be rendered later
|
618 |
+
*
|
619 |
* @since 2.0.0
|
620 |
+
* @param array $field_args Array of field arguments to be passed to CMB2_Field.
|
621 |
+
* @param CMB2_Field|null $field_group CMB2_Field group field object.
|
622 |
*/
|
623 |
public function add_hidden_field( $field_args, $field_group = null ) {
|
624 |
if ( isset( $field_args['field_args'] ) ) {
|
641 |
|
642 |
/**
|
643 |
* Loop through and output hidden fields
|
644 |
+
*
|
645 |
* @since 2.0.0
|
646 |
+
*
|
647 |
+
* @return CMB2
|
648 |
*/
|
649 |
public function render_hidden_fields() {
|
650 |
if ( ! empty( $this->hidden_fields ) ) {
|
652 |
$hidden->render();
|
653 |
}
|
654 |
}
|
655 |
+
|
656 |
+
return $this;
|
657 |
}
|
658 |
|
659 |
/**
|
660 |
* Returns array of sanitized field values (without saving them)
|
661 |
+
*
|
662 |
* @since 2.0.3
|
663 |
+
* @param array $data_to_sanitize Array of field_id => value data for sanitizing (likely $_POST data).
|
664 |
*/
|
665 |
public function get_sanitized_values( array $data_to_sanitize ) {
|
666 |
$this->data_to_save = $data_to_sanitize;
|
667 |
$stored_id = $this->object_id();
|
668 |
|
669 |
+
// We do this So CMB will sanitize our data for us, but not save it.
|
670 |
$this->object_id( '_' );
|
671 |
|
672 |
+
// Ensure temp. data store is empty.
|
673 |
cmb2_options( 0 )->set();
|
674 |
|
675 |
// We want to get any taxonomy values back.
|
676 |
add_filter( "cmb2_return_taxonomy_values_{$this->cmb_id}", '__return_true' );
|
677 |
|
678 |
+
// Process/save fields.
|
679 |
$this->process_fields();
|
680 |
|
681 |
// Put things back the way they were.
|
682 |
remove_filter( "cmb2_return_taxonomy_values_{$this->cmb_id}", '__return_true' );
|
683 |
|
684 |
+
// Get data from temp. data store.
|
685 |
$sanitized_values = cmb2_options( 0 )->get_options();
|
686 |
|
687 |
+
// Empty out temp. data store again.
|
688 |
cmb2_options( 0 )->set();
|
689 |
|
690 |
+
// Reset the object id.
|
691 |
$this->object_id( $stored_id );
|
692 |
|
693 |
return $sanitized_values;
|
695 |
|
696 |
/**
|
697 |
* Loops through and saves field data
|
698 |
+
*
|
699 |
* @since 1.0.0
|
700 |
+
* @param int $object_id Object ID.
|
701 |
+
* @param string $object_type Type of object being saved. (e.g., post, user, or comment).
|
702 |
* @param array $data_to_save Array of key => value data for saving. Likely $_POST data.
|
703 |
+
*
|
704 |
+
* @return CMB2
|
705 |
*/
|
706 |
public function save_fields( $object_id = 0, $object_type = '', $data_to_save = array() ) {
|
707 |
|
708 |
+
// Fall-back to $_POST data.
|
709 |
$this->data_to_save = ! empty( $data_to_save ) ? $data_to_save : $_POST;
|
710 |
$object_id = $this->object_id( $object_id );
|
711 |
$object_type = $this->object_type( $object_type );
|
712 |
|
713 |
$this->process_fields();
|
714 |
|
715 |
+
// If options page, save the updated options.
|
716 |
+
if ( 'options-page' === $object_type ) {
|
717 |
cmb2_options( $object_id )->set();
|
718 |
}
|
719 |
|
720 |
+
return $this->after_save();
|
721 |
}
|
722 |
|
723 |
/**
|
724 |
* Process and save form fields
|
725 |
+
*
|
726 |
* @since 2.0.0
|
727 |
+
*
|
728 |
+
* @return CMB2
|
729 |
*/
|
730 |
public function process_fields() {
|
731 |
|
732 |
$this->pre_process();
|
733 |
|
734 |
+
// Remove the show_on properties so saving works.
|
735 |
$this->prop( 'show_on', array() );
|
736 |
|
737 |
+
// save field ids of those that are updated.
|
738 |
$this->updated = array();
|
739 |
|
740 |
foreach ( $this->prop( 'fields' ) as $field_args ) {
|
741 |
$this->process_field( $field_args );
|
742 |
}
|
743 |
+
|
744 |
+
return $this;
|
745 |
}
|
746 |
|
747 |
/**
|
748 |
* Process and save a field
|
749 |
+
*
|
750 |
* @since 2.0.0
|
751 |
+
* @param array $field_args Array of field arguments.
|
752 |
+
*
|
753 |
+
* @return CMB2
|
754 |
*/
|
755 |
public function process_field( $field_args ) {
|
756 |
|
764 |
break;
|
765 |
|
766 |
case 'title':
|
767 |
+
// Don't process title fields.
|
768 |
break;
|
769 |
|
770 |
default:
|
778 |
break;
|
779 |
}
|
780 |
|
781 |
+
return $this;
|
782 |
}
|
783 |
|
784 |
+
/**
|
785 |
+
* Fires the "cmb2_{$object_type}_process_fields_{$cmb_id}" action hook.
|
786 |
+
*
|
787 |
+
* @since 2.x.x
|
788 |
+
*
|
789 |
+
* @return CMB2
|
790 |
+
*/
|
791 |
public function pre_process() {
|
792 |
/**
|
793 |
* Fires before fields have been processed/saved.
|
802 |
* @param int $object_id The ID of the current object
|
803 |
*/
|
804 |
do_action( "cmb2_{$this->object_type()}_process_fields_{$this->cmb_id}", $this, $this->object_id() );
|
805 |
+
|
806 |
+
return $this;
|
807 |
}
|
808 |
|
809 |
+
/**
|
810 |
+
* Fires the "cmb2_save_{$object_type}_fields" and
|
811 |
+
* "cmb2_save_{$object_type}_fields_{$cmb_id}" action hooks.
|
812 |
+
*
|
813 |
+
* @since 2.x.x
|
814 |
+
*
|
815 |
+
* @return CMB2
|
816 |
+
*/
|
817 |
public function after_save() {
|
818 |
$object_type = $this->object_type();
|
819 |
$object_id = $this->object_id();
|
848 |
* @param array $cmb This CMB2 object
|
849 |
*/
|
850 |
do_action( "cmb2_save_{$object_type}_fields_{$this->cmb_id}", $object_id, $this->updated, $this );
|
851 |
+
|
852 |
+
return $this;
|
853 |
}
|
854 |
|
855 |
/**
|
856 |
* Save a repeatable group
|
857 |
+
*
|
858 |
* @since 1.x.x
|
859 |
+
* @param array $args Field arguments array.
|
860 |
+
* @return mixed Return of CMB2_Field::update_data().
|
861 |
*/
|
862 |
public function save_group( $args ) {
|
863 |
if ( ! isset( $args['id'], $args['fields'] ) || ! is_array( $args['fields'] ) ) {
|
869 |
|
870 |
/**
|
871 |
* Save a repeatable group
|
872 |
+
*
|
873 |
* @since 1.x.x
|
874 |
+
* @param CMB2_Field $field_group CMB2_Field group field object.
|
875 |
+
* @return mixed Return of CMB2_Field::update_data().
|
876 |
*/
|
877 |
public function save_group_field( $field_group ) {
|
878 |
$base_id = $field_group->id();
|
882 |
}
|
883 |
|
884 |
$old = $field_group->get_data();
|
885 |
+
// Check if group field has sanitization_cb.
|
886 |
$group_vals = $field_group->sanitization_cb( $this->data_to_save[ $base_id ] );
|
887 |
$saved = array();
|
888 |
|
891 |
|
892 |
foreach ( array_values( $field_group->fields() ) as $field_args ) {
|
893 |
if ( 'title' === $field_args['type'] ) {
|
894 |
+
// Don't process title fields.
|
895 |
continue;
|
896 |
}
|
897 |
|
900 |
|
901 |
foreach ( (array) $group_vals as $field_group->index => $post_vals ) {
|
902 |
|
903 |
+
// Get value.
|
904 |
$new_val = isset( $group_vals[ $field_group->index ][ $sub_id ] )
|
905 |
? $group_vals[ $field_group->index ][ $sub_id ]
|
906 |
: false;
|
907 |
|
908 |
+
// Sanitize.
|
909 |
$new_val = $field->sanitization_cb( $new_val );
|
910 |
|
911 |
if ( is_array( $new_val ) && $field->args( 'has_supporting_data' ) ) {
|
912 |
if ( $field->args( 'repeatable' ) ) {
|
913 |
$_new_val = array();
|
914 |
foreach ( $new_val as $group_index => $grouped_data ) {
|
915 |
+
// Add the supporting data to the $saved array stack.
|
916 |
$saved[ $field_group->index ][ $grouped_data['supporting_field_id'] ][] = $grouped_data['supporting_field_value'];
|
917 |
+
// Reset var to the actual value.
|
918 |
$_new_val[ $group_index ] = $grouped_data['value'];
|
919 |
}
|
920 |
$new_val = $_new_val;
|
921 |
} else {
|
922 |
+
// Add the supporting data to the $saved array stack.
|
923 |
$saved[ $field_group->index ][ $new_val['supporting_field_id'] ] = $new_val['supporting_field_value'];
|
924 |
+
// Reset var to the actual value.
|
925 |
$new_val = $new_val['value'];
|
926 |
}
|
927 |
}
|
928 |
|
929 |
+
// Get old value.
|
930 |
$old_val = is_array( $old ) && isset( $old[ $field_group->index ][ $sub_id ] )
|
931 |
? $old[ $field_group->index ][ $sub_id ]
|
932 |
: false;
|
934 |
$is_updated = ( ! CMB2_Utils::isempty( $new_val ) && $new_val !== $old_val );
|
935 |
$is_removed = ( CMB2_Utils::isempty( $new_val ) && ! CMB2_Utils::isempty( $old_val ) );
|
936 |
|
937 |
+
// Compare values and add to `$updated` array.
|
938 |
if ( $is_updated || $is_removed ) {
|
939 |
$this->updated[] = $base_id . '::' . $field_group->index . '::' . $sub_id;
|
940 |
}
|
941 |
|
942 |
+
// Add to `$saved` array.
|
943 |
$saved[ $field_group->index ][ $sub_id ] = $new_val;
|
944 |
|
945 |
+
}// End foreach().
|
946 |
|
947 |
$saved[ $field_group->index ] = CMB2_Utils::filter_empty( $saved[ $field_group->index ] );
|
948 |
+
}// End foreach().
|
949 |
|
950 |
$saved = CMB2_Utils::filter_empty( $saved );
|
951 |
|
954 |
|
955 |
/**
|
956 |
* Get object id from global space if no id is provided
|
957 |
+
*
|
958 |
* @since 1.0.0
|
959 |
+
* @param integer $object_id Object ID.
|
960 |
+
* @return integer $object_id Object ID.
|
961 |
*/
|
962 |
public function object_id( $object_id = 0 ) {
|
963 |
global $pagenow;
|
971 |
return $this->object_id;
|
972 |
}
|
973 |
|
974 |
+
// Try to get our object ID from the global space.
|
975 |
switch ( $this->object_type() ) {
|
976 |
case 'user':
|
977 |
+
$object_id = isset( $_REQUEST['user_id'] ) ? wp_unslash( $_REQUEST['user_id'] ) : $object_id;
|
978 |
+
$object_id = ! $object_id && 'user-new.php' !== $pagenow && isset( $GLOBALS['user_ID'] ) ? $GLOBALS['user_ID'] : $object_id;
|
979 |
break;
|
980 |
|
981 |
case 'comment':
|
982 |
+
$object_id = isset( $_REQUEST['c'] ) ? wp_unslash( $_REQUEST['c'] ) : $object_id;
|
983 |
$object_id = ! $object_id && isset( $GLOBALS['comments']->comment_ID ) ? $GLOBALS['comments']->comment_ID : $object_id;
|
984 |
break;
|
985 |
|
986 |
case 'term':
|
987 |
+
$object_id = isset( $_REQUEST['tag_ID'] ) ? wp_unslash( $_REQUEST['tag_ID'] ) : $object_id;
|
988 |
+
break;
|
989 |
+
|
990 |
+
case 'options-page':
|
991 |
+
$key = $this->doing_options_page();
|
992 |
+
if ( ! empty( $key ) ) {
|
993 |
+
$object_id = $key;
|
994 |
+
}
|
995 |
break;
|
996 |
|
997 |
default:
|
998 |
$object_id = isset( $GLOBALS['post']->ID ) ? $GLOBALS['post']->ID : $object_id;
|
999 |
+
$object_id = isset( $_REQUEST['post'] ) ? wp_unslash( $_REQUEST['post'] ) : $object_id;
|
1000 |
break;
|
1001 |
}
|
1002 |
|
1003 |
+
// reset to id or 0.
|
1004 |
$this->object_id = $object_id ? $object_id : 0;
|
1005 |
|
1006 |
return $this->object_id;
|
1008 |
|
1009 |
/**
|
1010 |
* Sets the $object_type based on metabox settings
|
1011 |
+
*
|
1012 |
* @since 1.0.0
|
1013 |
+
* @return string Object type.
|
1014 |
*/
|
1015 |
public function mb_object_type() {
|
1016 |
if ( null !== $this->mb_object_type ) {
|
1026 |
|
1027 |
$type = '';
|
1028 |
|
1029 |
+
// if it's an array of one, extract it.
|
1030 |
if ( 1 === count( $registered_types ) ) {
|
1031 |
$last = end( $registered_types );
|
1032 |
if ( is_string( $last ) ) {
|
1036 |
$type = $curr_type;
|
1037 |
}
|
1038 |
|
1039 |
+
// Get our object type.
|
1040 |
switch ( $type ) {
|
1041 |
|
1042 |
case 'user':
|
1055 |
|
1056 |
/**
|
1057 |
* Gets the box 'object_types' array based on box settings.
|
1058 |
+
*
|
1059 |
* @since 2.2.3
|
1060 |
+
* @param array $fallback Fallback value.
|
1061 |
+
*
|
1062 |
+
* @return array Object types.
|
1063 |
+
*/
|
1064 |
+
public function box_types( $fallback = array() ) {
|
1065 |
+
return CMB2_Utils::ensure_array( $this->prop( 'object_types' ), $fallback );
|
1066 |
+
}
|
1067 |
+
|
1068 |
+
/**
|
1069 |
+
* Initates the object types and option key for an options page metabox.
|
1070 |
+
*
|
1071 |
+
* @since 2.2.5
|
1072 |
+
*
|
1073 |
+
* @return void
|
1074 |
+
*/
|
1075 |
+
public function init_options_mb() {
|
1076 |
+
$keys = $this->options_page_keys();
|
1077 |
+
$types = $this->box_types();
|
1078 |
+
|
1079 |
+
if ( empty( $keys ) ) {
|
1080 |
+
$keys = '';
|
1081 |
+
$types = $this->deinit_options_mb( $types );
|
1082 |
+
} else {
|
1083 |
+
|
1084 |
+
// Make sure 'options-page' is one of the object types.
|
1085 |
+
$types[] = 'options-page';
|
1086 |
+
}
|
1087 |
+
|
1088 |
+
// Set/Reset the option_key property.
|
1089 |
+
$this->set_prop( 'option_key', $keys );
|
1090 |
+
|
1091 |
+
// Reset the object types.
|
1092 |
+
$this->set_prop( 'object_types', array_unique( $types ) ) ;
|
1093 |
+
}
|
1094 |
+
|
1095 |
+
/**
|
1096 |
+
* If object-page initiation failed, remove traces options page setup.
|
1097 |
+
*
|
1098 |
+
* @since 2.2.5
|
1099 |
+
*
|
1100 |
+
* @return void
|
1101 |
*/
|
1102 |
+
protected function deinit_options_mb( $types ) {
|
1103 |
+
if ( isset( $this->meta_box['show_on']['key'] ) && 'options-page' === $this->meta_box['show_on']['key'] ) {
|
1104 |
+
unset( $this->meta_box['show_on']['key'] );
|
1105 |
+
}
|
1106 |
+
|
1107 |
+
if ( array_key_exists( 'options-page', $this->meta_box['show_on'] ) ) {
|
1108 |
+
unset( $this->meta_box['show_on']['options-page'] );
|
1109 |
+
}
|
1110 |
+
|
1111 |
+
$index = array_search( 'options-page', $types );
|
1112 |
+
|
1113 |
+
if ( false !== $index ) {
|
1114 |
+
unset( $types[ $index ] );
|
1115 |
+
}
|
1116 |
+
|
1117 |
+
return $types;
|
1118 |
}
|
1119 |
|
1120 |
/**
|
1121 |
* Determines if metabox is for an options page
|
1122 |
+
*
|
1123 |
* @since 1.0.1
|
1124 |
+
* @return boolean True/False.
|
1125 |
*/
|
1126 |
public function is_options_page_mb() {
|
1127 |
+
return (
|
1128 |
+
// 'show_on' values checked for back-compatibility.
|
1129 |
+
$this->is_old_school_options_page_mb()
|
1130 |
+
|| in_array( 'options-page', $this->box_types() )
|
1131 |
+
);
|
1132 |
+
}
|
1133 |
+
|
1134 |
+
/**
|
1135 |
+
* Determines if metabox uses old-schoold options page config.
|
1136 |
+
*
|
1137 |
+
* @since 2.2.5
|
1138 |
+
* @return boolean True/False.
|
1139 |
+
*/
|
1140 |
+
public function is_old_school_options_page_mb() {
|
1141 |
+
return (
|
1142 |
+
// 'show_on' values checked for back-compatibility.
|
1143 |
+
isset( $this->meta_box['show_on']['key'] ) && 'options-page' === $this->meta_box['show_on']['key']
|
1144 |
+
|| array_key_exists( 'options-page', $this->meta_box['show_on'] )
|
1145 |
+
);
|
1146 |
+
}
|
1147 |
+
|
1148 |
+
/**
|
1149 |
+
* Determine if we are on an options page (or saving the options page).
|
1150 |
+
*
|
1151 |
+
* @since 2.2.5
|
1152 |
+
*
|
1153 |
+
* @return bool
|
1154 |
+
*/
|
1155 |
+
public function doing_options_page() {
|
1156 |
+
$found_key = false;
|
1157 |
+
$keys = $this->options_page_keys();
|
1158 |
+
|
1159 |
+
if ( empty( $keys ) ) {
|
1160 |
+
return $found_key;
|
1161 |
+
}
|
1162 |
+
|
1163 |
+
if ( ! empty( $_GET['page'] ) && in_array( $_GET['page'], $keys ) ) {
|
1164 |
+
$found_key = $_GET['page'];
|
1165 |
+
}
|
1166 |
+
|
1167 |
+
if ( ! empty( $_POST['action'] ) && in_array( $_POST['action'], $keys ) ) {
|
1168 |
+
$found_key = $_POST['action'];
|
1169 |
+
}
|
1170 |
+
|
1171 |
+
return $found_key ? $found_key : false;
|
1172 |
+
}
|
1173 |
+
|
1174 |
+
/**
|
1175 |
+
* Get the options page key.
|
1176 |
+
*
|
1177 |
+
* @since 2.2.5
|
1178 |
+
* @return string|array
|
1179 |
+
*/
|
1180 |
+
public function options_page_keys() {
|
1181 |
+
$key = '';
|
1182 |
+
if ( ! $this->is_options_page_mb() ) {
|
1183 |
+
return $key;
|
1184 |
+
}
|
1185 |
+
|
1186 |
+
$values = null;
|
1187 |
+
if ( ! empty( $this->meta_box['show_on']['value'] ) ) {
|
1188 |
+
$values = $this->meta_box['show_on']['value'];
|
1189 |
+
} elseif ( ! empty( $this->meta_box['show_on']['options-page'] ) ) {
|
1190 |
+
$values = $this->meta_box['show_on']['options-page'];
|
1191 |
+
} elseif ( $this->prop( 'option_key') ) {
|
1192 |
+
$values = $this->prop( 'option_key');
|
1193 |
+
}
|
1194 |
+
|
1195 |
+
if ( $values ) {
|
1196 |
+
$key = $values;
|
1197 |
+
}
|
1198 |
+
|
1199 |
+
if ( ! is_array( $key ) ) {
|
1200 |
+
$key = array( $key );
|
1201 |
+
}
|
1202 |
+
|
1203 |
+
return $key;
|
1204 |
}
|
1205 |
|
1206 |
/**
|
1207 |
* Returns the object type
|
1208 |
+
*
|
1209 |
* @since 1.0.0
|
1210 |
+
* @param string $object_type Type of object being saved. (e.g., post, user, or comment). Optional.
|
1211 |
+
* @return string Object type.
|
1212 |
*/
|
1213 |
public function object_type( $object_type = '' ) {
|
1214 |
if ( $object_type ) {
|
1227 |
|
1228 |
/**
|
1229 |
* Get the object type for the current page, based on the $pagenow global.
|
1230 |
+
*
|
1231 |
* @since 2.2.2
|
1232 |
* @return string Page object type name.
|
1233 |
*/
|
1251 |
$type = 'term';
|
1252 |
}
|
1253 |
|
1254 |
+
if (
|
1255 |
+
in_array( $pagenow, array( 'admin.php', 'admin-post.php' ), true )
|
1256 |
+
&& $this->doing_options_page()
|
1257 |
+
) {
|
1258 |
+
$type = 'options-page';
|
1259 |
+
}
|
1260 |
+
|
1261 |
return $type;
|
1262 |
}
|
1263 |
|
1264 |
/**
|
1265 |
* Set metabox property.
|
1266 |
+
*
|
1267 |
* @since 2.2.2
|
1268 |
+
* @param string $property Metabox config property to retrieve.
|
1269 |
+
* @param mixed $value Value to set if no value found.
|
1270 |
+
* @return mixed Metabox config property value or false.
|
1271 |
*/
|
1272 |
public function set_prop( $property, $value ) {
|
1273 |
$this->meta_box[ $property ] = $value;
|
1277 |
|
1278 |
/**
|
1279 |
* Get metabox property and optionally set a fallback
|
1280 |
+
*
|
1281 |
* @since 2.0.0
|
1282 |
+
* @param string $property Metabox config property to retrieve.
|
1283 |
+
* @param mixed $fallback Fallback value to set if no value found.
|
1284 |
+
* @return mixed Metabox config property value or false.
|
1285 |
*/
|
1286 |
public function prop( $property, $fallback = null ) {
|
1287 |
if ( array_key_exists( $property, $this->meta_box ) ) {
|
1293 |
|
1294 |
/**
|
1295 |
* Get a field object
|
1296 |
+
*
|
1297 |
* @since 2.0.3
|
1298 |
+
* @param string|array|CMB2_Field $field Metabox field id or field config array or CMB2_Field object.
|
1299 |
+
* @param CMB2_Field|null $field_group (optional) CMB2_Field object (group parent).
|
1300 |
+
* @param bool $reset_cached (optional) Reset the internal cache for this field object.
|
1301 |
+
* Use sparingly.
|
1302 |
+
*
|
1303 |
+
* @return CMB2_Field|false CMB2_Field object (or false).
|
1304 |
*/
|
1305 |
+
public function get_field( $field, $field_group = null, $reset_cached = false ) {
|
1306 |
if ( $field instanceof CMB2_Field ) {
|
1307 |
return $field;
|
1308 |
}
|
1319 |
list( $field_id, $sub_field_id ) = $ids;
|
1320 |
|
1321 |
$index = implode( '', $ids ) . ( $field_group ? $field_group->index : '' );
|
1322 |
+
|
1323 |
+
if ( array_key_exists( $index, $this->fields ) && ! $reset_cached ) {
|
1324 |
return $this->fields[ $index ];
|
1325 |
}
|
1326 |
|
1331 |
|
1332 |
/**
|
1333 |
* Handles determining which type of arguments to pass to CMB2_Field
|
1334 |
+
*
|
1335 |
* @since 2.0.7
|
1336 |
+
* @param mixed $field_id Field (or group field) ID.
|
1337 |
+
* @param mixed $field_args Array of field arguments.
|
1338 |
+
* @param mixed $sub_field_id Sub field ID (if field_group exists).
|
1339 |
+
* @param CMB2_Field|null $field_group If a sub-field, will be the parent group CMB2_Field object.
|
1340 |
+
* @return array Array of CMB2_Field arguments.
|
1341 |
*/
|
1342 |
public function get_field_args( $field_id, $field_args, $sub_field_id, $field_group ) {
|
1343 |
|
1344 |
+
// Check if group is passed and if fields were added in the old-school fields array.
|
1345 |
if ( $field_group && ( $sub_field_id || 0 === $sub_field_id ) ) {
|
1346 |
|
1347 |
+
// Update the fields array w/ any modified properties inherited from the group field.
|
1348 |
$this->meta_box['fields'][ $field_id ]['fields'][ $sub_field_id ] = $field_args;
|
1349 |
|
1350 |
return $this->get_default_args( $field_args, $field_group );
|
1359 |
|
1360 |
/**
|
1361 |
* Get default field arguments specific to this CMB2 object.
|
1362 |
+
*
|
1363 |
* @since 2.2.0
|
1364 |
* @param array $field_args Metabox field config array.
|
1365 |
+
* @param CMB2_Field $field_group (optional) CMB2_Field object (group parent).
|
1366 |
* @return array Array of field arguments.
|
1367 |
*/
|
1368 |
protected function get_default_args( $field_args, $field_group = null ) {
|
1383 |
return $args;
|
1384 |
}
|
1385 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1386 |
/**
|
1387 |
* When fields are added in the old-school way, intitate them as they should be
|
1388 |
+
*
|
1389 |
* @since 2.1.0
|
1390 |
+
* @param array $fields Array of fields to add.
|
1391 |
+
* @param mixed $parent_field_id Parent field id or null.
|
1392 |
+
*
|
1393 |
+
* @return CMB2
|
1394 |
*/
|
1395 |
protected function add_fields( $fields, $parent_field_id = null ) {
|
1396 |
foreach ( $fields as $field ) {
|
1409 |
$this->add_fields( $sub_fields, $field_id );
|
1410 |
}
|
1411 |
}
|
1412 |
+
|
1413 |
+
return $this;
|
1414 |
}
|
1415 |
|
1416 |
/**
|
1417 |
* Add a field to the metabox
|
1418 |
+
*
|
1419 |
* @since 2.0.0
|
1420 |
+
* @param array $field Metabox field config array.
|
1421 |
+
* @param int $position (optional) Position of metabox. 1 for first, etc.
|
1422 |
+
* @return string|false Field id or false.
|
1423 |
*/
|
1424 |
public function add_field( array $field, $position = 0 ) {
|
1425 |
if ( ! is_array( $field ) || ! array_key_exists( 'id', $field ) ) {
|
1431 |
case 'file':
|
1432 |
case 'file_list':
|
1433 |
|
1434 |
+
// Initiate attachment JS hooks.
|
1435 |
add_filter( 'wp_prepare_attachment_for_js', array( 'CMB2_Type_File_Base', 'prepare_image_sizes_for_js' ), 10, 3 );
|
1436 |
break;
|
1437 |
|
1438 |
case 'oembed':
|
1439 |
|
1440 |
+
// Initiate oembed Ajax hooks.
|
1441 |
cmb2_ajax();
|
1442 |
break;
|
1443 |
+
|
1444 |
+
case 'group':
|
1445 |
+
if ( empty( $field['render_row_cb'] ) ) {
|
1446 |
+
$field['render_row_cb'] = array( $this, 'render_group_callback' );
|
1447 |
+
}
|
1448 |
+
break;
|
1449 |
+
case 'colorpicker':
|
1450 |
+
// https://github.com/JayWood/CMB2_RGBa_Picker
|
1451 |
+
// Dequeue the rgba_colorpicker custom field script if it is used,
|
1452 |
+
// since we now enqueue our own more current version.
|
1453 |
+
add_action( 'admin_enqueue_scripts', array( 'CMB2_Type_Colorpicker', 'dequeue_rgba_colorpicker_script' ), 99 );
|
1454 |
+
break;
|
1455 |
}
|
1456 |
|
1457 |
if ( isset( $field['column'] ) && false !== $field['column'] ) {
|
1473 |
|
1474 |
/**
|
1475 |
* Defines a field's column if requesting to be show in admin columns.
|
1476 |
+
*
|
1477 |
* @since 2.2.3
|
1478 |
+
* @param array $field Metabox field config array.
|
1479 |
* @return array Modified metabox field config array.
|
1480 |
*/
|
1481 |
protected function define_field_column( array $field ) {
|
1493 |
|
1494 |
/**
|
1495 |
* Add a field to a group
|
1496 |
+
*
|
1497 |
* @since 2.0.0
|
1498 |
+
* @param string $parent_field_id The field id of the group field to add the field.
|
1499 |
+
* @param array $field Metabox field config array.
|
1500 |
+
* @param int $position (optional) Position of metabox. 1 for first, etc.
|
1501 |
+
* @return mixed Array of parent/field ids or false.
|
1502 |
*/
|
1503 |
public function add_group_field( $parent_field_id, array $field, $position = 0 ) {
|
1504 |
if ( ! array_key_exists( $parent_field_id, $this->meta_box['fields'] ) ) {
|
1526 |
|
1527 |
/**
|
1528 |
* Add a field array to a fields array in desired position
|
1529 |
+
*
|
1530 |
* @since 2.0.2
|
1531 |
+
* @param array $field Metabox field config array.
|
1532 |
+
* @param array $fields Array (passed by reference) to append the field (array) to.
|
1533 |
+
* @param integer $position Optionally specify a position in the array to be inserted.
|
1534 |
*/
|
1535 |
protected function _add_field_to_array( $field, &$fields, $position = 0 ) {
|
1536 |
if ( $position ) {
|
1542 |
|
1543 |
/**
|
1544 |
* Remove a field from the metabox
|
1545 |
+
*
|
1546 |
* @since 2.0.0
|
1547 |
+
* @param string $field_id The field id of the field to remove.
|
1548 |
+
* @param string $parent_field_id (optional) The field id of the group field to remove field from.
|
1549 |
+
* @return bool True if field was removed.
|
1550 |
*/
|
1551 |
public function remove_field( $field_id, $parent_field_id = '' ) {
|
1552 |
$ids = $this->get_field_ids( $field_id, $parent_field_id );
|
1570 |
if ( isset( $this->meta_box['fields'][ $field_id ]['fields'][ $sub_field_id ] ) ) {
|
1571 |
unset( $this->meta_box['fields'][ $field_id ]['fields'][ $sub_field_id ] );
|
1572 |
}
|
1573 |
+
|
1574 |
return true;
|
1575 |
}
|
1576 |
|
1577 |
/**
|
1578 |
* Update or add a property to a field
|
1579 |
+
*
|
1580 |
* @since 2.0.0
|
1581 |
+
* @param string $field_id Field id.
|
1582 |
+
* @param string $property Field property to set/update.
|
1583 |
+
* @param mixed $value Value to set the field property.
|
1584 |
+
* @param string $parent_field_id (optional) The field id of the group field to remove field from.
|
1585 |
+
* @return mixed Field id. Strict compare to false, as success can return a falsey value (like 0).
|
1586 |
*/
|
1587 |
public function update_field_property( $field_id, $property, $value, $parent_field_id = '' ) {
|
1588 |
$ids = $this->get_field_ids( $field_id, $parent_field_id );
|
1604 |
|
1605 |
/**
|
1606 |
* Check if field ids match a field and return the index/field id
|
1607 |
+
*
|
1608 |
* @since 2.0.2
|
1609 |
+
* @param string $field_id Field id.
|
1610 |
+
* @param string $parent_field_id (optional) Parent field id.
|
1611 |
+
* @return mixed Array of field/parent ids, or false.
|
1612 |
*/
|
1613 |
public function get_field_ids( $field_id, $parent_field_id = '' ) {
|
1614 |
$sub_field_id = $parent_field_id ? $field_id : '';
|
1639 |
}
|
1640 |
|
1641 |
/**
|
1642 |
+
* When using the old array filter, it is unlikely field array indexes will be the field id.
|
1643 |
+
*
|
1644 |
* @since 2.0.2
|
1645 |
+
* @param string $field_id The field id.
|
1646 |
+
* @param array $fields Array of fields to search.
|
1647 |
+
* @return mixed Field index or false.
|
1648 |
*/
|
1649 |
public function search_old_school_array( $field_id, $fields ) {
|
1650 |
$ids = wp_list_pluck( $fields, 'id' );
|
1654 |
|
1655 |
/**
|
1656 |
* Handles metabox property callbacks, and passes this $cmb object as property.
|
1657 |
+
*
|
1658 |
* @since 2.2.3
|
1659 |
+
* @param callable $cb The callback method/function/closure
|
1660 |
+
* @param mixed $additional_params Any additoinal parameters which should be passed to the callback.
|
1661 |
+
* @return mixed Return of the callback function.
|
1662 |
*/
|
1663 |
+
public function do_callback( $cb, $additional_params = null ) {
|
1664 |
+
return call_user_func( $cb, $this, $additional_params );
|
1665 |
}
|
1666 |
|
1667 |
/**
|
1668 |
* Generate a unique nonce field for each registered meta_box
|
1669 |
+
*
|
1670 |
* @since 2.0.0
|
1671 |
+
* @return void
|
1672 |
*/
|
1673 |
public function nonce_field() {
|
1674 |
wp_nonce_field( $this->nonce(), $this->nonce(), false, true );
|
1676 |
|
1677 |
/**
|
1678 |
* Generate a unique nonce for each registered meta_box
|
1679 |
+
*
|
1680 |
* @since 2.0.0
|
1681 |
+
* @return string unique nonce string.
|
1682 |
*/
|
1683 |
public function nonce() {
|
1684 |
+
if ( ! $this->generated_nonce ) {
|
1685 |
+
$this->generated_nonce = sanitize_html_class( 'nonce_' . basename( __FILE__ ) . $this->cmb_id );
|
1686 |
}
|
1687 |
+
|
1688 |
return $this->generated_nonce;
|
1689 |
}
|
1690 |
|
1691 |
+
/**
|
1692 |
+
* Checks if field-saving updated any fields.
|
1693 |
+
*
|
1694 |
+
* @since 2.2.5
|
1695 |
+
*
|
1696 |
+
* @return bool
|
1697 |
+
*/
|
1698 |
+
public function was_updated() {
|
1699 |
+
return ! empty( $this->updated );
|
1700 |
+
}
|
1701 |
+
|
1702 |
/**
|
1703 |
* Whether this box is an "alternate context" box. This means the box has a 'context' property defined as:
|
1704 |
* 'form_top', 'before_permalink', 'after_title', or 'after_editor'.
|
1707 |
* @return bool
|
1708 |
*/
|
1709 |
public function is_alternate_context_box() {
|
1710 |
+
return $this->prop( 'context' ) && in_array( $this->prop( 'context' ), array( 'form_top', 'before_permalink', 'after_title', 'after_editor' ), true );
|
1711 |
}
|
1712 |
|
1713 |
/**
|
1714 |
* Magic getter for our object.
|
1715 |
+
*
|
1716 |
+
* @param string $property Object property.
|
1717 |
* @throws Exception Throws an exception if the field is invalid.
|
1718 |
* @return mixed
|
1719 |
*/
|
1720 |
+
public function __get( $property ) {
|
1721 |
+
switch ( $property ) {
|
1722 |
case 'updated':
|
1723 |
case 'has_columns':
|
1724 |
case 'tax_metaboxes_to_remove':
|
1725 |
+
return $this->{$property};
|
1726 |
default:
|
1727 |
+
return parent::__get( $property );
|
1728 |
}
|
1729 |
}
|
1730 |
|
vendor/CMB2/includes/CMB2_Ajax.php
CHANGED
@@ -8,7 +8,7 @@
|
|
8 |
*
|
9 |
* @category WordPress_Plugin
|
10 |
* @package CMB2
|
11 |
-
* @author
|
12 |
* @license GPL-2.0+
|
13 |
*/
|
14 |
class CMB2_Ajax {
|
@@ -22,6 +22,7 @@ class CMB2_Ajax {
|
|
22 |
|
23 |
/**
|
24 |
* Instance of this class
|
|
|
25 |
* @since 2.2.2
|
26 |
* @var object
|
27 |
*/
|
@@ -29,6 +30,7 @@ class CMB2_Ajax {
|
|
29 |
|
30 |
/**
|
31 |
* Get the singleton instance of this class
|
|
|
32 |
* @since 2.2.2
|
33 |
* @return CMB2_Ajax
|
34 |
*/
|
@@ -42,6 +44,7 @@ class CMB2_Ajax {
|
|
42 |
|
43 |
/**
|
44 |
* Constructor
|
|
|
45 |
* @since 2.2.0
|
46 |
*/
|
47 |
protected function __construct() {
|
@@ -53,6 +56,7 @@ class CMB2_Ajax {
|
|
53 |
|
54 |
/**
|
55 |
* Handles our oEmbed ajax request
|
|
|
56 |
* @since 0.9.5
|
57 |
* @return object oEmbed embed code | fallback | error message
|
58 |
*/
|
@@ -78,7 +82,9 @@ class CMB2_Ajax {
|
|
78 |
$oembed_url = esc_url( $oembed_string );
|
79 |
|
80 |
// Set args
|
81 |
-
$embed_args = array(
|
|
|
|
|
82 |
|
83 |
$this->ajax_update = true;
|
84 |
|
@@ -96,8 +102,9 @@ class CMB2_Ajax {
|
|
96 |
|
97 |
/**
|
98 |
* Retrieves oEmbed from url/object ID
|
|
|
99 |
* @since 0.9.5
|
100 |
-
* @param array
|
101 |
* @return string html markup with embed or fallback
|
102 |
*/
|
103 |
public function get_oembed_no_edit( $args ) {
|
@@ -110,14 +117,14 @@ class CMB2_Ajax {
|
|
110 |
|
111 |
$args = wp_parse_args( $args, array(
|
112 |
'object_type' => 'post',
|
113 |
-
'oembed_args' =>
|
114 |
'field_id' => false,
|
115 |
'wp_error' => false,
|
116 |
) );
|
117 |
|
118 |
$this->embed_args =& $args;
|
119 |
|
120 |
-
|
121 |
* Set the post_ID so oEmbed won't fail
|
122 |
* wp-includes/class-wp-embed.php, WP_Embed::shortcode()
|
123 |
*/
|
@@ -161,8 +168,9 @@ class CMB2_Ajax {
|
|
161 |
|
162 |
/**
|
163 |
* Retrieves oEmbed from url/object ID
|
|
|
164 |
* @since 0.9.5
|
165 |
-
* @param array
|
166 |
* @return string html markup with embed or fallback
|
167 |
*/
|
168 |
public function get_oembed( $args ) {
|
@@ -259,7 +267,7 @@ class CMB2_Ajax {
|
|
259 |
} else {
|
260 |
|
261 |
$args = array( $this->object_type, $this->object_id, $meta_key );
|
262 |
-
$args[] = 'update' === $action ? $func_args : true;
|
263 |
|
264 |
// Cache the result to our metadata
|
265 |
$status = call_user_func_array( $action . '_metadata', $args );
|
@@ -271,8 +279,9 @@ class CMB2_Ajax {
|
|
271 |
/**
|
272 |
* Hooks in when options-page data is saved to clean stale
|
273 |
* oembed cache data from the option value.
|
|
|
274 |
* @since 2.2.0
|
275 |
-
* @param string
|
276 |
* @return void
|
277 |
*/
|
278 |
public static function clean_stale_options_page_oembeds( $option_key ) {
|
@@ -294,8 +303,8 @@ class CMB2_Ajax {
|
|
294 |
unset( $options[ $key ] );
|
295 |
unset( $options[ str_replace( '_oembed_time_', '_oembed_', $key ) ] );
|
296 |
}
|
297 |
-
}
|
298 |
-
// Remove the cached unknown values
|
299 |
elseif ( '{{unknown}}' === $value ) {
|
300 |
$modified = true;
|
301 |
unset( $options[ $key ] );
|
8 |
*
|
9 |
* @category WordPress_Plugin
|
10 |
* @package CMB2
|
11 |
+
* @author CMB2 team
|
12 |
* @license GPL-2.0+
|
13 |
*/
|
14 |
class CMB2_Ajax {
|
22 |
|
23 |
/**
|
24 |
* Instance of this class
|
25 |
+
*
|
26 |
* @since 2.2.2
|
27 |
* @var object
|
28 |
*/
|
30 |
|
31 |
/**
|
32 |
* Get the singleton instance of this class
|
33 |
+
*
|
34 |
* @since 2.2.2
|
35 |
* @return CMB2_Ajax
|
36 |
*/
|
44 |
|
45 |
/**
|
46 |
* Constructor
|
47 |
+
*
|
48 |
* @since 2.2.0
|
49 |
*/
|
50 |
protected function __construct() {
|
56 |
|
57 |
/**
|
58 |
* Handles our oEmbed ajax request
|
59 |
+
*
|
60 |
* @since 0.9.5
|
61 |
* @return object oEmbed embed code | fallback | error message
|
62 |
*/
|
82 |
$oembed_url = esc_url( $oembed_string );
|
83 |
|
84 |
// Set args
|
85 |
+
$embed_args = array(
|
86 |
+
'width' => $embed_width,
|
87 |
+
);
|
88 |
|
89 |
$this->ajax_update = true;
|
90 |
|
102 |
|
103 |
/**
|
104 |
* Retrieves oEmbed from url/object ID
|
105 |
+
*
|
106 |
* @since 0.9.5
|
107 |
+
* @param array $args Arguments for method
|
108 |
* @return string html markup with embed or fallback
|
109 |
*/
|
110 |
public function get_oembed_no_edit( $args ) {
|
117 |
|
118 |
$args = wp_parse_args( $args, array(
|
119 |
'object_type' => 'post',
|
120 |
+
'oembed_args' => array(),
|
121 |
'field_id' => false,
|
122 |
'wp_error' => false,
|
123 |
) );
|
124 |
|
125 |
$this->embed_args =& $args;
|
126 |
|
127 |
+
/*
|
128 |
* Set the post_ID so oEmbed won't fail
|
129 |
* wp-includes/class-wp-embed.php, WP_Embed::shortcode()
|
130 |
*/
|
168 |
|
169 |
/**
|
170 |
* Retrieves oEmbed from url/object ID
|
171 |
+
*
|
172 |
* @since 0.9.5
|
173 |
+
* @param array $args Arguments for method
|
174 |
* @return string html markup with embed or fallback
|
175 |
*/
|
176 |
public function get_oembed( $args ) {
|
267 |
} else {
|
268 |
|
269 |
$args = array( $this->object_type, $this->object_id, $meta_key );
|
270 |
+
$args[] = 'update' === $action ? $func_args[1] : true;
|
271 |
|
272 |
// Cache the result to our metadata
|
273 |
$status = call_user_func_array( $action . '_metadata', $args );
|
279 |
/**
|
280 |
* Hooks in when options-page data is saved to clean stale
|
281 |
* oembed cache data from the option value.
|
282 |
+
*
|
283 |
* @since 2.2.0
|
284 |
+
* @param string $option_key The options-page option key
|
285 |
* @return void
|
286 |
*/
|
287 |
public static function clean_stale_options_page_oembeds( $option_key ) {
|
303 |
unset( $options[ $key ] );
|
304 |
unset( $options[ str_replace( '_oembed_time_', '_oembed_', $key ) ] );
|
305 |
}
|
306 |
+
} // End if().
|
307 |
+
// Remove the cached unknown values.
|
308 |
elseif ( '{{unknown}}' === $value ) {
|
309 |
$modified = true;
|
310 |
unset( $options[ $key ] );
|
vendor/CMB2/includes/CMB2_Base.php
CHANGED
@@ -4,9 +4,9 @@
|
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
* @package CMB2
|
7 |
-
* @author
|
8 |
* @license GPL-2.0+
|
9 |
-
* @link
|
10 |
*
|
11 |
* @property-read $args The objects array of properties/arguments.
|
12 |
* @property-read $meta_box The objects array of properties/arguments.
|
@@ -19,6 +19,7 @@ abstract class CMB2_Base {
|
|
19 |
|
20 |
/**
|
21 |
* Current CMB2 instance ID
|
|
|
22 |
* @var string
|
23 |
* @since 2.2.3
|
24 |
*/
|
@@ -26,6 +27,7 @@ abstract class CMB2_Base {
|
|
26 |
|
27 |
/**
|
28 |
* The object properties name.
|
|
|
29 |
* @var string
|
30 |
* @since 2.2.3
|
31 |
*/
|
@@ -33,6 +35,7 @@ abstract class CMB2_Base {
|
|
33 |
|
34 |
/**
|
35 |
* Object ID
|
|
|
36 |
* @var mixed
|
37 |
* @since 2.2.3
|
38 |
*/
|
@@ -40,6 +43,7 @@ abstract class CMB2_Base {
|
|
40 |
|
41 |
/**
|
42 |
* Type of object being handled. (e.g., post, user, comment, or term)
|
|
|
43 |
* @var string
|
44 |
* @since 2.2.3
|
45 |
*/
|
@@ -47,6 +51,7 @@ abstract class CMB2_Base {
|
|
47 |
|
48 |
/**
|
49 |
* Array of key => value data for saving. Likely $_POST data.
|
|
|
50 |
* @var array
|
51 |
* @since 2.2.3
|
52 |
*/
|
@@ -54,6 +59,7 @@ abstract class CMB2_Base {
|
|
54 |
|
55 |
/**
|
56 |
* Array of field param callback results
|
|
|
57 |
* @var array
|
58 |
* @since 2.0.0
|
59 |
*/
|
@@ -71,6 +77,7 @@ abstract class CMB2_Base {
|
|
71 |
|
72 |
/**
|
73 |
* Get started
|
|
|
74 |
* @since 2.2.3
|
75 |
* @param array $args Object properties array
|
76 |
*/
|
@@ -92,6 +99,7 @@ abstract class CMB2_Base {
|
|
92 |
|
93 |
/**
|
94 |
* Returns the object ID
|
|
|
95 |
* @since 2.2.3
|
96 |
* @param integer $object_id Object ID
|
97 |
* @return integer Object ID
|
@@ -106,6 +114,7 @@ abstract class CMB2_Base {
|
|
106 |
|
107 |
/**
|
108 |
* Returns the object type
|
|
|
109 |
* @since 2.2.3
|
110 |
* @param string $object_type Object Type
|
111 |
* @return string Object type
|
@@ -120,6 +129,7 @@ abstract class CMB2_Base {
|
|
120 |
|
121 |
/**
|
122 |
* Get the object type for the current page, based on the $pagenow global.
|
|
|
123 |
* @since 2.2.2
|
124 |
* @return string Page object type name.
|
125 |
*/
|
@@ -144,6 +154,7 @@ abstract class CMB2_Base {
|
|
144 |
|
145 |
/**
|
146 |
* Set object property.
|
|
|
147 |
* @since 2.2.2
|
148 |
* @param string $property Metabox config property to retrieve
|
149 |
* @param mixed $value Value to set if no value found
|
@@ -157,6 +168,7 @@ abstract class CMB2_Base {
|
|
157 |
|
158 |
/**
|
159 |
* Get object property and optionally set a fallback
|
|
|
160 |
* @since 2.0.0
|
161 |
* @param string $property Metabox config property to retrieve
|
162 |
* @param mixed $fallback Fallback value to set if no value found
|
@@ -172,6 +184,7 @@ abstract class CMB2_Base {
|
|
172 |
|
173 |
/**
|
174 |
* Get default field arguments specific to this CMB2 object.
|
|
|
175 |
* @since 2.2.0
|
176 |
* @param array $field_args Metabox field config array.
|
177 |
* @param CMB2_Field $field_group (optional) CMB2_Field object (group parent)
|
@@ -197,6 +210,7 @@ abstract class CMB2_Base {
|
|
197 |
|
198 |
/**
|
199 |
* Get a new field object specific to this CMB2 object.
|
|
|
200 |
* @since 2.2.0
|
201 |
* @param array $field_args Metabox field config array.
|
202 |
* @param CMB2_Field $field_group (optional) CMB2_Field object (group parent)
|
@@ -237,6 +251,7 @@ abstract class CMB2_Base {
|
|
237 |
|
238 |
/**
|
239 |
* Store results of the param callbacks for continual access
|
|
|
240 |
* @since 2.0.0
|
241 |
* @param string $param Field parameter
|
242 |
* @return mixed Results of param/param callback
|
@@ -273,18 +288,36 @@ abstract class CMB2_Base {
|
|
273 |
return $this->callback_results[ $param ];
|
274 |
}
|
275 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
276 |
/**
|
277 |
* Handles the parameter callbacks, and passes this object as parameter.
|
|
|
278 |
* @since 2.2.3
|
279 |
-
* @param callable $cb
|
280 |
-
* @
|
|
|
281 |
*/
|
282 |
-
protected function do_callback( $cb ) {
|
283 |
-
return call_user_func( $cb, $this->{$this->properties_name}, $this );
|
284 |
}
|
285 |
|
286 |
/**
|
287 |
* Checks if field has a callback value
|
|
|
288 |
* @since 1.0.1
|
289 |
* @param string $cb Callback string
|
290 |
* @return mixed NULL, false for NO validation, or $cb string if it exists.
|
@@ -315,10 +348,10 @@ abstract class CMB2_Base {
|
|
315 |
* which is callable. If so, it registers the callback, and if not,
|
316 |
* converts the maybe-modified $val to a boolean for return.
|
317 |
*
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
* @since 2.2.3
|
323 |
*
|
324 |
* @param string $hook_name The hook name.
|
@@ -358,7 +391,7 @@ abstract class CMB2_Base {
|
|
358 |
}
|
359 |
|
360 |
// Cast to bool.
|
361 |
-
return
|
362 |
}
|
363 |
|
364 |
/**
|
@@ -386,11 +419,11 @@ abstract class CMB2_Base {
|
|
386 |
switch ( $message ) {
|
387 |
|
388 |
case self::DEPRECATED_PARAM:
|
389 |
-
$message = sprintf( __( 'The "%s" field parameter has been deprecated in favor of the "%s" parameter.', 'cmb2' ), $args[3], $args[4] );
|
390 |
break;
|
391 |
|
392 |
case self::DEPRECATED_CB_PARAM:
|
393 |
-
$message = sprintf( __( 'Using the "%s" field parameter as a callback has been deprecated in favor of the "%s" parameter.', 'cmb2' ), $args[3], $args[4] );
|
394 |
break;
|
395 |
|
396 |
default:
|
@@ -421,15 +454,13 @@ abstract class CMB2_Base {
|
|
421 |
if ( function_exists( '__' ) ) {
|
422 |
if ( ! is_null( $message ) ) {
|
423 |
trigger_error( sprintf( __( '%1$s was called with a parameter that is <strong>deprecated</strong> since version %2$s! %3$s', 'cmb2' ), $function, $version, $message ) );
|
424 |
-
}
|
425 |
-
else {
|
426 |
trigger_error( sprintf( __( '%1$s was called with a parameter that is <strong>deprecated</strong> since version %2$s with no alternative available.', 'cmb2' ), $function, $version ) );
|
427 |
}
|
428 |
} else {
|
429 |
if ( ! is_null( $message ) ) {
|
430 |
trigger_error( sprintf( '%1$s was called with a parameter that is <strong>deprecated</strong> since version %2$s! %3$s', $function, $version, $message ) );
|
431 |
-
}
|
432 |
-
else {
|
433 |
trigger_error( sprintf( '%1$s was called with a parameter that is <strong>deprecated</strong> since version %2$s with no alternative available.', $function, $version ) );
|
434 |
}
|
435 |
}
|
@@ -438,6 +469,7 @@ abstract class CMB2_Base {
|
|
438 |
|
439 |
/**
|
440 |
* Magic getter for our object.
|
|
|
441 |
* @param string $field
|
442 |
* @throws Exception Throws an exception if the field is invalid.
|
443 |
* @return mixed
|
@@ -462,6 +494,7 @@ abstract class CMB2_Base {
|
|
462 |
|
463 |
/**
|
464 |
* Allows overloading the object with methods... Whooaaa oooh it's magic, y'knoooow.
|
|
|
465 |
* @since 1.0.0
|
466 |
* @param string $method Non-existent method.
|
467 |
* @param array $args All arguments passed to the method
|
@@ -469,7 +502,7 @@ abstract class CMB2_Base {
|
|
469 |
public function __call( $method, $args ) {
|
470 |
$object_class = strtolower( get_class( $this ) );
|
471 |
|
472 |
-
if ( ! has_filter(
|
473 |
throw new Exception( sprintf( esc_html__( 'Invalid %1$s method: %2$s', 'cmb2' ), get_class( $this ), $method ) );
|
474 |
}
|
475 |
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
* @package CMB2
|
7 |
+
* @author CMB2 team
|
8 |
* @license GPL-2.0+
|
9 |
+
* @link https://cmb2.io
|
10 |
*
|
11 |
* @property-read $args The objects array of properties/arguments.
|
12 |
* @property-read $meta_box The objects array of properties/arguments.
|
19 |
|
20 |
/**
|
21 |
* Current CMB2 instance ID
|
22 |
+
*
|
23 |
* @var string
|
24 |
* @since 2.2.3
|
25 |
*/
|
27 |
|
28 |
/**
|
29 |
* The object properties name.
|
30 |
+
*
|
31 |
* @var string
|
32 |
* @since 2.2.3
|
33 |
*/
|
35 |
|
36 |
/**
|
37 |
* Object ID
|
38 |
+
*
|
39 |
* @var mixed
|
40 |
* @since 2.2.3
|
41 |
*/
|
43 |
|
44 |
/**
|
45 |
* Type of object being handled. (e.g., post, user, comment, or term)
|
46 |
+
*
|
47 |
* @var string
|
48 |
* @since 2.2.3
|
49 |
*/
|
51 |
|
52 |
/**
|
53 |
* Array of key => value data for saving. Likely $_POST data.
|
54 |
+
*
|
55 |
* @var array
|
56 |
* @since 2.2.3
|
57 |
*/
|
59 |
|
60 |
/**
|
61 |
* Array of field param callback results
|
62 |
+
*
|
63 |
* @var array
|
64 |
* @since 2.0.0
|
65 |
*/
|
77 |
|
78 |
/**
|
79 |
* Get started
|
80 |
+
*
|
81 |
* @since 2.2.3
|
82 |
* @param array $args Object properties array
|
83 |
*/
|
99 |
|
100 |
/**
|
101 |
* Returns the object ID
|
102 |
+
*
|
103 |
* @since 2.2.3
|
104 |
* @param integer $object_id Object ID
|
105 |
* @return integer Object ID
|
114 |
|
115 |
/**
|
116 |
* Returns the object type
|
117 |
+
*
|
118 |
* @since 2.2.3
|
119 |
* @param string $object_type Object Type
|
120 |
* @return string Object type
|
129 |
|
130 |
/**
|
131 |
* Get the object type for the current page, based on the $pagenow global.
|
132 |
+
*
|
133 |
* @since 2.2.2
|
134 |
* @return string Page object type name.
|
135 |
*/
|
154 |
|
155 |
/**
|
156 |
* Set object property.
|
157 |
+
*
|
158 |
* @since 2.2.2
|
159 |
* @param string $property Metabox config property to retrieve
|
160 |
* @param mixed $value Value to set if no value found
|
168 |
|
169 |
/**
|
170 |
* Get object property and optionally set a fallback
|
171 |
+
*
|
172 |
* @since 2.0.0
|
173 |
* @param string $property Metabox config property to retrieve
|
174 |
* @param mixed $fallback Fallback value to set if no value found
|
184 |
|
185 |
/**
|
186 |
* Get default field arguments specific to this CMB2 object.
|
187 |
+
*
|
188 |
* @since 2.2.0
|
189 |
* @param array $field_args Metabox field config array.
|
190 |
* @param CMB2_Field $field_group (optional) CMB2_Field object (group parent)
|
210 |
|
211 |
/**
|
212 |
* Get a new field object specific to this CMB2 object.
|
213 |
+
*
|
214 |
* @since 2.2.0
|
215 |
* @param array $field_args Metabox field config array.
|
216 |
* @param CMB2_Field $field_group (optional) CMB2_Field object (group parent)
|
251 |
|
252 |
/**
|
253 |
* Store results of the param callbacks for continual access
|
254 |
+
*
|
255 |
* @since 2.0.0
|
256 |
* @param string $param Field parameter
|
257 |
* @return mixed Results of param/param callback
|
288 |
return $this->callback_results[ $param ];
|
289 |
}
|
290 |
|
291 |
+
/**
|
292 |
+
* Unset the cached results of the param callback.
|
293 |
+
*
|
294 |
+
* @since 2.2.6
|
295 |
+
* @param string $param Field parameter
|
296 |
+
* @return CMB2_Base
|
297 |
+
*/
|
298 |
+
public function unset_param_callback_cache( $param ) {
|
299 |
+
if ( isset( $this->callback_results[ $param ] ) ) {
|
300 |
+
unset( $this->callback_results[ $param ] );
|
301 |
+
}
|
302 |
+
|
303 |
+
return $this;
|
304 |
+
}
|
305 |
+
|
306 |
/**
|
307 |
* Handles the parameter callbacks, and passes this object as parameter.
|
308 |
+
*
|
309 |
* @since 2.2.3
|
310 |
+
* @param callable $cb The callback method/function/closure
|
311 |
+
* @param mixed $additional_params Any additoinal parameters which should be passed to the callback.
|
312 |
+
* @return mixed Return of the callback function.
|
313 |
*/
|
314 |
+
protected function do_callback( $cb, $additional_params = null ) {
|
315 |
+
return call_user_func( $cb, $this->{$this->properties_name}, $this, $additional_params );
|
316 |
}
|
317 |
|
318 |
/**
|
319 |
* Checks if field has a callback value
|
320 |
+
*
|
321 |
* @since 1.0.1
|
322 |
* @param string $cb Callback string
|
323 |
* @return mixed NULL, false for NO validation, or $cb string if it exists.
|
348 |
* which is callable. If so, it registers the callback, and if not,
|
349 |
* converts the maybe-modified $val to a boolean for return.
|
350 |
*
|
351 |
+
* The registered handlers will have a parameter name which matches the filter, except:
|
352 |
+
* - The 'cmb2_api' prefix will be removed
|
353 |
+
* - A '_cb' suffix will be added (to stay inline with other '*_cb' parameters).
|
354 |
+
*
|
355 |
* @since 2.2.3
|
356 |
*
|
357 |
* @param string $hook_name The hook name.
|
391 |
}
|
392 |
|
393 |
// Cast to bool.
|
394 |
+
return ! ! $val;
|
395 |
}
|
396 |
|
397 |
/**
|
419 |
switch ( $message ) {
|
420 |
|
421 |
case self::DEPRECATED_PARAM:
|
422 |
+
$message = sprintf( __( 'The "%1$s" field parameter has been deprecated in favor of the "%1$s" parameter.', 'cmb2' ), $args[3], $args[4] );
|
423 |
break;
|
424 |
|
425 |
case self::DEPRECATED_CB_PARAM:
|
426 |
+
$message = sprintf( __( 'Using the "%1$s" field parameter as a callback has been deprecated in favor of the "%1$s" parameter.', 'cmb2' ), $args[3], $args[4] );
|
427 |
break;
|
428 |
|
429 |
default:
|
454 |
if ( function_exists( '__' ) ) {
|
455 |
if ( ! is_null( $message ) ) {
|
456 |
trigger_error( sprintf( __( '%1$s was called with a parameter that is <strong>deprecated</strong> since version %2$s! %3$s', 'cmb2' ), $function, $version, $message ) );
|
457 |
+
} else {
|
|
|
458 |
trigger_error( sprintf( __( '%1$s was called with a parameter that is <strong>deprecated</strong> since version %2$s with no alternative available.', 'cmb2' ), $function, $version ) );
|
459 |
}
|
460 |
} else {
|
461 |
if ( ! is_null( $message ) ) {
|
462 |
trigger_error( sprintf( '%1$s was called with a parameter that is <strong>deprecated</strong> since version %2$s! %3$s', $function, $version, $message ) );
|
463 |
+
} else {
|
|
|
464 |
trigger_error( sprintf( '%1$s was called with a parameter that is <strong>deprecated</strong> since version %2$s with no alternative available.', $function, $version ) );
|
465 |
}
|
466 |
}
|
469 |
|
470 |
/**
|
471 |
* Magic getter for our object.
|
472 |
+
*
|
473 |
* @param string $field
|
474 |
* @throws Exception Throws an exception if the field is invalid.
|
475 |
* @return mixed
|
494 |
|
495 |
/**
|
496 |
* Allows overloading the object with methods... Whooaaa oooh it's magic, y'knoooow.
|
497 |
+
*
|
498 |
* @since 1.0.0
|
499 |
* @param string $method Non-existent method.
|
500 |
* @param array $args All arguments passed to the method
|
502 |
public function __call( $method, $args ) {
|
503 |
$object_class = strtolower( get_class( $this ) );
|
504 |
|
505 |
+
if ( ! has_filter( "{$object_class}_inherit_{$method}" ) ) {
|
506 |
throw new Exception( sprintf( esc_html__( 'Invalid %1$s method: %2$s', 'cmb2' ), get_class( $this ), $method ) );
|
507 |
}
|
508 |
|
vendor/CMB2/includes/CMB2_Boxes.php
CHANGED
@@ -5,9 +5,9 @@
|
|
5 |
*
|
6 |
* @category WordPress_Plugin
|
7 |
* @package CMB2
|
8 |
-
* @author
|
9 |
* @license GPL-2.0+
|
10 |
-
* @link
|
11 |
*/
|
12 |
class CMB2_Boxes {
|
13 |
|
@@ -72,13 +72,14 @@ class CMB2_Boxes {
|
|
72 |
|
73 |
/**
|
74 |
* Retrieve all CMB2 instances that have the specified property set.
|
|
|
75 |
* @since 2.2.3
|
76 |
* @param string $property Property name.
|
77 |
* @param mixed $ignore The value to ignore.
|
78 |
* @return CMB2[] Array of matching cmb2 instances.
|
79 |
*/
|
80 |
public static function get_by_property( $property, $ignore = null ) {
|
81 |
-
$
|
82 |
|
83 |
foreach ( self::$cmb2_instances as $cmb_id => $cmb ) {
|
84 |
|
@@ -86,10 +87,10 @@ class CMB2_Boxes {
|
|
86 |
continue;
|
87 |
}
|
88 |
|
89 |
-
$
|
90 |
}
|
91 |
|
92 |
-
return $
|
93 |
}
|
94 |
|
95 |
}
|
5 |
*
|
6 |
* @category WordPress_Plugin
|
7 |
* @package CMB2
|
8 |
+
* @author CMB2 team
|
9 |
* @license GPL-2.0+
|
10 |
+
* @link https://cmb2.io
|
11 |
*/
|
12 |
class CMB2_Boxes {
|
13 |
|
72 |
|
73 |
/**
|
74 |
* Retrieve all CMB2 instances that have the specified property set.
|
75 |
+
*
|
76 |
* @since 2.2.3
|
77 |
* @param string $property Property name.
|
78 |
* @param mixed $ignore The value to ignore.
|
79 |
* @return CMB2[] Array of matching cmb2 instances.
|
80 |
*/
|
81 |
public static function get_by_property( $property, $ignore = null ) {
|
82 |
+
$boxes = array();
|
83 |
|
84 |
foreach ( self::$cmb2_instances as $cmb_id => $cmb ) {
|
85 |
|
87 |
continue;
|
88 |
}
|
89 |
|
90 |
+
$boxes[ $cmb_id ] = $cmb;
|
91 |
}
|
92 |
|
93 |
+
return $boxes;
|
94 |
}
|
95 |
|
96 |
}
|
vendor/CMB2/includes/CMB2_Field.php
CHANGED
@@ -6,9 +6,9 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*
|
13 |
* @method string _id()
|
14 |
* @method string type()
|
@@ -18,6 +18,7 @@ class CMB2_Field extends CMB2_Base {
|
|
18 |
|
19 |
/**
|
20 |
* The object properties name.
|
|
|
21 |
* @var string
|
22 |
* @since 2.2.3
|
23 |
*/
|
@@ -25,6 +26,7 @@ class CMB2_Field extends CMB2_Base {
|
|
25 |
|
26 |
/**
|
27 |
* Field arguments
|
|
|
28 |
* @var mixed
|
29 |
* @since 1.1.0
|
30 |
*/
|
@@ -32,6 +34,7 @@ class CMB2_Field extends CMB2_Base {
|
|
32 |
|
33 |
/**
|
34 |
* Field group object or false (if no group)
|
|
|
35 |
* @var mixed
|
36 |
* @since 1.1.0
|
37 |
*/
|
@@ -39,6 +42,7 @@ class CMB2_Field extends CMB2_Base {
|
|
39 |
|
40 |
/**
|
41 |
* Field meta value
|
|
|
42 |
* @var mixed
|
43 |
* @since 1.1.0
|
44 |
*/
|
@@ -46,6 +50,7 @@ class CMB2_Field extends CMB2_Base {
|
|
46 |
|
47 |
/**
|
48 |
* Field meta value
|
|
|
49 |
* @var mixed
|
50 |
* @since 1.1.0
|
51 |
*/
|
@@ -53,6 +58,7 @@ class CMB2_Field extends CMB2_Base {
|
|
53 |
|
54 |
/**
|
55 |
* Grouped Field's current numeric index during the save process
|
|
|
56 |
* @var mixed
|
57 |
* @since 2.0.0
|
58 |
*/
|
@@ -60,6 +66,7 @@ class CMB2_Field extends CMB2_Base {
|
|
60 |
|
61 |
/**
|
62 |
* Array of field options
|
|
|
63 |
* @var array
|
64 |
* @since 2.0.0
|
65 |
*/
|
@@ -67,6 +74,7 @@ class CMB2_Field extends CMB2_Base {
|
|
67 |
|
68 |
/**
|
69 |
* Array of provided field text strings
|
|
|
70 |
* @var array
|
71 |
* @since 2.0.0
|
72 |
*/
|
@@ -74,6 +82,7 @@ class CMB2_Field extends CMB2_Base {
|
|
74 |
|
75 |
/**
|
76 |
* The field's render context. In most cases, 'edit', but can be 'display'.
|
|
|
77 |
* @var string
|
78 |
* @since 2.2.2
|
79 |
*/
|
@@ -107,6 +116,7 @@ class CMB2_Field extends CMB2_Base {
|
|
107 |
|
108 |
/**
|
109 |
* Constructs our field object
|
|
|
110 |
* @since 1.1.0
|
111 |
* @param array $args Field arguments
|
112 |
*/
|
@@ -135,6 +145,7 @@ class CMB2_Field extends CMB2_Base {
|
|
135 |
|
136 |
/**
|
137 |
* Non-existent methods fallback to checking for field arguments of the same name
|
|
|
138 |
* @since 1.1.0
|
139 |
* @param string $name Method name
|
140 |
* @param array $arguments Array of passed-in arguments
|
@@ -151,6 +162,7 @@ class CMB2_Field extends CMB2_Base {
|
|
151 |
|
152 |
/**
|
153 |
* Retrieves the field id
|
|
|
154 |
* @since 1.1.0
|
155 |
* @param boolean $raw Whether to retrieve pre-modidifed id
|
156 |
* @return string Field id
|
@@ -162,6 +174,7 @@ class CMB2_Field extends CMB2_Base {
|
|
162 |
|
163 |
/**
|
164 |
* Get a field argument
|
|
|
165 |
* @since 1.1.0
|
166 |
* @param string $key Argument to check
|
167 |
* @param string $_key Sub argument to check
|
@@ -184,9 +197,10 @@ class CMB2_Field extends CMB2_Base {
|
|
184 |
|
185 |
/**
|
186 |
* Retrieve a portion of a field property
|
|
|
187 |
* @since 1.1.0
|
188 |
-
* @param string
|
189 |
-
* @param string
|
190 |
* @return mixed Queried property value or false
|
191 |
*/
|
192 |
public function _data( $var, $key = '' ) {
|
@@ -199,6 +213,7 @@ class CMB2_Field extends CMB2_Base {
|
|
199 |
|
200 |
/**
|
201 |
* Get Field's value
|
|
|
202 |
* @since 1.1.0
|
203 |
* @param string $key If value is an array, is used to get array key->value
|
204 |
* @return mixed Field value or false if non-existent
|
@@ -209,6 +224,7 @@ class CMB2_Field extends CMB2_Base {
|
|
209 |
|
210 |
/**
|
211 |
* Retrieves metadata/option data
|
|
|
212 |
* @since 1.0.1
|
213 |
* @param string $field_id Meta key/Option array key
|
214 |
* @param array $args Override arguments
|
@@ -217,7 +233,7 @@ class CMB2_Field extends CMB2_Base {
|
|
217 |
public function get_data( $field_id = '', $args = array() ) {
|
218 |
if ( $field_id ) {
|
219 |
$args['field_id'] = $field_id;
|
220 |
-
}
|
221 |
$args['field_id'] = $this->group->id();
|
222 |
}
|
223 |
|
@@ -280,12 +296,15 @@ class CMB2_Field extends CMB2_Base {
|
|
280 |
|
281 |
/**
|
282 |
* Updates metadata/option data
|
|
|
283 |
* @since 1.0.1
|
284 |
* @param mixed $new_value Value to update data with
|
285 |
* @param bool $single Whether data is an array (add_metadata)
|
286 |
*/
|
287 |
public function update_data( $new_value, $single = true ) {
|
288 |
-
$a = $this->data_args( array(
|
|
|
|
|
289 |
|
290 |
$a['value'] = $a['repeat'] ? array_values( $new_value ) : $new_value;
|
291 |
|
@@ -351,11 +370,14 @@ class CMB2_Field extends CMB2_Base {
|
|
351 |
|
352 |
/**
|
353 |
* Removes/updates metadata/option data
|
|
|
354 |
* @since 1.0.1
|
355 |
* @param string $old Old value
|
356 |
*/
|
357 |
public function remove_data( $old = '' ) {
|
358 |
-
$a = $this->data_args( array(
|
|
|
|
|
359 |
|
360 |
/**
|
361 |
* Filter whether to override removing of meta value.
|
@@ -401,8 +423,8 @@ class CMB2_Field extends CMB2_Base {
|
|
401 |
// If no override, remove as usual
|
402 |
if ( null !== $override ) {
|
403 |
return $override;
|
404 |
-
}
|
405 |
-
// Option page handling
|
406 |
elseif ( 'options-page' === $a['type'] || empty( $a['id'] ) ) {
|
407 |
return cmb2_options( $a['id'] )->remove( $a['field_id'] );
|
408 |
}
|
@@ -413,6 +435,7 @@ class CMB2_Field extends CMB2_Base {
|
|
413 |
|
414 |
/**
|
415 |
* Data variables for get/set data methods
|
|
|
416 |
* @since 1.1.0
|
417 |
* @param array $args Override arguments
|
418 |
* @return array Updated arguments
|
@@ -430,6 +453,7 @@ class CMB2_Field extends CMB2_Base {
|
|
430 |
|
431 |
/**
|
432 |
* Checks if field has a registered sanitization callback
|
|
|
433 |
* @since 1.0.1
|
434 |
* @param mixed $meta_value Meta value
|
435 |
* @return mixed Possibly sanitized meta value
|
@@ -480,6 +504,7 @@ class CMB2_Field extends CMB2_Base {
|
|
480 |
|
481 |
/**
|
482 |
* Process $_POST data to save this field's value
|
|
|
483 |
* @since 2.0.3
|
484 |
* @param array $data_to_save $_POST data to check
|
485 |
* @return array|int|bool Result of save, false on failure
|
@@ -496,6 +521,7 @@ class CMB2_Field extends CMB2_Base {
|
|
496 |
|
497 |
/**
|
498 |
* Sanitize/store a value to this field
|
|
|
499 |
* @since 2.0.0
|
500 |
* @param array $meta_value Desired value to sanitize/store
|
501 |
* @return array|int|bool Result of save. false on failure
|
@@ -573,6 +599,7 @@ class CMB2_Field extends CMB2_Base {
|
|
573 |
|
574 |
/**
|
575 |
* Determine if current type is exempt from escaping
|
|
|
576 |
* @since 1.1.0
|
577 |
* @return bool True if exempt
|
578 |
*/
|
@@ -587,6 +614,7 @@ class CMB2_Field extends CMB2_Base {
|
|
587 |
|
588 |
/**
|
589 |
* Determine if current type cannot be repeatable
|
|
|
590 |
* @since 1.1.0
|
591 |
* @param string $type Field type to check
|
592 |
* @return bool True if type cannot be repeatable
|
@@ -595,15 +623,20 @@ class CMB2_Field extends CMB2_Base {
|
|
595 |
// These types cannot be repeatable.
|
596 |
$internal_fields = array(
|
597 |
// Use file_list instead
|
598 |
-
'file'
|
599 |
-
'radio'
|
600 |
-
'title'
|
601 |
-
'wysiwyg'
|
602 |
-
'checkbox'
|
603 |
-
'radio_inline'
|
604 |
-
'taxonomy_radio'
|
605 |
-
'
|
606 |
-
'
|
|
|
|
|
|
|
|
|
|
|
607 |
);
|
608 |
|
609 |
/**
|
@@ -621,8 +654,45 @@ class CMB2_Field extends CMB2_Base {
|
|
621 |
return isset( $all_fields[ $type ] );
|
622 |
}
|
623 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
624 |
/**
|
625 |
* Escape the value before output. Defaults to 'esc_attr()'
|
|
|
626 |
* @since 1.0.1
|
627 |
* @param callable $func Escaping function (if not esc_attr())
|
628 |
* @param mixed $meta_value Meta value
|
@@ -671,6 +741,7 @@ class CMB2_Field extends CMB2_Base {
|
|
671 |
|
672 |
/**
|
673 |
* Return non-empty value or field default if value IS empty
|
|
|
674 |
* @since 2.0.0
|
675 |
* @param mixed $meta_value Field value
|
676 |
* @return mixed Field value, or default value
|
@@ -681,6 +752,7 @@ class CMB2_Field extends CMB2_Base {
|
|
681 |
|
682 |
/**
|
683 |
* Offset a time value based on timezone
|
|
|
684 |
* @since 1.0.0
|
685 |
* @return string Offset time string
|
686 |
*/
|
@@ -690,6 +762,7 @@ class CMB2_Field extends CMB2_Base {
|
|
690 |
|
691 |
/**
|
692 |
* Return timezone string
|
|
|
693 |
* @since 1.0.0
|
694 |
* @return string Timezone string
|
695 |
*/
|
@@ -699,9 +772,9 @@ class CMB2_Field extends CMB2_Base {
|
|
699 |
// Is timezone arg set?
|
700 |
if ( $this->args( 'timezone' ) ) {
|
701 |
$value = $this->args( 'timezone' );
|
702 |
-
}
|
703 |
// Is there another meta key with a timezone stored as its value we should use?
|
704 |
-
|
705 |
$value = $this->get_data( $this->args( 'timezone_meta_key' ) );
|
706 |
}
|
707 |
|
@@ -710,6 +783,7 @@ class CMB2_Field extends CMB2_Base {
|
|
710 |
|
711 |
/**
|
712 |
* Format the timestamp field value based on the field date/time format arg
|
|
|
713 |
* @since 2.0.0
|
714 |
* @param int $meta_value Timestamp
|
715 |
* @param string $format Either date_format or time_format
|
@@ -721,6 +795,7 @@ class CMB2_Field extends CMB2_Base {
|
|
721 |
|
722 |
/**
|
723 |
* Return a formatted timestamp for a field
|
|
|
724 |
* @since 2.0.0
|
725 |
* @param string $format Either date_format or time_format
|
726 |
* @param string $meta_value Optional meta value to check
|
@@ -741,6 +816,7 @@ class CMB2_Field extends CMB2_Base {
|
|
741 |
|
742 |
/**
|
743 |
* Get timestamp from text date
|
|
|
744 |
* @since 2.2.0
|
745 |
* @param string $value Date value
|
746 |
* @return mixed Unix timestamp representing the date.
|
@@ -751,6 +827,7 @@ class CMB2_Field extends CMB2_Base {
|
|
751 |
|
752 |
/**
|
753 |
* Get field render callback and Render the field row
|
|
|
754 |
* @since 1.0.0
|
755 |
*/
|
756 |
public function render_field() {
|
@@ -764,6 +841,7 @@ class CMB2_Field extends CMB2_Base {
|
|
764 |
|
765 |
/**
|
766 |
* Default field render callback
|
|
|
767 |
* @since 2.1.1
|
768 |
*/
|
769 |
public function render_field_callback() {
|
@@ -845,7 +923,8 @@ class CMB2_Field extends CMB2_Base {
|
|
845 |
* @param array $field_types The types of fields which should get the 'table-layout' class
|
846 |
*/
|
847 |
$repeat_table_rows_types = apply_filters( 'cmb2_repeat_table_row_types', array(
|
848 |
-
'text_url',
|
|
|
849 |
) );
|
850 |
|
851 |
$conditional_classes = array(
|
@@ -888,6 +967,7 @@ class CMB2_Field extends CMB2_Base {
|
|
888 |
|
889 |
/**
|
890 |
* Get field display callback and render the display value in the column.
|
|
|
891 |
* @since 2.2.2
|
892 |
*/
|
893 |
public function render_column() {
|
@@ -901,6 +981,7 @@ class CMB2_Field extends CMB2_Base {
|
|
901 |
|
902 |
/**
|
903 |
* Default callback to outputs field value in a display format.
|
|
|
904 |
* @since 2.2.2
|
905 |
*/
|
906 |
public function display_value_callback() {
|
@@ -949,6 +1030,7 @@ class CMB2_Field extends CMB2_Base {
|
|
949 |
|
950 |
/**
|
951 |
* Replaces a hash key - {#} - with the repeatable index
|
|
|
952 |
* @since 1.2.0
|
953 |
* @param string $value Value to update
|
954 |
* @return string Updated value
|
@@ -963,8 +1045,8 @@ class CMB2_Field extends CMB2_Base {
|
|
963 |
* For back-compatibility, falls back to checking the options array.
|
964 |
*
|
965 |
* @since 2.2.2
|
966 |
-
* @param string
|
967 |
-
* @param string
|
968 |
* @return string Text
|
969 |
*/
|
970 |
public function get_string( $text_key, $fallback ) {
|
@@ -993,20 +1075,32 @@ class CMB2_Field extends CMB2_Base {
|
|
993 |
}
|
994 |
|
995 |
/**
|
996 |
-
* Retrieve options args.
|
|
|
997 |
* @since 2.0.0
|
998 |
-
* @param string
|
999 |
* @return array Array of options
|
1000 |
*/
|
1001 |
public function options( $key = '' ) {
|
1002 |
-
if (
|
1003 |
-
|
1004 |
-
|
1005 |
-
}
|
1006 |
|
1007 |
-
|
|
|
1008 |
}
|
1009 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1010 |
$this->field_options = (array) $this->args['options'];
|
1011 |
|
1012 |
if ( is_callable( $this->args['options_cb'] ) ) {
|
@@ -1017,15 +1111,12 @@ class CMB2_Field extends CMB2_Base {
|
|
1017 |
}
|
1018 |
}
|
1019 |
|
1020 |
-
if ( $key ) {
|
1021 |
-
return array_key_exists( $key, $this->field_options ) ? $this->field_options[ $key ] : false;
|
1022 |
-
}
|
1023 |
-
|
1024 |
return $this->field_options;
|
1025 |
}
|
1026 |
|
1027 |
/**
|
1028 |
* Store JS dependencies as part of the field args.
|
|
|
1029 |
* @since 2.2.0
|
1030 |
* @param array $dependencies Dependies to register for this field.
|
1031 |
*/
|
@@ -1045,62 +1136,31 @@ class CMB2_Field extends CMB2_Base {
|
|
1045 |
* @return mixed Default field value
|
1046 |
*/
|
1047 |
public function get_default() {
|
1048 |
-
|
1049 |
-
|
|
|
|
|
1050 |
}
|
1051 |
|
1052 |
$param = is_callable( $this->args['default_cb'] ) ? 'default_cb' : 'default';
|
1053 |
-
$default = $this->get_param_callback_result( $param );
|
1054 |
|
1055 |
-
// Allow a filter override of the default value
|
1056 |
-
|
1057 |
-
|
1058 |
-
return $this->args['default'];
|
1059 |
}
|
1060 |
|
1061 |
/**
|
1062 |
* Fills in empty field parameters with defaults
|
|
|
1063 |
* @since 1.1.0
|
1064 |
-
*
|
1065 |
-
* @param
|
|
|
1066 |
*/
|
1067 |
public function _set_field_defaults( $args ) {
|
1068 |
|
1069 |
// Set up blank or default values for empty ones
|
1070 |
-
$args = wp_parse_args( $args,
|
1071 |
-
'type' => '',
|
1072 |
-
'name' => '',
|
1073 |
-
'desc' => '',
|
1074 |
-
'before' => '',
|
1075 |
-
'after' => '',
|
1076 |
-
'options' => array(),
|
1077 |
-
'options_cb' => '',
|
1078 |
-
'text' => array(),
|
1079 |
-
'text_cb' => '',
|
1080 |
-
'attributes' => array(),
|
1081 |
-
'protocols' => null,
|
1082 |
-
'default' => null,
|
1083 |
-
'default_cb' => '',
|
1084 |
-
'classes' => null,
|
1085 |
-
'classes_cb' => '',
|
1086 |
-
'select_all_button' => true,
|
1087 |
-
'multiple' => false,
|
1088 |
-
'repeatable' => isset( $args['type'] ) && 'group' == $args['type'],
|
1089 |
-
'inline' => false,
|
1090 |
-
'on_front' => true,
|
1091 |
-
'show_names' => true,
|
1092 |
-
'save_field' => true, // Will not save if false
|
1093 |
-
'date_format' => 'm\/d\/Y',
|
1094 |
-
'time_format' => 'h:i A',
|
1095 |
-
'description' => isset( $args['desc'] ) ? $args['desc'] : '',
|
1096 |
-
'preview_size' => 'file' == $args['type'] ? array( 350, 350 ) : array( 50, 50 ),
|
1097 |
-
'render_row_cb' => array( $this, 'render_field_callback' ),
|
1098 |
-
'display_cb' => array( $this, 'display_value_callback' ),
|
1099 |
-
'label_cb' => 'title' != $args['type'] ? array( $this, 'label' ) : '',
|
1100 |
-
'column' => false,
|
1101 |
-
'js_dependencies' => array(),
|
1102 |
-
'show_in_rest' => null,
|
1103 |
-
) );
|
1104 |
|
1105 |
/*
|
1106 |
* Deprecated usage:
|
@@ -1113,38 +1173,15 @@ class CMB2_Field extends CMB2_Base {
|
|
1113 |
|
1114 |
$args['repeatable'] = $args['repeatable'] && ! $this->repeatable_exception( $args['type'] );
|
1115 |
$args['inline'] = $args['inline'] || false !== stripos( $args['type'], '_inline' );
|
1116 |
-
|
1117 |
-
$args['options'] = 'group' == $args['type'] ? wp_parse_args( $args['options'], array(
|
1118 |
-
'add_button' => esc_html__( 'Add Group', 'cmb2' ),
|
1119 |
-
'remove_button' => esc_html__( 'Remove Group', 'cmb2' ),
|
1120 |
-
) ) : $args['options'];
|
1121 |
-
|
1122 |
$args['_id'] = $args['id'];
|
1123 |
$args['_name'] = $args['id'];
|
1124 |
|
1125 |
-
if ( $this->
|
1126 |
-
|
1127 |
-
$args['id'] = $this->group->args( 'id' ) . '_' . $this->group->index . '_' . $args['id'];
|
1128 |
-
$args['_name'] = $this->group->args( 'id' ) . '[' . $this->group->index . '][' . $args['_name'] . ']';
|
1129 |
}
|
1130 |
|
1131 |
-
if (
|
1132 |
-
$args
|
1133 |
-
$args['options']['textarea_name'] = $args['_name'];
|
1134 |
-
}
|
1135 |
-
|
1136 |
-
$option_types = apply_filters( 'cmb2_all_or_nothing_types', array( 'select', 'radio', 'radio_inline', 'taxonomy_select', 'taxonomy_radio', 'taxonomy_radio_inline' ), $this );
|
1137 |
-
|
1138 |
-
if ( in_array( $args['type'], $option_types, true ) ) {
|
1139 |
-
|
1140 |
-
$args['show_option_none'] = isset( $args['show_option_none'] ) ? $args['show_option_none'] : null;
|
1141 |
-
$args['show_option_none'] = true === $args['show_option_none'] ? esc_html__( 'None', 'cmb2' ) : $args['show_option_none'];
|
1142 |
-
|
1143 |
-
if ( null === $args['show_option_none'] ) {
|
1144 |
-
$off_by_default = in_array( $args['type'], array( 'select', 'radio', 'radio_inline' ), true );
|
1145 |
-
$args['show_option_none'] = $off_by_default ? false : esc_html__( 'None', 'cmb2' );
|
1146 |
-
}
|
1147 |
-
|
1148 |
}
|
1149 |
|
1150 |
$args['has_supporting_data'] = in_array(
|
@@ -1161,8 +1198,123 @@ class CMB2_Field extends CMB2_Base {
|
|
1161 |
return $args;
|
1162 |
}
|
1163 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1164 |
/**
|
1165 |
* Get default field arguments specific to this CMB2 object.
|
|
|
1166 |
* @since 2.2.0
|
1167 |
* @param array $field_args Metabox field config array.
|
1168 |
* @param CMB2_Field $field_group (optional) CMB2_Field object (group parent)
|
@@ -1181,12 +1333,12 @@ class CMB2_Field extends CMB2_Base {
|
|
1181 |
}
|
1182 |
|
1183 |
/**
|
1184 |
-
* Returns a cloned version of this field object
|
1185 |
* modified/overridden field arguments.
|
1186 |
*
|
1187 |
* @since 2.2.2
|
1188 |
-
* @param array
|
1189 |
-
*
|
1190 |
*
|
1191 |
* @return CMB2_Field The new CMB2_Field instance.
|
1192 |
*/
|
@@ -1211,8 +1363,9 @@ class CMB2_Field extends CMB2_Base {
|
|
1211 |
|
1212 |
/**
|
1213 |
* Converts deprecated field parameters to the current/proper parameter, and throws a deprecation notice.
|
|
|
1214 |
* @since 2.2.3
|
1215 |
-
* @param array
|
1216 |
* @param array Modified field config array.
|
1217 |
*/
|
1218 |
protected function convert_deprecated_params( $args ) {
|
@@ -1221,7 +1374,6 @@ class CMB2_Field extends CMB2_Base {
|
|
1221 |
|
1222 |
// We'll let this one be.
|
1223 |
// $this->deprecated_param( __CLASS__ . '::__construct()', '2.2.3', self::DEPRECATED_PARAM, 'row_classes', 'classes' );
|
1224 |
-
|
1225 |
// row_classes param could be a callback. This is definitely deprecated.
|
1226 |
if ( is_callable( $args['row_classes'] ) ) {
|
1227 |
|
@@ -1237,7 +1389,6 @@ class CMB2_Field extends CMB2_Base {
|
|
1237 |
unset( $args['row_classes'] );
|
1238 |
}
|
1239 |
|
1240 |
-
|
1241 |
// default param can be passed a callback as well
|
1242 |
if ( is_callable( $args['default'] ) ) {
|
1243 |
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*
|
13 |
* @method string _id()
|
14 |
* @method string type()
|
18 |
|
19 |
/**
|
20 |
* The object properties name.
|
21 |
+
*
|
22 |
* @var string
|
23 |
* @since 2.2.3
|
24 |
*/
|
26 |
|
27 |
/**
|
28 |
* Field arguments
|
29 |
+
*
|
30 |
* @var mixed
|
31 |
* @since 1.1.0
|
32 |
*/
|
34 |
|
35 |
/**
|
36 |
* Field group object or false (if no group)
|
37 |
+
*
|
38 |
* @var mixed
|
39 |
* @since 1.1.0
|
40 |
*/
|
42 |
|
43 |
/**
|
44 |
* Field meta value
|
45 |
+
*
|
46 |
* @var mixed
|
47 |
* @since 1.1.0
|
48 |
*/
|
50 |
|
51 |
/**
|
52 |
* Field meta value
|
53 |
+
*
|
54 |
* @var mixed
|
55 |
* @since 1.1.0
|
56 |
*/
|
58 |
|
59 |
/**
|
60 |
* Grouped Field's current numeric index during the save process
|
61 |
+
*
|
62 |
* @var mixed
|
63 |
* @since 2.0.0
|
64 |
*/
|
66 |
|
67 |
/**
|
68 |
* Array of field options
|
69 |
+
*
|
70 |
* @var array
|
71 |
* @since 2.0.0
|
72 |
*/
|
74 |
|
75 |
/**
|
76 |
* Array of provided field text strings
|
77 |
+
*
|
78 |
* @var array
|
79 |
* @since 2.0.0
|
80 |
*/
|
82 |
|
83 |
/**
|
84 |
* The field's render context. In most cases, 'edit', but can be 'display'.
|
85 |
+
*
|
86 |
* @var string
|
87 |
* @since 2.2.2
|
88 |
*/
|
116 |
|
117 |
/**
|
118 |
* Constructs our field object
|
119 |
+
*
|
120 |
* @since 1.1.0
|
121 |
* @param array $args Field arguments
|
122 |
*/
|
145 |
|
146 |
/**
|
147 |
* Non-existent methods fallback to checking for field arguments of the same name
|
148 |
+
*
|
149 |
* @since 1.1.0
|
150 |
* @param string $name Method name
|
151 |
* @param array $arguments Array of passed-in arguments
|
162 |
|
163 |
/**
|
164 |
* Retrieves the field id
|
165 |
+
*
|
166 |
* @since 1.1.0
|
167 |
* @param boolean $raw Whether to retrieve pre-modidifed id
|
168 |
* @return string Field id
|
174 |
|
175 |
/**
|
176 |
* Get a field argument
|
177 |
+
*
|
178 |
* @since 1.1.0
|
179 |
* @param string $key Argument to check
|
180 |
* @param string $_key Sub argument to check
|
197 |
|
198 |
/**
|
199 |
* Retrieve a portion of a field property
|
200 |
+
*
|
201 |
* @since 1.1.0
|
202 |
+
* @param string $var Field property to check
|
203 |
+
* @param string $key Field property array key to check
|
204 |
* @return mixed Queried property value or false
|
205 |
*/
|
206 |
public function _data( $var, $key = '' ) {
|
213 |
|
214 |
/**
|
215 |
* Get Field's value
|
216 |
+
*
|
217 |
* @since 1.1.0
|
218 |
* @param string $key If value is an array, is used to get array key->value
|
219 |
* @return mixed Field value or false if non-existent
|
224 |
|
225 |
/**
|
226 |
* Retrieves metadata/option data
|
227 |
+
*
|
228 |
* @since 1.0.1
|
229 |
* @param string $field_id Meta key/Option array key
|
230 |
* @param array $args Override arguments
|
233 |
public function get_data( $field_id = '', $args = array() ) {
|
234 |
if ( $field_id ) {
|
235 |
$args['field_id'] = $field_id;
|
236 |
+
} elseif ( $this->group ) {
|
237 |
$args['field_id'] = $this->group->id();
|
238 |
}
|
239 |
|
296 |
|
297 |
/**
|
298 |
* Updates metadata/option data
|
299 |
+
*
|
300 |
* @since 1.0.1
|
301 |
* @param mixed $new_value Value to update data with
|
302 |
* @param bool $single Whether data is an array (add_metadata)
|
303 |
*/
|
304 |
public function update_data( $new_value, $single = true ) {
|
305 |
+
$a = $this->data_args( array(
|
306 |
+
'single' => $single,
|
307 |
+
) );
|
308 |
|
309 |
$a['value'] = $a['repeat'] ? array_values( $new_value ) : $new_value;
|
310 |
|
370 |
|
371 |
/**
|
372 |
* Removes/updates metadata/option data
|
373 |
+
*
|
374 |
* @since 1.0.1
|
375 |
* @param string $old Old value
|
376 |
*/
|
377 |
public function remove_data( $old = '' ) {
|
378 |
+
$a = $this->data_args( array(
|
379 |
+
'old' => $old,
|
380 |
+
) );
|
381 |
|
382 |
/**
|
383 |
* Filter whether to override removing of meta value.
|
423 |
// If no override, remove as usual
|
424 |
if ( null !== $override ) {
|
425 |
return $override;
|
426 |
+
} // End if().
|
427 |
+
// Option page handling.
|
428 |
elseif ( 'options-page' === $a['type'] || empty( $a['id'] ) ) {
|
429 |
return cmb2_options( $a['id'] )->remove( $a['field_id'] );
|
430 |
}
|
435 |
|
436 |
/**
|
437 |
* Data variables for get/set data methods
|
438 |
+
*
|
439 |
* @since 1.1.0
|
440 |
* @param array $args Override arguments
|
441 |
* @return array Updated arguments
|
453 |
|
454 |
/**
|
455 |
* Checks if field has a registered sanitization callback
|
456 |
+
*
|
457 |
* @since 1.0.1
|
458 |
* @param mixed $meta_value Meta value
|
459 |
* @return mixed Possibly sanitized meta value
|
504 |
|
505 |
/**
|
506 |
* Process $_POST data to save this field's value
|
507 |
+
*
|
508 |
* @since 2.0.3
|
509 |
* @param array $data_to_save $_POST data to check
|
510 |
* @return array|int|bool Result of save, false on failure
|
521 |
|
522 |
/**
|
523 |
* Sanitize/store a value to this field
|
524 |
+
*
|
525 |
* @since 2.0.0
|
526 |
* @param array $meta_value Desired value to sanitize/store
|
527 |
* @return array|int|bool Result of save. false on failure
|
599 |
|
600 |
/**
|
601 |
* Determine if current type is exempt from escaping
|
602 |
+
*
|
603 |
* @since 1.1.0
|
604 |
* @return bool True if exempt
|
605 |
*/
|
614 |
|
615 |
/**
|
616 |
* Determine if current type cannot be repeatable
|
617 |
+
*
|
618 |
* @since 1.1.0
|
619 |
* @param string $type Field type to check
|
620 |
* @return bool True if type cannot be repeatable
|
623 |
// These types cannot be repeatable.
|
624 |
$internal_fields = array(
|
625 |
// Use file_list instead
|
626 |
+
'file' => 1,
|
627 |
+
'radio' => 1,
|
628 |
+
'title' => 1,
|
629 |
+
'wysiwyg' => 1,
|
630 |
+
'checkbox' => 1,
|
631 |
+
'radio_inline' => 1,
|
632 |
+
'taxonomy_radio' => 1,
|
633 |
+
'taxonomy_radio_inline' => 1,
|
634 |
+
'taxonomy_radio_hierarchical' => 1,
|
635 |
+
'taxonomy_select' => 1,
|
636 |
+
'taxonomy_multicheck' => 1,
|
637 |
+
'taxonomy_multicheck_inline' => 1,
|
638 |
+
'taxonomy_multicheck_hierarchical' => 1,
|
639 |
+
|
640 |
);
|
641 |
|
642 |
/**
|
654 |
return isset( $all_fields[ $type ] );
|
655 |
}
|
656 |
|
657 |
+
/**
|
658 |
+
* Determine if current type has its own defaults field-arguments method.
|
659 |
+
*
|
660 |
+
* @since 2.2.6
|
661 |
+
* @param string $type Field type to check
|
662 |
+
* @return bool True if has own method.
|
663 |
+
*/
|
664 |
+
public function has_args_method( $type ) {
|
665 |
+
|
666 |
+
// These types have their own arguments parser.
|
667 |
+
$type_methods = array(
|
668 |
+
'group' => 'set_field_defaults_group',
|
669 |
+
'wysiwyg' => 'set_field_defaults_wysiwyg',
|
670 |
+
);
|
671 |
+
|
672 |
+
if ( isset( $type_methods[ $type ] ) ) {
|
673 |
+
return $type_methods[ $type ];
|
674 |
+
}
|
675 |
+
|
676 |
+
$all_or_nothing_types = array_flip( apply_filters( 'cmb2_all_or_nothing_types', array(
|
677 |
+
'select',
|
678 |
+
'radio',
|
679 |
+
'radio_inline',
|
680 |
+
'taxonomy_select',
|
681 |
+
'taxonomy_radio',
|
682 |
+
'taxonomy_radio_inline',
|
683 |
+
'taxonomy_radio_hierarchical',
|
684 |
+
), $this ) );
|
685 |
+
|
686 |
+
if ( isset( $all_or_nothing_types[ $type ] ) ) {
|
687 |
+
return 'set_field_defaults_all_or_nothing_types';
|
688 |
+
}
|
689 |
+
|
690 |
+
return false;
|
691 |
+
}
|
692 |
+
|
693 |
/**
|
694 |
* Escape the value before output. Defaults to 'esc_attr()'
|
695 |
+
*
|
696 |
* @since 1.0.1
|
697 |
* @param callable $func Escaping function (if not esc_attr())
|
698 |
* @param mixed $meta_value Meta value
|
741 |
|
742 |
/**
|
743 |
* Return non-empty value or field default if value IS empty
|
744 |
+
*
|
745 |
* @since 2.0.0
|
746 |
* @param mixed $meta_value Field value
|
747 |
* @return mixed Field value, or default value
|
752 |
|
753 |
/**
|
754 |
* Offset a time value based on timezone
|
755 |
+
*
|
756 |
* @since 1.0.0
|
757 |
* @return string Offset time string
|
758 |
*/
|
762 |
|
763 |
/**
|
764 |
* Return timezone string
|
765 |
+
*
|
766 |
* @since 1.0.0
|
767 |
* @return string Timezone string
|
768 |
*/
|
772 |
// Is timezone arg set?
|
773 |
if ( $this->args( 'timezone' ) ) {
|
774 |
$value = $this->args( 'timezone' );
|
775 |
+
} // End if().
|
776 |
// Is there another meta key with a timezone stored as its value we should use?
|
777 |
+
elseif ( $this->args( 'timezone_meta_key' ) ) {
|
778 |
$value = $this->get_data( $this->args( 'timezone_meta_key' ) );
|
779 |
}
|
780 |
|
783 |
|
784 |
/**
|
785 |
* Format the timestamp field value based on the field date/time format arg
|
786 |
+
*
|
787 |
* @since 2.0.0
|
788 |
* @param int $meta_value Timestamp
|
789 |
* @param string $format Either date_format or time_format
|
795 |
|
796 |
/**
|
797 |
* Return a formatted timestamp for a field
|
798 |
+
*
|
799 |
* @since 2.0.0
|
800 |
* @param string $format Either date_format or time_format
|
801 |
* @param string $meta_value Optional meta value to check
|
816 |
|
817 |
/**
|
818 |
* Get timestamp from text date
|
819 |
+
*
|
820 |
* @since 2.2.0
|
821 |
* @param string $value Date value
|
822 |
* @return mixed Unix timestamp representing the date.
|
827 |
|
828 |
/**
|
829 |
* Get field render callback and Render the field row
|
830 |
+
*
|
831 |
* @since 1.0.0
|
832 |
*/
|
833 |
public function render_field() {
|
841 |
|
842 |
/**
|
843 |
* Default field render callback
|
844 |
+
*
|
845 |
* @since 2.1.1
|
846 |
*/
|
847 |
public function render_field_callback() {
|
923 |
* @param array $field_types The types of fields which should get the 'table-layout' class
|
924 |
*/
|
925 |
$repeat_table_rows_types = apply_filters( 'cmb2_repeat_table_row_types', array(
|
926 |
+
'text_url',
|
927 |
+
'text',
|
928 |
) );
|
929 |
|
930 |
$conditional_classes = array(
|
967 |
|
968 |
/**
|
969 |
* Get field display callback and render the display value in the column.
|
970 |
+
*
|
971 |
* @since 2.2.2
|
972 |
*/
|
973 |
public function render_column() {
|
981 |
|
982 |
/**
|
983 |
* Default callback to outputs field value in a display format.
|
984 |
+
*
|
985 |
* @since 2.2.2
|
986 |
*/
|
987 |
public function display_value_callback() {
|
1030 |
|
1031 |
/**
|
1032 |
* Replaces a hash key - {#} - with the repeatable index
|
1033 |
+
*
|
1034 |
* @since 1.2.0
|
1035 |
* @param string $value Value to update
|
1036 |
* @return string Updated value
|
1045 |
* For back-compatibility, falls back to checking the options array.
|
1046 |
*
|
1047 |
* @since 2.2.2
|
1048 |
+
* @param string $text_key Key in field's text array
|
1049 |
+
* @param string $fallback Fallback text
|
1050 |
* @return string Text
|
1051 |
*/
|
1052 |
public function get_string( $text_key, $fallback ) {
|
1075 |
}
|
1076 |
|
1077 |
/**
|
1078 |
+
* Retrieve options args.
|
1079 |
+
*
|
1080 |
* @since 2.0.0
|
1081 |
+
* @param string $key Specific option to retrieve
|
1082 |
* @return array Array of options
|
1083 |
*/
|
1084 |
public function options( $key = '' ) {
|
1085 |
+
if ( empty( $this->field_options ) ) {
|
1086 |
+
$this->set_options();
|
1087 |
+
}
|
|
|
1088 |
|
1089 |
+
if ( $key ) {
|
1090 |
+
return array_key_exists( $key, $this->field_options ) ? $this->field_options[ $key ] : false;
|
1091 |
}
|
1092 |
|
1093 |
+
return $this->field_options;
|
1094 |
+
}
|
1095 |
+
|
1096 |
+
/**
|
1097 |
+
* Generates/sets options args. Calls options_cb if it exists.
|
1098 |
+
*
|
1099 |
+
* @since 2.2.5
|
1100 |
+
*
|
1101 |
+
* @return array Array of options
|
1102 |
+
*/
|
1103 |
+
public function set_options() {
|
1104 |
$this->field_options = (array) $this->args['options'];
|
1105 |
|
1106 |
if ( is_callable( $this->args['options_cb'] ) ) {
|
1111 |
}
|
1112 |
}
|
1113 |
|
|
|
|
|
|
|
|
|
1114 |
return $this->field_options;
|
1115 |
}
|
1116 |
|
1117 |
/**
|
1118 |
* Store JS dependencies as part of the field args.
|
1119 |
+
*
|
1120 |
* @since 2.2.0
|
1121 |
* @param array $dependencies Dependies to register for this field.
|
1122 |
*/
|
1136 |
* @return mixed Default field value
|
1137 |
*/
|
1138 |
public function get_default() {
|
1139 |
+
$default = $this->args['default'];
|
1140 |
+
|
1141 |
+
if ( null !== $default ) {
|
1142 |
+
return apply_filters( 'cmb2_default_filter', $default, $this );
|
1143 |
}
|
1144 |
|
1145 |
$param = is_callable( $this->args['default_cb'] ) ? 'default_cb' : 'default';
|
1146 |
+
$default = $this->args['default'] = $this->get_param_callback_result( $param );
|
1147 |
|
1148 |
+
// Allow a filter override of the default value.
|
1149 |
+
return apply_filters( 'cmb2_default_filter', $this->args['default'], $this );
|
|
|
|
|
1150 |
}
|
1151 |
|
1152 |
/**
|
1153 |
* Fills in empty field parameters with defaults
|
1154 |
+
*
|
1155 |
* @since 1.1.0
|
1156 |
+
*
|
1157 |
+
* @param array $args Field config array.
|
1158 |
+
* @return array Modified field config array.
|
1159 |
*/
|
1160 |
public function _set_field_defaults( $args ) {
|
1161 |
|
1162 |
// Set up blank or default values for empty ones
|
1163 |
+
$args = wp_parse_args( $args, $this->get_default_field_args( $args ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1164 |
|
1165 |
/*
|
1166 |
* Deprecated usage:
|
1173 |
|
1174 |
$args['repeatable'] = $args['repeatable'] && ! $this->repeatable_exception( $args['type'] );
|
1175 |
$args['inline'] = $args['inline'] || false !== stripos( $args['type'], '_inline' );
|
|
|
|
|
|
|
|
|
|
|
|
|
1176 |
$args['_id'] = $args['id'];
|
1177 |
$args['_name'] = $args['id'];
|
1178 |
|
1179 |
+
if ( $method = $this->has_args_method( $args['type'] ) ) {
|
1180 |
+
$args = $this->{$method}( $args );
|
|
|
|
|
1181 |
}
|
1182 |
|
1183 |
+
if ( $this->group ) {
|
1184 |
+
$args = $this->set_group_sub_field_defaults( $args );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1185 |
}
|
1186 |
|
1187 |
$args['has_supporting_data'] = in_array(
|
1198 |
return $args;
|
1199 |
}
|
1200 |
|
1201 |
+
/**
|
1202 |
+
* Sets default arguments for the group field types.
|
1203 |
+
*
|
1204 |
+
* @since 2.2.6
|
1205 |
+
*
|
1206 |
+
* @param array $args Field config array.
|
1207 |
+
* @return array Modified field config array.
|
1208 |
+
*/
|
1209 |
+
protected function set_field_defaults_group( $args ) {
|
1210 |
+
$args['options'] = wp_parse_args( $args['options'], array(
|
1211 |
+
'add_button' => esc_html__( 'Add Group', 'cmb2' ),
|
1212 |
+
'remove_button' => esc_html__( 'Remove Group', 'cmb2' ),
|
1213 |
+
) );
|
1214 |
+
|
1215 |
+
return $args;
|
1216 |
+
}
|
1217 |
+
|
1218 |
+
/**
|
1219 |
+
* Sets default arguments for the wysiwyg field types.
|
1220 |
+
*
|
1221 |
+
* @since 2.2.6
|
1222 |
+
*
|
1223 |
+
* @param array $args Field config array.
|
1224 |
+
* @return array Modified field config array.
|
1225 |
+
*/
|
1226 |
+
protected function set_field_defaults_wysiwyg( $args ) {
|
1227 |
+
$args['id'] = strtolower( str_ireplace( '-', '_', $args['id'] ) );
|
1228 |
+
$args['options']['textarea_name'] = $args['_name'];
|
1229 |
+
|
1230 |
+
return $args;
|
1231 |
+
}
|
1232 |
+
|
1233 |
+
/**
|
1234 |
+
* Sets default arguments for the all-or-nothing field types.
|
1235 |
+
*
|
1236 |
+
* @since 2.2.6
|
1237 |
+
*
|
1238 |
+
* @param array $args Field config array.
|
1239 |
+
* @return array Modified field config array.
|
1240 |
+
*/
|
1241 |
+
protected function set_field_defaults_all_or_nothing_types( $args ) {
|
1242 |
+
$args['show_option_none'] = isset( $args['show_option_none'] ) ? $args['show_option_none'] : null;
|
1243 |
+
$args['show_option_none'] = true === $args['show_option_none'] ? esc_html__( 'None', 'cmb2' ) : $args['show_option_none'];
|
1244 |
+
|
1245 |
+
if ( null === $args['show_option_none'] ) {
|
1246 |
+
$off_by_default = in_array( $args['type'], array( 'select', 'radio', 'radio_inline' ), true );
|
1247 |
+
$args['show_option_none'] = $off_by_default ? false : esc_html__( 'None', 'cmb2' );
|
1248 |
+
}
|
1249 |
+
|
1250 |
+
return $args;
|
1251 |
+
}
|
1252 |
+
|
1253 |
+
/**
|
1254 |
+
* Sets default arguments for group sub-fields.
|
1255 |
+
*
|
1256 |
+
* @since 2.2.6
|
1257 |
+
*
|
1258 |
+
* @param array $args Field config array.
|
1259 |
+
* @return array Modified field config array.
|
1260 |
+
*/
|
1261 |
+
protected function set_group_sub_field_defaults( $args ) {
|
1262 |
+
$args['id'] = $this->group->args( 'id' ) . '_' . $this->group->index . '_' . $args['id'];
|
1263 |
+
$args['_name'] = $this->group->args( 'id' ) . '[' . $this->group->index . '][' . $args['_name'] . ']';
|
1264 |
+
|
1265 |
+
return $args;
|
1266 |
+
}
|
1267 |
+
|
1268 |
+
/**
|
1269 |
+
* Gets the default arguments for all fields.
|
1270 |
+
*
|
1271 |
+
* @since 2.2.6
|
1272 |
+
*
|
1273 |
+
* @param array $args Field config array.
|
1274 |
+
* @return array Field defaults.
|
1275 |
+
*/
|
1276 |
+
protected function get_default_field_args( $args ) {
|
1277 |
+
$type = isset( $args['type'] ) ? $args['type'] : '';
|
1278 |
+
|
1279 |
+
return array(
|
1280 |
+
'type' => $type,
|
1281 |
+
'name' => '',
|
1282 |
+
'desc' => '',
|
1283 |
+
'before' => '',
|
1284 |
+
'after' => '',
|
1285 |
+
'options' => array(),
|
1286 |
+
'options_cb' => '',
|
1287 |
+
'text' => array(),
|
1288 |
+
'text_cb' => '',
|
1289 |
+
'attributes' => array(),
|
1290 |
+
'protocols' => null,
|
1291 |
+
'default' => null,
|
1292 |
+
'default_cb' => '',
|
1293 |
+
'classes' => null,
|
1294 |
+
'classes_cb' => '',
|
1295 |
+
'select_all_button' => true,
|
1296 |
+
'multiple' => false,
|
1297 |
+
'repeatable' => 'group' === $type,
|
1298 |
+
'inline' => false,
|
1299 |
+
'on_front' => true,
|
1300 |
+
'show_names' => true,
|
1301 |
+
'save_field' => true, // Will not save if false
|
1302 |
+
'date_format' => 'm\/d\/Y',
|
1303 |
+
'time_format' => 'h:i A',
|
1304 |
+
'description' => isset( $args['desc'] ) ? $args['desc'] : '',
|
1305 |
+
'preview_size' => 'file' === $type ? array( 350, 350 ) : array( 50, 50 ),
|
1306 |
+
'render_row_cb' => array( $this, 'render_field_callback' ),
|
1307 |
+
'display_cb' => array( $this, 'display_value_callback' ),
|
1308 |
+
'label_cb' => 'title' !== $type ? array( $this, 'label' ) : '',
|
1309 |
+
'column' => false,
|
1310 |
+
'js_dependencies' => array(),
|
1311 |
+
'show_in_rest' => null,
|
1312 |
+
);
|
1313 |
+
}
|
1314 |
+
|
1315 |
/**
|
1316 |
* Get default field arguments specific to this CMB2 object.
|
1317 |
+
*
|
1318 |
* @since 2.2.0
|
1319 |
* @param array $field_args Metabox field config array.
|
1320 |
* @param CMB2_Field $field_group (optional) CMB2_Field object (group parent)
|
1333 |
}
|
1334 |
|
1335 |
/**
|
1336 |
+
* Returns a cloned version of this field object, but with
|
1337 |
* modified/overridden field arguments.
|
1338 |
*
|
1339 |
* @since 2.2.2
|
1340 |
+
* @param array $field_args Array of field arguments, or entire array of
|
1341 |
+
* arguments for CMB2_Field
|
1342 |
*
|
1343 |
* @return CMB2_Field The new CMB2_Field instance.
|
1344 |
*/
|
1363 |
|
1364 |
/**
|
1365 |
* Converts deprecated field parameters to the current/proper parameter, and throws a deprecation notice.
|
1366 |
+
*
|
1367 |
* @since 2.2.3
|
1368 |
+
* @param array $args Metabox field config array.
|
1369 |
* @param array Modified field config array.
|
1370 |
*/
|
1371 |
protected function convert_deprecated_params( $args ) {
|
1374 |
|
1375 |
// We'll let this one be.
|
1376 |
// $this->deprecated_param( __CLASS__ . '::__construct()', '2.2.3', self::DEPRECATED_PARAM, 'row_classes', 'classes' );
|
|
|
1377 |
// row_classes param could be a callback. This is definitely deprecated.
|
1378 |
if ( is_callable( $args['row_classes'] ) ) {
|
1379 |
|
1389 |
unset( $args['row_classes'] );
|
1390 |
}
|
1391 |
|
|
|
1392 |
// default param can be passed a callback as well
|
1393 |
if ( is_callable( $args['default'] ) ) {
|
1394 |
|
vendor/CMB2/includes/CMB2_Field_Display.php
CHANGED
@@ -6,14 +6,15 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Field_Display {
|
14 |
|
15 |
/**
|
16 |
* A CMB field object
|
|
|
17 |
* @var CMB2_Field object
|
18 |
* @since 2.2.2
|
19 |
*/
|
@@ -21,6 +22,7 @@ class CMB2_Field_Display {
|
|
21 |
|
22 |
/**
|
23 |
* The CMB field object's value.
|
|
|
24 |
* @var mixed
|
25 |
* @since 2.2.2
|
26 |
*/
|
@@ -28,6 +30,7 @@ class CMB2_Field_Display {
|
|
28 |
|
29 |
/**
|
30 |
* Get the corresponding display class for the field type.
|
|
|
31 |
* @since 2.2.2
|
32 |
* @param CMB2_Field $field
|
33 |
* @return CMB2_Field_Display
|
@@ -76,10 +79,12 @@ class CMB2_Field_Display {
|
|
76 |
case 'taxonomy_radio':
|
77 |
case 'taxonomy_radio_inline':
|
78 |
case 'taxonomy_select':
|
|
|
79 |
$type = new CMB2_Display_Taxonomy_Radio( $field );
|
80 |
break;
|
81 |
case 'taxonomy_multicheck':
|
82 |
case 'taxonomy_multicheck_inline':
|
|
|
83 |
$type = new CMB2_Display_Taxonomy_Multicheck( $field );
|
84 |
break;
|
85 |
case 'file':
|
@@ -94,13 +99,14 @@ class CMB2_Field_Display {
|
|
94 |
default:
|
95 |
$type = new self( $field );
|
96 |
break;
|
97 |
-
}
|
98 |
|
99 |
return $type;
|
100 |
}
|
101 |
|
102 |
/**
|
103 |
* Setup our class vars
|
|
|
104 |
* @since 2.2.2
|
105 |
* @param CMB2_Field $field A CMB2 field object
|
106 |
*/
|
@@ -112,6 +118,7 @@ class CMB2_Field_Display {
|
|
112 |
/**
|
113 |
* Catchall method if field's 'display_cb' is NOT defined, or field type does
|
114 |
* not have a corresponding display method
|
|
|
115 |
* @since 2.2.2
|
116 |
*/
|
117 |
public function display() {
|
@@ -122,7 +129,7 @@ class CMB2_Field_Display {
|
|
122 |
if ( is_array( $this->field->value ) ) {
|
123 |
|
124 |
// Then loop and output.
|
125 |
-
echo '<ul class="cmb2-'. str_replace( '_', '-', $this->field->type() ) .'">';
|
126 |
foreach ( $this->field->value as $val ) {
|
127 |
$this->value = $val;
|
128 |
echo '<li>', $this->_display(), '</li>';
|
@@ -130,7 +137,6 @@ class CMB2_Field_Display {
|
|
130 |
}
|
131 |
echo '</ul>';
|
132 |
}
|
133 |
-
|
134 |
} else {
|
135 |
$this->_display();
|
136 |
}
|
@@ -138,6 +144,7 @@ class CMB2_Field_Display {
|
|
138 |
|
139 |
/**
|
140 |
* Default fallback display method.
|
|
|
141 |
* @since 2.2.2
|
142 |
*/
|
143 |
protected function _display() {
|
@@ -148,6 +155,7 @@ class CMB2_Field_Display {
|
|
148 |
class CMB2_Display_Text_Url extends CMB2_Field_Display {
|
149 |
/**
|
150 |
* Display url value.
|
|
|
151 |
* @since 2.2.2
|
152 |
*/
|
153 |
protected function _display() {
|
@@ -158,6 +166,7 @@ class CMB2_Display_Text_Url extends CMB2_Field_Display {
|
|
158 |
class CMB2_Display_Text_Money extends CMB2_Field_Display {
|
159 |
/**
|
160 |
* Display text_money value.
|
|
|
161 |
* @since 2.2.2
|
162 |
*/
|
163 |
protected function _display() {
|
@@ -169,6 +178,7 @@ class CMB2_Display_Text_Money extends CMB2_Field_Display {
|
|
169 |
class CMB2_Display_Colorpicker extends CMB2_Field_Display {
|
170 |
/**
|
171 |
* Display color picker value.
|
|
|
172 |
* @since 2.2.2
|
173 |
*/
|
174 |
protected function _display() {
|
@@ -179,6 +189,7 @@ class CMB2_Display_Colorpicker extends CMB2_Field_Display {
|
|
179 |
class CMB2_Display_Checkbox extends CMB2_Field_Display {
|
180 |
/**
|
181 |
* Display multicheck value.
|
|
|
182 |
* @since 2.2.2
|
183 |
*/
|
184 |
protected function _display() {
|
@@ -189,6 +200,7 @@ class CMB2_Display_Checkbox extends CMB2_Field_Display {
|
|
189 |
class CMB2_Display_Select extends CMB2_Field_Display {
|
190 |
/**
|
191 |
* Display select value.
|
|
|
192 |
* @since 2.2.2
|
193 |
*/
|
194 |
protected function _display() {
|
@@ -211,6 +223,7 @@ class CMB2_Display_Select extends CMB2_Field_Display {
|
|
211 |
class CMB2_Display_Multicheck extends CMB2_Field_Display {
|
212 |
/**
|
213 |
* Display multicheck value.
|
|
|
214 |
* @since 2.2.2
|
215 |
*/
|
216 |
protected function _display() {
|
@@ -236,6 +249,7 @@ class CMB2_Display_Multicheck extends CMB2_Field_Display {
|
|
236 |
class CMB2_Display_Textarea extends CMB2_Field_Display {
|
237 |
/**
|
238 |
* Display textarea value.
|
|
|
239 |
* @since 2.2.2
|
240 |
*/
|
241 |
protected function _display() {
|
@@ -246,16 +260,18 @@ class CMB2_Display_Textarea extends CMB2_Field_Display {
|
|
246 |
class CMB2_Display_Textarea_Code extends CMB2_Field_Display {
|
247 |
/**
|
248 |
* Display textarea_code value.
|
|
|
249 |
* @since 2.2.2
|
250 |
*/
|
251 |
protected function _display() {
|
252 |
-
echo '<xmp class="cmb2-code">'. print_r( $this->value, true ) .'</xmp>';
|
253 |
}
|
254 |
}
|
255 |
|
256 |
class CMB2_Display_Text_Time extends CMB2_Field_Display {
|
257 |
/**
|
258 |
* Display text_time value.
|
|
|
259 |
* @since 2.2.2
|
260 |
*/
|
261 |
protected function _display() {
|
@@ -266,6 +282,7 @@ class CMB2_Display_Text_Time extends CMB2_Field_Display {
|
|
266 |
class CMB2_Display_Text_Date extends CMB2_Field_Display {
|
267 |
/**
|
268 |
* Display text_date value.
|
|
|
269 |
* @since 2.2.2
|
270 |
*/
|
271 |
protected function _display() {
|
@@ -276,6 +293,7 @@ class CMB2_Display_Text_Date extends CMB2_Field_Display {
|
|
276 |
class CMB2_Display_Text_Date_Timezone extends CMB2_Field_Display {
|
277 |
/**
|
278 |
* Display text_datetime_timestamp_timezone value.
|
|
|
279 |
* @since 2.2.2
|
280 |
*/
|
281 |
protected function _display() {
|
@@ -304,6 +322,7 @@ class CMB2_Display_Text_Date_Timezone extends CMB2_Field_Display {
|
|
304 |
class CMB2_Display_Taxonomy_Radio extends CMB2_Field_Display {
|
305 |
/**
|
306 |
* Display single taxonomy value.
|
|
|
307 |
* @since 2.2.2
|
308 |
*/
|
309 |
protected function _display() {
|
@@ -316,7 +335,7 @@ class CMB2_Display_Taxonomy_Radio extends CMB2_Field_Display {
|
|
316 |
if ( is_wp_error( $terms ) || empty( $terms ) && ( $default = $this->field->get_default() ) ) {
|
317 |
$term = get_term_by( 'slug', $default, $taxonomy );
|
318 |
} elseif ( ! empty( $terms ) ) {
|
319 |
-
$term = $terms[key( $terms )];
|
320 |
}
|
321 |
|
322 |
if ( $term ) {
|
@@ -329,6 +348,7 @@ class CMB2_Display_Taxonomy_Radio extends CMB2_Field_Display {
|
|
329 |
class CMB2_Display_Taxonomy_Multicheck extends CMB2_Field_Display {
|
330 |
/**
|
331 |
* Display taxonomy values.
|
|
|
332 |
* @since 2.2.2
|
333 |
*/
|
334 |
protected function _display() {
|
@@ -353,7 +373,7 @@ class CMB2_Display_Taxonomy_Multicheck extends CMB2_Field_Display {
|
|
353 |
$links = array();
|
354 |
foreach ( $terms as $term ) {
|
355 |
$link = get_edit_term_link( $term->term_id, $taxonomy );
|
356 |
-
$links[] = '<a href="'. esc_url( $link ) .'">'. esc_html( $term->name ) .'</a>';
|
357 |
}
|
358 |
// Then loop and output.
|
359 |
echo '<div class="cmb2-taxonomy-terms-', esc_attr( $taxonomy ), '">';
|
@@ -366,6 +386,7 @@ class CMB2_Display_Taxonomy_Multicheck extends CMB2_Field_Display {
|
|
366 |
class CMB2_Display_File extends CMB2_Field_Display {
|
367 |
/**
|
368 |
* Display file value.
|
|
|
369 |
* @since 2.2.2
|
370 |
*/
|
371 |
protected function _display() {
|
@@ -395,7 +416,9 @@ class CMB2_Display_File extends CMB2_Field_Display {
|
|
395 |
$img_size = $this->field->args( 'preview_size' );
|
396 |
|
397 |
if ( $id ) {
|
398 |
-
$image = wp_get_attachment_image( $id, $img_size, null, array(
|
|
|
|
|
399 |
} else {
|
400 |
$size = is_array( $img_size ) ? $img_size[0] : 200;
|
401 |
$image = '<img class="cmb-image-display" style="max-width: ' . absint( $size ) . 'px; width: 100%; height: auto;" src="' . $url_value . '" alt="" />';
|
@@ -418,6 +441,7 @@ class CMB2_Display_File extends CMB2_Field_Display {
|
|
418 |
class CMB2_Display_File_List extends CMB2_Display_File {
|
419 |
/**
|
420 |
* Display file_list value.
|
|
|
421 |
* @since 2.2.2
|
422 |
*/
|
423 |
protected function _display() {
|
@@ -439,6 +463,7 @@ class CMB2_Display_File_List extends CMB2_Display_File {
|
|
439 |
class CMB2_Display_oEmbed extends CMB2_Field_Display {
|
440 |
/**
|
441 |
* Display oembed value.
|
|
|
442 |
* @since 2.2.2
|
443 |
*/
|
444 |
protected function _display() {
|
@@ -450,7 +475,9 @@ class CMB2_Display_oEmbed extends CMB2_Field_Display {
|
|
450 |
'url' => $this->value,
|
451 |
'object_id' => $this->field->object_id,
|
452 |
'object_type' => $this->field->object_type,
|
453 |
-
'oembed_args' => array(
|
|
|
|
|
454 |
'field_id' => $this->field->id(),
|
455 |
) );
|
456 |
}
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Field_Display {
|
14 |
|
15 |
/**
|
16 |
* A CMB field object
|
17 |
+
*
|
18 |
* @var CMB2_Field object
|
19 |
* @since 2.2.2
|
20 |
*/
|
22 |
|
23 |
/**
|
24 |
* The CMB field object's value.
|
25 |
+
*
|
26 |
* @var mixed
|
27 |
* @since 2.2.2
|
28 |
*/
|
30 |
|
31 |
/**
|
32 |
* Get the corresponding display class for the field type.
|
33 |
+
*
|
34 |
* @since 2.2.2
|
35 |
* @param CMB2_Field $field
|
36 |
* @return CMB2_Field_Display
|
79 |
case 'taxonomy_radio':
|
80 |
case 'taxonomy_radio_inline':
|
81 |
case 'taxonomy_select':
|
82 |
+
case 'taxonomy_radio_hierarchical':
|
83 |
$type = new CMB2_Display_Taxonomy_Radio( $field );
|
84 |
break;
|
85 |
case 'taxonomy_multicheck':
|
86 |
case 'taxonomy_multicheck_inline':
|
87 |
+
case 'taxonomy_multicheck_hierarchical':
|
88 |
$type = new CMB2_Display_Taxonomy_Multicheck( $field );
|
89 |
break;
|
90 |
case 'file':
|
99 |
default:
|
100 |
$type = new self( $field );
|
101 |
break;
|
102 |
+
}// End switch().
|
103 |
|
104 |
return $type;
|
105 |
}
|
106 |
|
107 |
/**
|
108 |
* Setup our class vars
|
109 |
+
*
|
110 |
* @since 2.2.2
|
111 |
* @param CMB2_Field $field A CMB2 field object
|
112 |
*/
|
118 |
/**
|
119 |
* Catchall method if field's 'display_cb' is NOT defined, or field type does
|
120 |
* not have a corresponding display method
|
121 |
+
*
|
122 |
* @since 2.2.2
|
123 |
*/
|
124 |
public function display() {
|
129 |
if ( is_array( $this->field->value ) ) {
|
130 |
|
131 |
// Then loop and output.
|
132 |
+
echo '<ul class="cmb2-' . str_replace( '_', '-', $this->field->type() ) . '">';
|
133 |
foreach ( $this->field->value as $val ) {
|
134 |
$this->value = $val;
|
135 |
echo '<li>', $this->_display(), '</li>';
|
137 |
}
|
138 |
echo '</ul>';
|
139 |
}
|
|
|
140 |
} else {
|
141 |
$this->_display();
|
142 |
}
|
144 |
|
145 |
/**
|
146 |
* Default fallback display method.
|
147 |
+
*
|
148 |
* @since 2.2.2
|
149 |
*/
|
150 |
protected function _display() {
|
155 |
class CMB2_Display_Text_Url extends CMB2_Field_Display {
|
156 |
/**
|
157 |
* Display url value.
|
158 |
+
*
|
159 |
* @since 2.2.2
|
160 |
*/
|
161 |
protected function _display() {
|
166 |
class CMB2_Display_Text_Money extends CMB2_Field_Display {
|
167 |
/**
|
168 |
* Display text_money value.
|
169 |
+
*
|
170 |
* @since 2.2.2
|
171 |
*/
|
172 |
protected function _display() {
|
178 |
class CMB2_Display_Colorpicker extends CMB2_Field_Display {
|
179 |
/**
|
180 |
* Display color picker value.
|
181 |
+
*
|
182 |
* @since 2.2.2
|
183 |
*/
|
184 |
protected function _display() {
|
189 |
class CMB2_Display_Checkbox extends CMB2_Field_Display {
|
190 |
/**
|
191 |
* Display multicheck value.
|
192 |
+
*
|
193 |
* @since 2.2.2
|
194 |
*/
|
195 |
protected function _display() {
|
200 |
class CMB2_Display_Select extends CMB2_Field_Display {
|
201 |
/**
|
202 |
* Display select value.
|
203 |
+
*
|
204 |
* @since 2.2.2
|
205 |
*/
|
206 |
protected function _display() {
|
223 |
class CMB2_Display_Multicheck extends CMB2_Field_Display {
|
224 |
/**
|
225 |
* Display multicheck value.
|
226 |
+
*
|
227 |
* @since 2.2.2
|
228 |
*/
|
229 |
protected function _display() {
|
249 |
class CMB2_Display_Textarea extends CMB2_Field_Display {
|
250 |
/**
|
251 |
* Display textarea value.
|
252 |
+
*
|
253 |
* @since 2.2.2
|
254 |
*/
|
255 |
protected function _display() {
|
260 |
class CMB2_Display_Textarea_Code extends CMB2_Field_Display {
|
261 |
/**
|
262 |
* Display textarea_code value.
|
263 |
+
*
|
264 |
* @since 2.2.2
|
265 |
*/
|
266 |
protected function _display() {
|
267 |
+
echo '<xmp class="cmb2-code">' . print_r( $this->value, true ) . '</xmp>';
|
268 |
}
|
269 |
}
|
270 |
|
271 |
class CMB2_Display_Text_Time extends CMB2_Field_Display {
|
272 |
/**
|
273 |
* Display text_time value.
|
274 |
+
*
|
275 |
* @since 2.2.2
|
276 |
*/
|
277 |
protected function _display() {
|
282 |
class CMB2_Display_Text_Date extends CMB2_Field_Display {
|
283 |
/**
|
284 |
* Display text_date value.
|
285 |
+
*
|
286 |
* @since 2.2.2
|
287 |
*/
|
288 |
protected function _display() {
|
293 |
class CMB2_Display_Text_Date_Timezone extends CMB2_Field_Display {
|
294 |
/**
|
295 |
* Display text_datetime_timestamp_timezone value.
|
296 |
+
*
|
297 |
* @since 2.2.2
|
298 |
*/
|
299 |
protected function _display() {
|
322 |
class CMB2_Display_Taxonomy_Radio extends CMB2_Field_Display {
|
323 |
/**
|
324 |
* Display single taxonomy value.
|
325 |
+
*
|
326 |
* @since 2.2.2
|
327 |
*/
|
328 |
protected function _display() {
|
335 |
if ( is_wp_error( $terms ) || empty( $terms ) && ( $default = $this->field->get_default() ) ) {
|
336 |
$term = get_term_by( 'slug', $default, $taxonomy );
|
337 |
} elseif ( ! empty( $terms ) ) {
|
338 |
+
$term = $terms[ key( $terms ) ];
|
339 |
}
|
340 |
|
341 |
if ( $term ) {
|
348 |
class CMB2_Display_Taxonomy_Multicheck extends CMB2_Field_Display {
|
349 |
/**
|
350 |
* Display taxonomy values.
|
351 |
+
*
|
352 |
* @since 2.2.2
|
353 |
*/
|
354 |
protected function _display() {
|
373 |
$links = array();
|
374 |
foreach ( $terms as $term ) {
|
375 |
$link = get_edit_term_link( $term->term_id, $taxonomy );
|
376 |
+
$links[] = '<a href="' . esc_url( $link ) . '">' . esc_html( $term->name ) . '</a>';
|
377 |
}
|
378 |
// Then loop and output.
|
379 |
echo '<div class="cmb2-taxonomy-terms-', esc_attr( $taxonomy ), '">';
|
386 |
class CMB2_Display_File extends CMB2_Field_Display {
|
387 |
/**
|
388 |
* Display file value.
|
389 |
+
*
|
390 |
* @since 2.2.2
|
391 |
*/
|
392 |
protected function _display() {
|
416 |
$img_size = $this->field->args( 'preview_size' );
|
417 |
|
418 |
if ( $id ) {
|
419 |
+
$image = wp_get_attachment_image( $id, $img_size, null, array(
|
420 |
+
'class' => 'cmb-image-display',
|
421 |
+
) );
|
422 |
} else {
|
423 |
$size = is_array( $img_size ) ? $img_size[0] : 200;
|
424 |
$image = '<img class="cmb-image-display" style="max-width: ' . absint( $size ) . 'px; width: 100%; height: auto;" src="' . $url_value . '" alt="" />';
|
441 |
class CMB2_Display_File_List extends CMB2_Display_File {
|
442 |
/**
|
443 |
* Display file_list value.
|
444 |
+
*
|
445 |
* @since 2.2.2
|
446 |
*/
|
447 |
protected function _display() {
|
463 |
class CMB2_Display_oEmbed extends CMB2_Field_Display {
|
464 |
/**
|
465 |
* Display oembed value.
|
466 |
+
*
|
467 |
* @since 2.2.2
|
468 |
*/
|
469 |
protected function _display() {
|
475 |
'url' => $this->value,
|
476 |
'object_id' => $this->field->object_id,
|
477 |
'object_type' => $this->field->object_type,
|
478 |
+
'oembed_args' => array(
|
479 |
+
'width' => '300',
|
480 |
+
),
|
481 |
'field_id' => $this->field->id(),
|
482 |
) );
|
483 |
}
|
vendor/CMB2/includes/CMB2_Hookup_Base.php
CHANGED
@@ -6,9 +6,12 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
|
|
|
|
|
|
12 |
*/
|
13 |
abstract class CMB2_Hookup_Base {
|
14 |
|
@@ -20,13 +23,28 @@ abstract class CMB2_Hookup_Base {
|
|
20 |
|
21 |
/**
|
22 |
* The object type we are performing the hookup for
|
|
|
23 |
* @var string
|
24 |
* @since 2.0.9
|
25 |
*/
|
26 |
protected $object_type = 'post';
|
27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
/**
|
29 |
* Constructor
|
|
|
30 |
* @since 2.0.0
|
31 |
* @param CMB2 $cmb The CMB2 object to hookup
|
32 |
*/
|
@@ -39,6 +57,7 @@ abstract class CMB2_Hookup_Base {
|
|
39 |
|
40 |
/**
|
41 |
* Ensures WordPress hook only gets fired once per object.
|
|
|
42 |
* @since 2.0.0
|
43 |
* @param string $action The name of the filter to hook the $hook callback to.
|
44 |
* @param callback $hook The callback to be run when the filter is applied.
|
@@ -65,4 +84,20 @@ abstract class CMB2_Hookup_Base {
|
|
65 |
}
|
66 |
}
|
67 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
}
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
+
*
|
13 |
+
* @property-read string $object_type
|
14 |
+
* @property-read CMB2 $cmb
|
15 |
*/
|
16 |
abstract class CMB2_Hookup_Base {
|
17 |
|
23 |
|
24 |
/**
|
25 |
* The object type we are performing the hookup for
|
26 |
+
*
|
27 |
* @var string
|
28 |
* @since 2.0.9
|
29 |
*/
|
30 |
protected $object_type = 'post';
|
31 |
|
32 |
+
/**
|
33 |
+
* A functionalized constructor, used for the hookup action callbacks.
|
34 |
+
*
|
35 |
+
* @since 2.2.6
|
36 |
+
*
|
37 |
+
* @param CMB2 $cmb The CMB2 object to hookup
|
38 |
+
*
|
39 |
+
* @return CMB2_Hookup_Base $hookup The hookup object.
|
40 |
+
*/
|
41 |
+
public static function maybe_init_and_hookup( CMB2 $cmb ) {
|
42 |
+
throw new Exception( sprintf( esc_html__( '%1$s should be implemented by the extended class.', 'cmb2' ), __FUNCTION__ ) );
|
43 |
+
}
|
44 |
+
|
45 |
/**
|
46 |
* Constructor
|
47 |
+
*
|
48 |
* @since 2.0.0
|
49 |
* @param CMB2 $cmb The CMB2 object to hookup
|
50 |
*/
|
57 |
|
58 |
/**
|
59 |
* Ensures WordPress hook only gets fired once per object.
|
60 |
+
*
|
61 |
* @since 2.0.0
|
62 |
* @param string $action The name of the filter to hook the $hook callback to.
|
63 |
* @param callback $hook The callback to be run when the filter is applied.
|
84 |
}
|
85 |
}
|
86 |
|
87 |
+
/**
|
88 |
+
* Magic getter for our object.
|
89 |
+
*
|
90 |
+
* @param string $field
|
91 |
+
* @throws Exception Throws an exception if the field is invalid.
|
92 |
+
* @return mixed
|
93 |
+
*/
|
94 |
+
public function __get( $field ) {
|
95 |
+
switch ( $field ) {
|
96 |
+
case 'object_type':
|
97 |
+
case 'cmb':
|
98 |
+
return $this->{$field};
|
99 |
+
default:
|
100 |
+
throw new Exception( sprintf( esc_html__( 'Invalid %1$s property: %2$s', 'cmb2' ), __CLASS__, $field ) );
|
101 |
+
}
|
102 |
+
}
|
103 |
}
|
vendor/CMB2/includes/CMB2_JS.php
CHANGED
@@ -4,14 +4,15 @@
|
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
* @package CMB2
|
7 |
-
* @author
|
8 |
* @license GPL-2.0+
|
9 |
-
* @link
|
10 |
*/
|
11 |
class CMB2_JS {
|
12 |
|
13 |
/**
|
14 |
* The CMB2 JS handle
|
|
|
15 |
* @var string
|
16 |
* @since 2.0.7
|
17 |
*/
|
@@ -19,6 +20,7 @@ class CMB2_JS {
|
|
19 |
|
20 |
/**
|
21 |
* The CMB2 JS variable name
|
|
|
22 |
* @var string
|
23 |
* @since 2.0.7
|
24 |
*/
|
@@ -26,15 +28,19 @@ class CMB2_JS {
|
|
26 |
|
27 |
/**
|
28 |
* Array of CMB2 JS dependencies
|
|
|
29 |
* @var array
|
30 |
* @since 2.0.7
|
31 |
*/
|
32 |
-
protected static $dependencies = array(
|
|
|
|
|
33 |
|
34 |
/**
|
35 |
* Add a dependency to the array of CMB2 JS dependencies
|
|
|
36 |
* @since 2.0.7
|
37 |
-
* @param array|string
|
38 |
*/
|
39 |
public static function add_dependencies( $dependencies ) {
|
40 |
foreach ( (array) $dependencies as $dependency ) {
|
@@ -44,6 +50,7 @@ class CMB2_JS {
|
|
44 |
|
45 |
/**
|
46 |
* Enqueue the CMB2 JS
|
|
|
47 |
* @since 2.0.7
|
48 |
*/
|
49 |
public static function enqueue() {
|
@@ -56,8 +63,14 @@ class CMB2_JS {
|
|
56 |
$min = $debug ? '' : '.min';
|
57 |
|
58 |
// if colorpicker
|
59 |
-
if (
|
60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
}
|
62 |
|
63 |
// if file/file_list
|
@@ -68,7 +81,7 @@ class CMB2_JS {
|
|
68 |
|
69 |
// if timepicker
|
70 |
if ( isset( $dependencies['jquery-ui-datetimepicker'] ) ) {
|
71 |
-
|
72 |
}
|
73 |
|
74 |
// if cmb2-wysiwyg
|
@@ -88,8 +101,39 @@ class CMB2_JS {
|
|
88 |
do_action( 'cmb2_footer_enqueue' );
|
89 |
}
|
90 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
/**
|
92 |
* We need to register colorpicker on the front-end
|
|
|
93 |
* @since 2.0.7
|
94 |
*/
|
95 |
protected static function colorpicker_frontend() {
|
@@ -105,6 +149,7 @@ class CMB2_JS {
|
|
105 |
|
106 |
/**
|
107 |
* Localize the php variables for CMB2 JS
|
|
|
108 |
* @since 2.0.7
|
109 |
*/
|
110 |
protected static function localize( $debug ) {
|
@@ -115,12 +160,13 @@ class CMB2_JS {
|
|
115 |
|
116 |
$localized = true;
|
117 |
$l10n = array(
|
118 |
-
'ajax_nonce'
|
119 |
-
'ajaxurl'
|
120 |
-
'script_debug'
|
121 |
-
'up_arrow_class'
|
122 |
-
'down_arrow_class'
|
123 |
-
'
|
|
|
124 |
'color_picker' => false,
|
125 |
'date_picker' => array(
|
126 |
'changeMonth' => true,
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
* @package CMB2
|
7 |
+
* @author CMB2 team
|
8 |
* @license GPL-2.0+
|
9 |
+
* @link https://cmb2.io
|
10 |
*/
|
11 |
class CMB2_JS {
|
12 |
|
13 |
/**
|
14 |
* The CMB2 JS handle
|
15 |
+
*
|
16 |
* @var string
|
17 |
* @since 2.0.7
|
18 |
*/
|
20 |
|
21 |
/**
|
22 |
* The CMB2 JS variable name
|
23 |
+
*
|
24 |
* @var string
|
25 |
* @since 2.0.7
|
26 |
*/
|
28 |
|
29 |
/**
|
30 |
* Array of CMB2 JS dependencies
|
31 |
+
*
|
32 |
* @var array
|
33 |
* @since 2.0.7
|
34 |
*/
|
35 |
+
protected static $dependencies = array(
|
36 |
+
'jquery' => 'jquery',
|
37 |
+
);
|
38 |
|
39 |
/**
|
40 |
* Add a dependency to the array of CMB2 JS dependencies
|
41 |
+
*
|
42 |
* @since 2.0.7
|
43 |
+
* @param array|string $dependencies Array (or string) of dependencies to add
|
44 |
*/
|
45 |
public static function add_dependencies( $dependencies ) {
|
46 |
foreach ( (array) $dependencies as $dependency ) {
|
50 |
|
51 |
/**
|
52 |
* Enqueue the CMB2 JS
|
53 |
+
*
|
54 |
* @since 2.0.7
|
55 |
*/
|
56 |
public static function enqueue() {
|
63 |
$min = $debug ? '' : '.min';
|
64 |
|
65 |
// if colorpicker
|
66 |
+
if ( isset( $dependencies['wp-color-picker'] ) ) {
|
67 |
+
if ( ! is_admin() ) {
|
68 |
+
self::colorpicker_frontend();
|
69 |
+
}
|
70 |
+
|
71 |
+
if ( isset( $dependencies['wp-color-picker-alpha'] ) ) {
|
72 |
+
self::register_colorpicker_alpha();
|
73 |
+
}
|
74 |
}
|
75 |
|
76 |
// if file/file_list
|
81 |
|
82 |
// if timepicker
|
83 |
if ( isset( $dependencies['jquery-ui-datetimepicker'] ) ) {
|
84 |
+
self::register_datetimepicker();
|
85 |
}
|
86 |
|
87 |
// if cmb2-wysiwyg
|
101 |
do_action( 'cmb2_footer_enqueue' );
|
102 |
}
|
103 |
|
104 |
+
/**
|
105 |
+
* Register or enqueue the wp-color-picker-alpha script.
|
106 |
+
*
|
107 |
+
* @since 2.2.7
|
108 |
+
*
|
109 |
+
* @param boolean $enqueue
|
110 |
+
*
|
111 |
+
* @return void
|
112 |
+
*/
|
113 |
+
public static function register_colorpicker_alpha( $enqueue = false ) {
|
114 |
+
// Only use minified files if SCRIPT_DEBUG is off
|
115 |
+
$min = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
|
116 |
+
$func = $enqueue ? 'wp_enqueue_script' : 'wp_register_script';
|
117 |
+
$func( 'wp-color-picker-alpha', CMB2_Utils::url( "js/wp-color-picker-alpha{$min}.js" ), array( 'wp-color-picker' ), '2.1.3' );
|
118 |
+
}
|
119 |
+
|
120 |
+
/**
|
121 |
+
* Register or enqueue the jquery-ui-datetimepicker script.
|
122 |
+
*
|
123 |
+
* @since 2.2.7
|
124 |
+
*
|
125 |
+
* @param boolean $enqueue
|
126 |
+
*
|
127 |
+
* @return void
|
128 |
+
*/
|
129 |
+
public static function register_datetimepicker( $enqueue = false ) {
|
130 |
+
$func = $enqueue ? 'wp_enqueue_script' : 'wp_register_script';
|
131 |
+
$func( 'jquery-ui-datetimepicker', CMB2_Utils::url( 'js/jquery-ui-timepicker-addon.min.js' ), array( 'jquery-ui-slider' ), '1.5.0' );
|
132 |
+
}
|
133 |
+
|
134 |
/**
|
135 |
* We need to register colorpicker on the front-end
|
136 |
+
*
|
137 |
* @since 2.0.7
|
138 |
*/
|
139 |
protected static function colorpicker_frontend() {
|
149 |
|
150 |
/**
|
151 |
* Localize the php variables for CMB2 JS
|
152 |
+
*
|
153 |
* @since 2.0.7
|
154 |
*/
|
155 |
protected static function localize( $debug ) {
|
160 |
|
161 |
$localized = true;
|
162 |
$l10n = array(
|
163 |
+
'ajax_nonce' => wp_create_nonce( 'ajax_nonce' ),
|
164 |
+
'ajaxurl' => admin_url( '/admin-ajax.php' ),
|
165 |
+
'script_debug' => $debug,
|
166 |
+
'up_arrow_class' => 'dashicons dashicons-arrow-up-alt2',
|
167 |
+
'down_arrow_class' => 'dashicons dashicons-arrow-down-alt2',
|
168 |
+
'user_can_richedit' => user_can_richedit(),
|
169 |
+
'defaults' => array(
|
170 |
'color_picker' => false,
|
171 |
'date_picker' => array(
|
172 |
'changeMonth' => true,
|
vendor/CMB2/includes/CMB2_Options.php
CHANGED
@@ -4,20 +4,21 @@
|
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
* @package CMB2
|
7 |
-
* @author
|
8 |
* @license GPL-2.0+
|
9 |
-
* @link
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Retrieves an instance of CMB2_Option based on the option key
|
14 |
*
|
15 |
* @package CMB2
|
16 |
-
* @author
|
17 |
*/
|
18 |
class CMB2_Options {
|
19 |
/**
|
20 |
* Array of all CMB2_Option instances
|
|
|
21 |
* @var array
|
22 |
* @since 1.0.0
|
23 |
*/
|
@@ -38,24 +39,27 @@ class CMB2_Options {
|
|
38 |
* for a specific option key
|
39 |
*
|
40 |
* @package CMB2
|
41 |
-
* @author
|
42 |
*/
|
43 |
class CMB2_Option {
|
44 |
|
45 |
/**
|
46 |
* Options array
|
|
|
47 |
* @var array
|
48 |
*/
|
49 |
protected $options = array();
|
50 |
|
51 |
/**
|
52 |
* Current option key
|
|
|
53 |
* @var string
|
54 |
*/
|
55 |
protected $key = '';
|
56 |
|
57 |
/**
|
58 |
* Initiate option object
|
|
|
59 |
* @param string $option_key Option key where data will be saved.
|
60 |
* Leave empty for temporary data store.
|
61 |
* @since 2.0.0
|
@@ -66,6 +70,7 @@ class CMB2_Option {
|
|
66 |
|
67 |
/**
|
68 |
* Delete the option from the db
|
|
|
69 |
* @since 2.0.0
|
70 |
* @return bool Delete success or failure
|
71 |
*/
|
@@ -77,8 +82,9 @@ class CMB2_Option {
|
|
77 |
|
78 |
/**
|
79 |
* Removes an option from an option array
|
|
|
80 |
* @since 1.0.1
|
81 |
-
* @param string
|
82 |
* @return array Modified options
|
83 |
*/
|
84 |
public function remove( $field_id, $resave = false ) {
|
@@ -98,9 +104,10 @@ class CMB2_Option {
|
|
98 |
|
99 |
/**
|
100 |
* Retrieves an option from an option array
|
|
|
101 |
* @since 1.0.1
|
102 |
-
* @param string
|
103 |
-
* @param mixed
|
104 |
* @return array Requested field or default
|
105 |
*/
|
106 |
public function get( $field_id, $default = false ) {
|
@@ -117,11 +124,12 @@ class CMB2_Option {
|
|
117 |
|
118 |
/**
|
119 |
* Updates Option data
|
|
|
120 |
* @since 1.0.1
|
121 |
-
* @param string
|
122 |
-
* @param mixed
|
123 |
-
* @param bool
|
124 |
-
* @param bool
|
125 |
* @return boolean Return status of update
|
126 |
*/
|
127 |
public function update( $field_id, $value = '', $resave = false, $single = true ) {
|
@@ -135,7 +143,6 @@ class CMB2_Option {
|
|
135 |
} else {
|
136 |
$this->options[ $field_id ] = $value;
|
137 |
}
|
138 |
-
|
139 |
}
|
140 |
|
141 |
if ( $resave || true === $field_id ) {
|
@@ -148,6 +155,7 @@ class CMB2_Option {
|
|
148 |
/**
|
149 |
* Saves the option array
|
150 |
* Needs to be run after finished using remove/update_option
|
|
|
151 |
* @uses apply_filters() Calls 'cmb2_override_option_save_{$this->key}' hook
|
152 |
* to allow overwriting the option value to be stored.
|
153 |
*
|
@@ -156,9 +164,11 @@ class CMB2_Option {
|
|
156 |
* @return bool Success/Failure
|
157 |
*/
|
158 |
public function set( $options = array() ) {
|
159 |
-
|
160 |
-
|
161 |
-
|
|
|
|
|
162 |
|
163 |
if ( empty( $this->key ) ) {
|
164 |
return false;
|
@@ -176,6 +186,7 @@ class CMB2_Option {
|
|
176 |
|
177 |
/**
|
178 |
* Retrieve option value based on name of option.
|
|
|
179 |
* @uses apply_filters() Calls 'cmb2_override_option_get_{$this->key}' hook to allow
|
180 |
* overwriting the option value to be retrieved.
|
181 |
*
|
@@ -196,7 +207,9 @@ class CMB2_Option {
|
|
196 |
}
|
197 |
}
|
198 |
|
199 |
-
|
|
|
|
|
200 |
}
|
201 |
|
202 |
}
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
* @package CMB2
|
7 |
+
* @author CMB2 team
|
8 |
* @license GPL-2.0+
|
9 |
+
* @link https://cmb2.io
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Retrieves an instance of CMB2_Option based on the option key
|
14 |
*
|
15 |
* @package CMB2
|
16 |
+
* @author CMB2 team
|
17 |
*/
|
18 |
class CMB2_Options {
|
19 |
/**
|
20 |
* Array of all CMB2_Option instances
|
21 |
+
*
|
22 |
* @var array
|
23 |
* @since 1.0.0
|
24 |
*/
|
39 |
* for a specific option key
|
40 |
*
|
41 |
* @package CMB2
|
42 |
+
* @author CMB2 team
|
43 |
*/
|
44 |
class CMB2_Option {
|
45 |
|
46 |
/**
|
47 |
* Options array
|
48 |
+
*
|
49 |
* @var array
|
50 |
*/
|
51 |
protected $options = array();
|
52 |
|
53 |
/**
|
54 |
* Current option key
|
55 |
+
*
|
56 |
* @var string
|
57 |
*/
|
58 |
protected $key = '';
|
59 |
|
60 |
/**
|
61 |
* Initiate option object
|
62 |
+
*
|
63 |
* @param string $option_key Option key where data will be saved.
|
64 |
* Leave empty for temporary data store.
|
65 |
* @since 2.0.0
|
70 |
|
71 |
/**
|
72 |
* Delete the option from the db
|
73 |
+
*
|
74 |
* @since 2.0.0
|
75 |
* @return bool Delete success or failure
|
76 |
*/
|
82 |
|
83 |
/**
|
84 |
* Removes an option from an option array
|
85 |
+
*
|
86 |
* @since 1.0.1
|
87 |
+
* @param string $field_id Option array field key
|
88 |
* @return array Modified options
|
89 |
*/
|
90 |
public function remove( $field_id, $resave = false ) {
|
104 |
|
105 |
/**
|
106 |
* Retrieves an option from an option array
|
107 |
+
*
|
108 |
* @since 1.0.1
|
109 |
+
* @param string $field_id Option array field key
|
110 |
+
* @param mixed $default Fallback value for the option
|
111 |
* @return array Requested field or default
|
112 |
*/
|
113 |
public function get( $field_id, $default = false ) {
|
124 |
|
125 |
/**
|
126 |
* Updates Option data
|
127 |
+
*
|
128 |
* @since 1.0.1
|
129 |
+
* @param string $field_id Option array field key
|
130 |
+
* @param mixed $value Value to update data with
|
131 |
+
* @param bool $resave Whether to re-save the data
|
132 |
+
* @param bool $single Whether data should not be an array
|
133 |
* @return boolean Return status of update
|
134 |
*/
|
135 |
public function update( $field_id, $value = '', $resave = false, $single = true ) {
|
143 |
} else {
|
144 |
$this->options[ $field_id ] = $value;
|
145 |
}
|
|
|
146 |
}
|
147 |
|
148 |
if ( $resave || true === $field_id ) {
|
155 |
/**
|
156 |
* Saves the option array
|
157 |
* Needs to be run after finished using remove/update_option
|
158 |
+
*
|
159 |
* @uses apply_filters() Calls 'cmb2_override_option_save_{$this->key}' hook
|
160 |
* to allow overwriting the option value to be stored.
|
161 |
*
|
164 |
* @return bool Success/Failure
|
165 |
*/
|
166 |
public function set( $options = array() ) {
|
167 |
+
if ( ! empty( $options ) || empty( $options ) && empty( $this->key ) ) {
|
168 |
+
$this->options = $options;
|
169 |
+
}
|
170 |
+
|
171 |
+
$this->options = wp_unslash( $this->options ); // get rid of those evil magic quotes
|
172 |
|
173 |
if ( empty( $this->key ) ) {
|
174 |
return false;
|
186 |
|
187 |
/**
|
188 |
* Retrieve option value based on name of option.
|
189 |
+
*
|
190 |
* @uses apply_filters() Calls 'cmb2_override_option_get_{$this->key}' hook to allow
|
191 |
* overwriting the option value to be retrieved.
|
192 |
*
|
207 |
}
|
208 |
}
|
209 |
|
210 |
+
$this->options = (array) $this->options;
|
211 |
+
|
212 |
+
return $this->options;
|
213 |
}
|
214 |
|
215 |
}
|
vendor/CMB2/includes/CMB2_Options_Hookup.php
ADDED
@@ -0,0 +1,289 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Handles hooking CMB2 forms/metaboxes into the post/attachement/user screens
|
4 |
+
* and handles hooking in and saving those fields.
|
5 |
+
*
|
6 |
+
* @since 2.0.0
|
7 |
+
*
|
8 |
+
* @category WordPress_Plugin
|
9 |
+
* @package CMB2
|
10 |
+
* @author CMB2 team
|
11 |
+
* @license GPL-2.0+
|
12 |
+
* @link https://cmb2.io
|
13 |
+
*/
|
14 |
+
class CMB2_Options_Hookup extends CMB2_hookup {
|
15 |
+
|
16 |
+
/**
|
17 |
+
* The object type we are performing the hookup for
|
18 |
+
*
|
19 |
+
* @var string
|
20 |
+
* @since 2.0.9
|
21 |
+
*/
|
22 |
+
protected $object_type = 'options-page';
|
23 |
+
|
24 |
+
/**
|
25 |
+
* Options page key.
|
26 |
+
*
|
27 |
+
* @var string
|
28 |
+
* @since 2.2.5
|
29 |
+
*/
|
30 |
+
protected $option_key = '';
|
31 |
+
|
32 |
+
/**
|
33 |
+
* Constructor
|
34 |
+
*
|
35 |
+
* @since 2.0.0
|
36 |
+
* @param CMB2 $cmb The CMB2 object to hookup
|
37 |
+
*/
|
38 |
+
public function __construct( CMB2 $cmb, $option_key ) {
|
39 |
+
$this->cmb = $cmb;
|
40 |
+
$this->option_key = $option_key;
|
41 |
+
}
|
42 |
+
|
43 |
+
public function hooks() {
|
44 |
+
if ( empty( $this->option_key ) ) {
|
45 |
+
return;
|
46 |
+
}
|
47 |
+
|
48 |
+
// Register setting to cmb2 group.
|
49 |
+
register_setting( 'cmb2', $this->option_key );
|
50 |
+
|
51 |
+
// Handle saving the data.
|
52 |
+
add_action( 'admin_post_' . $this->option_key, array( $this, 'save_options' ) );
|
53 |
+
|
54 |
+
// Optionally network_admin_menu.
|
55 |
+
$hook = $this->cmb->prop( 'admin_menu_hook' );
|
56 |
+
|
57 |
+
// Hook in to add our menu.
|
58 |
+
add_action( $hook, array( $this, 'options_page_menu_hooks' ) );
|
59 |
+
|
60 |
+
// If in the network admin, need to use get/update_site_option.
|
61 |
+
if ( 'network_admin_menu' === $hook ) {
|
62 |
+
// Override CMB's getter.
|
63 |
+
add_filter( "cmb2_override_option_get_{$this->option_key}", array( $this, 'network_get_override' ), 10, 2 );
|
64 |
+
// Override CMB's setter.
|
65 |
+
add_filter( "cmb2_override_option_save_{$this->option_key}", array( $this, 'network_update_override' ), 10, 2 );
|
66 |
+
}
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Hook up our admin menu item and admin page.
|
71 |
+
*
|
72 |
+
* @since 2.2.5
|
73 |
+
*
|
74 |
+
* @return void
|
75 |
+
*/
|
76 |
+
public function options_page_menu_hooks() {
|
77 |
+
$parent_slug = $this->cmb->prop( 'parent_slug' );
|
78 |
+
$title = $this->cmb->prop( 'title' );
|
79 |
+
$menu_title = $this->cmb->prop( 'menu_title', $title );
|
80 |
+
$capability = $this->cmb->prop( 'capability' );
|
81 |
+
$callback = array( $this, 'options_page_output' );
|
82 |
+
|
83 |
+
if ( $parent_slug ) {
|
84 |
+
$page_hook = add_submenu_page(
|
85 |
+
$parent_slug,
|
86 |
+
$title,
|
87 |
+
$menu_title,
|
88 |
+
$capability,
|
89 |
+
$this->option_key,
|
90 |
+
$callback
|
91 |
+
);
|
92 |
+
} else {
|
93 |
+
$page_hook = add_menu_page(
|
94 |
+
$title,
|
95 |
+
$menu_title,
|
96 |
+
$capability,
|
97 |
+
$this->option_key,
|
98 |
+
$callback,
|
99 |
+
$this->cmb->prop( 'icon_url' ),
|
100 |
+
$this->cmb->prop( 'position' )
|
101 |
+
);
|
102 |
+
}
|
103 |
+
|
104 |
+
if ( $this->cmb->prop( 'cmb_styles' ) ) {
|
105 |
+
// Include CMB CSS in the head to avoid FOUC
|
106 |
+
add_action( "admin_print_styles-{$page_hook}", array( 'CMB2_hookup', 'enqueue_cmb_css' ) );
|
107 |
+
}
|
108 |
+
|
109 |
+
$this->maybe_register_message();
|
110 |
+
}
|
111 |
+
|
112 |
+
/**
|
113 |
+
* If there is a message callback, let it determine how to register the message,
|
114 |
+
* else add a settings message if on this settings page.
|
115 |
+
*
|
116 |
+
* @since 2.2.6
|
117 |
+
*
|
118 |
+
* @return void
|
119 |
+
*/
|
120 |
+
public function maybe_register_message() {
|
121 |
+
$is_options_page = isset( $_GET['page'] ) && $this->option_key === $_GET['page'];
|
122 |
+
$should_notify = ! $this->cmb->prop( 'disable_settings_errors' ) && isset( $_GET['settings-updated'] ) && $is_options_page;
|
123 |
+
$is_updated = $should_notify && 'true' === $_GET['settings-updated'];
|
124 |
+
$setting = "{$this->option_key}-notices";
|
125 |
+
$code = '';
|
126 |
+
$message = __( 'Nothing to update.', 'cmb2' );
|
127 |
+
$type = 'notice-warning';
|
128 |
+
|
129 |
+
if ( $is_updated ) {
|
130 |
+
$message = __( 'Settings updated.', 'cmb2' );
|
131 |
+
$type = 'updated';
|
132 |
+
}
|
133 |
+
|
134 |
+
// Check if parameter has registered a callback.
|
135 |
+
if ( $cb = $this->cmb->maybe_callback( 'message_cb' ) ) {
|
136 |
+
|
137 |
+
/**
|
138 |
+
* The 'message_cb' callback will receive the following parameters.
|
139 |
+
* Unless there are other reasons for notifications, the callback should only
|
140 |
+
* `add_settings_error()` if `$args['should_notify']` is truthy.
|
141 |
+
*
|
142 |
+
* @param CMB2 $cmb The CMB2 object.
|
143 |
+
* @param array $args {
|
144 |
+
* An array of message arguments
|
145 |
+
*
|
146 |
+
* @type bool $is_options_page Whether current page is this options page.
|
147 |
+
* @type bool $should_notify Whether options were saved and we should be notified.
|
148 |
+
* @type bool $is_updated Whether options were updated with save (or stayed the same).
|
149 |
+
* @type string $setting For add_settings_error(), Slug title of the setting to which
|
150 |
+
* this error applies.
|
151 |
+
* @type string $code For add_settings_error(), Slug-name to identify the error.
|
152 |
+
* Used as part of 'id' attribute in HTML output.
|
153 |
+
* @type string $message For add_settings_error(), The formatted message text to display
|
154 |
+
* to the user (will be shown inside styled `<div>` and `<p>` tags).
|
155 |
+
* Will be 'Settings updated.' if $is_updated is true, else 'Nothing to update.'
|
156 |
+
* @type string $type For add_settings_error(), Message type, controls HTML class.
|
157 |
+
* Accepts 'error', 'updated', '', 'notice-warning', etc.
|
158 |
+
* Will be 'updated' if $is_updated is true, else 'notice-warning'.
|
159 |
+
* }
|
160 |
+
*/
|
161 |
+
$args = compact( 'is_options_page', 'should_notify', 'is_updated', 'setting', 'code', 'message', 'type' );
|
162 |
+
|
163 |
+
$this->cmb->do_callback( $cb, $args );
|
164 |
+
|
165 |
+
} elseif ( $should_notify ) {
|
166 |
+
|
167 |
+
add_settings_error( $setting, $code, $message, $type );
|
168 |
+
}
|
169 |
+
}
|
170 |
+
|
171 |
+
/**
|
172 |
+
* Display options-page output. To override, set 'display_cb' box property.
|
173 |
+
*
|
174 |
+
* @since 2.2.5
|
175 |
+
*/
|
176 |
+
public function options_page_output() {
|
177 |
+
$this->maybe_output_settings_notices();
|
178 |
+
|
179 |
+
$callback = $this->cmb->prop( 'display_cb' );
|
180 |
+
if ( is_callable( $callback ) ) {
|
181 |
+
return $callback( $this );
|
182 |
+
}
|
183 |
+
|
184 |
+
?>
|
185 |
+
<div class="wrap cmb2-options-page option-<?php echo $this->option_key; ?>">
|
186 |
+
<?php if ( $this->cmb->prop( 'title' ) ) : ?>
|
187 |
+
<h2><?php echo wp_kses_post( $this->cmb->prop( 'title' ) ); ?></h2>
|
188 |
+
<?php endif; ?>
|
189 |
+
<form class="cmb-form" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>" method="POST" id="<?php echo $this->cmb->cmb_id; ?>" enctype="multipart/form-data" encoding="multipart/form-data">
|
190 |
+
<input type="hidden" name="action" value="<?php echo esc_attr( $this->option_key ); ?>">
|
191 |
+
<?php $this->options_page_metabox(); ?>
|
192 |
+
<?php submit_button( esc_attr( $this->cmb->prop( 'save_button' ) ), 'primary', 'submit-cmb' ); ?>
|
193 |
+
</form>
|
194 |
+
</div>
|
195 |
+
<?php
|
196 |
+
}
|
197 |
+
|
198 |
+
/**
|
199 |
+
* Outputs the settings notices if a) not a sub-page of 'options-general.php'
|
200 |
+
* (because settings_errors() already called in wp-admin/options-head.php),
|
201 |
+
* and b) the 'disable_settings_errors' prop is not set or truthy.
|
202 |
+
*
|
203 |
+
* @since 2.2.5
|
204 |
+
* @return void
|
205 |
+
*/
|
206 |
+
public function maybe_output_settings_notices() {
|
207 |
+
global $parent_file;
|
208 |
+
|
209 |
+
// The settings sub-pages will already have settings_errors() called in wp-admin/options-head.php
|
210 |
+
if ( 'options-general.php' !== $parent_file ) {
|
211 |
+
settings_errors( "{$this->option_key}-notices" );
|
212 |
+
}
|
213 |
+
}
|
214 |
+
|
215 |
+
/**
|
216 |
+
* Display metaboxes for an options-page object.
|
217 |
+
*
|
218 |
+
* @since 2.2.5
|
219 |
+
*/
|
220 |
+
public function options_page_metabox() {
|
221 |
+
$this->show_form_for_type( 'options-page' );
|
222 |
+
}
|
223 |
+
|
224 |
+
/**
|
225 |
+
* Save data from options page, then redirects back.
|
226 |
+
*
|
227 |
+
* @since 2.2.5
|
228 |
+
* @return void
|
229 |
+
*/
|
230 |
+
public function save_options() {
|
231 |
+
$url = wp_get_referer();
|
232 |
+
if ( ! $url ) {
|
233 |
+
$url = admin_url();
|
234 |
+
}
|
235 |
+
|
236 |
+
if (
|
237 |
+
$this->can_save( 'options-page' )
|
238 |
+
// check params
|
239 |
+
&& isset( $_POST['submit-cmb'], $_POST['action'] )
|
240 |
+
&& $this->option_key === $_POST['action']
|
241 |
+
) {
|
242 |
+
|
243 |
+
$updated = $this->cmb
|
244 |
+
->save_fields( $this->option_key, $this->cmb->object_type(), $_POST )
|
245 |
+
->was_updated(); // Will be false if no values were changed/updated.
|
246 |
+
|
247 |
+
$url = add_query_arg( 'settings-updated', $updated ? 'true' : 'false', $url );
|
248 |
+
}
|
249 |
+
|
250 |
+
wp_safe_redirect( esc_url_raw( $url ), WP_Http::SEE_OTHER );
|
251 |
+
exit;
|
252 |
+
}
|
253 |
+
|
254 |
+
/**
|
255 |
+
* Replaces get_option with get_site_option
|
256 |
+
* @since 2.2.5
|
257 |
+
* @return mixed Value set for the network option.
|
258 |
+
*/
|
259 |
+
public function network_get_override( $test, $default = false ) {
|
260 |
+
return get_site_option( $this->option_key, $default );
|
261 |
+
}
|
262 |
+
|
263 |
+
/**
|
264 |
+
* Replaces update_option with update_site_option
|
265 |
+
* @since 2.2.5
|
266 |
+
* @return bool Success/Failure
|
267 |
+
*/
|
268 |
+
public function network_update_override( $test, $option_value ) {
|
269 |
+
return update_site_option( $this->option_key, $option_value );
|
270 |
+
}
|
271 |
+
|
272 |
+
/**
|
273 |
+
* Magic getter for our object.
|
274 |
+
*
|
275 |
+
* @param string $field
|
276 |
+
* @throws Exception Throws an exception if the field is invalid.
|
277 |
+
* @return mixed
|
278 |
+
*/
|
279 |
+
public function __get( $field ) {
|
280 |
+
switch ( $field ) {
|
281 |
+
case 'object_type':
|
282 |
+
case 'option_key':
|
283 |
+
case 'cmb':
|
284 |
+
return $this->{$field};
|
285 |
+
default:
|
286 |
+
throw new Exception( sprintf( esc_html__( 'Invalid %1$s property: %2$s', 'cmb2' ), __CLASS__, $field ) );
|
287 |
+
}
|
288 |
+
}
|
289 |
+
}
|
vendor/CMB2/includes/CMB2_Sanitize.php
CHANGED
@@ -6,9 +6,9 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*
|
13 |
* @method string _id()
|
14 |
*/
|
@@ -16,29 +16,33 @@ class CMB2_Sanitize {
|
|
16 |
|
17 |
/**
|
18 |
* A CMB field object
|
|
|
19 |
* @var CMB2_Field object
|
20 |
*/
|
21 |
public $field;
|
22 |
|
23 |
/**
|
24 |
* Field's value
|
|
|
25 |
* @var mixed
|
26 |
*/
|
27 |
public $value;
|
28 |
|
29 |
/**
|
30 |
* Setup our class vars
|
|
|
31 |
* @since 1.1.0
|
32 |
* @param CMB2_Field $field A CMB2 field object
|
33 |
* @param mixed $value Field value
|
34 |
*/
|
35 |
public function __construct( CMB2_Field $field, $value ) {
|
36 |
$this->field = $field;
|
37 |
-
$this->value =
|
38 |
}
|
39 |
|
40 |
/**
|
41 |
* Catchall method if field's 'sanitization_cb' is NOT defined, or field type does not have a corresponding validation method
|
|
|
42 |
* @since 1.0.0
|
43 |
* @param string $name Non-existent method name
|
44 |
* @param array $arguments All arguments passed to the method
|
@@ -49,6 +53,7 @@ class CMB2_Sanitize {
|
|
49 |
|
50 |
/**
|
51 |
* Default fallback sanitization method. Applies filters.
|
|
|
52 |
* @since 1.0.2
|
53 |
*/
|
54 |
public function default_sanitization() {
|
@@ -56,6 +61,7 @@ class CMB2_Sanitize {
|
|
56 |
/**
|
57 |
* This exists for back-compatibility, but validation
|
58 |
* is not what happens here.
|
|
|
59 |
* @deprecated See documentation for "cmb2_sanitize_{$this->type()}".
|
60 |
*/
|
61 |
if ( function_exists( 'apply_filters_deprecated' ) ) {
|
@@ -78,9 +84,11 @@ class CMB2_Sanitize {
|
|
78 |
case 'taxonomy_select':
|
79 |
case 'taxonomy_radio':
|
80 |
case 'taxonomy_radio_inline':
|
|
|
81 |
case 'taxonomy_multicheck':
|
|
|
82 |
case 'taxonomy_multicheck_inline':
|
83 |
-
$sanitized_value = $this->
|
84 |
break;
|
85 |
case 'multicheck':
|
86 |
case 'multicheck_inline':
|
@@ -101,6 +109,7 @@ class CMB2_Sanitize {
|
|
101 |
|
102 |
/**
|
103 |
* Default sanitization method, sanitize_text_field. Checks if value is array.
|
|
|
104 |
* @since 2.2.4
|
105 |
* @return mixed Sanitized value.
|
106 |
*/
|
@@ -111,10 +120,11 @@ class CMB2_Sanitize {
|
|
111 |
|
112 |
/**
|
113 |
* Sets the object terms to the object (if not options-page) and optionally returns the sanitized term values.
|
|
|
114 |
* @since 2.2.4
|
115 |
* @return mixed Blank value, or sanitized term values if "cmb2_return_taxonomy_values_{$cmb_id}" is true.
|
116 |
*/
|
117 |
-
|
118 |
$sanitized_value = '';
|
119 |
|
120 |
if ( ! $this->field->args( 'taxonomy' ) ) {
|
@@ -154,6 +164,7 @@ class CMB2_Sanitize {
|
|
154 |
|
155 |
/**
|
156 |
* Simple checkbox validation
|
|
|
157 |
* @since 1.0.1
|
158 |
* @return string|false 'on' or false
|
159 |
*/
|
@@ -163,6 +174,7 @@ class CMB2_Sanitize {
|
|
163 |
|
164 |
/**
|
165 |
* Validate url in a meta value
|
|
|
166 |
* @since 1.0.1
|
167 |
* @return string Empty string or escaped url
|
168 |
*/
|
@@ -198,6 +210,7 @@ class CMB2_Sanitize {
|
|
198 |
|
199 |
/**
|
200 |
* Validate email in a meta value
|
|
|
201 |
* @since 1.0.1
|
202 |
* @return string Empty string or sanitized email
|
203 |
*/
|
@@ -218,6 +231,7 @@ class CMB2_Sanitize {
|
|
218 |
|
219 |
/**
|
220 |
* Validate money in a meta value
|
|
|
221 |
* @since 1.0.1
|
222 |
* @return string Empty string or sanitized money value
|
223 |
*/
|
@@ -231,6 +245,10 @@ class CMB2_Sanitize {
|
|
231 |
$search = array( $wp_locale->number_format['thousands_sep'], $wp_locale->number_format['decimal_point'] );
|
232 |
$replace = array( '', '.' );
|
233 |
|
|
|
|
|
|
|
|
|
234 |
// for repeatable
|
235 |
if ( is_array( $this->value ) ) {
|
236 |
foreach ( $this->value as $key => $val ) {
|
@@ -247,10 +265,14 @@ class CMB2_Sanitize {
|
|
247 |
|
248 |
/**
|
249 |
* Converts text date to timestamp
|
|
|
250 |
* @since 1.0.2
|
251 |
* @return string Timestring
|
252 |
*/
|
253 |
public function text_date_timestamp() {
|
|
|
|
|
|
|
254 |
return is_array( $this->value )
|
255 |
? array_map( array( $this->field, 'get_timestamp_from_value' ), $this->value )
|
256 |
: $this->field->get_timestamp_from_value( $this->value );
|
@@ -258,10 +280,13 @@ class CMB2_Sanitize {
|
|
258 |
|
259 |
/**
|
260 |
* Datetime to timestamp
|
|
|
261 |
* @since 1.0.1
|
262 |
* @return string|array Timestring
|
263 |
*/
|
264 |
public function text_datetime_timestamp( $repeat = false ) {
|
|
|
|
|
265 |
|
266 |
$test = is_array( $this->value ) ? array_filter( $this->value ) : '';
|
267 |
if ( empty( $test ) ) {
|
@@ -286,6 +311,7 @@ class CMB2_Sanitize {
|
|
286 |
|
287 |
/**
|
288 |
* Datetime to timestamp with timezone
|
|
|
289 |
* @since 1.0.1
|
290 |
* @return string Timestring
|
291 |
*/
|
@@ -297,6 +323,9 @@ class CMB2_Sanitize {
|
|
297 |
return '';
|
298 |
}
|
299 |
|
|
|
|
|
|
|
300 |
$utc_key = $this->field->_id() . '_utc';
|
301 |
|
302 |
$repeat_value = $this->_check_repeat( __FUNCTION__, $repeat );
|
@@ -342,8 +371,8 @@ class CMB2_Sanitize {
|
|
342 |
if ( ! is_object( $datetime ) ) {
|
343 |
$this->value = $utc_stamp = '';
|
344 |
} else {
|
345 |
-
$
|
346 |
-
$utc_stamp = $
|
347 |
$this->value = serialize( $datetime );
|
348 |
}
|
349 |
|
@@ -361,7 +390,6 @@ class CMB2_Sanitize {
|
|
361 |
$this->_save_utc_value( $utc_key, $utc_stamp );
|
362 |
}
|
363 |
}
|
364 |
-
|
365 |
} catch ( Exception $e ) {
|
366 |
$this->value = '';
|
367 |
CMB2_Utils::log_if_debug( __METHOD__, __LINE__, $e->getMessage() );
|
@@ -372,6 +400,7 @@ class CMB2_Sanitize {
|
|
372 |
|
373 |
/**
|
374 |
* Sanitize textareas and wysiwyg fields
|
|
|
375 |
* @since 1.0.1
|
376 |
* @return string Sanitized data
|
377 |
*/
|
@@ -381,6 +410,7 @@ class CMB2_Sanitize {
|
|
381 |
|
382 |
/**
|
383 |
* Sanitize code textareas
|
|
|
384 |
* @since 1.0.2
|
385 |
* @return string Sanitized data
|
386 |
*/
|
@@ -395,6 +425,7 @@ class CMB2_Sanitize {
|
|
395 |
|
396 |
/**
|
397 |
* Handles saving of attachment post ID and sanitizing file url
|
|
|
398 |
* @since 1.1.0
|
399 |
* @return string Sanitized url
|
400 |
*/
|
@@ -414,6 +445,7 @@ class CMB2_Sanitize {
|
|
414 |
|
415 |
/**
|
416 |
* Gets the values for the `file` field type from the data being saved.
|
|
|
417 |
* @since 2.2.0
|
418 |
*/
|
419 |
public function _get_group_file_value_array( $id_key ) {
|
@@ -440,6 +472,7 @@ class CMB2_Sanitize {
|
|
440 |
|
441 |
/**
|
442 |
* Peforms saving of `file` attachement's ID
|
|
|
443 |
* @since 1.1.0
|
444 |
*/
|
445 |
public function _save_file_id_value( $file_id_key ) {
|
@@ -453,6 +486,10 @@ class CMB2_Sanitize {
|
|
453 |
// If there is no ID saved yet, try to get it from the url
|
454 |
if ( $this->value && ! $id_val ) {
|
455 |
$id_val = CMB2_Utils::image_id_from_url( $this->value );
|
|
|
|
|
|
|
|
|
456 |
}
|
457 |
|
458 |
return $id_field->save_field( $id_val );
|
@@ -460,6 +497,7 @@ class CMB2_Sanitize {
|
|
460 |
|
461 |
/**
|
462 |
* Peforms saving of `text_datetime_timestamp_timezone` utc timestamp
|
|
|
463 |
* @since 2.2.0
|
464 |
*/
|
465 |
public function _save_utc_value( $utc_key, $utc_stamp ) {
|
@@ -468,6 +506,7 @@ class CMB2_Sanitize {
|
|
468 |
|
469 |
/**
|
470 |
* Returns a new, supporting, CMB2_Field object based on a new field id.
|
|
|
471 |
* @since 2.2.0
|
472 |
*/
|
473 |
public function _new_supporting_field( $new_field_id ) {
|
@@ -479,6 +518,7 @@ class CMB2_Sanitize {
|
|
479 |
|
480 |
/**
|
481 |
* If repeating, loop through and re-apply sanitization method
|
|
|
482 |
* @since 1.1.0
|
483 |
* @param string $method Class method
|
484 |
* @param bool $repeat Whether repeating or not
|
@@ -508,8 +548,9 @@ class CMB2_Sanitize {
|
|
508 |
|
509 |
/**
|
510 |
* Determine if passed value is an empty array
|
|
|
511 |
* @since 2.0.6
|
512 |
-
* @param mixed
|
513 |
* @return boolean Whether value is an array that's empty
|
514 |
*/
|
515 |
public function _is_empty_array( $to_check ) {
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*
|
13 |
* @method string _id()
|
14 |
*/
|
16 |
|
17 |
/**
|
18 |
* A CMB field object
|
19 |
+
*
|
20 |
* @var CMB2_Field object
|
21 |
*/
|
22 |
public $field;
|
23 |
|
24 |
/**
|
25 |
* Field's value
|
26 |
+
*
|
27 |
* @var mixed
|
28 |
*/
|
29 |
public $value;
|
30 |
|
31 |
/**
|
32 |
* Setup our class vars
|
33 |
+
*
|
34 |
* @since 1.1.0
|
35 |
* @param CMB2_Field $field A CMB2 field object
|
36 |
* @param mixed $value Field value
|
37 |
*/
|
38 |
public function __construct( CMB2_Field $field, $value ) {
|
39 |
$this->field = $field;
|
40 |
+
$this->value = $value;
|
41 |
}
|
42 |
|
43 |
/**
|
44 |
* Catchall method if field's 'sanitization_cb' is NOT defined, or field type does not have a corresponding validation method
|
45 |
+
*
|
46 |
* @since 1.0.0
|
47 |
* @param string $name Non-existent method name
|
48 |
* @param array $arguments All arguments passed to the method
|
53 |
|
54 |
/**
|
55 |
* Default fallback sanitization method. Applies filters.
|
56 |
+
*
|
57 |
* @since 1.0.2
|
58 |
*/
|
59 |
public function default_sanitization() {
|
61 |
/**
|
62 |
* This exists for back-compatibility, but validation
|
63 |
* is not what happens here.
|
64 |
+
*
|
65 |
* @deprecated See documentation for "cmb2_sanitize_{$this->type()}".
|
66 |
*/
|
67 |
if ( function_exists( 'apply_filters_deprecated' ) ) {
|
84 |
case 'taxonomy_select':
|
85 |
case 'taxonomy_radio':
|
86 |
case 'taxonomy_radio_inline':
|
87 |
+
case 'taxonomy_radio_hierarchical':
|
88 |
case 'taxonomy_multicheck':
|
89 |
+
case 'taxonomy_multicheck_hierarchical':
|
90 |
case 'taxonomy_multicheck_inline':
|
91 |
+
$sanitized_value = $this->taxonomy();
|
92 |
break;
|
93 |
case 'multicheck':
|
94 |
case 'multicheck_inline':
|
109 |
|
110 |
/**
|
111 |
* Default sanitization method, sanitize_text_field. Checks if value is array.
|
112 |
+
*
|
113 |
* @since 2.2.4
|
114 |
* @return mixed Sanitized value.
|
115 |
*/
|
120 |
|
121 |
/**
|
122 |
* Sets the object terms to the object (if not options-page) and optionally returns the sanitized term values.
|
123 |
+
*
|
124 |
* @since 2.2.4
|
125 |
* @return mixed Blank value, or sanitized term values if "cmb2_return_taxonomy_values_{$cmb_id}" is true.
|
126 |
*/
|
127 |
+
public function taxonomy() {
|
128 |
$sanitized_value = '';
|
129 |
|
130 |
if ( ! $this->field->args( 'taxonomy' ) ) {
|
164 |
|
165 |
/**
|
166 |
* Simple checkbox validation
|
167 |
+
*
|
168 |
* @since 1.0.1
|
169 |
* @return string|false 'on' or false
|
170 |
*/
|
174 |
|
175 |
/**
|
176 |
* Validate url in a meta value
|
177 |
+
*
|
178 |
* @since 1.0.1
|
179 |
* @return string Empty string or escaped url
|
180 |
*/
|
210 |
|
211 |
/**
|
212 |
* Validate email in a meta value
|
213 |
+
*
|
214 |
* @since 1.0.1
|
215 |
* @return string Empty string or sanitized email
|
216 |
*/
|
231 |
|
232 |
/**
|
233 |
* Validate money in a meta value
|
234 |
+
*
|
235 |
* @since 1.0.1
|
236 |
* @return string Empty string or sanitized money value
|
237 |
*/
|
245 |
$search = array( $wp_locale->number_format['thousands_sep'], $wp_locale->number_format['decimal_point'] );
|
246 |
$replace = array( '', '.' );
|
247 |
|
248 |
+
// Strip slashes. Example: 2\'180.00.
|
249 |
+
// See https://github.com/CMB2/CMB2/issues/1014
|
250 |
+
$this->value = wp_unslash( $this->value );
|
251 |
+
|
252 |
// for repeatable
|
253 |
if ( is_array( $this->value ) ) {
|
254 |
foreach ( $this->value as $key => $val ) {
|
265 |
|
266 |
/**
|
267 |
* Converts text date to timestamp
|
268 |
+
*
|
269 |
* @since 1.0.2
|
270 |
* @return string Timestring
|
271 |
*/
|
272 |
public function text_date_timestamp() {
|
273 |
+
// date_create_from_format if there is a slash in the value.
|
274 |
+
$this->value = wp_unslash( $this->value );
|
275 |
+
|
276 |
return is_array( $this->value )
|
277 |
? array_map( array( $this->field, 'get_timestamp_from_value' ), $this->value )
|
278 |
: $this->field->get_timestamp_from_value( $this->value );
|
280 |
|
281 |
/**
|
282 |
* Datetime to timestamp
|
283 |
+
*
|
284 |
* @since 1.0.1
|
285 |
* @return string|array Timestring
|
286 |
*/
|
287 |
public function text_datetime_timestamp( $repeat = false ) {
|
288 |
+
// date_create_from_format if there is a slash in the value.
|
289 |
+
$this->value = wp_unslash( $this->value );
|
290 |
|
291 |
$test = is_array( $this->value ) ? array_filter( $this->value ) : '';
|
292 |
if ( empty( $test ) ) {
|
311 |
|
312 |
/**
|
313 |
* Datetime to timestamp with timezone
|
314 |
+
*
|
315 |
* @since 1.0.1
|
316 |
* @return string Timestring
|
317 |
*/
|
323 |
return '';
|
324 |
}
|
325 |
|
326 |
+
// date_create_from_format if there is a slash in the value.
|
327 |
+
$this->value = wp_unslash( $this->value );
|
328 |
+
|
329 |
$utc_key = $this->field->_id() . '_utc';
|
330 |
|
331 |
$repeat_value = $this->_check_repeat( __FUNCTION__, $repeat );
|
371 |
if ( ! is_object( $datetime ) ) {
|
372 |
$this->value = $utc_stamp = '';
|
373 |
} else {
|
374 |
+
$datetime->setTimezone( new DateTimeZone( $tzstring ) );
|
375 |
+
$utc_stamp = date_timestamp_get( $datetime ) - $offset;
|
376 |
$this->value = serialize( $datetime );
|
377 |
}
|
378 |
|
390 |
$this->_save_utc_value( $utc_key, $utc_stamp );
|
391 |
}
|
392 |
}
|
|
|
393 |
} catch ( Exception $e ) {
|
394 |
$this->value = '';
|
395 |
CMB2_Utils::log_if_debug( __METHOD__, __LINE__, $e->getMessage() );
|
400 |
|
401 |
/**
|
402 |
* Sanitize textareas and wysiwyg fields
|
403 |
+
*
|
404 |
* @since 1.0.1
|
405 |
* @return string Sanitized data
|
406 |
*/
|
410 |
|
411 |
/**
|
412 |
* Sanitize code textareas
|
413 |
+
*
|
414 |
* @since 1.0.2
|
415 |
* @return string Sanitized data
|
416 |
*/
|
425 |
|
426 |
/**
|
427 |
* Handles saving of attachment post ID and sanitizing file url
|
428 |
+
*
|
429 |
* @since 1.1.0
|
430 |
* @return string Sanitized url
|
431 |
*/
|
445 |
|
446 |
/**
|
447 |
* Gets the values for the `file` field type from the data being saved.
|
448 |
+
*
|
449 |
* @since 2.2.0
|
450 |
*/
|
451 |
public function _get_group_file_value_array( $id_key ) {
|
472 |
|
473 |
/**
|
474 |
* Peforms saving of `file` attachement's ID
|
475 |
+
*
|
476 |
* @since 1.1.0
|
477 |
*/
|
478 |
public function _save_file_id_value( $file_id_key ) {
|
486 |
// If there is no ID saved yet, try to get it from the url
|
487 |
if ( $this->value && ! $id_val ) {
|
488 |
$id_val = CMB2_Utils::image_id_from_url( $this->value );
|
489 |
+
|
490 |
+
// If there is an ID but user emptied the input value, remove the ID.
|
491 |
+
} elseif ( ! $this->value && $id_val ) {
|
492 |
+
$id_val = null;
|
493 |
}
|
494 |
|
495 |
return $id_field->save_field( $id_val );
|
497 |
|
498 |
/**
|
499 |
* Peforms saving of `text_datetime_timestamp_timezone` utc timestamp
|
500 |
+
*
|
501 |
* @since 2.2.0
|
502 |
*/
|
503 |
public function _save_utc_value( $utc_key, $utc_stamp ) {
|
506 |
|
507 |
/**
|
508 |
* Returns a new, supporting, CMB2_Field object based on a new field id.
|
509 |
+
*
|
510 |
* @since 2.2.0
|
511 |
*/
|
512 |
public function _new_supporting_field( $new_field_id ) {
|
518 |
|
519 |
/**
|
520 |
* If repeating, loop through and re-apply sanitization method
|
521 |
+
*
|
522 |
* @since 1.1.0
|
523 |
* @param string $method Class method
|
524 |
* @param bool $repeat Whether repeating or not
|
548 |
|
549 |
/**
|
550 |
* Determine if passed value is an empty array
|
551 |
+
*
|
552 |
* @since 2.0.6
|
553 |
+
* @param mixed $to_check Value to check
|
554 |
* @return boolean Whether value is an array that's empty
|
555 |
*/
|
556 |
public function _is_empty_array( $to_check ) {
|
vendor/CMB2/includes/CMB2_Show_Filters.php
CHANGED
@@ -11,9 +11,9 @@
|
|
11 |
*
|
12 |
* @category WordPress_Plugin
|
13 |
* @package CMB2
|
14 |
-
* @author
|
15 |
* @license GPL-2.0+
|
16 |
-
* @link
|
17 |
*/
|
18 |
class CMB2_Show_Filters {
|
19 |
|
@@ -69,6 +69,7 @@ class CMB2_Show_Filters {
|
|
69 |
|
70 |
/**
|
71 |
* Add metaboxes for an specific ID
|
|
|
72 |
* @since 1.0.0
|
73 |
* @param bool $display To display or not
|
74 |
* @param array $meta_box_args Metabox config array
|
@@ -94,6 +95,7 @@ class CMB2_Show_Filters {
|
|
94 |
|
95 |
/**
|
96 |
* Add metaboxes for an specific Page Template
|
|
|
97 |
* @since 1.0.0
|
98 |
* @param bool $display To display or not
|
99 |
* @param array $meta_box_args Metabox config array
|
@@ -125,6 +127,7 @@ class CMB2_Show_Filters {
|
|
125 |
|
126 |
/**
|
127 |
* Only show options-page metaboxes on their options page (but only enforce on the admin side)
|
|
|
128 |
* @since 1.0.0
|
129 |
* @param bool $display To display or not
|
130 |
* @param array $meta_box_args Metabox config array
|
11 |
*
|
12 |
* @category WordPress_Plugin
|
13 |
* @package CMB2
|
14 |
+
* @author CMB2 team
|
15 |
* @license GPL-2.0+
|
16 |
+
* @link https://cmb2.io
|
17 |
*/
|
18 |
class CMB2_Show_Filters {
|
19 |
|
69 |
|
70 |
/**
|
71 |
* Add metaboxes for an specific ID
|
72 |
+
*
|
73 |
* @since 1.0.0
|
74 |
* @param bool $display To display or not
|
75 |
* @param array $meta_box_args Metabox config array
|
95 |
|
96 |
/**
|
97 |
* Add metaboxes for an specific Page Template
|
98 |
+
*
|
99 |
* @since 1.0.0
|
100 |
* @param bool $display To display or not
|
101 |
* @param array $meta_box_args Metabox config array
|
127 |
|
128 |
/**
|
129 |
* Only show options-page metaboxes on their options page (but only enforce on the admin side)
|
130 |
+
*
|
131 |
* @since 1.0.0
|
132 |
* @param bool $display To display or not
|
133 |
* @param array $meta_box_args Metabox config array
|
vendor/CMB2/includes/CMB2_Types.php
CHANGED
@@ -6,9 +6,9 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*
|
13 |
* @method string _id()
|
14 |
* @method string _name()
|
@@ -20,6 +20,7 @@ class CMB2_Types {
|
|
20 |
|
21 |
/**
|
22 |
* An iterator value for repeatable fields
|
|
|
23 |
* @var integer
|
24 |
* @since 1.0.0
|
25 |
*/
|
@@ -27,6 +28,7 @@ class CMB2_Types {
|
|
27 |
|
28 |
/**
|
29 |
* Current CMB2_Field field object
|
|
|
30 |
* @var CMB2_Field object
|
31 |
* @since 1.0.0
|
32 |
*/
|
@@ -34,6 +36,7 @@ class CMB2_Types {
|
|
34 |
|
35 |
/**
|
36 |
* Current CMB2_Type_Base object
|
|
|
37 |
* @var CMB2_Type_Base object
|
38 |
* @since 2.2.2
|
39 |
*/
|
@@ -45,6 +48,7 @@ class CMB2_Types {
|
|
45 |
|
46 |
/**
|
47 |
* Default fallback. Allows rendering fields via "cmb2_render_$fieldtype" hook
|
|
|
48 |
* @since 1.0.0
|
49 |
* @param string $fieldtype Non-existent field type name
|
50 |
* @param array $arguments All arguments passed to the method
|
@@ -82,6 +86,7 @@ class CMB2_Types {
|
|
82 |
|
83 |
/**
|
84 |
* Render a field (and handle repeatable)
|
|
|
85 |
* @since 1.1.0
|
86 |
*/
|
87 |
public function render() {
|
@@ -94,6 +99,7 @@ class CMB2_Types {
|
|
94 |
|
95 |
/**
|
96 |
* Render a field type
|
|
|
97 |
* @since 1.1.0
|
98 |
*/
|
99 |
protected function _render() {
|
@@ -174,6 +180,7 @@ class CMB2_Types {
|
|
174 |
|
175 |
/**
|
176 |
* Check for methods to be proxied to the CMB2_Type_Base object.
|
|
|
177 |
* @since 2.2.4
|
178 |
* @param string $method The possible method to proxy.
|
179 |
* @param array $arguments All arguments passed to the method.
|
@@ -206,31 +213,38 @@ class CMB2_Types {
|
|
206 |
|
207 |
/**
|
208 |
* Checks for a custom field CMB2_Type_Base class to use for rendering.
|
|
|
209 |
* @since 2.2.4
|
210 |
-
*
|
|
|
211 |
* @param array $args Optional field arguments.
|
212 |
-
*
|
|
|
|
|
|
|
213 |
*/
|
214 |
public function maybe_custom_field_object( $fieldtype, $args = array() ) {
|
215 |
if ( $render_class_name = $this->get_render_type_class( $fieldtype ) ) {
|
216 |
-
|
217 |
$this->type = new $render_class_name( $this, $args );
|
218 |
|
219 |
if ( ! ( $this->type instanceof CMB2_Type_Base ) ) {
|
220 |
throw new Exception( __( 'Custom CMB2 field type classes must extend CMB2_Type_Base.', 'cmb2' ) );
|
221 |
}
|
|
|
|
|
222 |
}
|
223 |
|
224 |
-
return
|
225 |
}
|
226 |
|
227 |
/**
|
228 |
* Gets the render type CMB2_Type_Base object to use for rendering the field.
|
|
|
229 |
* @since 2.2.4
|
230 |
-
* @param string
|
231 |
-
* @param string
|
232 |
-
* @param array
|
233 |
-
* @param mixed
|
234 |
* @return CMB2_Type_Base Type object.
|
235 |
*/
|
236 |
public function get_new_render_type( $fieldtype, $render_class_name = null, $args = array(), $additional = '' ) {
|
@@ -242,6 +256,7 @@ class CMB2_Types {
|
|
242 |
|
243 |
/**
|
244 |
* Checks for the render type class to use for rendering the field.
|
|
|
245 |
* @since 2.2.4
|
246 |
* @param string $fieldtype The type of field being rendered.
|
247 |
* @param string $render_class_name The default field type class to use. Defaults to null.
|
@@ -270,9 +285,10 @@ class CMB2_Types {
|
|
270 |
|
271 |
/**
|
272 |
* Retrieve text parameter from field's options array (if it has one), or use fallback text
|
|
|
273 |
* @since 2.0.0
|
274 |
-
* @param string
|
275 |
-
* @param string
|
276 |
* @return string Text
|
277 |
*/
|
278 |
public function _text( $text_key, $fallback = '' ) {
|
@@ -281,8 +297,9 @@ class CMB2_Types {
|
|
281 |
|
282 |
/**
|
283 |
* Determine a file's extension
|
|
|
284 |
* @since 1.0.0
|
285 |
-
* @param string
|
286 |
* @return string|false File extension or false
|
287 |
*/
|
288 |
public function get_file_ext( $file ) {
|
@@ -291,6 +308,7 @@ class CMB2_Types {
|
|
291 |
|
292 |
/**
|
293 |
* Get the file name from a url
|
|
|
294 |
* @since 2.0.0
|
295 |
* @param string $value File url or path
|
296 |
* @return string File name
|
@@ -301,9 +319,10 @@ class CMB2_Types {
|
|
301 |
|
302 |
/**
|
303 |
* Combines attributes into a string for a form element
|
|
|
304 |
* @since 1.1.0
|
305 |
-
* @param array
|
306 |
-
* @param array
|
307 |
* @return string String of attributes for form element
|
308 |
*/
|
309 |
public function concat_attrs( $attrs, $attr_exclude = array() ) {
|
@@ -312,6 +331,7 @@ class CMB2_Types {
|
|
312 |
|
313 |
/**
|
314 |
* Generates repeatable field table markup
|
|
|
315 |
* @since 1.0.0
|
316 |
*/
|
317 |
public function render_repeatable_field() {
|
@@ -326,7 +346,7 @@ class CMB2_Types {
|
|
326 |
</div>
|
327 |
</div>
|
328 |
<p class="cmb-add-row">
|
329 |
-
<button type="button" data-selector="<?php echo $table_id; ?>" class="cmb-add-row-button button"><?php echo esc_html( $this->_text( 'add_row_text', esc_html__( 'Add Row', 'cmb2' ) ) ); ?></button>
|
330 |
</p>
|
331 |
|
332 |
<?php
|
@@ -336,6 +356,7 @@ class CMB2_Types {
|
|
336 |
|
337 |
/**
|
338 |
* Generates repeatable field rows
|
|
|
339 |
* @since 1.1.0
|
340 |
*/
|
341 |
public function repeatable_rows() {
|
@@ -356,7 +377,7 @@ class CMB2_Types {
|
|
356 |
$count = count( $meta_value );
|
357 |
foreach ( (array) $meta_value as $val ) {
|
358 |
$this->field->escaped_value = $val;
|
359 |
-
$this->repeat_row(
|
360 |
$this->iterator++;
|
361 |
}
|
362 |
} else {
|
@@ -365,23 +386,22 @@ class CMB2_Types {
|
|
365 |
$this->field->escaped_value = $this->field->value = null;
|
366 |
|
367 |
// Otherwise add one row
|
368 |
-
$this->repeat_row(
|
369 |
}
|
370 |
|
371 |
// Then add an empty row
|
372 |
$this->field->escaped_value = '';
|
373 |
$this->iterator = $this->iterator ? $this->iterator : 1;
|
374 |
-
$this->repeat_row(
|
375 |
}
|
376 |
|
377 |
/**
|
378 |
* Generates a repeatable row's markup
|
|
|
379 |
* @since 1.1.0
|
380 |
-
* @param bool $disable_remover Whether remove button should be disabled
|
381 |
* @param string $class Repeatable table row's class
|
382 |
*/
|
383 |
-
protected function repeat_row( $
|
384 |
-
$disabled = $disable_remover ? ' button-disabled' : '';
|
385 |
?>
|
386 |
|
387 |
<div class="cmb-row <?php echo $class; ?>">
|
@@ -389,7 +409,7 @@ class CMB2_Types {
|
|
389 |
<?php $this->_render(); ?>
|
390 |
</div>
|
391 |
<div class="cmb-td cmb-remove-row">
|
392 |
-
<button type="button" class="button cmb-remove-row-button<?php echo $
|
393 |
</div>
|
394 |
</div>
|
395 |
|
@@ -398,6 +418,7 @@ class CMB2_Types {
|
|
398 |
|
399 |
/**
|
400 |
* Generates description markup
|
|
|
401 |
* @since 1.0.0
|
402 |
* @param boolean $paragraph Paragraph tag or span
|
403 |
* @param boolean $echo Whether to echo description or only return it
|
@@ -427,8 +448,9 @@ class CMB2_Types {
|
|
427 |
|
428 |
/**
|
429 |
* Generate field name attribute
|
|
|
430 |
* @since 1.1.0
|
431 |
-
* @param string
|
432 |
* @return string Name attribute
|
433 |
*/
|
434 |
public function _name( $suffix = '' ) {
|
@@ -437,8 +459,9 @@ class CMB2_Types {
|
|
437 |
|
438 |
/**
|
439 |
* Generate field id attribute
|
|
|
440 |
* @since 1.1.0
|
441 |
-
* @param string
|
442 |
* @return string Id attribute
|
443 |
*/
|
444 |
public function _id( $suffix = '' ) {
|
@@ -447,6 +470,7 @@ class CMB2_Types {
|
|
447 |
|
448 |
/**
|
449 |
* Handles outputting an 'input' element
|
|
|
450 |
* @since 1.1.0
|
451 |
* @param array $args Override arguments
|
452 |
* @param string $type Field type
|
@@ -458,8 +482,9 @@ class CMB2_Types {
|
|
458 |
|
459 |
/**
|
460 |
* Handles outputting an 'textarea' element
|
|
|
461 |
* @since 1.1.0
|
462 |
-
* @param array
|
463 |
* @return string Form textarea element
|
464 |
*/
|
465 |
public function textarea( $args = array() ) {
|
@@ -607,6 +632,10 @@ class CMB2_Types {
|
|
607 |
return $this->get_new_render_type( __FUNCTION__, 'CMB2_Type_Taxonomy_Radio', $args )->render();
|
608 |
}
|
609 |
|
|
|
|
|
|
|
|
|
610 |
public function taxonomy_radio_inline( $args = array() ) {
|
611 |
return $this->taxonomy_radio( $args );
|
612 |
}
|
@@ -615,6 +644,10 @@ class CMB2_Types {
|
|
615 |
return $this->get_new_render_type( __FUNCTION__, 'CMB2_Type_Taxonomy_Multicheck', $args )->render();
|
616 |
}
|
617 |
|
|
|
|
|
|
|
|
|
618 |
public function taxonomy_multicheck_inline( $args = array() ) {
|
619 |
return $this->taxonomy_multicheck( $args );
|
620 |
}
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*
|
13 |
* @method string _id()
|
14 |
* @method string _name()
|
20 |
|
21 |
/**
|
22 |
* An iterator value for repeatable fields
|
23 |
+
*
|
24 |
* @var integer
|
25 |
* @since 1.0.0
|
26 |
*/
|
28 |
|
29 |
/**
|
30 |
* Current CMB2_Field field object
|
31 |
+
*
|
32 |
* @var CMB2_Field object
|
33 |
* @since 1.0.0
|
34 |
*/
|
36 |
|
37 |
/**
|
38 |
* Current CMB2_Type_Base object
|
39 |
+
*
|
40 |
* @var CMB2_Type_Base object
|
41 |
* @since 2.2.2
|
42 |
*/
|
48 |
|
49 |
/**
|
50 |
* Default fallback. Allows rendering fields via "cmb2_render_$fieldtype" hook
|
51 |
+
*
|
52 |
* @since 1.0.0
|
53 |
* @param string $fieldtype Non-existent field type name
|
54 |
* @param array $arguments All arguments passed to the method
|
86 |
|
87 |
/**
|
88 |
* Render a field (and handle repeatable)
|
89 |
+
*
|
90 |
* @since 1.1.0
|
91 |
*/
|
92 |
public function render() {
|
99 |
|
100 |
/**
|
101 |
* Render a field type
|
102 |
+
*
|
103 |
* @since 1.1.0
|
104 |
*/
|
105 |
protected function _render() {
|
180 |
|
181 |
/**
|
182 |
* Check for methods to be proxied to the CMB2_Type_Base object.
|
183 |
+
*
|
184 |
* @since 2.2.4
|
185 |
* @param string $method The possible method to proxy.
|
186 |
* @param array $arguments All arguments passed to the method.
|
213 |
|
214 |
/**
|
215 |
* Checks for a custom field CMB2_Type_Base class to use for rendering.
|
216 |
+
*
|
217 |
* @since 2.2.4
|
218 |
+
*
|
219 |
+
* @param string $fieldtype Non-existent field type name.
|
220 |
* @param array $args Optional field arguments.
|
221 |
+
*
|
222 |
+
* @return bool|CMB2_Type_Base Type object if custom field is an object, false if field was added with
|
223 |
+
* `cmb2_render_{$field_type}` action.
|
224 |
+
* @throws Exception if custom field type class does not extend CMB2_Type_Base.
|
225 |
*/
|
226 |
public function maybe_custom_field_object( $fieldtype, $args = array() ) {
|
227 |
if ( $render_class_name = $this->get_render_type_class( $fieldtype ) ) {
|
|
|
228 |
$this->type = new $render_class_name( $this, $args );
|
229 |
|
230 |
if ( ! ( $this->type instanceof CMB2_Type_Base ) ) {
|
231 |
throw new Exception( __( 'Custom CMB2 field type classes must extend CMB2_Type_Base.', 'cmb2' ) );
|
232 |
}
|
233 |
+
|
234 |
+
return $this->type;
|
235 |
}
|
236 |
|
237 |
+
return false;
|
238 |
}
|
239 |
|
240 |
/**
|
241 |
* Gets the render type CMB2_Type_Base object to use for rendering the field.
|
242 |
+
*
|
243 |
* @since 2.2.4
|
244 |
+
* @param string $fieldtype The type of field being rendered.
|
245 |
+
* @param string $render_class_name The default field type class to use. Defaults to null.
|
246 |
+
* @param array $args Optional arguments to pass to type class.
|
247 |
+
* @param mixed $additional Optional additional argument to pass to type class.
|
248 |
* @return CMB2_Type_Base Type object.
|
249 |
*/
|
250 |
public function get_new_render_type( $fieldtype, $render_class_name = null, $args = array(), $additional = '' ) {
|
256 |
|
257 |
/**
|
258 |
* Checks for the render type class to use for rendering the field.
|
259 |
+
*
|
260 |
* @since 2.2.4
|
261 |
* @param string $fieldtype The type of field being rendered.
|
262 |
* @param string $render_class_name The default field type class to use. Defaults to null.
|
285 |
|
286 |
/**
|
287 |
* Retrieve text parameter from field's options array (if it has one), or use fallback text
|
288 |
+
*
|
289 |
* @since 2.0.0
|
290 |
+
* @param string $text_key Key in field's options array
|
291 |
+
* @param string $fallback Fallback text
|
292 |
* @return string Text
|
293 |
*/
|
294 |
public function _text( $text_key, $fallback = '' ) {
|
297 |
|
298 |
/**
|
299 |
* Determine a file's extension
|
300 |
+
*
|
301 |
* @since 1.0.0
|
302 |
+
* @param string $file File url
|
303 |
* @return string|false File extension or false
|
304 |
*/
|
305 |
public function get_file_ext( $file ) {
|
308 |
|
309 |
/**
|
310 |
* Get the file name from a url
|
311 |
+
*
|
312 |
* @since 2.0.0
|
313 |
* @param string $value File url or path
|
314 |
* @return string File name
|
319 |
|
320 |
/**
|
321 |
* Combines attributes into a string for a form element
|
322 |
+
*
|
323 |
* @since 1.1.0
|
324 |
+
* @param array $attrs Attributes to concatenate
|
325 |
+
* @param array $attr_exclude Attributes that should NOT be concatenated
|
326 |
* @return string String of attributes for form element
|
327 |
*/
|
328 |
public function concat_attrs( $attrs, $attr_exclude = array() ) {
|
331 |
|
332 |
/**
|
333 |
* Generates repeatable field table markup
|
334 |
+
*
|
335 |
* @since 1.0.0
|
336 |
*/
|
337 |
public function render_repeatable_field() {
|
346 |
</div>
|
347 |
</div>
|
348 |
<p class="cmb-add-row">
|
349 |
+
<button type="button" data-selector="<?php echo $table_id; ?>" class="cmb-add-row-button button-secondary"><?php echo esc_html( $this->_text( 'add_row_text', esc_html__( 'Add Row', 'cmb2' ) ) ); ?></button>
|
350 |
</p>
|
351 |
|
352 |
<?php
|
356 |
|
357 |
/**
|
358 |
* Generates repeatable field rows
|
359 |
+
*
|
360 |
* @since 1.1.0
|
361 |
*/
|
362 |
public function repeatable_rows() {
|
377 |
$count = count( $meta_value );
|
378 |
foreach ( (array) $meta_value as $val ) {
|
379 |
$this->field->escaped_value = $val;
|
380 |
+
$this->repeat_row();
|
381 |
$this->iterator++;
|
382 |
}
|
383 |
} else {
|
386 |
$this->field->escaped_value = $this->field->value = null;
|
387 |
|
388 |
// Otherwise add one row
|
389 |
+
$this->repeat_row();
|
390 |
}
|
391 |
|
392 |
// Then add an empty row
|
393 |
$this->field->escaped_value = '';
|
394 |
$this->iterator = $this->iterator ? $this->iterator : 1;
|
395 |
+
$this->repeat_row( 'empty-row hidden' );
|
396 |
}
|
397 |
|
398 |
/**
|
399 |
* Generates a repeatable row's markup
|
400 |
+
*
|
401 |
* @since 1.1.0
|
|
|
402 |
* @param string $class Repeatable table row's class
|
403 |
*/
|
404 |
+
protected function repeat_row( $class = 'cmb-repeat-row' ) {
|
|
|
405 |
?>
|
406 |
|
407 |
<div class="cmb-row <?php echo $class; ?>">
|
409 |
<?php $this->_render(); ?>
|
410 |
</div>
|
411 |
<div class="cmb-td cmb-remove-row">
|
412 |
+
<button type="button" class="button-secondary cmb-remove-row-button" title="<?php echo esc_attr( $this->_text( 'remove_row_button_title', esc_html__( 'Remove Row', 'cmb2' ) ) ); ?>"><?php echo esc_html( $this->_text( 'remove_row_text', esc_html__( 'Remove', 'cmb2' ) ) ); ?></button>
|
413 |
</div>
|
414 |
</div>
|
415 |
|
418 |
|
419 |
/**
|
420 |
* Generates description markup
|
421 |
+
*
|
422 |
* @since 1.0.0
|
423 |
* @param boolean $paragraph Paragraph tag or span
|
424 |
* @param boolean $echo Whether to echo description or only return it
|
448 |
|
449 |
/**
|
450 |
* Generate field name attribute
|
451 |
+
*
|
452 |
* @since 1.1.0
|
453 |
+
* @param string $suffix For multi-part fields
|
454 |
* @return string Name attribute
|
455 |
*/
|
456 |
public function _name( $suffix = '' ) {
|
459 |
|
460 |
/**
|
461 |
* Generate field id attribute
|
462 |
+
*
|
463 |
* @since 1.1.0
|
464 |
+
* @param string $suffix For multi-part fields
|
465 |
* @return string Id attribute
|
466 |
*/
|
467 |
public function _id( $suffix = '' ) {
|
470 |
|
471 |
/**
|
472 |
* Handles outputting an 'input' element
|
473 |
+
*
|
474 |
* @since 1.1.0
|
475 |
* @param array $args Override arguments
|
476 |
* @param string $type Field type
|
482 |
|
483 |
/**
|
484 |
* Handles outputting an 'textarea' element
|
485 |
+
*
|
486 |
* @since 1.1.0
|
487 |
+
* @param array $args Override arguments
|
488 |
* @return string Form textarea element
|
489 |
*/
|
490 |
public function textarea( $args = array() ) {
|
632 |
return $this->get_new_render_type( __FUNCTION__, 'CMB2_Type_Taxonomy_Radio', $args )->render();
|
633 |
}
|
634 |
|
635 |
+
public function taxonomy_radio_hierarchical( $args = array() ) {
|
636 |
+
return $this->get_new_render_type( __FUNCTION__, 'CMB2_Type_Taxonomy_Radio_Hierarchical', $args )->render();
|
637 |
+
}
|
638 |
+
|
639 |
public function taxonomy_radio_inline( $args = array() ) {
|
640 |
return $this->taxonomy_radio( $args );
|
641 |
}
|
644 |
return $this->get_new_render_type( __FUNCTION__, 'CMB2_Type_Taxonomy_Multicheck', $args )->render();
|
645 |
}
|
646 |
|
647 |
+
public function taxonomy_multicheck_hierarchical( $args = array() ) {
|
648 |
+
return $this->get_new_render_type( __FUNCTION__, 'CMB2_Type_Taxonomy_Multicheck_Hierarchical', $args )->render();
|
649 |
+
}
|
650 |
+
|
651 |
public function taxonomy_multicheck_inline( $args = array() ) {
|
652 |
return $this->taxonomy_multicheck( $args );
|
653 |
}
|
vendor/CMB2/includes/CMB2_Utils.php
CHANGED
@@ -6,14 +6,15 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Utils {
|
14 |
|
15 |
/**
|
16 |
* The WordPress ABSPATH constant.
|
|
|
17 |
* @var string
|
18 |
* @since 2.2.3
|
19 |
*/
|
@@ -21,6 +22,7 @@ class CMB2_Utils {
|
|
21 |
|
22 |
/**
|
23 |
* The url which is used to load local resources.
|
|
|
24 |
* @var string
|
25 |
* @since 2.0.0
|
26 |
*/
|
@@ -28,8 +30,9 @@ class CMB2_Utils {
|
|
28 |
|
29 |
/**
|
30 |
* Utility method that attempts to get an attachment's ID by it's url
|
|
|
31 |
* @since 1.0.0
|
32 |
-
* @param string
|
33 |
* @return int|false Attachment ID or false
|
34 |
*/
|
35 |
public static function image_id_from_url( $img_url ) {
|
@@ -53,7 +56,7 @@ class CMB2_Utils {
|
|
53 |
'compare' => 'LIKE',
|
54 |
'key' => '_wp_attachment_metadata',
|
55 |
),
|
56 |
-
)
|
57 |
);
|
58 |
|
59 |
$query = new WP_Query( $query_args );
|
@@ -69,7 +72,6 @@ class CMB2_Utils {
|
|
69 |
break;
|
70 |
}
|
71 |
}
|
72 |
-
|
73 |
}
|
74 |
|
75 |
return 0 === $attachment_id ? false : $attachment_id;
|
@@ -77,6 +79,7 @@ class CMB2_Utils {
|
|
77 |
|
78 |
/**
|
79 |
* Utility method to get a combined list of default and custom registered image sizes
|
|
|
80 |
* @since 2.2.4
|
81 |
* @link http://core.trac.wordpress.org/ticket/18947
|
82 |
* @global array $_wp_additional_image_sizes
|
@@ -162,20 +165,18 @@ class CMB2_Utils {
|
|
162 |
|
163 |
$data = array_shift( $candidates );
|
164 |
$data = $data[0];
|
165 |
-
}
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
elseif ( ! empty( $image_sizes['thumbnail'] ) && $image_sizes['thumbnail']['width'] >= $size[0] && $image_sizes['thumbnail']['width'] >= $size[1] ) {
|
171 |
$data = 'thumbnail';
|
172 |
} else {
|
173 |
return false;
|
174 |
}
|
175 |
-
|
176 |
} elseif ( ! empty( $image_sizes[ $size ] ) ) {
|
177 |
$data = $size;
|
178 |
-
}
|
179 |
|
180 |
// If we still don't have a match at this point, return false.
|
181 |
if ( empty( $data ) ) {
|
@@ -187,6 +188,7 @@ class CMB2_Utils {
|
|
187 |
|
188 |
/**
|
189 |
* Utility method that returns time string offset by timezone
|
|
|
190 |
* @since 1.0.0
|
191 |
* @param string $tzstring Time string
|
192 |
* @return string Offset time string
|
@@ -206,7 +208,6 @@ class CMB2_Utils {
|
|
206 |
} catch ( Exception $e ) {
|
207 |
self::log_if_debug( __METHOD__, __LINE__, $e->getMessage() );
|
208 |
}
|
209 |
-
|
210 |
}
|
211 |
|
212 |
return $tz_offset;
|
@@ -247,6 +248,7 @@ class CMB2_Utils {
|
|
247 |
|
248 |
/**
|
249 |
* Returns a timestamp, first checking if value already is a timestamp.
|
|
|
250 |
* @since 2.0.0
|
251 |
* @param string|int $string Possible timestamp string
|
252 |
* @return int Time stamp
|
@@ -263,8 +265,9 @@ class CMB2_Utils {
|
|
263 |
|
264 |
/**
|
265 |
* Determine if a value is a valid timestamp
|
|
|
266 |
* @since 2.0.0
|
267 |
-
* @param mixed
|
268 |
* @return boolean Whether value is a valid timestamp
|
269 |
*/
|
270 |
public static function is_valid_time_stamp( $timestamp ) {
|
@@ -275,6 +278,7 @@ class CMB2_Utils {
|
|
275 |
|
276 |
/**
|
277 |
* Checks if a value is 'empty'. Still accepts 0.
|
|
|
278 |
* @since 2.0.0
|
279 |
* @param mixed $value Value to check
|
280 |
* @return bool True or false
|
@@ -285,16 +289,18 @@ class CMB2_Utils {
|
|
285 |
|
286 |
/**
|
287 |
* Checks if a value is not 'empty'. 0 doesn't count as empty.
|
|
|
288 |
* @since 2.2.2
|
289 |
* @param mixed $value Value to check
|
290 |
* @return bool True or false
|
291 |
*/
|
292 |
-
public static function notempty( $value ){
|
293 |
return null !== $value && '' !== $value && false !== $value && array() !== $value;
|
294 |
}
|
295 |
|
296 |
/**
|
297 |
* Filters out empty values (not including 0).
|
|
|
298 |
* @since 2.2.2
|
299 |
* @param mixed $value Value to check
|
300 |
* @return bool True or false
|
@@ -305,6 +311,7 @@ class CMB2_Utils {
|
|
305 |
|
306 |
/**
|
307 |
* Insert a single array item inside another array at a set position
|
|
|
308 |
* @since 2.0.2
|
309 |
* @param array &$array Array to modify. Is passed by reference, and no return is needed.
|
310 |
* @param array $new New array to insert
|
@@ -320,6 +327,7 @@ class CMB2_Utils {
|
|
320 |
* Defines the url which is used to load local resources.
|
321 |
* This may need to be filtered for local Window installations.
|
322 |
* If resources do not load, please check the wiki for details.
|
|
|
323 |
* @since 1.0.1
|
324 |
* @return string URL to CMB2 resources
|
325 |
*/
|
@@ -342,6 +350,7 @@ class CMB2_Utils {
|
|
342 |
|
343 |
/**
|
344 |
* Converts a system path to a URL
|
|
|
345 |
* @since 2.2.2
|
346 |
* @param string $dir Directory path to convert.
|
347 |
* @return string Converted URL.
|
@@ -375,8 +384,7 @@ class CMB2_Utils {
|
|
375 |
}
|
376 |
|
377 |
// Check to see if it's anywhere in the root directory
|
378 |
-
|
379 |
-
$site_dir = self::normalize_path( self::$ABSPATH );
|
380 |
$site_url = trailingslashit( is_multisite() ? network_site_url() : site_url() );
|
381 |
|
382 |
$url = str_replace(
|
@@ -388,6 +396,17 @@ class CMB2_Utils {
|
|
388 |
return set_url_scheme( $url );
|
389 |
}
|
390 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
391 |
/**
|
392 |
* `wp_normalize_path` wrapper for back-compat. Normalize a filesystem path.
|
393 |
*
|
@@ -418,6 +437,7 @@ class CMB2_Utils {
|
|
418 |
|
419 |
/**
|
420 |
* Get timestamp from text date
|
|
|
421 |
* @since 2.2.0
|
422 |
* @param string $value Date value
|
423 |
* @param string $date_format Expected date format
|
@@ -432,7 +452,7 @@ class CMB2_Utils {
|
|
432 |
* Takes a php date() format string and returns a string formatted to suit for the date/time pickers
|
433 |
* It will work with only with the following subset ot date() options:
|
434 |
*
|
435 |
-
* d, j, z, m, n, y, and Y.
|
436 |
*
|
437 |
* A slight effort is made to deal with escaped characters.
|
438 |
*
|
@@ -447,25 +467,27 @@ class CMB2_Utils {
|
|
447 |
|
448 |
// order is relevant here, since the replacement will be done sequentially.
|
449 |
$supported_options = array(
|
450 |
-
'd'
|
451 |
-
'j'
|
452 |
-
'z'
|
453 |
// 'D' => 'D', // Day name short, not sure how it'll work with translations
|
454 |
-
|
455 |
-
'
|
456 |
-
'
|
|
|
457 |
// 'M' => 'M', // Month, Short name
|
458 |
-
|
459 |
-
'
|
460 |
-
'
|
461 |
-
'
|
462 |
-
'
|
463 |
-
'
|
464 |
-
'
|
465 |
-
'
|
466 |
-
'
|
467 |
-
'
|
468 |
-
'
|
|
|
469 |
);
|
470 |
|
471 |
foreach ( $supported_options as $php => $js ) {
|
@@ -473,19 +495,29 @@ class CMB2_Utils {
|
|
473 |
$format = preg_replace( "~(?<!\\\\)$php~", $js, $format );
|
474 |
}
|
475 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
476 |
$format = preg_replace_callback( '~(?:\\\.)+~', array( __CLASS__, 'wrap_escaped_chars' ), $format );
|
477 |
|
478 |
return $format;
|
479 |
}
|
480 |
|
481 |
/**
|
482 |
-
* Helper function for CMB_Utils
|
|
|
483 |
* @since 2.2.0
|
484 |
* @param $value Value to wrap/escape
|
485 |
* @return string Modified value
|
486 |
*/
|
487 |
public static function wrap_escaped_chars( $value ) {
|
488 |
-
return
|
489 |
}
|
490 |
|
491 |
/**
|
@@ -493,10 +525,10 @@ class CMB2_Utils {
|
|
493 |
*
|
494 |
* @since 2.2.0
|
495 |
*
|
496 |
-
* @param string
|
497 |
-
* @param int
|
498 |
-
* @param mixed
|
499 |
-
* @param mixed
|
500 |
*/
|
501 |
public static function log_if_debug( $function, $line, $msg, $debug = null ) {
|
502 |
if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
|
@@ -506,8 +538,9 @@ class CMB2_Utils {
|
|
506 |
|
507 |
/**
|
508 |
* Determine a file's extension
|
|
|
509 |
* @since 1.0.0
|
510 |
-
* @param string
|
511 |
* @return string|false File extension or false
|
512 |
*/
|
513 |
public static function get_file_ext( $file ) {
|
@@ -517,6 +550,7 @@ class CMB2_Utils {
|
|
517 |
|
518 |
/**
|
519 |
* Get the file name from a url
|
|
|
520 |
* @since 2.0.0
|
521 |
* @param string $value File url or path
|
522 |
* @return string File name
|
@@ -528,8 +562,9 @@ class CMB2_Utils {
|
|
528 |
|
529 |
/**
|
530 |
* Check if WP version is at least $version.
|
|
|
531 |
* @since 2.2.2
|
532 |
-
* @param string
|
533 |
* @return bool Result of comparison check.
|
534 |
*/
|
535 |
public static function wp_at_least( $version ) {
|
@@ -538,9 +573,10 @@ class CMB2_Utils {
|
|
538 |
|
539 |
/**
|
540 |
* Combines attributes into a string for a form element.
|
|
|
541 |
* @since 1.1.0
|
542 |
-
* @param array
|
543 |
-
* @param array
|
544 |
* @return string String of attributes for form element.
|
545 |
*/
|
546 |
public static function concat_attrs( $attrs, $attr_exclude = array() ) {
|
@@ -551,13 +587,26 @@ class CMB2_Utils {
|
|
551 |
$empty = false === $val && 'value' !== $attr;
|
552 |
if ( ! $excluded && ! $empty ) {
|
553 |
// if data attribute, use single quote wraps, else double
|
554 |
-
$quotes =
|
555 |
$attributes .= sprintf( ' %1$s=%3$s%2$s%3$s', $attr, $val, $quotes );
|
556 |
}
|
557 |
}
|
558 |
return $attributes;
|
559 |
}
|
560 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
561 |
/**
|
562 |
* Ensures value is an array.
|
563 |
*
|
@@ -585,4 +634,20 @@ class CMB2_Utils {
|
|
585 |
return (array) $value;
|
586 |
}
|
587 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
588 |
}
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Utils {
|
14 |
|
15 |
/**
|
16 |
* The WordPress ABSPATH constant.
|
17 |
+
*
|
18 |
* @var string
|
19 |
* @since 2.2.3
|
20 |
*/
|
22 |
|
23 |
/**
|
24 |
* The url which is used to load local resources.
|
25 |
+
*
|
26 |
* @var string
|
27 |
* @since 2.0.0
|
28 |
*/
|
30 |
|
31 |
/**
|
32 |
* Utility method that attempts to get an attachment's ID by it's url
|
33 |
+
*
|
34 |
* @since 1.0.0
|
35 |
+
* @param string $img_url Attachment url
|
36 |
* @return int|false Attachment ID or false
|
37 |
*/
|
38 |
public static function image_id_from_url( $img_url ) {
|
56 |
'compare' => 'LIKE',
|
57 |
'key' => '_wp_attachment_metadata',
|
58 |
),
|
59 |
+
),
|
60 |
);
|
61 |
|
62 |
$query = new WP_Query( $query_args );
|
72 |
break;
|
73 |
}
|
74 |
}
|
|
|
75 |
}
|
76 |
|
77 |
return 0 === $attachment_id ? false : $attachment_id;
|
79 |
|
80 |
/**
|
81 |
* Utility method to get a combined list of default and custom registered image sizes
|
82 |
+
*
|
83 |
* @since 2.2.4
|
84 |
* @link http://core.trac.wordpress.org/ticket/18947
|
85 |
* @global array $_wp_additional_image_sizes
|
165 |
|
166 |
$data = array_shift( $candidates );
|
167 |
$data = $data[0];
|
168 |
+
} elseif ( ! empty( $image_sizes['thumbnail'] ) && $image_sizes['thumbnail']['width'] >= $size[0] && $image_sizes['thumbnail']['width'] >= $size[1] ) {
|
169 |
+
/*
|
170 |
+
* When the size requested is smaller than the thumbnail dimensions, we
|
171 |
+
* fall back to the thumbnail size.
|
172 |
+
*/
|
|
|
173 |
$data = 'thumbnail';
|
174 |
} else {
|
175 |
return false;
|
176 |
}
|
|
|
177 |
} elseif ( ! empty( $image_sizes[ $size ] ) ) {
|
178 |
$data = $size;
|
179 |
+
}// End if().
|
180 |
|
181 |
// If we still don't have a match at this point, return false.
|
182 |
if ( empty( $data ) ) {
|
188 |
|
189 |
/**
|
190 |
* Utility method that returns time string offset by timezone
|
191 |
+
*
|
192 |
* @since 1.0.0
|
193 |
* @param string $tzstring Time string
|
194 |
* @return string Offset time string
|
208 |
} catch ( Exception $e ) {
|
209 |
self::log_if_debug( __METHOD__, __LINE__, $e->getMessage() );
|
210 |
}
|
|
|
211 |
}
|
212 |
|
213 |
return $tz_offset;
|
248 |
|
249 |
/**
|
250 |
* Returns a timestamp, first checking if value already is a timestamp.
|
251 |
+
*
|
252 |
* @since 2.0.0
|
253 |
* @param string|int $string Possible timestamp string
|
254 |
* @return int Time stamp
|
265 |
|
266 |
/**
|
267 |
* Determine if a value is a valid timestamp
|
268 |
+
*
|
269 |
* @since 2.0.0
|
270 |
+
* @param mixed $timestamp Value to check
|
271 |
* @return boolean Whether value is a valid timestamp
|
272 |
*/
|
273 |
public static function is_valid_time_stamp( $timestamp ) {
|
278 |
|
279 |
/**
|
280 |
* Checks if a value is 'empty'. Still accepts 0.
|
281 |
+
*
|
282 |
* @since 2.0.0
|
283 |
* @param mixed $value Value to check
|
284 |
* @return bool True or false
|
289 |
|
290 |
/**
|
291 |
* Checks if a value is not 'empty'. 0 doesn't count as empty.
|
292 |
+
*
|
293 |
* @since 2.2.2
|
294 |
* @param mixed $value Value to check
|
295 |
* @return bool True or false
|
296 |
*/
|
297 |
+
public static function notempty( $value ) {
|
298 |
return null !== $value && '' !== $value && false !== $value && array() !== $value;
|
299 |
}
|
300 |
|
301 |
/**
|
302 |
* Filters out empty values (not including 0).
|
303 |
+
*
|
304 |
* @since 2.2.2
|
305 |
* @param mixed $value Value to check
|
306 |
* @return bool True or false
|
311 |
|
312 |
/**
|
313 |
* Insert a single array item inside another array at a set position
|
314 |
+
*
|
315 |
* @since 2.0.2
|
316 |
* @param array &$array Array to modify. Is passed by reference, and no return is needed.
|
317 |
* @param array $new New array to insert
|
327 |
* Defines the url which is used to load local resources.
|
328 |
* This may need to be filtered for local Window installations.
|
329 |
* If resources do not load, please check the wiki for details.
|
330 |
+
*
|
331 |
* @since 1.0.1
|
332 |
* @return string URL to CMB2 resources
|
333 |
*/
|
350 |
|
351 |
/**
|
352 |
* Converts a system path to a URL
|
353 |
+
*
|
354 |
* @since 2.2.2
|
355 |
* @param string $dir Directory path to convert.
|
356 |
* @return string Converted URL.
|
384 |
}
|
385 |
|
386 |
// Check to see if it's anywhere in the root directory
|
387 |
+
$site_dir = self::get_normalized_abspath();
|
|
|
388 |
$site_url = trailingslashit( is_multisite() ? network_site_url() : site_url() );
|
389 |
|
390 |
$url = str_replace(
|
396 |
return set_url_scheme( $url );
|
397 |
}
|
398 |
|
399 |
+
/**
|
400 |
+
* Get the normalized absolute path defined by WordPress.
|
401 |
+
*
|
402 |
+
* @since 2.2.6
|
403 |
+
*
|
404 |
+
* @return string Normalized absolute path.
|
405 |
+
*/
|
406 |
+
protected static function get_normalized_abspath() {
|
407 |
+
return self::normalize_path( self::$ABSPATH );
|
408 |
+
}
|
409 |
+
|
410 |
/**
|
411 |
* `wp_normalize_path` wrapper for back-compat. Normalize a filesystem path.
|
412 |
*
|
437 |
|
438 |
/**
|
439 |
* Get timestamp from text date
|
440 |
+
*
|
441 |
* @since 2.2.0
|
442 |
* @param string $value Date value
|
443 |
* @param string $date_format Expected date format
|
452 |
* Takes a php date() format string and returns a string formatted to suit for the date/time pickers
|
453 |
* It will work with only with the following subset ot date() options:
|
454 |
*
|
455 |
+
* d, l, j, z, m, F, n, y, and Y.
|
456 |
*
|
457 |
* A slight effort is made to deal with escaped characters.
|
458 |
*
|
467 |
|
468 |
// order is relevant here, since the replacement will be done sequentially.
|
469 |
$supported_options = array(
|
470 |
+
'd' => 'dd', // Day, leading 0
|
471 |
+
'j' => 'd', // Day, no 0
|
472 |
+
'z' => 'o', // Day of the year, no leading zeroes,
|
473 |
// 'D' => 'D', // Day name short, not sure how it'll work with translations
|
474 |
+
'l ' => 'DD ', // Day name full, idem before
|
475 |
+
'l, ' => 'DD, ', // Day name full, idem before
|
476 |
+
'm' => 'mm', // Month of the year, leading 0
|
477 |
+
'n' => 'm', // Month of the year, no leading 0
|
478 |
// 'M' => 'M', // Month, Short name
|
479 |
+
'F ' => 'MM ', // Month, full name,
|
480 |
+
'F, ' => 'MM, ', // Month, full name,
|
481 |
+
'y' => 'y', // Year, two digit
|
482 |
+
'Y' => 'yy', // Year, full
|
483 |
+
'H' => 'HH', // Hour with leading 0 (24 hour)
|
484 |
+
'G' => 'H', // Hour with no leading 0 (24 hour)
|
485 |
+
'h' => 'hh', // Hour with leading 0 (12 hour)
|
486 |
+
'g' => 'h', // Hour with no leading 0 (12 hour),
|
487 |
+
'i' => 'mm', // Minute with leading 0,
|
488 |
+
's' => 'ss', // Second with leading 0,
|
489 |
+
'a' => 'tt', // am/pm
|
490 |
+
'A' => 'TT',// AM/PM
|
491 |
);
|
492 |
|
493 |
foreach ( $supported_options as $php => $js ) {
|
495 |
$format = preg_replace( "~(?<!\\\\)$php~", $js, $format );
|
496 |
}
|
497 |
|
498 |
+
$supported_options = array(
|
499 |
+
'l' => 'DD', // Day name full, idem before
|
500 |
+
'F' => 'MM', // Month, full name,
|
501 |
+
);
|
502 |
+
|
503 |
+
if ( isset( $supported_options[ $format ] ) ) {
|
504 |
+
$format = $supported_options[ $format ];
|
505 |
+
}
|
506 |
+
|
507 |
$format = preg_replace_callback( '~(?:\\\.)+~', array( __CLASS__, 'wrap_escaped_chars' ), $format );
|
508 |
|
509 |
return $format;
|
510 |
}
|
511 |
|
512 |
/**
|
513 |
+
* Helper function for CMB_Utils::php_to_js_dateformat().
|
514 |
+
*
|
515 |
* @since 2.2.0
|
516 |
* @param $value Value to wrap/escape
|
517 |
* @return string Modified value
|
518 |
*/
|
519 |
public static function wrap_escaped_chars( $value ) {
|
520 |
+
return ''' . str_replace( '\\', '', $value[0] ) . ''';
|
521 |
}
|
522 |
|
523 |
/**
|
525 |
*
|
526 |
* @since 2.2.0
|
527 |
*
|
528 |
+
* @param string $function Function name
|
529 |
+
* @param int $line Line number
|
530 |
+
* @param mixed $msg Message to output
|
531 |
+
* @param mixed $debug Variable to print_r
|
532 |
*/
|
533 |
public static function log_if_debug( $function, $line, $msg, $debug = null ) {
|
534 |
if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
|
538 |
|
539 |
/**
|
540 |
* Determine a file's extension
|
541 |
+
*
|
542 |
* @since 1.0.0
|
543 |
+
* @param string $file File url
|
544 |
* @return string|false File extension or false
|
545 |
*/
|
546 |
public static function get_file_ext( $file ) {
|
550 |
|
551 |
/**
|
552 |
* Get the file name from a url
|
553 |
+
*
|
554 |
* @since 2.0.0
|
555 |
* @param string $value File url or path
|
556 |
* @return string File name
|
562 |
|
563 |
/**
|
564 |
* Check if WP version is at least $version.
|
565 |
+
*
|
566 |
* @since 2.2.2
|
567 |
+
* @param string $version WP version string to compare.
|
568 |
* @return bool Result of comparison check.
|
569 |
*/
|
570 |
public static function wp_at_least( $version ) {
|
573 |
|
574 |
/**
|
575 |
* Combines attributes into a string for a form element.
|
576 |
+
*
|
577 |
* @since 1.1.0
|
578 |
+
* @param array $attrs Attributes to concatenate.
|
579 |
+
* @param array $attr_exclude Attributes that should NOT be concatenated.
|
580 |
* @return string String of attributes for form element.
|
581 |
*/
|
582 |
public static function concat_attrs( $attrs, $attr_exclude = array() ) {
|
587 |
$empty = false === $val && 'value' !== $attr;
|
588 |
if ( ! $excluded && ! $empty ) {
|
589 |
// if data attribute, use single quote wraps, else double
|
590 |
+
$quotes = self::is_data_attribute( $attr, 'data-' ) ? "'" : '"';
|
591 |
$attributes .= sprintf( ' %1$s=%3$s%2$s%3$s', $attr, $val, $quotes );
|
592 |
}
|
593 |
}
|
594 |
return $attributes;
|
595 |
}
|
596 |
|
597 |
+
/**
|
598 |
+
* Check if given attribute is a data attribute.
|
599 |
+
*
|
600 |
+
* @since 2.2.5
|
601 |
+
*
|
602 |
+
* @param string $att HTML attribute
|
603 |
+
*
|
604 |
+
* @return boolean
|
605 |
+
*/
|
606 |
+
public static function is_data_attribute( $att ) {
|
607 |
+
return 0 === stripos( $att, 'data-' );
|
608 |
+
}
|
609 |
+
|
610 |
/**
|
611 |
* Ensures value is an array.
|
612 |
*
|
634 |
return (array) $value;
|
635 |
}
|
636 |
|
637 |
+
/**
|
638 |
+
* If number is numeric, normalize it with floatval or intval, depending on if decimal is found.
|
639 |
+
*
|
640 |
+
* @since 2.2.6
|
641 |
+
*
|
642 |
+
* @param mixed $value Value to normalize (if numeric).
|
643 |
+
*
|
644 |
+
* @return mixed Possibly normalized value.
|
645 |
+
*/
|
646 |
+
public static function normalize_if_numeric( $value ) {
|
647 |
+
if ( is_numeric( $value ) ) {
|
648 |
+
$value = false !== strpos( $value, '.' ) ? floatval( $value ) : intval( $value );
|
649 |
+
}
|
650 |
+
|
651 |
+
return $value;
|
652 |
+
}
|
653 |
}
|
vendor/CMB2/includes/CMB2_hookup.php
CHANGED
@@ -7,14 +7,15 @@
|
|
7 |
*
|
8 |
* @category WordPress_Plugin
|
9 |
* @package CMB2
|
10 |
-
* @author
|
11 |
* @license GPL-2.0+
|
12 |
-
* @link
|
13 |
*/
|
14 |
class CMB2_hookup extends CMB2_Hookup_Base {
|
15 |
|
16 |
/**
|
17 |
* Only allow JS registration once
|
|
|
18 |
* @var bool
|
19 |
* @since 2.0.7
|
20 |
*/
|
@@ -22,6 +23,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
22 |
|
23 |
/**
|
24 |
* Only allow CSS registration once
|
|
|
25 |
* @var bool
|
26 |
* @since 2.0.7
|
27 |
*/
|
@@ -29,6 +31,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
29 |
|
30 |
/**
|
31 |
* CMB taxonomies array for term meta
|
|
|
32 |
* @var array
|
33 |
* @since 2.2.0
|
34 |
*/
|
@@ -36,19 +39,39 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
36 |
|
37 |
/**
|
38 |
* Custom field columns.
|
|
|
39 |
* @var array
|
40 |
* @since 2.2.2
|
41 |
*/
|
42 |
protected $columns = array();
|
43 |
|
44 |
/**
|
45 |
-
*
|
46 |
-
*
|
47 |
-
* @
|
|
|
48 |
*/
|
49 |
-
|
50 |
-
|
51 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
}
|
53 |
|
54 |
public function universal_hooks() {
|
@@ -72,8 +95,12 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
72 |
return $this->user_hooks();
|
73 |
case 'term':
|
74 |
return $this->term_hooks();
|
|
|
|
|
75 |
}
|
76 |
}
|
|
|
|
|
77 |
}
|
78 |
|
79 |
public function post_hooks() {
|
@@ -109,11 +136,13 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
109 |
add_action( 'save_post', array( $this, 'save_post' ), 10, 2 );
|
110 |
|
111 |
if ( $this->cmb->has_columns ) {
|
112 |
-
foreach ( $this->cmb->
|
113 |
add_filter( "manage_{$post_type}_posts_columns", array( $this, 'register_column_headers' ) );
|
114 |
add_action( "manage_{$post_type}_posts_custom_column", array( $this, 'column_display' ), 10, 2 );
|
115 |
}
|
116 |
}
|
|
|
|
|
117 |
}
|
118 |
|
119 |
public function comment_hooks() {
|
@@ -122,8 +151,10 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
122 |
|
123 |
if ( $this->cmb->has_columns ) {
|
124 |
add_filter( 'manage_edit-comments_columns', array( $this, 'register_column_headers' ) );
|
125 |
-
add_action( 'manage_comments_custom_column', array( $this, 'column_display'
|
126 |
}
|
|
|
|
|
127 |
}
|
128 |
|
129 |
public function user_hooks() {
|
@@ -139,8 +170,10 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
139 |
|
140 |
if ( $this->cmb->has_columns ) {
|
141 |
add_filter( 'manage_users_columns', array( $this, 'register_column_headers' ) );
|
142 |
-
add_filter( 'manage_users_custom_column', array( $this, 'return_column_display'
|
143 |
}
|
|
|
|
|
144 |
}
|
145 |
|
146 |
public function term_hooks() {
|
@@ -164,6 +197,14 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
164 |
? in_array( $taxonomy, $show_on_term_add )
|
165 |
: (bool) $show_on_term_add;
|
166 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
167 |
$show_on_add = apply_filters( "cmb2_show_on_term_add_form_{$this->cmb->cmb_id}", $show_on_add, $this->cmb );
|
168 |
|
169 |
// Display form in add-new section (unless specified not to)
|
@@ -173,7 +214,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
173 |
|
174 |
if ( $this->cmb->has_columns ) {
|
175 |
add_filter( "manage_edit-{$taxonomy}_columns", array( $this, 'register_column_headers' ) );
|
176 |
-
add_filter( "manage_{$taxonomy}_custom_column", array( $this, 'return_column_display'
|
177 |
}
|
178 |
}
|
179 |
|
@@ -181,10 +222,25 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
181 |
add_action( 'edited_terms', array( $this, 'save_term' ), 10, 2 );
|
182 |
add_action( 'delete_term', array( $this, 'delete_term' ), 10, 3 );
|
183 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
}
|
185 |
|
186 |
/**
|
187 |
* Registers styles for CMB2
|
|
|
188 |
* @since 2.0.7
|
189 |
*/
|
190 |
protected static function register_styles() {
|
@@ -197,7 +253,11 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
197 |
$front = is_admin() ? '' : '-front';
|
198 |
$rtl = is_rtl() ? '-rtl' : '';
|
199 |
|
200 |
-
|
|
|
|
|
|
|
|
|
201 |
$dependencies = apply_filters( 'cmb2_style_dependencies', array() );
|
202 |
wp_register_style( 'cmb2-styles', CMB2_Utils::url( "css/cmb2{$front}{$rtl}{$min}.css" ), $dependencies );
|
203 |
wp_register_style( 'cmb2-display-styles', CMB2_Utils::url( "css/cmb2-display{$rtl}{$min}.css" ), $dependencies );
|
@@ -207,6 +267,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
207 |
|
208 |
/**
|
209 |
* Registers scripts for CMB2
|
|
|
210 |
* @since 2.0.7
|
211 |
*/
|
212 |
protected static function register_js() {
|
@@ -222,6 +283,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
222 |
|
223 |
/**
|
224 |
* Registers scripts and styles for CMB2
|
|
|
225 |
* @since 1.0.0
|
226 |
*/
|
227 |
public static function register_scripts() {
|
@@ -231,6 +293,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
231 |
|
232 |
/**
|
233 |
* Enqueues scripts and styles for CMB2 in admin_head.
|
|
|
234 |
* @since 1.0.0
|
235 |
*/
|
236 |
public function do_scripts( $hook ) {
|
@@ -260,6 +323,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
260 |
|
261 |
/**
|
262 |
* Register the CMB2 field column headers.
|
|
|
263 |
* @since 2.2.2
|
264 |
*/
|
265 |
public function register_column_headers( $columns ) {
|
@@ -292,23 +356,25 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
292 |
|
293 |
/**
|
294 |
* The CMB2 field column display output.
|
|
|
295 |
* @since 2.2.2
|
296 |
*/
|
297 |
public function column_display( $column_name, $object_id ) {
|
298 |
if ( isset( $this->columns[ $column_name ] ) ) {
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
|
306 |
-
|
307 |
}
|
308 |
}
|
309 |
|
310 |
/**
|
311 |
* Returns the column display.
|
|
|
312 |
* @since 2.2.2
|
313 |
*/
|
314 |
public function return_column_display( $empty, $custom_column, $object_id ) {
|
@@ -321,6 +387,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
321 |
|
322 |
/**
|
323 |
* Output the CMB2 box/fields in an alternate context (not in a standard metabox area).
|
|
|
324 |
* @since 2.2.4
|
325 |
*/
|
326 |
public function add_context_metaboxes() {
|
@@ -331,7 +398,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
331 |
|
332 |
$page = get_current_screen()->id;
|
333 |
|
334 |
-
foreach ( $this->cmb->
|
335 |
$screen = convert_to_screen( $object_type );
|
336 |
|
337 |
// If we're on the right post-type/object...
|
@@ -345,6 +412,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
345 |
|
346 |
/**
|
347 |
* Output the CMB2 box/fields in an alternate context (not in a standard metabox area).
|
|
|
348 |
* @since 2.2.4
|
349 |
*/
|
350 |
public function output_context_metabox() {
|
@@ -361,7 +429,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
361 |
$add_handle = $add_wrap && ! empty( $title );
|
362 |
|
363 |
// Open the context-box wrap.
|
364 |
-
$
|
365 |
|
366 |
// Show the form fields.
|
367 |
$this->cmb->show_form();
|
@@ -372,6 +440,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
372 |
|
373 |
/**
|
374 |
* Output the opening markup for a context box.
|
|
|
375 |
* @since 2.2.4
|
376 |
* @param $add_handle Whether to add the metabox handle and opening div for .inside
|
377 |
*/
|
@@ -397,6 +466,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
397 |
|
398 |
/**
|
399 |
* Output the closing markup for a context box.
|
|
|
400 |
* @since 2.2.4
|
401 |
* @param $add_inside_close Whether to add closing div for .inside.
|
402 |
*/
|
@@ -412,6 +482,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
412 |
|
413 |
/**
|
414 |
* Add metaboxes (to 'post' or 'comment' object types)
|
|
|
415 |
* @since 1.0.0
|
416 |
*/
|
417 |
public function add_metaboxes() {
|
@@ -436,7 +507,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
436 |
$page = get_current_screen()->id;
|
437 |
add_filter( "postbox_classes_{$page}_{$this->cmb->cmb_id}", array( $this, 'postbox_classes' ) );
|
438 |
|
439 |
-
foreach ( $this->cmb->
|
440 |
if ( count( $this->cmb->tax_metaboxes_to_remove ) ) {
|
441 |
$this->remove_default_tax_metaboxes( $object_type );
|
442 |
}
|
@@ -447,6 +518,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
447 |
|
448 |
/**
|
449 |
* Remove the specified default taxonomy metaboxes for a post-type.
|
|
|
450 |
* @since 2.2.3
|
451 |
* @param string $post_type Post type to remove the metabox for.
|
452 |
*/
|
@@ -463,8 +535,9 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
463 |
|
464 |
/**
|
465 |
* Modify metabox postbox classes.
|
|
|
466 |
* @since 2.2.4
|
467 |
-
* @param array
|
468 |
* @return array Modified array of classes
|
469 |
*/
|
470 |
public function postbox_classes( $classes ) {
|
@@ -483,8 +556,9 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
483 |
|
484 |
/**
|
485 |
* Modify metabox altnernate context postbox classes.
|
|
|
486 |
* @since 2.2.4
|
487 |
-
* @param array
|
488 |
* @return array Modified array of classes
|
489 |
*/
|
490 |
protected function alternate_context_postbox_classes( $classes ) {
|
@@ -508,6 +582,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
508 |
|
509 |
/**
|
510 |
* Display metaboxes for a post or comment object
|
|
|
511 |
* @since 1.0.0
|
512 |
*/
|
513 |
public function metabox_callback() {
|
@@ -517,6 +592,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
517 |
|
518 |
/**
|
519 |
* Display metaboxes for new user page
|
|
|
520 |
* @since 1.0.0
|
521 |
*/
|
522 |
public function user_new_metabox( $section ) {
|
@@ -528,7 +604,8 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
528 |
}
|
529 |
|
530 |
/**
|
531 |
-
* Display metaboxes for a user object
|
|
|
532 |
* @since 1.0.0
|
533 |
*/
|
534 |
public function user_metabox() {
|
@@ -536,7 +613,8 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
536 |
}
|
537 |
|
538 |
/**
|
539 |
-
* Display metaboxes for a taxonomy term object
|
|
|
540 |
* @since 2.2.0
|
541 |
*/
|
542 |
public function term_metabox() {
|
@@ -544,13 +622,14 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
544 |
}
|
545 |
|
546 |
/**
|
547 |
-
* Display metaboxes for an object type
|
|
|
548 |
* @since 2.2.0
|
549 |
* @param string $type Object type
|
550 |
* @return void
|
551 |
*/
|
552 |
public function show_form_for_type( $type ) {
|
553 |
-
if ( $type != $this->
|
554 |
return;
|
555 |
}
|
556 |
|
@@ -570,6 +649,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
570 |
|
571 |
/**
|
572 |
* Determines if metabox should be shown in current context
|
|
|
573 |
* @since 2.0.0
|
574 |
* @return bool Whether metabox should be added/shown
|
575 |
*/
|
@@ -591,6 +671,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
591 |
|
592 |
/**
|
593 |
* Get the CMB priority property set to numeric hook priority.
|
|
|
594 |
* @since 2.2.0
|
595 |
* @param integer $default Default display hook priority.
|
596 |
* @return integer Hook priority.
|
@@ -620,10 +701,11 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
620 |
|
621 |
/**
|
622 |
* Save data from post metabox
|
|
|
623 |
* @since 1.0.0
|
624 |
-
* @param int
|
625 |
-
* @param mixed
|
626 |
-
* @return
|
627 |
*/
|
628 |
public function save_post( $post_id, $post = false ) {
|
629 |
|
@@ -647,9 +729,10 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
647 |
|
648 |
/**
|
649 |
* Save data from comment metabox
|
|
|
650 |
* @since 2.0.9
|
651 |
-
* @param int
|
652 |
-
* @return
|
653 |
*/
|
654 |
public function save_comment( $comment_id ) {
|
655 |
|
@@ -662,9 +745,10 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
662 |
|
663 |
/**
|
664 |
* Save data from user fields
|
|
|
665 |
* @since 1.0.x
|
666 |
-
* @param int
|
667 |
-
* @return
|
668 |
*/
|
669 |
public function save_user( $user_id ) {
|
670 |
// check permissions
|
@@ -675,11 +759,12 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
675 |
|
676 |
/**
|
677 |
* Save data from term fields
|
|
|
678 |
* @since 2.2.0
|
679 |
* @param int $term_id Term ID
|
680 |
* @param int $tt_id Term Taxonomy ID
|
681 |
* @param string $taxonomy Taxonomy
|
682 |
-
* @return
|
683 |
*/
|
684 |
public function save_term( $term_id, $tt_id, $taxonomy = '' ) {
|
685 |
$taxonomy = $taxonomy ? $taxonomy : $tt_id;
|
@@ -692,11 +777,12 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
692 |
|
693 |
/**
|
694 |
* Delete term meta when a term is deleted.
|
|
|
695 |
* @since 2.2.0
|
696 |
* @param int $term_id Term ID
|
697 |
* @param int $tt_id Term Taxonomy ID
|
698 |
* @param string $taxonomy Taxonomy
|
699 |
-
* @return
|
700 |
*/
|
701 |
public function delete_term( $term_id, $tt_id, $taxonomy = '' ) {
|
702 |
if ( $this->taxonomy_can_save( $taxonomy ) ) {
|
@@ -712,12 +798,14 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
712 |
|
713 |
/**
|
714 |
* Determines if the current object is able to be saved
|
|
|
715 |
* @since 2.0.9
|
716 |
-
* @param string
|
717 |
-
* @return bool
|
718 |
*/
|
719 |
public function can_save( $type = '' ) {
|
720 |
-
|
|
|
721 |
$this->cmb->prop( 'save_fields' )
|
722 |
// check nonce
|
723 |
&& isset( $_POST[ $this->cmb->nonce() ] )
|
@@ -725,14 +813,23 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
725 |
// check if autosave
|
726 |
&& ! ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
|
727 |
// get the metabox types & compare it to this type
|
728 |
-
&& ( $type && in_array( $type, $this->cmb->
|
729 |
// Don't do updates during a switch-to-blog instance.
|
730 |
&& ! ( is_multisite() && ms_is_switched() )
|
731 |
-
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
732 |
}
|
733 |
|
734 |
/**
|
735 |
* Determine if taxonomy of term being modified is cmb2-editable.
|
|
|
736 |
* @since 2.2.0
|
737 |
* @param string $taxonomy Taxonomy of term being modified.
|
738 |
* @return bool Whether taxonomy is editable.
|
@@ -753,6 +850,7 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
753 |
|
754 |
/**
|
755 |
* Enqueues the 'cmb2-display-styles' if the conditions match (has columns, on the right page, etc).
|
|
|
756 |
* @since 2.2.2.1
|
757 |
*/
|
758 |
protected function maybe_enqueue_column_display_styles() {
|
@@ -769,9 +867,16 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
769 |
|
770 |
/**
|
771 |
* Includes CMB2 styles
|
|
|
772 |
* @since 2.0.0
|
773 |
*/
|
774 |
public static function enqueue_cmb_css( $handle = 'cmb2-styles' ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
775 |
if ( ! apply_filters( 'cmb2_enqueue_css', true ) ) {
|
776 |
return false;
|
777 |
}
|
@@ -787,9 +892,16 @@ class CMB2_hookup extends CMB2_Hookup_Base {
|
|
787 |
|
788 |
/**
|
789 |
* Includes CMB2 JS
|
|
|
790 |
* @since 2.0.0
|
791 |
*/
|
792 |
public static function enqueue_cmb_js() {
|
|
|
|
|
|
|
|
|
|
|
|
|
793 |
if ( ! apply_filters( 'cmb2_enqueue_js', true ) ) {
|
794 |
return false;
|
795 |
}
|
7 |
*
|
8 |
* @category WordPress_Plugin
|
9 |
* @package CMB2
|
10 |
+
* @author CMB2 team
|
11 |
* @license GPL-2.0+
|
12 |
+
* @link https://cmb2.io
|
13 |
*/
|
14 |
class CMB2_hookup extends CMB2_Hookup_Base {
|
15 |
|
16 |
/**
|
17 |
* Only allow JS registration once
|
18 |
+
*
|
19 |
* @var bool
|
20 |
* @since 2.0.7
|
21 |
*/
|
23 |
|
24 |
/**
|
25 |
* Only allow CSS registration once
|
26 |
+
*
|
27 |
* @var bool
|
28 |
* @since 2.0.7
|
29 |
*/
|
31 |
|
32 |
/**
|
33 |
* CMB taxonomies array for term meta
|
34 |
+
*
|
35 |
* @var array
|
36 |
* @since 2.2.0
|
37 |
*/
|
39 |
|
40 |
/**
|
41 |
* Custom field columns.
|
42 |
+
*
|
43 |
* @var array
|
44 |
* @since 2.2.2
|
45 |
*/
|
46 |
protected $columns = array();
|
47 |
|
48 |
/**
|
49 |
+
* Array of CMB2_Options_Hookup instances if options page metabox.
|
50 |
+
*
|
51 |
+
* @var CMB2_Options_Hookup[]|null
|
52 |
+
* @since 2.2.5
|
53 |
*/
|
54 |
+
protected $options_hookup = null;
|
55 |
+
|
56 |
+
/**
|
57 |
+
* A functionalized constructor, used for the hookup action callbacks.
|
58 |
+
*
|
59 |
+
* @since 2.2.6
|
60 |
+
*
|
61 |
+
* @param CMB2 $cmb The CMB2 object to hookup
|
62 |
+
*
|
63 |
+
* @return CMB2_Hookup_Base $hookup The hookup object.
|
64 |
+
*/
|
65 |
+
public static function maybe_init_and_hookup( CMB2 $cmb ) {
|
66 |
+
if ( $cmb->prop( 'hookup' ) ) {
|
67 |
+
|
68 |
+
$hookup = new self( $cmb );
|
69 |
+
|
70 |
+
// Hook in the hookup... how meta.
|
71 |
+
return $hookup->universal_hooks();
|
72 |
+
}
|
73 |
+
|
74 |
+
return false;
|
75 |
}
|
76 |
|
77 |
public function universal_hooks() {
|
95 |
return $this->user_hooks();
|
96 |
case 'term':
|
97 |
return $this->term_hooks();
|
98 |
+
case 'options-page':
|
99 |
+
return $this->options_page_hooks();
|
100 |
}
|
101 |
}
|
102 |
+
|
103 |
+
return $this;
|
104 |
}
|
105 |
|
106 |
public function post_hooks() {
|
136 |
add_action( 'save_post', array( $this, 'save_post' ), 10, 2 );
|
137 |
|
138 |
if ( $this->cmb->has_columns ) {
|
139 |
+
foreach ( $this->cmb->box_types() as $post_type ) {
|
140 |
add_filter( "manage_{$post_type}_posts_columns", array( $this, 'register_column_headers' ) );
|
141 |
add_action( "manage_{$post_type}_posts_custom_column", array( $this, 'column_display' ), 10, 2 );
|
142 |
}
|
143 |
}
|
144 |
+
|
145 |
+
return $this;
|
146 |
}
|
147 |
|
148 |
public function comment_hooks() {
|
151 |
|
152 |
if ( $this->cmb->has_columns ) {
|
153 |
add_filter( 'manage_edit-comments_columns', array( $this, 'register_column_headers' ) );
|
154 |
+
add_action( 'manage_comments_custom_column', array( $this, 'column_display' ), 10, 3 );
|
155 |
}
|
156 |
+
|
157 |
+
return $this;
|
158 |
}
|
159 |
|
160 |
public function user_hooks() {
|
170 |
|
171 |
if ( $this->cmb->has_columns ) {
|
172 |
add_filter( 'manage_users_columns', array( $this, 'register_column_headers' ) );
|
173 |
+
add_filter( 'manage_users_custom_column', array( $this, 'return_column_display' ), 10, 3 );
|
174 |
}
|
175 |
+
|
176 |
+
return $this;
|
177 |
}
|
178 |
|
179 |
public function term_hooks() {
|
197 |
? in_array( $taxonomy, $show_on_term_add )
|
198 |
: (bool) $show_on_term_add;
|
199 |
|
200 |
+
/**
|
201 |
+
* Filter to determine if the term's fields should show in the "Add term" section.
|
202 |
+
*
|
203 |
+
* The dynamic portion of the hook name, $cmb_id, is the metabox id.
|
204 |
+
*
|
205 |
+
* @param bool $show_on_add Default is the value of the new_term_section cmb parameter.
|
206 |
+
* @param object $cmb The CMB2 instance
|
207 |
+
*/
|
208 |
$show_on_add = apply_filters( "cmb2_show_on_term_add_form_{$this->cmb->cmb_id}", $show_on_add, $this->cmb );
|
209 |
|
210 |
// Display form in add-new section (unless specified not to)
|
214 |
|
215 |
if ( $this->cmb->has_columns ) {
|
216 |
add_filter( "manage_edit-{$taxonomy}_columns", array( $this, 'register_column_headers' ) );
|
217 |
+
add_filter( "manage_{$taxonomy}_custom_column", array( $this, 'return_column_display' ), 10, 3 );
|
218 |
}
|
219 |
}
|
220 |
|
222 |
add_action( 'edited_terms', array( $this, 'save_term' ), 10, 2 );
|
223 |
add_action( 'delete_term', array( $this, 'delete_term' ), 10, 3 );
|
224 |
|
225 |
+
return $this;
|
226 |
+
}
|
227 |
+
|
228 |
+
public function options_page_hooks() {
|
229 |
+
$option_keys = $this->cmb->options_page_keys();
|
230 |
+
|
231 |
+
if ( ! empty( $option_keys ) ) {
|
232 |
+
foreach ( $option_keys as $option_key ) {
|
233 |
+
$this->options_hookup[ $option_key ] = new CMB2_Options_Hookup( $this->cmb, $option_key );
|
234 |
+
$this->options_hookup[ $option_key ]->hooks();
|
235 |
+
}
|
236 |
+
}
|
237 |
+
|
238 |
+
return $this;
|
239 |
}
|
240 |
|
241 |
/**
|
242 |
* Registers styles for CMB2
|
243 |
+
*
|
244 |
* @since 2.0.7
|
245 |
*/
|
246 |
protected static function register_styles() {
|
253 |
$front = is_admin() ? '' : '-front';
|
254 |
$rtl = is_rtl() ? '-rtl' : '';
|
255 |
|
256 |
+
/**
|
257 |
+
* Filters the registered style dependencies for the cmb2 stylesheet.
|
258 |
+
*
|
259 |
+
* @param array $dependencies The registered style dependencies for the cmb2 stylesheet.
|
260 |
+
*/
|
261 |
$dependencies = apply_filters( 'cmb2_style_dependencies', array() );
|
262 |
wp_register_style( 'cmb2-styles', CMB2_Utils::url( "css/cmb2{$front}{$rtl}{$min}.css" ), $dependencies );
|
263 |
wp_register_style( 'cmb2-display-styles', CMB2_Utils::url( "css/cmb2-display{$rtl}{$min}.css" ), $dependencies );
|
267 |
|
268 |
/**
|
269 |
* Registers scripts for CMB2
|
270 |
+
*
|
271 |
* @since 2.0.7
|
272 |
*/
|
273 |
protected static function register_js() {
|
283 |
|
284 |
/**
|
285 |
* Registers scripts and styles for CMB2
|
286 |
+
*
|
287 |
* @since 1.0.0
|
288 |
*/
|
289 |
public static function register_scripts() {
|
293 |
|
294 |
/**
|
295 |
* Enqueues scripts and styles for CMB2 in admin_head.
|
296 |
+
*
|
297 |
* @since 1.0.0
|
298 |
*/
|
299 |
public function do_scripts( $hook ) {
|
323 |
|
324 |
/**
|
325 |
* Register the CMB2 field column headers.
|
326 |
+
*
|
327 |
* @since 2.2.2
|
328 |
*/
|
329 |
public function register_column_headers( $columns ) {
|
356 |
|
357 |
/**
|
358 |
* The CMB2 field column display output.
|
359 |
+
*
|
360 |
* @since 2.2.2
|
361 |
*/
|
362 |
public function column_display( $column_name, $object_id ) {
|
363 |
if ( isset( $this->columns[ $column_name ] ) ) {
|
364 |
+
$field = new CMB2_Field( array(
|
365 |
+
'field_args' => $this->columns[ $column_name ]['field'],
|
366 |
+
'object_type' => $this->object_type,
|
367 |
+
'object_id' => $this->cmb->object_id( $object_id ),
|
368 |
+
'cmb_id' => $this->cmb->cmb_id,
|
369 |
+
) );
|
370 |
|
371 |
+
$this->cmb->get_field( $field )->render_column();
|
372 |
}
|
373 |
}
|
374 |
|
375 |
/**
|
376 |
* Returns the column display.
|
377 |
+
*
|
378 |
* @since 2.2.2
|
379 |
*/
|
380 |
public function return_column_display( $empty, $custom_column, $object_id ) {
|
387 |
|
388 |
/**
|
389 |
* Output the CMB2 box/fields in an alternate context (not in a standard metabox area).
|
390 |
+
*
|
391 |
* @since 2.2.4
|
392 |
*/
|
393 |
public function add_context_metaboxes() {
|
398 |
|
399 |
$page = get_current_screen()->id;
|
400 |
|
401 |
+
foreach ( $this->cmb->box_types() as $object_type ) {
|
402 |
$screen = convert_to_screen( $object_type );
|
403 |
|
404 |
// If we're on the right post-type/object...
|
412 |
|
413 |
/**
|
414 |
* Output the CMB2 box/fields in an alternate context (not in a standard metabox area).
|
415 |
+
*
|
416 |
* @since 2.2.4
|
417 |
*/
|
418 |
public function output_context_metabox() {
|
429 |
$add_handle = $add_wrap && ! empty( $title );
|
430 |
|
431 |
// Open the context-box wrap.
|
432 |
+
$this->context_box_title_markup_open( $add_handle );
|
433 |
|
434 |
// Show the form fields.
|
435 |
$this->cmb->show_form();
|
440 |
|
441 |
/**
|
442 |
* Output the opening markup for a context box.
|
443 |
+
*
|
444 |
* @since 2.2.4
|
445 |
* @param $add_handle Whether to add the metabox handle and opening div for .inside
|
446 |
*/
|
466 |
|
467 |
/**
|
468 |
* Output the closing markup for a context box.
|
469 |
+
*
|
470 |
* @since 2.2.4
|
471 |
* @param $add_inside_close Whether to add closing div for .inside.
|
472 |
*/
|
482 |
|
483 |
/**
|
484 |
* Add metaboxes (to 'post' or 'comment' object types)
|
485 |
+
*
|
486 |
* @since 1.0.0
|
487 |
*/
|
488 |
public function add_metaboxes() {
|
507 |
$page = get_current_screen()->id;
|
508 |
add_filter( "postbox_classes_{$page}_{$this->cmb->cmb_id}", array( $this, 'postbox_classes' ) );
|
509 |
|
510 |
+
foreach ( $this->cmb->box_types() as $object_type ) {
|
511 |
if ( count( $this->cmb->tax_metaboxes_to_remove ) ) {
|
512 |
$this->remove_default_tax_metaboxes( $object_type );
|
513 |
}
|
518 |
|
519 |
/**
|
520 |
* Remove the specified default taxonomy metaboxes for a post-type.
|
521 |
+
*
|
522 |
* @since 2.2.3
|
523 |
* @param string $post_type Post type to remove the metabox for.
|
524 |
*/
|
535 |
|
536 |
/**
|
537 |
* Modify metabox postbox classes.
|
538 |
+
*
|
539 |
* @since 2.2.4
|
540 |
+
* @param array $classes Array of classes
|
541 |
* @return array Modified array of classes
|
542 |
*/
|
543 |
public function postbox_classes( $classes ) {
|
556 |
|
557 |
/**
|
558 |
* Modify metabox altnernate context postbox classes.
|
559 |
+
*
|
560 |
* @since 2.2.4
|
561 |
+
* @param array $classes Array of classes
|
562 |
* @return array Modified array of classes
|
563 |
*/
|
564 |
protected function alternate_context_postbox_classes( $classes ) {
|
582 |
|
583 |
/**
|
584 |
* Display metaboxes for a post or comment object
|
585 |
+
*
|
586 |
* @since 1.0.0
|
587 |
*/
|
588 |
public function metabox_callback() {
|
592 |
|
593 |
/**
|
594 |
* Display metaboxes for new user page
|
595 |
+
*
|
596 |
* @since 1.0.0
|
597 |
*/
|
598 |
public function user_new_metabox( $section ) {
|
604 |
}
|
605 |
|
606 |
/**
|
607 |
+
* Display metaboxes for a user object.
|
608 |
+
*
|
609 |
* @since 1.0.0
|
610 |
*/
|
611 |
public function user_metabox() {
|
613 |
}
|
614 |
|
615 |
/**
|
616 |
+
* Display metaboxes for a taxonomy term object.
|
617 |
+
*
|
618 |
* @since 2.2.0
|
619 |
*/
|
620 |
public function term_metabox() {
|
622 |
}
|
623 |
|
624 |
/**
|
625 |
+
* Display metaboxes for an object type.
|
626 |
+
*
|
627 |
* @since 2.2.0
|
628 |
* @param string $type Object type
|
629 |
* @return void
|
630 |
*/
|
631 |
public function show_form_for_type( $type ) {
|
632 |
+
if ( $type != $this->object_type ) {
|
633 |
return;
|
634 |
}
|
635 |
|
649 |
|
650 |
/**
|
651 |
* Determines if metabox should be shown in current context
|
652 |
+
*
|
653 |
* @since 2.0.0
|
654 |
* @return bool Whether metabox should be added/shown
|
655 |
*/
|
671 |
|
672 |
/**
|
673 |
* Get the CMB priority property set to numeric hook priority.
|
674 |
+
*
|
675 |
* @since 2.2.0
|
676 |
* @param integer $default Default display hook priority.
|
677 |
* @return integer Hook priority.
|
701 |
|
702 |
/**
|
703 |
* Save data from post metabox
|
704 |
+
*
|
705 |
* @since 1.0.0
|
706 |
+
* @param int $post_id Post ID
|
707 |
+
* @param mixed $post Post object
|
708 |
+
* @return void
|
709 |
*/
|
710 |
public function save_post( $post_id, $post = false ) {
|
711 |
|
729 |
|
730 |
/**
|
731 |
* Save data from comment metabox
|
732 |
+
*
|
733 |
* @since 2.0.9
|
734 |
+
* @param int $comment_id Comment ID
|
735 |
+
* @return void
|
736 |
*/
|
737 |
public function save_comment( $comment_id ) {
|
738 |
|
745 |
|
746 |
/**
|
747 |
* Save data from user fields
|
748 |
+
*
|
749 |
* @since 1.0.x
|
750 |
+
* @param int $user_id User ID
|
751 |
+
* @return void
|
752 |
*/
|
753 |
public function save_user( $user_id ) {
|
754 |
// check permissions
|
759 |
|
760 |
/**
|
761 |
* Save data from term fields
|
762 |
+
*
|
763 |
* @since 2.2.0
|
764 |
* @param int $term_id Term ID
|
765 |
* @param int $tt_id Term Taxonomy ID
|
766 |
* @param string $taxonomy Taxonomy
|
767 |
+
* @return void
|
768 |
*/
|
769 |
public function save_term( $term_id, $tt_id, $taxonomy = '' ) {
|
770 |
$taxonomy = $taxonomy ? $taxonomy : $tt_id;
|
777 |
|
778 |
/**
|
779 |
* Delete term meta when a term is deleted.
|
780 |
+
*
|
781 |
* @since 2.2.0
|
782 |
* @param int $term_id Term ID
|
783 |
* @param int $tt_id Term Taxonomy ID
|
784 |
* @param string $taxonomy Taxonomy
|
785 |
+
* @return void
|
786 |
*/
|
787 |
public function delete_term( $term_id, $tt_id, $taxonomy = '' ) {
|
788 |
if ( $this->taxonomy_can_save( $taxonomy ) ) {
|
798 |
|
799 |
/**
|
800 |
* Determines if the current object is able to be saved
|
801 |
+
*
|
802 |
* @since 2.0.9
|
803 |
+
* @param string $type Current object type.
|
804 |
+
* @return bool Whether object can be saved
|
805 |
*/
|
806 |
public function can_save( $type = '' ) {
|
807 |
+
|
808 |
+
$can_save = (
|
809 |
$this->cmb->prop( 'save_fields' )
|
810 |
// check nonce
|
811 |
&& isset( $_POST[ $this->cmb->nonce() ] )
|
813 |
// check if autosave
|
814 |
&& ! ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
|
815 |
// get the metabox types & compare it to this type
|
816 |
+
&& ( $type && in_array( $type, $this->cmb->box_types() ) )
|
817 |
// Don't do updates during a switch-to-blog instance.
|
818 |
&& ! ( is_multisite() && ms_is_switched() )
|
819 |
+
);
|
820 |
+
|
821 |
+
/**
|
822 |
+
* Filter to determine if metabox is allowed to save.
|
823 |
+
*
|
824 |
+
* @param bool $can_save Whether the current metabox can save.
|
825 |
+
* @param object $cmb The CMB2 instance
|
826 |
+
*/
|
827 |
+
return apply_filters( 'cmb2_can_save', $can_save, $this->cmb );
|
828 |
}
|
829 |
|
830 |
/**
|
831 |
* Determine if taxonomy of term being modified is cmb2-editable.
|
832 |
+
*
|
833 |
* @since 2.2.0
|
834 |
* @param string $taxonomy Taxonomy of term being modified.
|
835 |
* @return bool Whether taxonomy is editable.
|
850 |
|
851 |
/**
|
852 |
* Enqueues the 'cmb2-display-styles' if the conditions match (has columns, on the right page, etc).
|
853 |
+
*
|
854 |
* @since 2.2.2.1
|
855 |
*/
|
856 |
protected function maybe_enqueue_column_display_styles() {
|
867 |
|
868 |
/**
|
869 |
* Includes CMB2 styles
|
870 |
+
*
|
871 |
* @since 2.0.0
|
872 |
*/
|
873 |
public static function enqueue_cmb_css( $handle = 'cmb2-styles' ) {
|
874 |
+
|
875 |
+
/**
|
876 |
+
* Filter to determine if CMB2'S css should be enqueued.
|
877 |
+
*
|
878 |
+
* @param bool $enqueue_css Default is true.
|
879 |
+
*/
|
880 |
if ( ! apply_filters( 'cmb2_enqueue_css', true ) ) {
|
881 |
return false;
|
882 |
}
|
892 |
|
893 |
/**
|
894 |
* Includes CMB2 JS
|
895 |
+
*
|
896 |
* @since 2.0.0
|
897 |
*/
|
898 |
public static function enqueue_cmb_js() {
|
899 |
+
|
900 |
+
/**
|
901 |
+
* Filter to determine if CMB2'S JS should be enqueued.
|
902 |
+
*
|
903 |
+
* @param bool $enqueue_js Default is true.
|
904 |
+
*/
|
905 |
if ( ! apply_filters( 'cmb2_enqueue_js', true ) ) {
|
906 |
return false;
|
907 |
}
|
vendor/CMB2/includes/helper-functions.php
CHANGED
@@ -4,15 +4,16 @@
|
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
* @package CMB2
|
7 |
-
* @author
|
8 |
* @license GPL-2.0+
|
9 |
-
* @link
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Helper function to provide directory path to CMB2
|
|
|
14 |
* @since 2.0.0
|
15 |
-
* @param string
|
16 |
* @return string Directory with optional path appended
|
17 |
*/
|
18 |
function cmb2_dir( $path = '' ) {
|
@@ -21,6 +22,7 @@ function cmb2_dir( $path = '' ) {
|
|
21 |
|
22 |
/**
|
23 |
* Autoloads files with CMB2 classes when needed
|
|
|
24 |
* @since 1.0.0
|
25 |
* @param string $class_name Name of the class being requested
|
26 |
*/
|
@@ -44,6 +46,7 @@ function cmb2_autoload_classes( $class_name ) {
|
|
44 |
|
45 |
/**
|
46 |
* Get instance of the CMB2_Utils class
|
|
|
47 |
* @since 2.0.0
|
48 |
* @return CMB2_Utils object CMB2 utilities class
|
49 |
*/
|
@@ -55,6 +58,7 @@ function cmb2_utils() {
|
|
55 |
|
56 |
/**
|
57 |
* Get instance of the CMB2_Ajax class
|
|
|
58 |
* @since 2.0.0
|
59 |
* @return CMB2_Ajax object CMB2 ajax class
|
60 |
*/
|
@@ -64,6 +68,7 @@ function cmb2_ajax() {
|
|
64 |
|
65 |
/**
|
66 |
* Get instance of the CMB2_Option class for the passed metabox ID
|
|
|
67 |
* @since 2.0.0
|
68 |
* @return CMB2_Option object Options class for setting/getting options for metabox
|
69 |
*/
|
@@ -73,16 +78,17 @@ function cmb2_options( $key ) {
|
|
73 |
|
74 |
/**
|
75 |
* Get a cmb oEmbed. Handles oEmbed getting for non-post objects
|
|
|
76 |
* @since 2.0.0
|
77 |
-
* @param array
|
78 |
*
|
79 |
-
*
|
80 |
-
*
|
81 |
-
*
|
82 |
-
*
|
83 |
-
*
|
84 |
-
*
|
85 |
-
*
|
86 |
*
|
87 |
* @return string oEmbed string
|
88 |
*/
|
@@ -111,6 +117,7 @@ function cmb2_get_oembed( $args = array() ) {
|
|
111 |
|
112 |
/**
|
113 |
* Outputs the return of cmb2_get_oembed.
|
|
|
114 |
* @since 2.2.2
|
115 |
* @see cmb2_get_oembed
|
116 |
*/
|
@@ -121,10 +128,11 @@ add_action( 'cmb2_do_oembed', 'cmb2_do_oembed' );
|
|
121 |
|
122 |
/**
|
123 |
* A helper function to get an option from a CMB2 options array
|
|
|
124 |
* @since 1.0.1
|
125 |
-
* @param string
|
126 |
-
* @param string
|
127 |
-
* @param mixed
|
128 |
* @return array Options array or specific field
|
129 |
*/
|
130 |
function cmb2_get_option( $option_key, $field_id = '', $default = false ) {
|
@@ -133,6 +141,7 @@ function cmb2_get_option( $option_key, $field_id = '', $default = false ) {
|
|
133 |
|
134 |
/**
|
135 |
* A helper function to update an option in a CMB2 options array
|
|
|
136 |
* @since 2.0.0
|
137 |
* @param string $option_key Option key
|
138 |
* @param string $field_id Option array field key
|
@@ -150,6 +159,7 @@ function cmb2_update_option( $option_key, $field_id, $value, $single = true ) {
|
|
150 |
|
151 |
/**
|
152 |
* Get a CMB2 field object.
|
|
|
153 |
* @since 1.1.0
|
154 |
* @param array $meta_box Metabox ID or Metabox config array
|
155 |
* @param array $field_id Field ID or all field arguments
|
@@ -174,6 +184,7 @@ function cmb2_get_field( $meta_box, $field_id, $object_id = 0, $object_type = ''
|
|
174 |
|
175 |
/**
|
176 |
* Get a field's value.
|
|
|
177 |
* @since 1.1.0
|
178 |
* @param array $meta_box Metabox ID or Metabox config array
|
179 |
* @param array $field_id Field ID or all field arguments
|
@@ -189,6 +200,7 @@ function cmb2_get_field_value( $meta_box, $field_id, $object_id = 0, $object_typ
|
|
189 |
|
190 |
/**
|
191 |
* Because OOP can be scary
|
|
|
192 |
* @since 2.0.2
|
193 |
* @param array $meta_box_config Metabox Config array
|
194 |
* @return CMB2 object Instantiated CMB2 object
|
@@ -199,6 +211,7 @@ function new_cmb2_box( array $meta_box_config ) {
|
|
199 |
|
200 |
/**
|
201 |
* Retrieve a CMB2 instance by the metabox ID
|
|
|
202 |
* @since 2.0.0
|
203 |
* @param mixed $meta_box Metabox ID or Metabox config array
|
204 |
* @param int $object_id Object ID
|
@@ -234,6 +247,7 @@ function cmb2_get_metabox( $meta_box, $object_id = 0, $object_type = '' ) {
|
|
234 |
|
235 |
/**
|
236 |
* Returns array of sanitized field values from a metabox (without saving them)
|
|
|
237 |
* @since 2.0.3
|
238 |
* @param mixed $meta_box Metabox ID or Metabox config array
|
239 |
* @param array $data_to_sanitize Array of field_id => value data for sanitizing (likely $_POST data).
|
@@ -246,10 +260,11 @@ function cmb2_get_metabox_sanitized_values( $meta_box, array $data_to_sanitize )
|
|
246 |
|
247 |
/**
|
248 |
* Retrieve a metabox form
|
|
|
249 |
* @since 2.0.0
|
250 |
-
* @param mixed
|
251 |
-
* @param int
|
252 |
-
* @param array
|
253 |
* @return string CMB2 html form markup
|
254 |
*/
|
255 |
function cmb2_get_metabox_form( $meta_box, $object_id = 0, $args = array() ) {
|
@@ -267,10 +282,11 @@ function cmb2_get_metabox_form( $meta_box, $object_id = 0, $args = array() ) {
|
|
267 |
|
268 |
/**
|
269 |
* Display a metabox form & save it on submission
|
|
|
270 |
* @since 1.0.0
|
271 |
-
* @param mixed
|
272 |
-
* @param int
|
273 |
-
* @param array
|
274 |
*/
|
275 |
function cmb2_print_metabox_form( $meta_box, $object_id = 0, $args = array() ) {
|
276 |
|
@@ -331,10 +347,11 @@ function cmb2_print_metabox_form( $meta_box, $object_id = 0, $args = array() ) {
|
|
331 |
|
332 |
/**
|
333 |
* Display a metabox form (or optionally return it) & save it on submission
|
|
|
334 |
* @since 1.0.0
|
335 |
-
* @param mixed
|
336 |
-
* @param int
|
337 |
-
* @param array
|
338 |
*/
|
339 |
function cmb2_metabox_form( $meta_box, $object_id = 0, $args = array() ) {
|
340 |
if ( ! isset( $args['echo'] ) || $args['echo'] ) {
|
@@ -359,7 +376,7 @@ if ( ! function_exists( 'date_create_from_format' ) ) {
|
|
359 |
|
360 |
$schedule_format = str_replace(
|
361 |
array( 'M', 'Y', 'm', 'd', 'H', 'i', 'a' ),
|
362 |
-
array('%b', '%Y', '%m', '%d', '%H', '%M', '%p' ),
|
363 |
$date_format
|
364 |
);
|
365 |
|
@@ -384,6 +401,21 @@ if ( ! function_exists( 'date_create_from_format' ) ) {
|
|
384 |
$parsed_time['tm_sec']
|
385 |
);
|
386 |
|
387 |
-
return new DateTime($ymd);
|
388 |
}
|
389 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
*
|
5 |
* @category WordPress_Plugin
|
6 |
* @package CMB2
|
7 |
+
* @author CMB2 team
|
8 |
* @license GPL-2.0+
|
9 |
+
* @link https://cmb2.io
|
10 |
*/
|
11 |
|
12 |
/**
|
13 |
* Helper function to provide directory path to CMB2
|
14 |
+
*
|
15 |
* @since 2.0.0
|
16 |
+
* @param string $path Path to append
|
17 |
* @return string Directory with optional path appended
|
18 |
*/
|
19 |
function cmb2_dir( $path = '' ) {
|
22 |
|
23 |
/**
|
24 |
* Autoloads files with CMB2 classes when needed
|
25 |
+
*
|
26 |
* @since 1.0.0
|
27 |
* @param string $class_name Name of the class being requested
|
28 |
*/
|
46 |
|
47 |
/**
|
48 |
* Get instance of the CMB2_Utils class
|
49 |
+
*
|
50 |
* @since 2.0.0
|
51 |
* @return CMB2_Utils object CMB2 utilities class
|
52 |
*/
|
58 |
|
59 |
/**
|
60 |
* Get instance of the CMB2_Ajax class
|
61 |
+
*
|
62 |
* @since 2.0.0
|
63 |
* @return CMB2_Ajax object CMB2 ajax class
|
64 |
*/
|
68 |
|
69 |
/**
|
70 |
* Get instance of the CMB2_Option class for the passed metabox ID
|
71 |
+
*
|
72 |
* @since 2.0.0
|
73 |
* @return CMB2_Option object Options class for setting/getting options for metabox
|
74 |
*/
|
78 |
|
79 |
/**
|
80 |
* Get a cmb oEmbed. Handles oEmbed getting for non-post objects
|
81 |
+
*
|
82 |
* @since 2.0.0
|
83 |
+
* @param array $args Arguments. Accepts:
|
84 |
*
|
85 |
+
* 'url' - URL to retrieve the oEmbed from,
|
86 |
+
* 'object_id' - $post_id,
|
87 |
+
* 'object_type' - 'post',
|
88 |
+
* 'oembed_args' - $embed_args, // array containing 'width', etc
|
89 |
+
* 'field_id' - false,
|
90 |
+
* 'cache_key' - false,
|
91 |
+
* 'wp_error' - true/false, // To return a wp_error object if no embed found.
|
92 |
*
|
93 |
* @return string oEmbed string
|
94 |
*/
|
117 |
|
118 |
/**
|
119 |
* Outputs the return of cmb2_get_oembed.
|
120 |
+
*
|
121 |
* @since 2.2.2
|
122 |
* @see cmb2_get_oembed
|
123 |
*/
|
128 |
|
129 |
/**
|
130 |
* A helper function to get an option from a CMB2 options array
|
131 |
+
*
|
132 |
* @since 1.0.1
|
133 |
+
* @param string $option_key Option key
|
134 |
+
* @param string $field_id Option array field key
|
135 |
+
* @param mixed $default Optional default fallback value
|
136 |
* @return array Options array or specific field
|
137 |
*/
|
138 |
function cmb2_get_option( $option_key, $field_id = '', $default = false ) {
|
141 |
|
142 |
/**
|
143 |
* A helper function to update an option in a CMB2 options array
|
144 |
+
*
|
145 |
* @since 2.0.0
|
146 |
* @param string $option_key Option key
|
147 |
* @param string $field_id Option array field key
|
159 |
|
160 |
/**
|
161 |
* Get a CMB2 field object.
|
162 |
+
*
|
163 |
* @since 1.1.0
|
164 |
* @param array $meta_box Metabox ID or Metabox config array
|
165 |
* @param array $field_id Field ID or all field arguments
|
184 |
|
185 |
/**
|
186 |
* Get a field's value.
|
187 |
+
*
|
188 |
* @since 1.1.0
|
189 |
* @param array $meta_box Metabox ID or Metabox config array
|
190 |
* @param array $field_id Field ID or all field arguments
|
200 |
|
201 |
/**
|
202 |
* Because OOP can be scary
|
203 |
+
*
|
204 |
* @since 2.0.2
|
205 |
* @param array $meta_box_config Metabox Config array
|
206 |
* @return CMB2 object Instantiated CMB2 object
|
211 |
|
212 |
/**
|
213 |
* Retrieve a CMB2 instance by the metabox ID
|
214 |
+
*
|
215 |
* @since 2.0.0
|
216 |
* @param mixed $meta_box Metabox ID or Metabox config array
|
217 |
* @param int $object_id Object ID
|
247 |
|
248 |
/**
|
249 |
* Returns array of sanitized field values from a metabox (without saving them)
|
250 |
+
*
|
251 |
* @since 2.0.3
|
252 |
* @param mixed $meta_box Metabox ID or Metabox config array
|
253 |
* @param array $data_to_sanitize Array of field_id => value data for sanitizing (likely $_POST data).
|
260 |
|
261 |
/**
|
262 |
* Retrieve a metabox form
|
263 |
+
*
|
264 |
* @since 2.0.0
|
265 |
+
* @param mixed $meta_box Metabox config array or Metabox ID
|
266 |
+
* @param int $object_id Object ID
|
267 |
+
* @param array $args Optional arguments array
|
268 |
* @return string CMB2 html form markup
|
269 |
*/
|
270 |
function cmb2_get_metabox_form( $meta_box, $object_id = 0, $args = array() ) {
|
282 |
|
283 |
/**
|
284 |
* Display a metabox form & save it on submission
|
285 |
+
*
|
286 |
* @since 1.0.0
|
287 |
+
* @param mixed $meta_box Metabox config array or Metabox ID
|
288 |
+
* @param int $object_id Object ID
|
289 |
+
* @param array $args Optional arguments array
|
290 |
*/
|
291 |
function cmb2_print_metabox_form( $meta_box, $object_id = 0, $args = array() ) {
|
292 |
|
347 |
|
348 |
/**
|
349 |
* Display a metabox form (or optionally return it) & save it on submission
|
350 |
+
*
|
351 |
* @since 1.0.0
|
352 |
+
* @param mixed $meta_box Metabox config array or Metabox ID
|
353 |
+
* @param int $object_id Object ID
|
354 |
+
* @param array $args Optional arguments array
|
355 |
*/
|
356 |
function cmb2_metabox_form( $meta_box, $object_id = 0, $args = array() ) {
|
357 |
if ( ! isset( $args['echo'] ) || $args['echo'] ) {
|
376 |
|
377 |
$schedule_format = str_replace(
|
378 |
array( 'M', 'Y', 'm', 'd', 'H', 'i', 'a' ),
|
379 |
+
array( '%b', '%Y', '%m', '%d', '%H', '%M', '%p' ),
|
380 |
$date_format
|
381 |
);
|
382 |
|
401 |
$parsed_time['tm_sec']
|
402 |
);
|
403 |
|
404 |
+
return new DateTime( $ymd );
|
405 |
}
|
406 |
+
}// End if().
|
407 |
+
|
408 |
+
if ( ! function_exists( 'date_timestamp_get' ) ) {
|
409 |
+
|
410 |
+
/**
|
411 |
+
* Returns the Unix timestamp representing the date.
|
412 |
+
* Reimplementation of DateTime::getTimestamp for PHP < 5.3. :(
|
413 |
+
*
|
414 |
+
* @param DateTime
|
415 |
+
*
|
416 |
+
* @return int
|
417 |
+
*/
|
418 |
+
function date_timestamp_get( DateTime $date ) {
|
419 |
+
return $date->format( 'U' );
|
420 |
+
}
|
421 |
+
}// End if().
|
vendor/CMB2/includes/index.php
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
<?php
|
2 |
-
// Silence is golden
|
1 |
<?php
|
2 |
+
// Silence is golden
|
vendor/CMB2/includes/rest-api/CMB2_REST.php
CHANGED
@@ -7,9 +7,9 @@
|
|
7 |
*
|
8 |
* @category WordPress_Plugin
|
9 |
* @package CMB2
|
10 |
-
* @author
|
11 |
* @license GPL-2.0+
|
12 |
-
* @link
|
13 |
*
|
14 |
* @property-read read_fields Array of readable field objects.
|
15 |
* @property-read edit_fields Array of editable field objects.
|
@@ -20,6 +20,7 @@ class CMB2_REST extends CMB2_Hookup_Base {
|
|
20 |
|
21 |
/**
|
22 |
* The current CMB2 REST endpoint version
|
|
|
23 |
* @var string
|
24 |
* @since 2.2.3
|
25 |
*/
|
@@ -27,6 +28,7 @@ class CMB2_REST extends CMB2_Hookup_Base {
|
|
27 |
|
28 |
/**
|
29 |
* The CMB2 REST base namespace (v should always be followed by $version)
|
|
|
30 |
* @var string
|
31 |
* @since 2.2.3
|
32 |
*/
|
@@ -57,6 +59,7 @@ class CMB2_REST extends CMB2_Hookup_Base {
|
|
57 |
|
58 |
/**
|
59 |
* Array of readable field objects.
|
|
|
60 |
* @var CMB2_Field[]
|
61 |
* @since 2.2.3
|
62 |
*/
|
@@ -64,6 +67,7 @@ class CMB2_REST extends CMB2_Hookup_Base {
|
|
64 |
|
65 |
/**
|
66 |
* Array of editable field objects.
|
|
|
67 |
* @var CMB2_Field[]
|
68 |
* @since 2.2.3
|
69 |
*/
|
@@ -71,16 +75,38 @@ class CMB2_REST extends CMB2_Hookup_Base {
|
|
71 |
|
72 |
/**
|
73 |
* Whether CMB2 object is readable via the rest api.
|
|
|
74 |
* @var boolean
|
75 |
*/
|
76 |
protected $rest_read = false;
|
77 |
|
78 |
/**
|
79 |
* Whether CMB2 object is editable via the rest api.
|
|
|
80 |
* @var boolean
|
81 |
*/
|
82 |
protected $rest_edit = false;
|
83 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
/**
|
85 |
* Constructor
|
86 |
*
|
@@ -116,6 +142,8 @@ class CMB2_REST extends CMB2_Hookup_Base {
|
|
116 |
$this->declare_read_edit_fields();
|
117 |
|
118 |
add_filter( 'is_protected_meta', array( $this, 'is_protected_meta' ), 10, 3 );
|
|
|
|
|
119 |
}
|
120 |
|
121 |
/**
|
@@ -146,7 +174,7 @@ class CMB2_REST extends CMB2_Hookup_Base {
|
|
146 |
$alltypes = $taxonomies = array();
|
147 |
|
148 |
foreach ( self::$boxes as $cmb_id => $rest_box ) {
|
149 |
-
$types = array_flip( $rest_box->cmb->box_types() );
|
150 |
|
151 |
if ( isset( $types['user'] ) ) {
|
152 |
unset( $types['user'] );
|
@@ -201,7 +229,7 @@ class CMB2_REST extends CMB2_Hookup_Base {
|
|
201 |
*
|
202 |
* @param string|array $object_types Object(s) the field is being registered
|
203 |
* to, "post"|"term"|"comment" etc.
|
204 |
-
* @param string
|
205 |
*
|
206 |
* @return void
|
207 |
*/
|
@@ -235,7 +263,6 @@ class CMB2_REST extends CMB2_Hookup_Base {
|
|
235 |
if ( $this->can_edit( $show_in_rest ) ) {
|
236 |
$this->edit_fields[] = $field['id'];
|
237 |
}
|
238 |
-
|
239 |
}
|
240 |
}
|
241 |
|
@@ -516,7 +543,7 @@ class CMB2_REST extends CMB2_Hookup_Base {
|
|
516 |
*
|
517 |
* @since 2.2.o
|
518 |
*
|
519 |
-
* @param array
|
520 |
* @return array Array of updated/sanitized values.
|
521 |
*/
|
522 |
public function sanitize_box_values( array $values ) {
|
@@ -538,8 +565,8 @@ class CMB2_REST extends CMB2_Hookup_Base {
|
|
538 |
*
|
539 |
* @since 2.2.3
|
540 |
*
|
541 |
-
* @param array
|
542 |
-
* @param string
|
543 |
*
|
544 |
* @return mixed The results of saving/sanitizing a field value.
|
545 |
*/
|
@@ -569,8 +596,8 @@ class CMB2_REST extends CMB2_Hookup_Base {
|
|
569 |
*
|
570 |
* @since 2.2.3
|
571 |
*
|
572 |
-
* @param array
|
573 |
-
* @param CMB2_Field
|
574 |
*
|
575 |
* @return mixed The results of saving/sanitizing the group field value.
|
576 |
*/
|
@@ -676,7 +703,7 @@ class CMB2_REST extends CMB2_Hookup_Base {
|
|
676 |
*
|
677 |
* @since 2.2.3
|
678 |
*
|
679 |
-
* @param string
|
680 |
*
|
681 |
* @return CMB2_REST|false The CMB2_REST object or false.
|
682 |
*/
|
@@ -714,7 +741,7 @@ class CMB2_REST extends CMB2_Hookup_Base {
|
|
714 |
*
|
715 |
* @since 2.2.3
|
716 |
*
|
717 |
-
* @param mixed
|
718 |
*
|
719 |
* @return boolean Whether value is considered readable.
|
720 |
*/
|
@@ -733,7 +760,7 @@ class CMB2_REST extends CMB2_Hookup_Base {
|
|
733 |
*
|
734 |
* @since 2.2.3
|
735 |
*
|
736 |
-
* @param mixed
|
737 |
*
|
738 |
* @return boolean Whether value is considered editable.
|
739 |
*/
|
7 |
*
|
8 |
* @category WordPress_Plugin
|
9 |
* @package CMB2
|
10 |
+
* @author CMB2 team
|
11 |
* @license GPL-2.0+
|
12 |
+
* @link https://cmb2.io
|
13 |
*
|
14 |
* @property-read read_fields Array of readable field objects.
|
15 |
* @property-read edit_fields Array of editable field objects.
|
20 |
|
21 |
/**
|
22 |
* The current CMB2 REST endpoint version
|
23 |
+
*
|
24 |
* @var string
|
25 |
* @since 2.2.3
|
26 |
*/
|
28 |
|
29 |
/**
|
30 |
* The CMB2 REST base namespace (v should always be followed by $version)
|
31 |
+
*
|
32 |
* @var string
|
33 |
* @since 2.2.3
|
34 |
*/
|
59 |
|
60 |
/**
|
61 |
* Array of readable field objects.
|
62 |
+
*
|
63 |
* @var CMB2_Field[]
|
64 |
* @since 2.2.3
|
65 |
*/
|
67 |
|
68 |
/**
|
69 |
* Array of editable field objects.
|
70 |
+
*
|
71 |
* @var CMB2_Field[]
|
72 |
* @since 2.2.3
|
73 |
*/
|
75 |
|
76 |
/**
|
77 |
* Whether CMB2 object is readable via the rest api.
|
78 |
+
*
|
79 |
* @var boolean
|
80 |
*/
|
81 |
protected $rest_read = false;
|
82 |
|
83 |
/**
|
84 |
* Whether CMB2 object is editable via the rest api.
|
85 |
+
*
|
86 |
* @var boolean
|
87 |
*/
|
88 |
protected $rest_edit = false;
|
89 |
|
90 |
+
/**
|
91 |
+
* A functionalized constructor, used for the hookup action callbacks.
|
92 |
+
*
|
93 |
+
* @since 2.2.6
|
94 |
+
*
|
95 |
+
* @param CMB2 $cmb The CMB2 object to hookup
|
96 |
+
*
|
97 |
+
* @return CMB2_Hookup_Base $hookup The hookup object.
|
98 |
+
*/
|
99 |
+
public static function maybe_init_and_hookup( CMB2 $cmb ) {
|
100 |
+
if ( $cmb->prop( 'show_in_rest' ) && function_exists( 'rest_get_server' ) ) {
|
101 |
+
|
102 |
+
$hookup = new self( $cmb );
|
103 |
+
|
104 |
+
return $hookup->universal_hooks();
|
105 |
+
}
|
106 |
+
|
107 |
+
return false;
|
108 |
+
}
|
109 |
+
|
110 |
/**
|
111 |
* Constructor
|
112 |
*
|
142 |
$this->declare_read_edit_fields();
|
143 |
|
144 |
add_filter( 'is_protected_meta', array( $this, 'is_protected_meta' ), 10, 3 );
|
145 |
+
|
146 |
+
return $this;
|
147 |
}
|
148 |
|
149 |
/**
|
174 |
$alltypes = $taxonomies = array();
|
175 |
|
176 |
foreach ( self::$boxes as $cmb_id => $rest_box ) {
|
177 |
+
$types = array_flip( $rest_box->cmb->box_types( array( 'post' ) ) );
|
178 |
|
179 |
if ( isset( $types['user'] ) ) {
|
180 |
unset( $types['user'] );
|
229 |
*
|
230 |
* @param string|array $object_types Object(s) the field is being registered
|
231 |
* to, "post"|"term"|"comment" etc.
|
232 |
+
* @param string $object_types Canonical object type for callbacks.
|
233 |
*
|
234 |
* @return void
|
235 |
*/
|
263 |
if ( $this->can_edit( $show_in_rest ) ) {
|
264 |
$this->edit_fields[] = $field['id'];
|
265 |
}
|
|
|
266 |
}
|
267 |
}
|
268 |
|
543 |
*
|
544 |
* @since 2.2.o
|
545 |
*
|
546 |
+
* @param array $values Array of values being provided.
|
547 |
* @return array Array of updated/sanitized values.
|
548 |
*/
|
549 |
public function sanitize_box_values( array $values ) {
|
565 |
*
|
566 |
* @since 2.2.3
|
567 |
*
|
568 |
+
* @param array $values Array of values being provided.
|
569 |
+
* @param string $field_id The id of the field to update.
|
570 |
*
|
571 |
* @return mixed The results of saving/sanitizing a field value.
|
572 |
*/
|
596 |
*
|
597 |
* @since 2.2.3
|
598 |
*
|
599 |
+
* @param array $values Array of values being provided.
|
600 |
+
* @param CMB2_Field $field CMB2_Field object.
|
601 |
*
|
602 |
* @return mixed The results of saving/sanitizing the group field value.
|
603 |
*/
|
703 |
*
|
704 |
* @since 2.2.3
|
705 |
*
|
706 |
+
* @param string $cmb_id CMB2 config id
|
707 |
*
|
708 |
* @return CMB2_REST|false The CMB2_REST object or false.
|
709 |
*/
|
741 |
*
|
742 |
* @since 2.2.3
|
743 |
*
|
744 |
+
* @param mixed $value Value to check.
|
745 |
*
|
746 |
* @return boolean Whether value is considered readable.
|
747 |
*/
|
760 |
*
|
761 |
* @since 2.2.3
|
762 |
*
|
763 |
+
* @param mixed $value Value to check.
|
764 |
*
|
765 |
* @return boolean Whether value is considered editable.
|
766 |
*/
|
vendor/CMB2/includes/rest-api/CMB2_REST_Controller.php
CHANGED
@@ -15,9 +15,9 @@ if ( ! class_exists( 'WP_REST_Controller' ) ) {
|
|
15 |
*
|
16 |
* @category WordPress_Plugin
|
17 |
* @package CMB2
|
18 |
-
* @author
|
19 |
* @license GPL-2.0+
|
20 |
-
* @link
|
21 |
*/
|
22 |
abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
23 |
|
@@ -37,6 +37,7 @@ abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
|
37 |
|
38 |
/**
|
39 |
* The current request object
|
|
|
40 |
* @var WP_REST_Request $request
|
41 |
* @since 2.2.3
|
42 |
*/
|
@@ -44,6 +45,7 @@ abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
|
44 |
|
45 |
/**
|
46 |
* The current server object
|
|
|
47 |
* @var WP_REST_Server $server
|
48 |
* @since 2.2.3
|
49 |
*/
|
@@ -51,6 +53,7 @@ abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
|
51 |
|
52 |
/**
|
53 |
* Box object id
|
|
|
54 |
* @var mixed
|
55 |
* @since 2.2.3
|
56 |
*/
|
@@ -58,6 +61,7 @@ abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
|
58 |
|
59 |
/**
|
60 |
* Box object type
|
|
|
61 |
* @var string
|
62 |
* @since 2.2.3
|
63 |
*/
|
@@ -79,6 +83,7 @@ abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
|
79 |
|
80 |
/**
|
81 |
* The initial route
|
|
|
82 |
* @var string
|
83 |
* @since 2.2.3
|
84 |
*/
|
@@ -86,6 +91,7 @@ abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
|
86 |
|
87 |
/**
|
88 |
* Defines which endpoint the initial request is.
|
|
|
89 |
* @var string $request_type
|
90 |
* @since 2.2.3
|
91 |
*/
|
@@ -93,6 +99,7 @@ abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
|
93 |
|
94 |
/**
|
95 |
* Constructor
|
|
|
96 |
* @since 2.2.3
|
97 |
*/
|
98 |
public function __construct( WP_REST_Server $wp_rest_server ) {
|
@@ -214,8 +221,8 @@ abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
|
214 |
*
|
215 |
* @since 2.2.3
|
216 |
*
|
217 |
-
* @param mixed
|
218 |
-
* @param WP_REST_Request
|
219 |
* @return WP_REST_Response $response
|
220 |
*/
|
221 |
public function prepare_item_for_response( $data, $request = null ) {
|
@@ -247,7 +254,9 @@ abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
|
247 |
$this->initiate_rest_box( $request, $request_type );
|
248 |
|
249 |
if ( ! is_wp_error( $this->rest_box ) && ! $this->rest_box->rest_read ) {
|
250 |
-
$this->rest_box = new WP_Error( 'cmb2_rest_no_read_error', __( 'This box does not have read permissions.', 'cmb2' ), array(
|
|
|
|
|
251 |
}
|
252 |
}
|
253 |
|
@@ -265,7 +274,9 @@ abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
|
265 |
$this->initiate_rest_box( $request, $request_type );
|
266 |
|
267 |
if ( ! is_wp_error( $this->rest_box ) && ! $this->rest_box->rest_edit ) {
|
268 |
-
$this->rest_box = new WP_Error( 'cmb2_rest_no_write_error', __( 'This box does not have write permissions.', 'cmb2' ), array(
|
|
|
|
|
269 |
}
|
270 |
}
|
271 |
|
@@ -286,7 +297,9 @@ abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
|
286 |
|
287 |
if ( ! $this->rest_box ) {
|
288 |
|
289 |
-
$this->rest_box = new WP_Error( 'cmb2_rest_box_not_found_error', __( 'No box found by that id. A box needs to be registered with the "show_in_rest" parameter configured.', 'cmb2' ), array(
|
|
|
|
|
290 |
|
291 |
} else {
|
292 |
|
@@ -362,19 +375,25 @@ abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
|
362 |
'type' => 'object',
|
363 |
'properties' => array(
|
364 |
'description' => array(
|
365 |
-
'description'
|
366 |
-
'type'
|
367 |
-
'context'
|
|
|
368 |
),
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
|
|
|
|
373 |
),
|
|
|
374 |
'name' => array(
|
375 |
-
'description'
|
376 |
-
'type'
|
377 |
-
'context'
|
|
|
|
|
378 |
),
|
379 |
),
|
380 |
);
|
@@ -384,12 +403,13 @@ abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
|
384 |
|
385 |
/**
|
386 |
* Return an array of contextual links for endpoint/object
|
|
|
387 |
* @link http://v2.wp-api.org/extending/linking/
|
388 |
* @link http://www.iana.org/assignments/link-relations/link-relations.xhtml
|
389 |
*
|
390 |
* @since 2.2.3
|
391 |
*
|
392 |
-
* @param mixed
|
393 |
*
|
394 |
* @return array Array of links
|
395 |
*/
|
15 |
*
|
16 |
* @category WordPress_Plugin
|
17 |
* @package CMB2
|
18 |
+
* @author CMB2 team
|
19 |
* @license GPL-2.0+
|
20 |
+
* @link https://cmb2.io
|
21 |
*/
|
22 |
abstract class CMB2_REST_Controller extends WP_REST_Controller {
|
23 |
|
37 |
|
38 |
/**
|
39 |
* The current request object
|
40 |
+
*
|
41 |
* @var WP_REST_Request $request
|
42 |
* @since 2.2.3
|
43 |
*/
|
45 |
|
46 |
/**
|
47 |
* The current server object
|
48 |
+
*
|
49 |
* @var WP_REST_Server $server
|
50 |
* @since 2.2.3
|
51 |
*/
|
53 |
|
54 |
/**
|
55 |
* Box object id
|
56 |
+
*
|
57 |
* @var mixed
|
58 |
* @since 2.2.3
|
59 |
*/
|
61 |
|
62 |
/**
|
63 |
* Box object type
|
64 |
+
*
|
65 |
* @var string
|
66 |
* @since 2.2.3
|
67 |
*/
|
83 |
|
84 |
/**
|
85 |
* The initial route
|
86 |
+
*
|
87 |
* @var string
|
88 |
* @since 2.2.3
|
89 |
*/
|
91 |
|
92 |
/**
|
93 |
* Defines which endpoint the initial request is.
|
94 |
+
*
|
95 |
* @var string $request_type
|
96 |
* @since 2.2.3
|
97 |
*/
|
99 |
|
100 |
/**
|
101 |
* Constructor
|
102 |
+
*
|
103 |
* @since 2.2.3
|
104 |
*/
|
105 |
public function __construct( WP_REST_Server $wp_rest_server ) {
|
221 |
*
|
222 |
* @since 2.2.3
|
223 |
*
|
224 |
+
* @param mixed $item WordPress representation of the item.
|
225 |
+
* @param WP_REST_Request $request Request object.
|
226 |
* @return WP_REST_Response $response
|
227 |
*/
|
228 |
public function prepare_item_for_response( $data, $request = null ) {
|
254 |
$this->initiate_rest_box( $request, $request_type );
|
255 |
|
256 |
if ( ! is_wp_error( $this->rest_box ) && ! $this->rest_box->rest_read ) {
|
257 |
+
$this->rest_box = new WP_Error( 'cmb2_rest_no_read_error', __( 'This box does not have read permissions.', 'cmb2' ), array(
|
258 |
+
'status' => 403,
|
259 |
+
) );
|
260 |
}
|
261 |
}
|
262 |
|
274 |
$this->initiate_rest_box( $request, $request_type );
|
275 |
|
276 |
if ( ! is_wp_error( $this->rest_box ) && ! $this->rest_box->rest_edit ) {
|
277 |
+
$this->rest_box = new WP_Error( 'cmb2_rest_no_write_error', __( 'This box does not have write permissions.', 'cmb2' ), array(
|
278 |
+
'status' => 403,
|
279 |
+
) );
|
280 |
}
|
281 |
}
|
282 |
|
297 |
|
298 |
if ( ! $this->rest_box ) {
|
299 |
|
300 |
+
$this->rest_box = new WP_Error( 'cmb2_rest_box_not_found_error', __( 'No box found by that id. A box needs to be registered with the "show_in_rest" parameter configured.', 'cmb2' ), array(
|
301 |
+
'status' => 403,
|
302 |
+
) );
|
303 |
|
304 |
} else {
|
305 |
|
375 |
'type' => 'object',
|
376 |
'properties' => array(
|
377 |
'description' => array(
|
378 |
+
'description' => __( 'A human-readable description of the object.', 'cmb2' ),
|
379 |
+
'type' => 'string',
|
380 |
+
'context' => array(
|
381 |
+
'view',
|
382 |
),
|
383 |
+
),
|
384 |
+
'name' => array(
|
385 |
+
'description' => __( 'The id for the object.', 'cmb2' ),
|
386 |
+
'type' => 'integer',
|
387 |
+
'context' => array(
|
388 |
+
'view',
|
389 |
),
|
390 |
+
),
|
391 |
'name' => array(
|
392 |
+
'description' => __( 'The title for the object.', 'cmb2' ),
|
393 |
+
'type' => 'string',
|
394 |
+
'context' => array(
|
395 |
+
'view',
|
396 |
+
),
|
397 |
),
|
398 |
),
|
399 |
);
|
403 |
|
404 |
/**
|
405 |
* Return an array of contextual links for endpoint/object
|
406 |
+
*
|
407 |
* @link http://v2.wp-api.org/extending/linking/
|
408 |
* @link http://www.iana.org/assignments/link-relations/link-relations.xhtml
|
409 |
*
|
410 |
* @since 2.2.3
|
411 |
*
|
412 |
+
* @param mixed $object Object to build links from.
|
413 |
*
|
414 |
* @return array Array of links
|
415 |
*/
|
vendor/CMB2/includes/rest-api/CMB2_REST_Controller_Boxes.php
CHANGED
@@ -10,9 +10,9 @@
|
|
10 |
*
|
11 |
* @category WordPress_Plugin
|
12 |
* @package CMB2
|
13 |
-
* @author
|
14 |
* @license GPL-2.0+
|
15 |
-
* @link
|
16 |
*/
|
17 |
class CMB2_REST_Controller_Boxes extends CMB2_REST_Controller {
|
18 |
|
@@ -32,6 +32,7 @@ class CMB2_REST_Controller_Boxes extends CMB2_REST_Controller {
|
|
32 |
|
33 |
/**
|
34 |
* Constructor
|
|
|
35 |
* @since 2.2.3
|
36 |
*/
|
37 |
public function __construct( WP_REST_Server $wp_rest_server ) {
|
@@ -56,7 +57,6 @@ class CMB2_REST_Controller_Boxes extends CMB2_REST_Controller {
|
|
56 |
// $args['context']['required'] = false;
|
57 |
// $args['context']['default'] = 'view';
|
58 |
// $args['context']['enum'] = array( 'view', 'embed' );
|
59 |
-
|
60 |
// Returns all boxes data.
|
61 |
register_rest_route( $this->namespace, '/' . $this->rest_base, array(
|
62 |
array(
|
@@ -119,7 +119,9 @@ class CMB2_REST_Controller_Boxes extends CMB2_REST_Controller {
|
|
119 |
|
120 |
$boxes = CMB2_REST::get_all();
|
121 |
if ( empty( $boxes ) ) {
|
122 |
-
return new WP_Error( 'cmb2_rest_no_boxes', __( 'No boxes found.', 'cmb2' ), array(
|
|
|
|
|
123 |
}
|
124 |
|
125 |
$boxes_data = array();
|
10 |
*
|
11 |
* @category WordPress_Plugin
|
12 |
* @package CMB2
|
13 |
+
* @author CMB2 team
|
14 |
* @license GPL-2.0+
|
15 |
+
* @link https://cmb2.io
|
16 |
*/
|
17 |
class CMB2_REST_Controller_Boxes extends CMB2_REST_Controller {
|
18 |
|
32 |
|
33 |
/**
|
34 |
* Constructor
|
35 |
+
*
|
36 |
* @since 2.2.3
|
37 |
*/
|
38 |
public function __construct( WP_REST_Server $wp_rest_server ) {
|
57 |
// $args['context']['required'] = false;
|
58 |
// $args['context']['default'] = 'view';
|
59 |
// $args['context']['enum'] = array( 'view', 'embed' );
|
|
|
60 |
// Returns all boxes data.
|
61 |
register_rest_route( $this->namespace, '/' . $this->rest_base, array(
|
62 |
array(
|
119 |
|
120 |
$boxes = CMB2_REST::get_all();
|
121 |
if ( empty( $boxes ) ) {
|
122 |
+
return new WP_Error( 'cmb2_rest_no_boxes', __( 'No boxes found.', 'cmb2' ), array(
|
123 |
+
'status' => 403,
|
124 |
+
) );
|
125 |
}
|
126 |
|
127 |
$boxes_data = array();
|
vendor/CMB2/includes/rest-api/CMB2_REST_Controller_Fields.php
CHANGED
@@ -10,9 +10,9 @@
|
|
10 |
*
|
11 |
* @category WordPress_Plugin
|
12 |
* @package CMB2
|
13 |
-
* @author
|
14 |
* @license GPL-2.0+
|
15 |
-
* @link
|
16 |
*/
|
17 |
class CMB2_REST_Controller_Fields extends CMB2_REST_Controller_Boxes {
|
18 |
|
@@ -233,7 +233,9 @@ class CMB2_REST_Controller_Fields extends CMB2_REST_Controller_Boxes {
|
|
233 |
$this->initiate_rest_read_box( $request, 'field_value_update' );
|
234 |
|
235 |
if ( ! $this->request['value'] ) {
|
236 |
-
return new WP_Error( 'cmb2_rest_update_field_error', __( 'CMB2 Field value cannot be updated without the value parameter specified.', 'cmb2' ), array(
|
|
|
|
|
237 |
}
|
238 |
|
239 |
return $this->modify_field_value( 'updated' );
|
@@ -289,10 +291,12 @@ class CMB2_REST_Controller_Fields extends CMB2_REST_Controller_Boxes {
|
|
289 |
* @param string $activity The modification activity (updated or deleted).
|
290 |
* @return WP_Error|WP_REST_Response
|
291 |
*/
|
292 |
-
public function modify_field_value( $activity) {
|
293 |
|
294 |
if ( ! $this->request['object_id'] || ! $this->request['object_type'] ) {
|
295 |
-
return new WP_Error( 'cmb2_rest_modify_field_value_error', __( 'CMB2 Field value cannot be modified without the object_id and object_type parameters specified.', 'cmb2' ), array(
|
|
|
|
|
296 |
}
|
297 |
|
298 |
if ( is_wp_error( $this->rest_box ) ) {
|
@@ -305,16 +309,18 @@ class CMB2_REST_Controller_Fields extends CMB2_REST_Controller_Boxes {
|
|
305 |
);
|
306 |
|
307 |
if ( ! $this->field ) {
|
308 |
-
return new WP_Error( 'cmb2_rest_no_field_by_id_error', __( 'No field found by that id.', 'cmb2' ), array(
|
|
|
|
|
309 |
}
|
310 |
|
311 |
-
$this->field->args["value_{$activity}"] = (bool) 'deleted' === $activity
|
312 |
? $this->field->remove_data()
|
313 |
: $this->field->save_field( $this->request['value'] );
|
314 |
|
315 |
// If options page, save the $activity options
|
316 |
if ( 'options-page' == $this->request['object_type'] ) {
|
317 |
-
$this->field->args["value_{$activity}"] = cmb2_options( $this->request['object_id'] )->set();
|
318 |
}
|
319 |
|
320 |
return $this->prepare_read_field( $this->field );
|
@@ -332,7 +338,9 @@ class CMB2_REST_Controller_Fields extends CMB2_REST_Controller_Boxes {
|
|
332 |
$this->field = $this->rest_box->field_can_read( $field, true );
|
333 |
|
334 |
if ( ! $this->field ) {
|
335 |
-
return new WP_Error( 'cmb2_rest_no_field_by_id_error', __( 'No field found by that id.', 'cmb2' ), array(
|
|
|
|
|
336 |
}
|
337 |
|
338 |
return $this->prepare_item( $this->prepare_field_response() );
|
10 |
*
|
11 |
* @category WordPress_Plugin
|
12 |
* @package CMB2
|
13 |
+
* @author CMB2 team
|
14 |
* @license GPL-2.0+
|
15 |
+
* @link https://cmb2.io
|
16 |
*/
|
17 |
class CMB2_REST_Controller_Fields extends CMB2_REST_Controller_Boxes {
|
18 |
|
233 |
$this->initiate_rest_read_box( $request, 'field_value_update' );
|
234 |
|
235 |
if ( ! $this->request['value'] ) {
|
236 |
+
return new WP_Error( 'cmb2_rest_update_field_error', __( 'CMB2 Field value cannot be updated without the value parameter specified.', 'cmb2' ), array(
|
237 |
+
'status' => 400,
|
238 |
+
) );
|
239 |
}
|
240 |
|
241 |
return $this->modify_field_value( 'updated' );
|
291 |
* @param string $activity The modification activity (updated or deleted).
|
292 |
* @return WP_Error|WP_REST_Response
|
293 |
*/
|
294 |
+
public function modify_field_value( $activity ) {
|
295 |
|
296 |
if ( ! $this->request['object_id'] || ! $this->request['object_type'] ) {
|
297 |
+
return new WP_Error( 'cmb2_rest_modify_field_value_error', __( 'CMB2 Field value cannot be modified without the object_id and object_type parameters specified.', 'cmb2' ), array(
|
298 |
+
'status' => 400,
|
299 |
+
) );
|
300 |
}
|
301 |
|
302 |
if ( is_wp_error( $this->rest_box ) ) {
|
309 |
);
|
310 |
|
311 |
if ( ! $this->field ) {
|
312 |
+
return new WP_Error( 'cmb2_rest_no_field_by_id_error', __( 'No field found by that id.', 'cmb2' ), array(
|
313 |
+
'status' => 403,
|
314 |
+
) );
|
315 |
}
|
316 |
|
317 |
+
$this->field->args[ "value_{$activity}" ] = (bool) 'deleted' === $activity
|
318 |
? $this->field->remove_data()
|
319 |
: $this->field->save_field( $this->request['value'] );
|
320 |
|
321 |
// If options page, save the $activity options
|
322 |
if ( 'options-page' == $this->request['object_type'] ) {
|
323 |
+
$this->field->args[ "value_{$activity}" ] = cmb2_options( $this->request['object_id'] )->set();
|
324 |
}
|
325 |
|
326 |
return $this->prepare_read_field( $this->field );
|
338 |
$this->field = $this->rest_box->field_can_read( $field, true );
|
339 |
|
340 |
if ( ! $this->field ) {
|
341 |
+
return new WP_Error( 'cmb2_rest_no_field_by_id_error', __( 'No field found by that id.', 'cmb2' ), array(
|
342 |
+
'status' => 403,
|
343 |
+
) );
|
344 |
}
|
345 |
|
346 |
return $this->prepare_item( $this->prepare_field_response() );
|
vendor/CMB2/includes/shim/WP_REST_Controller.php
CHANGED
@@ -21,7 +21,8 @@ abstract class WP_REST_Controller {
|
|
21 |
* Register the routes for the objects of the controller.
|
22 |
*/
|
23 |
public function register_routes() {
|
24 |
-
|
|
|
25 |
}
|
26 |
|
27 |
/**
|
@@ -31,7 +32,9 @@ abstract class WP_REST_Controller {
|
|
31 |
* @return WP_Error|boolean
|
32 |
*/
|
33 |
public function get_items_permissions_check( $request ) {
|
34 |
-
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be
|
|
|
|
|
35 |
}
|
36 |
|
37 |
/**
|
@@ -41,7 +44,9 @@ abstract class WP_REST_Controller {
|
|
41 |
* @return WP_Error|WP_REST_Response
|
42 |
*/
|
43 |
public function get_items( $request ) {
|
44 |
-
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be
|
|
|
|
|
45 |
}
|
46 |
|
47 |
/**
|
@@ -51,7 +56,9 @@ abstract class WP_REST_Controller {
|
|
51 |
* @return WP_Error|boolean
|
52 |
*/
|
53 |
public function get_item_permissions_check( $request ) {
|
54 |
-
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be
|
|
|
|
|
55 |
}
|
56 |
|
57 |
/**
|
@@ -61,7 +68,9 @@ abstract class WP_REST_Controller {
|
|
61 |
* @return WP_Error|WP_REST_Response
|
62 |
*/
|
63 |
public function get_item( $request ) {
|
64 |
-
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be
|
|
|
|
|
65 |
}
|
66 |
|
67 |
/**
|
@@ -71,7 +80,9 @@ abstract class WP_REST_Controller {
|
|
71 |
* @return WP_Error|boolean
|
72 |
*/
|
73 |
public function create_item_permissions_check( $request ) {
|
74 |
-
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be
|
|
|
|
|
75 |
}
|
76 |
|
77 |
/**
|
@@ -81,7 +92,9 @@ abstract class WP_REST_Controller {
|
|
81 |
* @return WP_Error|WP_REST_Response
|
82 |
*/
|
83 |
public function create_item( $request ) {
|
84 |
-
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be
|
|
|
|
|
85 |
}
|
86 |
|
87 |
/**
|
@@ -91,7 +104,9 @@ abstract class WP_REST_Controller {
|
|
91 |
* @return WP_Error|boolean
|
92 |
*/
|
93 |
public function update_item_permissions_check( $request ) {
|
94 |
-
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be
|
|
|
|
|
95 |
}
|
96 |
|
97 |
/**
|
@@ -101,7 +116,9 @@ abstract class WP_REST_Controller {
|
|
101 |
* @return WP_Error|WP_REST_Response
|
102 |
*/
|
103 |
public function update_item( $request ) {
|
104 |
-
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be
|
|
|
|
|
105 |
}
|
106 |
|
107 |
/**
|
@@ -111,7 +128,9 @@ abstract class WP_REST_Controller {
|
|
111 |
* @return WP_Error|boolean
|
112 |
*/
|
113 |
public function delete_item_permissions_check( $request ) {
|
114 |
-
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be
|
|
|
|
|
115 |
}
|
116 |
|
117 |
/**
|
@@ -121,7 +140,9 @@ abstract class WP_REST_Controller {
|
|
121 |
* @return WP_Error|WP_REST_Response
|
122 |
*/
|
123 |
public function delete_item( $request ) {
|
124 |
-
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be
|
|
|
|
|
125 |
}
|
126 |
|
127 |
/**
|
@@ -131,18 +152,22 @@ abstract class WP_REST_Controller {
|
|
131 |
* @return WP_Error|object $prepared_item
|
132 |
*/
|
133 |
protected function prepare_item_for_database( $request ) {
|
134 |
-
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be
|
|
|
|
|
135 |
}
|
136 |
|
137 |
/**
|
138 |
* Prepare the item for the REST response.
|
139 |
*
|
140 |
-
* @param mixed
|
141 |
* @param WP_REST_Request $request Request object.
|
142 |
* @return WP_REST_Response $response
|
143 |
*/
|
144 |
public function prepare_item_for_response( $item, $request ) {
|
145 |
-
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be
|
|
|
|
|
146 |
}
|
147 |
|
148 |
/**
|
@@ -175,7 +200,7 @@ abstract class WP_REST_Controller {
|
|
175 |
/**
|
176 |
* Filter a response based on the context defined in the schema.
|
177 |
*
|
178 |
-
* @param array
|
179 |
* @param string $context
|
180 |
* @return array
|
181 |
*/
|
@@ -275,7 +300,7 @@ abstract class WP_REST_Controller {
|
|
275 |
*
|
276 |
* Ensures consistent description between endpoints, and populates enum from schema.
|
277 |
*
|
278 |
-
* @param array
|
279 |
* @return array
|
280 |
*/
|
281 |
public function get_context_param( $args = array() ) {
|
@@ -305,7 +330,7 @@ abstract class WP_REST_Controller {
|
|
305 |
/**
|
306 |
* Add the values from additional fields to a data object.
|
307 |
*
|
308 |
-
* @param array
|
309 |
* @param WP_REST_Request $request
|
310 |
* @return array modified object with additional fields.
|
311 |
*/
|
@@ -328,7 +353,7 @@ abstract class WP_REST_Controller {
|
|
328 |
/**
|
329 |
* Update the values of additional fields added to a data object.
|
330 |
*
|
331 |
-
* @param array
|
332 |
* @param WP_REST_Request $request
|
333 |
*/
|
334 |
protected function update_additional_fields_for_object( $object, $request ) {
|
@@ -471,12 +496,15 @@ abstract class WP_REST_Controller {
|
|
471 |
|
472 |
// Only use required / default from arg_options on CREATABLE endpoints.
|
473 |
if ( WP_REST_Server::CREATABLE !== $method ) {
|
474 |
-
$params['arg_options'] = array_diff_key( $params['arg_options'], array(
|
|
|
|
|
|
|
475 |
}
|
476 |
|
477 |
$endpoint_args[ $field_id ] = array_merge( $endpoint_args[ $field_id ], $params['arg_options'] );
|
478 |
}
|
479 |
-
}
|
480 |
|
481 |
return $endpoint_args;
|
482 |
}
|
21 |
* Register the routes for the objects of the controller.
|
22 |
*/
|
23 |
public function register_routes() {
|
24 |
+
/* translators: %s: register_routes() */
|
25 |
+
_doing_it_wrong( 'WP_REST_Controller::register_routes', sprintf( __( "Method '%s' must be overridden." ), __METHOD__ ), '4.7' );
|
26 |
}
|
27 |
|
28 |
/**
|
32 |
* @return WP_Error|boolean
|
33 |
*/
|
34 |
public function get_items_permissions_check( $request ) {
|
35 |
+
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
36 |
+
'status' => 405,
|
37 |
+
) );
|
38 |
}
|
39 |
|
40 |
/**
|
44 |
* @return WP_Error|WP_REST_Response
|
45 |
*/
|
46 |
public function get_items( $request ) {
|
47 |
+
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
48 |
+
'status' => 405,
|
49 |
+
) );
|
50 |
}
|
51 |
|
52 |
/**
|
56 |
* @return WP_Error|boolean
|
57 |
*/
|
58 |
public function get_item_permissions_check( $request ) {
|
59 |
+
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
60 |
+
'status' => 405,
|
61 |
+
) );
|
62 |
}
|
63 |
|
64 |
/**
|
68 |
* @return WP_Error|WP_REST_Response
|
69 |
*/
|
70 |
public function get_item( $request ) {
|
71 |
+
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
72 |
+
'status' => 405,
|
73 |
+
) );
|
74 |
}
|
75 |
|
76 |
/**
|
80 |
* @return WP_Error|boolean
|
81 |
*/
|
82 |
public function create_item_permissions_check( $request ) {
|
83 |
+
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
84 |
+
'status' => 405,
|
85 |
+
) );
|
86 |
}
|
87 |
|
88 |
/**
|
92 |
* @return WP_Error|WP_REST_Response
|
93 |
*/
|
94 |
public function create_item( $request ) {
|
95 |
+
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
96 |
+
'status' => 405,
|
97 |
+
) );
|
98 |
}
|
99 |
|
100 |
/**
|
104 |
* @return WP_Error|boolean
|
105 |
*/
|
106 |
public function update_item_permissions_check( $request ) {
|
107 |
+
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
108 |
+
'status' => 405,
|
109 |
+
) );
|
110 |
}
|
111 |
|
112 |
/**
|
116 |
* @return WP_Error|WP_REST_Response
|
117 |
*/
|
118 |
public function update_item( $request ) {
|
119 |
+
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
120 |
+
'status' => 405,
|
121 |
+
) );
|
122 |
}
|
123 |
|
124 |
/**
|
128 |
* @return WP_Error|boolean
|
129 |
*/
|
130 |
public function delete_item_permissions_check( $request ) {
|
131 |
+
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
132 |
+
'status' => 405,
|
133 |
+
) );
|
134 |
}
|
135 |
|
136 |
/**
|
140 |
* @return WP_Error|WP_REST_Response
|
141 |
*/
|
142 |
public function delete_item( $request ) {
|
143 |
+
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
144 |
+
'status' => 405,
|
145 |
+
) );
|
146 |
}
|
147 |
|
148 |
/**
|
152 |
* @return WP_Error|object $prepared_item
|
153 |
*/
|
154 |
protected function prepare_item_for_database( $request ) {
|
155 |
+
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
156 |
+
'status' => 405,
|
157 |
+
) );
|
158 |
}
|
159 |
|
160 |
/**
|
161 |
* Prepare the item for the REST response.
|
162 |
*
|
163 |
+
* @param mixed $item WordPress representation of the item.
|
164 |
* @param WP_REST_Request $request Request object.
|
165 |
* @return WP_REST_Response $response
|
166 |
*/
|
167 |
public function prepare_item_for_response( $item, $request ) {
|
168 |
+
return new WP_Error( 'invalid-method', sprintf( __( "Method '%s' not implemented. Must be overridden in subclass." ), __METHOD__ ), array(
|
169 |
+
'status' => 405,
|
170 |
+
) );
|
171 |
}
|
172 |
|
173 |
/**
|
200 |
/**
|
201 |
* Filter a response based on the context defined in the schema.
|
202 |
*
|
203 |
+
* @param array $data
|
204 |
* @param string $context
|
205 |
* @return array
|
206 |
*/
|
300 |
*
|
301 |
* Ensures consistent description between endpoints, and populates enum from schema.
|
302 |
*
|
303 |
+
* @param array $args
|
304 |
* @return array
|
305 |
*/
|
306 |
public function get_context_param( $args = array() ) {
|
330 |
/**
|
331 |
* Add the values from additional fields to a data object.
|
332 |
*
|
333 |
+
* @param array $object
|
334 |
* @param WP_REST_Request $request
|
335 |
* @return array modified object with additional fields.
|
336 |
*/
|
353 |
/**
|
354 |
* Update the values of additional fields added to a data object.
|
355 |
*
|
356 |
+
* @param array $object
|
357 |
* @param WP_REST_Request $request
|
358 |
*/
|
359 |
protected function update_additional_fields_for_object( $object, $request ) {
|
496 |
|
497 |
// Only use required / default from arg_options on CREATABLE endpoints.
|
498 |
if ( WP_REST_Server::CREATABLE !== $method ) {
|
499 |
+
$params['arg_options'] = array_diff_key( $params['arg_options'], array(
|
500 |
+
'required' => '',
|
501 |
+
'default' => '',
|
502 |
+
) );
|
503 |
}
|
504 |
|
505 |
$endpoint_args[ $field_id ] = array_merge( $endpoint_args[ $field_id ], $params['arg_options'] );
|
506 |
}
|
507 |
+
}// End foreach().
|
508 |
|
509 |
return $endpoint_args;
|
510 |
}
|
vendor/CMB2/includes/types/CMB2_Type_Base.php
CHANGED
@@ -6,32 +6,36 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
abstract class CMB2_Type_Base {
|
14 |
|
15 |
/**
|
16 |
* The CMB2_Types object
|
|
|
17 |
* @var CMB2_Types
|
18 |
*/
|
19 |
public $types;
|
20 |
|
21 |
/**
|
22 |
* Arguments for use in the render method
|
|
|
23 |
* @var array
|
24 |
*/
|
25 |
public $args;
|
26 |
|
27 |
/**
|
28 |
* Rendered output (if 'rendered' argument is set to false)
|
|
|
29 |
* @var string
|
30 |
*/
|
31 |
protected $rendered = '';
|
32 |
|
33 |
/**
|
34 |
* Constructor
|
|
|
35 |
* @since 2.2.2
|
36 |
* @param CMB2_Types $types
|
37 |
* @param array $args
|
@@ -44,6 +48,7 @@ abstract class CMB2_Type_Base {
|
|
44 |
|
45 |
/**
|
46 |
* Handles rendering this field type.
|
|
|
47 |
* @since 2.2.2
|
48 |
* @return string Rendered field type.
|
49 |
*/
|
@@ -51,6 +56,7 @@ abstract class CMB2_Type_Base {
|
|
51 |
|
52 |
/**
|
53 |
* Stores the rendered field output.
|
|
|
54 |
* @since 2.2.2
|
55 |
* @param string|CMB2_Type_Base $rendered Rendered output.
|
56 |
* @return string|CMB2_Type_Base Rendered output or this object.
|
@@ -67,6 +73,7 @@ abstract class CMB2_Type_Base {
|
|
67 |
|
68 |
/**
|
69 |
* Returns the stored rendered field output.
|
|
|
70 |
* @since 2.2.2
|
71 |
* @return string Stored rendered output (if 'rendered' argument is set to false).
|
72 |
*/
|
@@ -76,6 +83,7 @@ abstract class CMB2_Type_Base {
|
|
76 |
|
77 |
/**
|
78 |
* Handles parsing and filtering attributes while preserving any passed in via field config.
|
|
|
79 |
* @since 1.1.0
|
80 |
* @param string $element Element for filter
|
81 |
* @param array $type_defaults Type default arguments
|
@@ -94,6 +102,7 @@ abstract class CMB2_Type_Base {
|
|
94 |
/**
|
95 |
* Filter attributes for a field type.
|
96 |
* The dynamic portion of the hook name, $element, refers to the field type.
|
|
|
97 |
* @since 1.1.0
|
98 |
* @param array $args The array of attribute arguments.
|
99 |
* @param array $type_defaults The array of default values.
|
@@ -107,6 +116,7 @@ abstract class CMB2_Type_Base {
|
|
107 |
|
108 |
/**
|
109 |
* Fall back to CMB2_Types methods
|
|
|
110 |
* @param string $field
|
111 |
* @throws Exception Throws an exception if the field is invalid.
|
112 |
* @return mixed
|
@@ -126,6 +136,7 @@ abstract class CMB2_Type_Base {
|
|
126 |
|
127 |
/**
|
128 |
* Magic getter for our object.
|
|
|
129 |
* @param string $field
|
130 |
* @throws Exception Throws an exception if the field is invalid.
|
131 |
* @return mixed
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
abstract class CMB2_Type_Base {
|
14 |
|
15 |
/**
|
16 |
* The CMB2_Types object
|
17 |
+
*
|
18 |
* @var CMB2_Types
|
19 |
*/
|
20 |
public $types;
|
21 |
|
22 |
/**
|
23 |
* Arguments for use in the render method
|
24 |
+
*
|
25 |
* @var array
|
26 |
*/
|
27 |
public $args;
|
28 |
|
29 |
/**
|
30 |
* Rendered output (if 'rendered' argument is set to false)
|
31 |
+
*
|
32 |
* @var string
|
33 |
*/
|
34 |
protected $rendered = '';
|
35 |
|
36 |
/**
|
37 |
* Constructor
|
38 |
+
*
|
39 |
* @since 2.2.2
|
40 |
* @param CMB2_Types $types
|
41 |
* @param array $args
|
48 |
|
49 |
/**
|
50 |
* Handles rendering this field type.
|
51 |
+
*
|
52 |
* @since 2.2.2
|
53 |
* @return string Rendered field type.
|
54 |
*/
|
56 |
|
57 |
/**
|
58 |
* Stores the rendered field output.
|
59 |
+
*
|
60 |
* @since 2.2.2
|
61 |
* @param string|CMB2_Type_Base $rendered Rendered output.
|
62 |
* @return string|CMB2_Type_Base Rendered output or this object.
|
73 |
|
74 |
/**
|
75 |
* Returns the stored rendered field output.
|
76 |
+
*
|
77 |
* @since 2.2.2
|
78 |
* @return string Stored rendered output (if 'rendered' argument is set to false).
|
79 |
*/
|
83 |
|
84 |
/**
|
85 |
* Handles parsing and filtering attributes while preserving any passed in via field config.
|
86 |
+
*
|
87 |
* @since 1.1.0
|
88 |
* @param string $element Element for filter
|
89 |
* @param array $type_defaults Type default arguments
|
102 |
/**
|
103 |
* Filter attributes for a field type.
|
104 |
* The dynamic portion of the hook name, $element, refers to the field type.
|
105 |
+
*
|
106 |
* @since 1.1.0
|
107 |
* @param array $args The array of attribute arguments.
|
108 |
* @param array $type_defaults The array of default values.
|
116 |
|
117 |
/**
|
118 |
* Fall back to CMB2_Types methods
|
119 |
+
*
|
120 |
* @param string $field
|
121 |
* @throws Exception Throws an exception if the field is invalid.
|
122 |
* @return mixed
|
136 |
|
137 |
/**
|
138 |
* Magic getter for our object.
|
139 |
+
*
|
140 |
* @param string $field
|
141 |
* @throws Exception Throws an exception if the field is invalid.
|
142 |
* @return mixed
|
vendor/CMB2/includes/types/CMB2_Type_Checkbox.php
CHANGED
@@ -6,9 +6,9 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Checkbox extends CMB2_Type_Text {
|
14 |
|
@@ -32,7 +32,7 @@ class CMB2_Type_Checkbox extends CMB2_Type_Text {
|
|
32 |
$this->is_checked = $is_checked;
|
33 |
}
|
34 |
|
35 |
-
public function render() {
|
36 |
$defaults = array(
|
37 |
'type' => 'checkbox',
|
38 |
'class' => 'cmb2-option cmb2-list',
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Checkbox extends CMB2_Type_Text {
|
14 |
|
32 |
$this->is_checked = $is_checked;
|
33 |
}
|
34 |
|
35 |
+
public function render( $args = array() ) {
|
36 |
$defaults = array(
|
37 |
'type' => 'checkbox',
|
38 |
'class' => 'cmb2-option cmb2-list',
|
vendor/CMB2/includes/types/CMB2_Type_Colorpicker.php
CHANGED
@@ -6,9 +6,9 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Colorpicker extends CMB2_Type_Text {
|
14 |
|
@@ -32,27 +32,48 @@ class CMB2_Type_Colorpicker extends CMB2_Type_Text {
|
|
32 |
$this->value = $value ? $value : $this->value;
|
33 |
}
|
34 |
|
35 |
-
public function render() {
|
36 |
$meta_value = $this->value ? $this->value : $this->field->escaped_value();
|
37 |
|
38 |
$hex_color = '(([a-fA-F0-9]){3}){1,2}$';
|
39 |
if ( preg_match( '/^' . $hex_color . '/i', $meta_value ) ) {
|
40 |
// Value is just 123abc, so prepend #
|
41 |
$meta_value = '#' . $meta_value;
|
42 |
-
} elseif (
|
43 |
-
//
|
|
|
|
|
|
|
|
|
|
|
44 |
$meta_value = '#';
|
45 |
}
|
46 |
|
47 |
wp_enqueue_style( 'wp-color-picker' );
|
48 |
|
49 |
-
$args = wp_parse_args( $
|
50 |
-
'class'
|
51 |
-
'value' => $meta_value,
|
52 |
-
'js_dependencies' => 'wp-color-picker',
|
53 |
) );
|
54 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
return parent::render( $args );
|
56 |
}
|
57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
}
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Colorpicker extends CMB2_Type_Text {
|
14 |
|
32 |
$this->value = $value ? $value : $this->value;
|
33 |
}
|
34 |
|
35 |
+
public function render( $args = array() ) {
|
36 |
$meta_value = $this->value ? $this->value : $this->field->escaped_value();
|
37 |
|
38 |
$hex_color = '(([a-fA-F0-9]){3}){1,2}$';
|
39 |
if ( preg_match( '/^' . $hex_color . '/i', $meta_value ) ) {
|
40 |
// Value is just 123abc, so prepend #
|
41 |
$meta_value = '#' . $meta_value;
|
42 |
+
} elseif (
|
43 |
+
// If value doesn't match #123abc...
|
44 |
+
! preg_match( '/^#' . $hex_color . '/i', $meta_value )
|
45 |
+
// And value doesn't match rgba()...
|
46 |
+
&& 0 !== strpos( trim( $meta_value ), 'rgba' )
|
47 |
+
) {
|
48 |
+
// Then sanitize to just #.
|
49 |
$meta_value = '#';
|
50 |
}
|
51 |
|
52 |
wp_enqueue_style( 'wp-color-picker' );
|
53 |
|
54 |
+
$args = wp_parse_args( $args, array(
|
55 |
+
'class' => 'cmb2-text-small',
|
|
|
|
|
56 |
) );
|
57 |
|
58 |
+
$args['class'] .= ' cmb2-colorpicker';
|
59 |
+
$args['value'] = $meta_value;
|
60 |
+
$args['js_dependencies'] = array( 'wp-color-picker' );
|
61 |
+
|
62 |
+
if ( $this->field->options( 'alpha' ) ) {
|
63 |
+
$args['js_dependencies'][] = 'wp-color-picker-alpha';
|
64 |
+
$args['data-alpha'] = 'true';
|
65 |
+
}
|
66 |
+
|
67 |
+
$args = wp_parse_args( $this->args, $args );
|
68 |
+
|
69 |
return parent::render( $args );
|
70 |
}
|
71 |
|
72 |
+
public static function dequeue_rgba_colorpicker_script() {
|
73 |
+
if ( wp_script_is( 'jw-cmb2-rgba-picker-js', 'enqueued' ) ) {
|
74 |
+
wp_dequeue_script( 'jw-cmb2-rgba-picker-js' );
|
75 |
+
CMB2_JS::register_colorpicker_alpha( true );
|
76 |
+
}
|
77 |
+
}
|
78 |
+
|
79 |
}
|
vendor/CMB2/includes/types/CMB2_Type_File.php
CHANGED
@@ -6,102 +6,163 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_File extends CMB2_Type_File_Base {
|
14 |
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
23 |
// get an array of image size meta data, fallback to 'large'
|
24 |
-
$img_size_data = parent::get_image_size_data(
|
|
|
|
|
|
|
25 |
|
26 |
-
|
27 |
-
$input_type = array_key_exists( 'url', $options ) && false === $options['url'] ? 'hidden' : 'text';
|
28 |
|
29 |
$output .= parent::render( array(
|
30 |
-
'type' => $
|
31 |
-
'class' => '
|
32 |
-
'
|
|
|
|
|
|
|
33 |
'desc' => '',
|
34 |
'data-previewsize' => sprintf( '[%d,%d]', $img_size_data['width'], $img_size_data['height'] ),
|
35 |
'data-sizename' => $img_size_data['name'],
|
36 |
-
'data-queryargs' => ! empty( $query_args ) ? json_encode( $query_args ) : '',
|
37 |
-
'js_dependencies' => '
|
38 |
) );
|
39 |
|
40 |
-
|
41 |
-
|
42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
|
44 |
-
$
|
|
|
45 |
|
46 |
-
|
47 |
-
$
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
|
52 |
-
|
53 |
-
|
54 |
-
$this->types->field = $field = $field->get_field_clone( $args );
|
55 |
|
56 |
-
|
57 |
-
|
58 |
|
59 |
-
|
60 |
-
|
61 |
-
|
|
|
|
|
62 |
}
|
63 |
|
64 |
-
|
65 |
-
|
66 |
-
|
|
|
|
|
|
|
67 |
}
|
68 |
|
69 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
'type' => 'hidden',
|
71 |
'class' => 'cmb2-upload-file-id',
|
72 |
-
'value' => $
|
73 |
'desc' => '',
|
74 |
) );
|
75 |
-
$output .= '<div id="' . $this->_id( '-status' ) . '" class="cmb2-media-status">';
|
76 |
-
if ( ! empty( $meta_value ) ) {
|
77 |
|
78 |
-
|
|
|
|
|
79 |
|
80 |
-
|
81 |
-
|
82 |
-
} else {
|
83 |
-
$image = '<img style="max-width: ' . absint( $img_size_data['width'] ) . 'px; width: 100%;" src="' . $meta_value . '" class="cmb-file-field-image" alt="" />';
|
84 |
-
}
|
85 |
|
86 |
-
|
87 |
-
'image' => $image,
|
88 |
-
'tag' => 'div',
|
89 |
-
'cached_id' => $cached_id,
|
90 |
-
) );
|
91 |
|
92 |
-
|
|
|
|
|
|
|
|
|
93 |
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
'cached_id' => $cached_id,
|
98 |
-
) );
|
99 |
|
100 |
-
|
|
|
|
|
|
|
|
|
101 |
}
|
102 |
-
$output .= '</div>';
|
103 |
|
104 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
}
|
106 |
|
107 |
}
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_File extends CMB2_Type_File_Base {
|
14 |
|
15 |
+
/**
|
16 |
+
* Handles outputting an 'file' field
|
17 |
+
*
|
18 |
+
* @param array $args Override arguments
|
19 |
+
* @return string Form input element
|
20 |
+
*/
|
21 |
+
public function render( $args = array() ) {
|
22 |
+
$args = empty( $args ) ? $this->args : $args;
|
23 |
+
$field = $this->field;
|
24 |
+
$options = (array) $field->options();
|
25 |
+
|
26 |
+
$a = $this->args = $this->parse_args( 'file', array(
|
27 |
+
'class' => 'cmb2-upload-file regular-text',
|
28 |
+
'id' => $this->_id(),
|
29 |
+
'name' => $this->_name(),
|
30 |
+
'value' => $field->escaped_value(),
|
31 |
+
'id_value' => null,
|
32 |
+
'desc' => $this->_desc( true ),
|
33 |
+
'size' => 45,
|
34 |
+
'js_dependencies' => 'media-editor',
|
35 |
+
'preview_size' => $field->args( 'preview_size' ),
|
36 |
+
'query_args' => $field->args( 'query_args' ),
|
37 |
+
|
38 |
+
// if options array and 'url' => false, then hide the url field
|
39 |
+
'type' => array_key_exists( 'url', $options ) && false === $options['url']
|
40 |
+
? 'hidden'
|
41 |
+
: 'text',
|
42 |
+
), $args );
|
43 |
|
44 |
// get an array of image size meta data, fallback to 'large'
|
45 |
+
$this->args['img_size_data'] = $img_size_data = parent::get_image_size_data(
|
46 |
+
$a['preview_size'],
|
47 |
+
'large'
|
48 |
+
);
|
49 |
|
50 |
+
$output = '';
|
|
|
51 |
|
52 |
$output .= parent::render( array(
|
53 |
+
'type' => $a['type'],
|
54 |
+
'class' => $a['class'],
|
55 |
+
'value' => $a['value'],
|
56 |
+
'id' => $a['id'],
|
57 |
+
'name' => $a['name'],
|
58 |
+
'size' => $a['size'],
|
59 |
'desc' => '',
|
60 |
'data-previewsize' => sprintf( '[%d,%d]', $img_size_data['width'], $img_size_data['height'] ),
|
61 |
'data-sizename' => $img_size_data['name'],
|
62 |
+
'data-queryargs' => ! empty( $a['query_args'] ) ? json_encode( $a['query_args'] ) : '',
|
63 |
+
'js_dependencies' => $a['js_dependencies'],
|
64 |
) );
|
65 |
|
66 |
+
// Now remove the data-iterator attribute if it exists.
|
67 |
+
// (Possible if being used within a custom field)
|
68 |
+
// This is not elegant, but compensates for CMB2_Types::_id
|
69 |
+
// automagically & inelegantly adding the data-iterator attribute.
|
70 |
+
// Single responsibility principle? pffft
|
71 |
+
$parts = explode( '"', $this->args['id'] );
|
72 |
+
$this->args['id'] = $parts[0];
|
73 |
+
|
74 |
+
$output .= sprintf(
|
75 |
+
'<input class="cmb2-upload-button button-secondary" type="button" value="%1$s" />',
|
76 |
+
esc_attr( $this->_text( 'add_upload_file_text', esc_html__( 'Add or Upload File', 'cmb2' ) ) )
|
77 |
+
);
|
78 |
|
79 |
+
$output .= $a['desc'];
|
80 |
+
$output .= $this->get_id_field_output();
|
81 |
|
82 |
+
$output .= '<div id="' . $field->id() . '-status" class="cmb2-media-status">';
|
83 |
+
if ( ! empty( $a['value'] ) ) {
|
84 |
+
$output .= $this->get_file_preview_output();
|
85 |
+
}
|
86 |
+
$output .= '</div>';
|
87 |
|
88 |
+
return $this->rendered( $output );
|
89 |
+
}
|
|
|
90 |
|
91 |
+
public function get_file_preview_output() {
|
92 |
+
if ( ! $this->is_valid_img_ext( $this->args['value'] ) ) {
|
93 |
|
94 |
+
return $this->file_status_output( array(
|
95 |
+
'value' => $this->args['value'],
|
96 |
+
'tag' => 'div',
|
97 |
+
'cached_id' => $this->args['id'],
|
98 |
+
) );
|
99 |
}
|
100 |
|
101 |
+
if ( $this->args['id_value'] ) {
|
102 |
+
$image = wp_get_attachment_image( $this->args['id_value'], $this->args['preview_size'], null, array(
|
103 |
+
'class' => 'cmb-file-field-image',
|
104 |
+
) );
|
105 |
+
} else {
|
106 |
+
$image = '<img style="max-width: ' . absint( $this->args['img_size_data']['width'] ) . 'px; width: 100%;" src="' . $this->args['value'] . '" class="cmb-file-field-image" alt="" />';
|
107 |
}
|
108 |
|
109 |
+
return $this->img_status_output( array(
|
110 |
+
'image' => $image,
|
111 |
+
'tag' => 'div',
|
112 |
+
'cached_id' => $this->args['id'],
|
113 |
+
) );
|
114 |
+
}
|
115 |
+
|
116 |
+
public function get_id_field_output() {
|
117 |
+
$field = $this->field;
|
118 |
+
|
119 |
+
/*
|
120 |
+
* A little bit of magic (tsk tsk) replacing the $this->types->field object,
|
121 |
+
* So that the render function is using the proper field object.
|
122 |
+
*/
|
123 |
+
$this->types->field = $this->get_id_field();
|
124 |
+
|
125 |
+
$output = parent::render( array(
|
126 |
'type' => 'hidden',
|
127 |
'class' => 'cmb2-upload-file-id',
|
128 |
+
'value' => $this->types->field->value,
|
129 |
'desc' => '',
|
130 |
) );
|
|
|
|
|
131 |
|
132 |
+
// We need to put the original field object back
|
133 |
+
// or other fields in a custom field will be broken.
|
134 |
+
$this->types->field = $field;
|
135 |
|
136 |
+
return $output;
|
137 |
+
}
|
|
|
|
|
|
|
138 |
|
139 |
+
public function get_id_field() {
|
|
|
|
|
|
|
|
|
140 |
|
141 |
+
// reset field args for attachment id
|
142 |
+
$args = array(
|
143 |
+
// if we're looking at a file in a group, we need to get the non-prefixed id
|
144 |
+
'id' => ( $this->field->group ? $this->field->args( '_id' ) : $this->args['id'] ) . '_id',
|
145 |
+
);
|
146 |
|
147 |
+
// and get new field object
|
148 |
+
// (need to set it to the types field property)
|
149 |
+
$id_field = $this->field->get_field_clone( $args );
|
|
|
|
|
150 |
|
151 |
+
$id_value = absint( null !== $this->args['id_value'] ? $this->args['id_value'] : $id_field->escaped_value() );
|
152 |
+
|
153 |
+
// we don't want to output "0" as a value.
|
154 |
+
if ( ! $id_value ) {
|
155 |
+
$id_value = '';
|
156 |
}
|
|
|
157 |
|
158 |
+
// if there is no id saved yet, try to get it from the url
|
159 |
+
if ( $this->args['value'] && ! $id_value ) {
|
160 |
+
$id_value = cmb2_utils::image_id_from_url( esc_url_raw( $this->args['value'] ) );
|
161 |
+
}
|
162 |
+
|
163 |
+
$id_field->value = $id_value;
|
164 |
+
|
165 |
+
return $id_field;
|
166 |
}
|
167 |
|
168 |
}
|
vendor/CMB2/includes/types/CMB2_Type_File_Base.php
CHANGED
@@ -6,14 +6,15 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_File_Base extends CMB2_Type_Text {
|
14 |
|
15 |
/**
|
16 |
* Determines if a file has a valid image extension
|
|
|
17 |
* @since 1.0.0
|
18 |
* @param string $file File url
|
19 |
* @return bool Whether file has a valid image extension
|
@@ -49,8 +50,9 @@ class CMB2_Type_File_Base extends CMB2_Type_Text {
|
|
49 |
|
50 |
/**
|
51 |
* file/file_list image wrap
|
|
|
52 |
* @since 2.0.2
|
53 |
-
* @param array
|
54 |
* @return string Image wrap output
|
55 |
*/
|
56 |
public function img_status_output( $args ) {
|
@@ -65,8 +67,9 @@ class CMB2_Type_File_Base extends CMB2_Type_Text {
|
|
65 |
|
66 |
/**
|
67 |
* file/file_list file wrap
|
|
|
68 |
* @since 2.0.2
|
69 |
-
* @param array
|
70 |
* @return string File wrap output
|
71 |
*/
|
72 |
public function file_status_output( $args ) {
|
@@ -84,6 +87,7 @@ class CMB2_Type_File_Base extends CMB2_Type_Text {
|
|
84 |
|
85 |
/**
|
86 |
* Outputs the file/file_list underscore Javascript templates in the footer.
|
|
|
87 |
* @since 2.2.4
|
88 |
* @return void
|
89 |
*/
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_File_Base extends CMB2_Type_Text {
|
14 |
|
15 |
/**
|
16 |
* Determines if a file has a valid image extension
|
17 |
+
*
|
18 |
* @since 1.0.0
|
19 |
* @param string $file File url
|
20 |
* @return bool Whether file has a valid image extension
|
50 |
|
51 |
/**
|
52 |
* file/file_list image wrap
|
53 |
+
*
|
54 |
* @since 2.0.2
|
55 |
+
* @param array $args Array of arguments for output
|
56 |
* @return string Image wrap output
|
57 |
*/
|
58 |
public function img_status_output( $args ) {
|
67 |
|
68 |
/**
|
69 |
* file/file_list file wrap
|
70 |
+
*
|
71 |
* @since 2.0.2
|
72 |
+
* @param array $args Array of arguments for output
|
73 |
* @return string File wrap output
|
74 |
*/
|
75 |
public function file_status_output( $args ) {
|
87 |
|
88 |
/**
|
89 |
* Outputs the file/file_list underscore Javascript templates in the footer.
|
90 |
+
*
|
91 |
* @since 2.2.4
|
92 |
* @return void
|
93 |
*/
|
vendor/CMB2/includes/types/CMB2_Type_File_List.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_File_List extends CMB2_Type_File_Base {
|
14 |
|
15 |
-
public function render() {
|
16 |
$field = $this->field;
|
17 |
$meta_value = $field->escaped_value();
|
18 |
$name = $this->_name();
|
@@ -26,7 +26,9 @@ class CMB2_Type_File_List extends CMB2_Type_File_Base {
|
|
26 |
$output .= parent::render( array(
|
27 |
'type' => 'hidden',
|
28 |
'class' => 'cmb2-upload-file cmb2-upload-list',
|
29 |
-
'size' => 45,
|
|
|
|
|
30 |
'data-previewsize' => sprintf( '[%d,%d]', $img_size_data['width'], $img_size_data['height'] ),
|
31 |
'data-sizename' => $img_size_data['name'],
|
32 |
'data-queryargs' => ! empty( $query_args ) ? json_encode( $query_args ) : '',
|
@@ -35,9 +37,10 @@ class CMB2_Type_File_List extends CMB2_Type_File_Base {
|
|
35 |
|
36 |
$output .= parent::render( array(
|
37 |
'type' => 'button',
|
38 |
-
'class' => 'cmb2-upload-button button cmb2-upload-list',
|
39 |
'value' => esc_attr( $this->_text( 'add_upload_files_text', esc_html__( 'Add or Upload Files', 'cmb2' ) ) ),
|
40 |
-
'name' => '',
|
|
|
41 |
) );
|
42 |
|
43 |
$output .= '<ul id="' . $this->_id( '-status' ) . '" class="cmb2-media-status cmb-attach-list">';
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_File_List extends CMB2_Type_File_Base {
|
14 |
|
15 |
+
public function render( $args = array() ) {
|
16 |
$field = $this->field;
|
17 |
$meta_value = $field->escaped_value();
|
18 |
$name = $this->_name();
|
26 |
$output .= parent::render( array(
|
27 |
'type' => 'hidden',
|
28 |
'class' => 'cmb2-upload-file cmb2-upload-list',
|
29 |
+
'size' => 45,
|
30 |
+
'desc' => '',
|
31 |
+
'value' => '',
|
32 |
'data-previewsize' => sprintf( '[%d,%d]', $img_size_data['width'], $img_size_data['height'] ),
|
33 |
'data-sizename' => $img_size_data['name'],
|
34 |
'data-queryargs' => ! empty( $query_args ) ? json_encode( $query_args ) : '',
|
37 |
|
38 |
$output .= parent::render( array(
|
39 |
'type' => 'button',
|
40 |
+
'class' => 'cmb2-upload-button button-secondary cmb2-upload-list',
|
41 |
'value' => esc_attr( $this->_text( 'add_upload_files_text', esc_html__( 'Add or Upload Files', 'cmb2' ) ) ),
|
42 |
+
'name' => '',
|
43 |
+
'id' => '',
|
44 |
) );
|
45 |
|
46 |
$output .= '<ul id="' . $this->_id( '-status' ) . '" class="cmb2-media-status cmb-attach-list">';
|
vendor/CMB2/includes/types/CMB2_Type_Multi_Base.php
CHANGED
@@ -6,16 +6,17 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
abstract class CMB2_Type_Multi_Base extends CMB2_Type_Base {
|
14 |
|
15 |
/**
|
16 |
* Generates html for an option element
|
|
|
17 |
* @since 1.1.0
|
18 |
-
* @param array
|
19 |
* @return string Generated option element html
|
20 |
*/
|
21 |
public function select_option( $args = array() ) {
|
@@ -24,9 +25,10 @@ abstract class CMB2_Type_Multi_Base extends CMB2_Type_Base {
|
|
24 |
|
25 |
/**
|
26 |
* Generates html for list item with input
|
|
|
27 |
* @since 1.1.0
|
28 |
-
* @param array
|
29 |
-
* @param int
|
30 |
* @return string Gnerated list item html
|
31 |
*/
|
32 |
public function list_input( $args = array(), $i ) {
|
@@ -44,9 +46,10 @@ abstract class CMB2_Type_Multi_Base extends CMB2_Type_Base {
|
|
44 |
|
45 |
/**
|
46 |
* Generates html for list item with checkbox input
|
|
|
47 |
* @since 1.1.0
|
48 |
-
* @param array
|
49 |
-
* @param int
|
50 |
* @return string Gnerated list item html
|
51 |
*/
|
52 |
public function list_input_checkbox( $args, $i ) {
|
@@ -60,8 +63,9 @@ abstract class CMB2_Type_Multi_Base extends CMB2_Type_Base {
|
|
60 |
|
61 |
/**
|
62 |
* Generates html for concatenated items
|
|
|
63 |
* @since 1.1.0
|
64 |
-
* @param array
|
65 |
* @return string Concatenated html items
|
66 |
*/
|
67 |
public function concat_items( $args = array() ) {
|
@@ -74,15 +78,14 @@ abstract class CMB2_Type_Multi_Base extends CMB2_Type_Base {
|
|
74 |
? $field->escaped_value()
|
75 |
: $field->get_default();
|
76 |
|
77 |
-
|
78 |
-
$value = intval( $value );
|
79 |
-
}
|
80 |
|
81 |
-
$concatenated_items = '';
|
|
|
82 |
|
83 |
$options = array();
|
84 |
if ( $option_none = $field->args( 'show_option_none' ) ) {
|
85 |
-
$options[
|
86 |
}
|
87 |
$options = $options + (array) $field->options();
|
88 |
foreach ( $options as $opt_value => $opt_label ) {
|
@@ -94,7 +97,7 @@ abstract class CMB2_Type_Multi_Base extends CMB2_Type_Base {
|
|
94 |
$a['label'] = $opt_label;
|
95 |
|
96 |
// Check if this option is the value of the input
|
97 |
-
if ( $value === $opt_value ) {
|
98 |
$a['checked'] = 'checked';
|
99 |
}
|
100 |
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
abstract class CMB2_Type_Multi_Base extends CMB2_Type_Base {
|
14 |
|
15 |
/**
|
16 |
* Generates html for an option element
|
17 |
+
*
|
18 |
* @since 1.1.0
|
19 |
+
* @param array $args Arguments array containing value, label, and checked boolean
|
20 |
* @return string Generated option element html
|
21 |
*/
|
22 |
public function select_option( $args = array() ) {
|
25 |
|
26 |
/**
|
27 |
* Generates html for list item with input
|
28 |
+
*
|
29 |
* @since 1.1.0
|
30 |
+
* @param array $args Override arguments
|
31 |
+
* @param int $i Iterator value
|
32 |
* @return string Gnerated list item html
|
33 |
*/
|
34 |
public function list_input( $args = array(), $i ) {
|
46 |
|
47 |
/**
|
48 |
* Generates html for list item with checkbox input
|
49 |
+
*
|
50 |
* @since 1.1.0
|
51 |
+
* @param array $args Override arguments
|
52 |
+
* @param int $i Iterator value
|
53 |
* @return string Gnerated list item html
|
54 |
*/
|
55 |
public function list_input_checkbox( $args, $i ) {
|
63 |
|
64 |
/**
|
65 |
* Generates html for concatenated items
|
66 |
+
*
|
67 |
* @since 1.1.0
|
68 |
+
* @param array $args Optional arguments
|
69 |
* @return string Concatenated html items
|
70 |
*/
|
71 |
public function concat_items( $args = array() ) {
|
78 |
? $field->escaped_value()
|
79 |
: $field->get_default();
|
80 |
|
81 |
+
$value = CMB2_Utils::normalize_if_numeric( $value );
|
|
|
|
|
82 |
|
83 |
+
$concatenated_items = '';
|
84 |
+
$i = 1;
|
85 |
|
86 |
$options = array();
|
87 |
if ( $option_none = $field->args( 'show_option_none' ) ) {
|
88 |
+
$options[''] = $option_none;
|
89 |
}
|
90 |
$options = $options + (array) $field->options();
|
91 |
foreach ( $options as $opt_value => $opt_label ) {
|
97 |
$a['label'] = $opt_label;
|
98 |
|
99 |
// Check if this option is the value of the input
|
100 |
+
if ( $value === CMB2_Utils::normalize_if_numeric( $opt_value ) ) {
|
101 |
$a['checked'] = 'checked';
|
102 |
}
|
103 |
|
vendor/CMB2/includes/types/CMB2_Type_Multicheck.php
CHANGED
@@ -6,9 +6,9 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Multicheck extends CMB2_Type_Radio {
|
14 |
|
@@ -19,7 +19,7 @@ class CMB2_Type_Multicheck extends CMB2_Type_Radio {
|
|
19 |
*/
|
20 |
public $type = 'checkbox';
|
21 |
|
22 |
-
public function render() {
|
23 |
$classes = false === $this->field->args( 'select_all_button' )
|
24 |
? 'cmb2-checkbox-list no-select-all cmb2-list'
|
25 |
: 'cmb2-checkbox-list cmb2-list';
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Multicheck extends CMB2_Type_Radio {
|
14 |
|
19 |
*/
|
20 |
public $type = 'checkbox';
|
21 |
|
22 |
+
public function render( $args = array() ) {
|
23 |
$classes = false === $this->field->args( 'select_all_button' )
|
24 |
? 'cmb2-checkbox-list no-select-all cmb2-list'
|
25 |
: 'cmb2-checkbox-list cmb2-list';
|
vendor/CMB2/includes/types/CMB2_Type_Oembed.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Oembed extends CMB2_Type_Text {
|
14 |
|
15 |
-
public function render() {
|
16 |
$field = $this->field;
|
17 |
|
18 |
$meta_value = trim( $field->escaped_value() );
|
@@ -22,7 +22,9 @@ class CMB2_Type_Oembed extends CMB2_Type_Text {
|
|
22 |
'url' => $field->escaped_value(),
|
23 |
'object_id' => $field->object_id,
|
24 |
'object_type' => $field->object_type,
|
25 |
-
'oembed_args' => array(
|
|
|
|
|
26 |
'field_id' => $this->_id(),
|
27 |
) )
|
28 |
: '';
|
@@ -33,7 +35,7 @@ class CMB2_Type_Oembed extends CMB2_Type_Text {
|
|
33 |
'data-objecttype' => $field->object_type,
|
34 |
) )
|
35 |
. '<p class="cmb-spinner spinner"></p>'
|
36 |
-
. '<div id="'. $this->_id( '-status' ). '" class="cmb2-media-status ui-helper-clearfix embed_wrap">' . $oembed . '</div>';
|
37 |
}
|
38 |
|
39 |
}
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Oembed extends CMB2_Type_Text {
|
14 |
|
15 |
+
public function render( $args = array() ) {
|
16 |
$field = $this->field;
|
17 |
|
18 |
$meta_value = trim( $field->escaped_value() );
|
22 |
'url' => $field->escaped_value(),
|
23 |
'object_id' => $field->object_id,
|
24 |
'object_type' => $field->object_type,
|
25 |
+
'oembed_args' => array(
|
26 |
+
'width' => '640',
|
27 |
+
),
|
28 |
'field_id' => $this->_id(),
|
29 |
) )
|
30 |
: '';
|
35 |
'data-objecttype' => $field->object_type,
|
36 |
) )
|
37 |
. '<p class="cmb-spinner spinner"></p>'
|
38 |
+
. '<div id="' . $this->_id( '-status' ) . '" class="cmb2-media-status ui-helper-clearfix embed_wrap">' . $oembed . '</div>';
|
39 |
}
|
40 |
|
41 |
}
|
vendor/CMB2/includes/types/CMB2_Type_Picker_Base.php
CHANGED
@@ -6,17 +6,18 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
abstract class CMB2_Type_Picker_Base extends CMB2_Type_Text {
|
14 |
|
15 |
/**
|
16 |
* Parse the picker attributes.
|
|
|
17 |
* @since 2.2.0
|
18 |
-
* @param string
|
19 |
-
* @param array
|
20 |
* @return array Array of field attributes
|
21 |
*/
|
22 |
public function parse_picker_options( $arg = 'date', $args = array() ) {
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
abstract class CMB2_Type_Picker_Base extends CMB2_Type_Text {
|
14 |
|
15 |
/**
|
16 |
* Parse the picker attributes.
|
17 |
+
*
|
18 |
* @since 2.2.0
|
19 |
+
* @param string $arg 'date' or 'time'
|
20 |
+
* @param array $args Optional arguments to modify (else use $this->field->args['attributes'])
|
21 |
* @return array Array of field attributes
|
22 |
*/
|
23 |
public function parse_picker_options( $arg = 'date', $args = array() ) {
|
vendor/CMB2/includes/types/CMB2_Type_Radio.php
CHANGED
@@ -6,9 +6,9 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Radio extends CMB2_Type_Multi_Base {
|
14 |
|
@@ -37,7 +37,7 @@ class CMB2_Type_Radio extends CMB2_Type_Multi_Base {
|
|
37 |
'class' => 'cmb2-radio-list cmb2-list',
|
38 |
'options' => $this->concat_items( array(
|
39 |
'label' => 'test',
|
40 |
-
'method' => 'list_input'
|
41 |
) ),
|
42 |
'desc' => $this->_desc( true ),
|
43 |
) );
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Radio extends CMB2_Type_Multi_Base {
|
14 |
|
37 |
'class' => 'cmb2-radio-list cmb2-list',
|
38 |
'options' => $this->concat_items( array(
|
39 |
'label' => 'test',
|
40 |
+
'method' => 'list_input',
|
41 |
) ),
|
42 |
'desc' => $this->_desc( true ),
|
43 |
) );
|
vendor/CMB2/includes/types/CMB2_Type_Select.php
CHANGED
@@ -6,9 +6,9 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Select extends CMB2_Type_Multi_Base {
|
14 |
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Select extends CMB2_Type_Multi_Base {
|
14 |
|
vendor/CMB2/includes/types/CMB2_Type_Select_Timezone.php
CHANGED
@@ -6,9 +6,9 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Select_Timezone extends CMB2_Type_Select {
|
14 |
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Select_Timezone extends CMB2_Type_Select {
|
14 |
|
vendor/CMB2/includes/types/CMB2_Type_Taxonomy_Base.php
CHANGED
@@ -6,14 +6,15 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
abstract class CMB2_Type_Taxonomy_Base extends CMB2_Type_Multi_Base {
|
14 |
|
15 |
/**
|
16 |
* Checks if we can get a post object, and if so, uses `get_the_terms` which utilizes caching.
|
|
|
17 |
* @since 1.0.2
|
18 |
* @return mixed Array of terms on success
|
19 |
*/
|
@@ -32,6 +33,7 @@ abstract class CMB2_Type_Taxonomy_Base extends CMB2_Type_Multi_Base {
|
|
32 |
|
33 |
/**
|
34 |
* Gets the term objects for the terms stored via options boxes.
|
|
|
35 |
* @since 2.2.4
|
36 |
* @return mixed Array of terms on success
|
37 |
*/
|
@@ -51,6 +53,7 @@ abstract class CMB2_Type_Taxonomy_Base extends CMB2_Type_Multi_Base {
|
|
51 |
|
52 |
/**
|
53 |
* For non-post objects, wraps the call to wp_get_object_terms with transient caching.
|
|
|
54 |
* @since 2.2.4
|
55 |
* @return mixed Array of terms on success
|
56 |
*/
|
@@ -75,13 +78,80 @@ abstract class CMB2_Type_Taxonomy_Base extends CMB2_Type_Multi_Base {
|
|
75 |
/**
|
76 |
* Wrapper for `get_terms` to account for changes in WP 4.6 where taxonomy is expected
|
77 |
* as part of the arguments.
|
|
|
78 |
* @since 2.2.2
|
79 |
* @return mixed Array of terms on success
|
80 |
*/
|
81 |
public function get_terms() {
|
82 |
return CMB2_Utils::wp_at_least( '4.5.0' )
|
83 |
-
? get_terms(
|
|
|
|
|
|
|
84 |
: get_terms( $this->field->args( 'taxonomy' ), 'hide_empty=0' );
|
85 |
}
|
86 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
}
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
abstract class CMB2_Type_Taxonomy_Base extends CMB2_Type_Multi_Base {
|
14 |
|
15 |
/**
|
16 |
* Checks if we can get a post object, and if so, uses `get_the_terms` which utilizes caching.
|
17 |
+
*
|
18 |
* @since 1.0.2
|
19 |
* @return mixed Array of terms on success
|
20 |
*/
|
33 |
|
34 |
/**
|
35 |
* Gets the term objects for the terms stored via options boxes.
|
36 |
+
*
|
37 |
* @since 2.2.4
|
38 |
* @return mixed Array of terms on success
|
39 |
*/
|
53 |
|
54 |
/**
|
55 |
* For non-post objects, wraps the call to wp_get_object_terms with transient caching.
|
56 |
+
*
|
57 |
* @since 2.2.4
|
58 |
* @return mixed Array of terms on success
|
59 |
*/
|
78 |
/**
|
79 |
* Wrapper for `get_terms` to account for changes in WP 4.6 where taxonomy is expected
|
80 |
* as part of the arguments.
|
81 |
+
*
|
82 |
* @since 2.2.2
|
83 |
* @return mixed Array of terms on success
|
84 |
*/
|
85 |
public function get_terms() {
|
86 |
return CMB2_Utils::wp_at_least( '4.5.0' )
|
87 |
+
? get_terms( wp_parse_args( $this->field->prop( 'query_args', array() ), array(
|
88 |
+
'taxonomy' => $this->field->args( 'taxonomy' ),
|
89 |
+
'hide_empty' => false,
|
90 |
+
) ) )
|
91 |
: get_terms( $this->field->args( 'taxonomy' ), 'hide_empty=0' );
|
92 |
}
|
93 |
|
94 |
+
protected function no_terms_result( $error, $tag = 'li' ) {
|
95 |
+
if ( is_wp_error( $error ) ) {
|
96 |
+
$message = $error->get_error_message();
|
97 |
+
$data = 'data-error="' . esc_attr( $error->get_error_code() ) . '"';
|
98 |
+
} else {
|
99 |
+
$message = $this->_text( 'no_terms_text', esc_html__( 'No terms', 'cmb2' ) );
|
100 |
+
$data = '';
|
101 |
+
}
|
102 |
+
|
103 |
+
$this->field->args['select_all_button'] = false;
|
104 |
+
|
105 |
+
return sprintf( '<%3$s><label %1$s>%2$s</label></%3$s>', $data, esc_html( $message ), $tag );
|
106 |
+
}
|
107 |
+
|
108 |
+
public function get_object_term_or_default() {
|
109 |
+
$saved_terms = $this->get_object_terms();
|
110 |
+
|
111 |
+
return is_wp_error( $saved_terms ) || empty( $saved_terms )
|
112 |
+
? $this->field->get_default()
|
113 |
+
: array_shift( $saved_terms )->slug;
|
114 |
+
}
|
115 |
+
|
116 |
+
/**
|
117 |
+
* Takes a list of all tax terms and outputs.
|
118 |
+
*
|
119 |
+
* @since 2.2.5
|
120 |
+
*
|
121 |
+
* @param array $all_terms Array of all terms.
|
122 |
+
* @param array|string $saved Array of terms set to the object, or single term slug.
|
123 |
+
*
|
124 |
+
* @return string List of terms.
|
125 |
+
*/
|
126 |
+
protected function loop_terms( $all_terms, $saved_terms ) {
|
127 |
+
return '';
|
128 |
+
}
|
129 |
+
|
130 |
+
/**
|
131 |
+
* Build children hierarchy.
|
132 |
+
*
|
133 |
+
* @param object $parent_term The parent term object.
|
134 |
+
* @param array|string $saved Array of terms set to the object, or single term slug.
|
135 |
+
*
|
136 |
+
* @return string List of terms.
|
137 |
+
*/
|
138 |
+
protected function build_children( $parent_term, $saved ) {
|
139 |
+
if ( empty( $parent_term->term_id ) ) {
|
140 |
+
return '';
|
141 |
+
}
|
142 |
+
|
143 |
+
$this->parent = $parent_term->term_id;
|
144 |
+
|
145 |
+
$terms = $this->get_terms();
|
146 |
+
$options = '';
|
147 |
+
|
148 |
+
if ( ! empty( $terms ) && is_array( $terms ) ) {
|
149 |
+
$options = '<li class="cmb2-indented-hierarchy"><ul>';
|
150 |
+
$options .= $this->loop_terms( $terms, $saved );
|
151 |
+
$options .= '</ul></li>';
|
152 |
+
}
|
153 |
+
|
154 |
+
return $options;
|
155 |
+
}
|
156 |
+
|
157 |
}
|
vendor/CMB2/includes/types/CMB2_Type_Taxonomy_Multicheck.php
CHANGED
@@ -6,49 +6,71 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Taxonomy_Multicheck extends CMB2_Type_Taxonomy_Base {
|
|
|
14 |
|
15 |
public function render() {
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
foreach ( $terms as $term ) {
|
31 |
-
$args = array(
|
32 |
-
'value' => $term->slug,
|
33 |
-
'label' => $term->name,
|
34 |
-
'type' => 'checkbox',
|
35 |
-
'name' => $name,
|
36 |
-
);
|
37 |
-
|
38 |
-
if ( is_array( $saved_terms ) && in_array( $term->slug, $saved_terms ) ) {
|
39 |
-
$args['checked'] = 'checked';
|
40 |
-
}
|
41 |
-
$options .= $this->list_input( $args, $i );
|
42 |
-
$i++;
|
43 |
-
}
|
44 |
}
|
45 |
|
46 |
-
$
|
47 |
-
|
48 |
-
: 'cmb2-checkbox-list cmb2-list';
|
49 |
|
50 |
-
|
51 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
52 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
}
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Taxonomy_Multicheck extends CMB2_Type_Taxonomy_Base {
|
14 |
+
protected $counter = 0;
|
15 |
|
16 |
public function render() {
|
17 |
+
return $this->rendered(
|
18 |
+
$this->types->radio( array(
|
19 |
+
'class' => $this->get_wrapper_classes(),
|
20 |
+
'options' => $this->get_term_options(),
|
21 |
+
), 'taxonomy_multicheck' )
|
22 |
+
);
|
23 |
+
}
|
24 |
+
|
25 |
+
protected function get_term_options() {
|
26 |
+
$all_terms = $this->get_terms();
|
27 |
+
|
28 |
+
if ( ! $all_terms || is_wp_error( $all_terms ) ) {
|
29 |
+
return $this->no_terms_result( $all_terms );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
}
|
31 |
|
32 |
+
return $this->loop_terms( $all_terms, $this->get_object_term_or_default() );
|
33 |
+
}
|
|
|
34 |
|
35 |
+
protected function loop_terms( $all_terms, $saved_terms ) {
|
36 |
+
$options = '';
|
37 |
+
foreach ( $all_terms as $term ) {
|
38 |
+
$options .= $this->list_term_input( $term, $saved_terms );
|
39 |
+
}
|
40 |
+
|
41 |
+
return $options;
|
42 |
+
}
|
43 |
+
|
44 |
+
protected function list_term_input( $term, $saved_terms ) {
|
45 |
+
$args = array(
|
46 |
+
'value' => $term->slug,
|
47 |
+
'label' => $term->name,
|
48 |
+
'type' => 'checkbox',
|
49 |
+
'name' => $this->_name() . '[]',
|
50 |
);
|
51 |
+
|
52 |
+
if ( is_array( $saved_terms ) && in_array( $term->slug, $saved_terms ) ) {
|
53 |
+
$args['checked'] = 'checked';
|
54 |
+
}
|
55 |
+
|
56 |
+
return $this->list_input( $args, ++$this->counter );
|
57 |
+
}
|
58 |
+
|
59 |
+
public function get_object_term_or_default() {
|
60 |
+
$saved_terms = $this->get_object_terms();
|
61 |
+
|
62 |
+
return is_wp_error( $saved_terms ) || empty( $saved_terms )
|
63 |
+
? $this->field->get_default()
|
64 |
+
: wp_list_pluck( $saved_terms, 'slug' );
|
65 |
}
|
66 |
+
|
67 |
+
protected function get_wrapper_classes() {
|
68 |
+
$classes = 'cmb2-checkbox-list cmb2-list';
|
69 |
+
if ( false === $this->field->args( 'select_all_button' ) ) {
|
70 |
+
$classes .= ' no-select-all';
|
71 |
+
}
|
72 |
+
|
73 |
+
return $classes;
|
74 |
+
}
|
75 |
+
|
76 |
}
|
vendor/CMB2/includes/types/CMB2_Type_Taxonomy_Multicheck_Hierarchical.php
ADDED
@@ -0,0 +1,46 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CMB taxonomy_multicheck field type
|
4 |
+
*
|
5 |
+
* @since 2.2.2
|
6 |
+
*
|
7 |
+
* @category WordPress_Plugin
|
8 |
+
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
+
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
+
*/
|
13 |
+
class CMB2_Type_Taxonomy_Multicheck_Hierarchical extends CMB2_Type_Taxonomy_Multicheck {
|
14 |
+
protected $parent = 0;
|
15 |
+
|
16 |
+
public function render() {
|
17 |
+
return $this->rendered(
|
18 |
+
$this->types->radio( array(
|
19 |
+
'class' => $this->get_wrapper_classes(),
|
20 |
+
'options' => $this->get_term_options(),
|
21 |
+
), 'taxonomy_multicheck_hierarchical' )
|
22 |
+
);
|
23 |
+
}
|
24 |
+
|
25 |
+
protected function list_term_input( $term, $saved_terms ) {
|
26 |
+
$options = parent::list_term_input( $term, $saved_terms );
|
27 |
+
$children = $this->build_children( $term, $saved_terms );
|
28 |
+
|
29 |
+
if ( ! empty( $children ) ) {
|
30 |
+
$options .= $children;
|
31 |
+
}
|
32 |
+
|
33 |
+
return $options;
|
34 |
+
}
|
35 |
+
|
36 |
+
public function get_terms() {
|
37 |
+
return CMB2_Utils::wp_at_least( '4.5.0' )
|
38 |
+
? get_terms( wp_parse_args( $this->field->prop( 'query_args', array() ), array(
|
39 |
+
'taxonomy' => $this->field->args( 'taxonomy' ),
|
40 |
+
'hide_empty' => false,
|
41 |
+
'parent' => $this->parent,
|
42 |
+
) ) )
|
43 |
+
: get_terms( $this->field->args( 'taxonomy' ), 'hide_empty=0&parent=0' );
|
44 |
+
}
|
45 |
+
|
46 |
+
}
|
vendor/CMB2/includes/types/CMB2_Type_Taxonomy_Radio.php
CHANGED
@@ -6,76 +6,87 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Taxonomy_Radio extends CMB2_Type_Taxonomy_Base {
|
|
|
14 |
|
15 |
public function render() {
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
if ( ! empty( $option_none ) ) {
|
29 |
-
|
30 |
-
$field_id = $this->_id();
|
31 |
-
|
32 |
-
/**
|
33 |
-
* Default (option-none) taxonomy-radio value.
|
34 |
-
*
|
35 |
-
* @since 1.3.0
|
36 |
-
*
|
37 |
-
* @param string $option_none_value Default (option-none) taxonomy-radio value.
|
38 |
-
*/
|
39 |
-
$option_none_value = apply_filters( 'cmb2_taxonomy_radio_default_value', '' );
|
40 |
-
|
41 |
-
/**
|
42 |
-
* Default (option-none) taxonomy-radio value.
|
43 |
-
*
|
44 |
-
* The dynamic portion of the hook name, $field_id, refers to the field id attribute.
|
45 |
-
*
|
46 |
-
* @since 1.3.0
|
47 |
-
*
|
48 |
-
* @param string $option_none_value Default (option-none) taxonomy-radio value.
|
49 |
-
*/
|
50 |
-
$option_none_value = apply_filters( "cmb2_taxonomy_radio_{$field_id}_default_value", $option_none_value );
|
51 |
-
|
52 |
-
$args = array(
|
53 |
-
'value' => $option_none_value,
|
54 |
-
'label' => $option_none,
|
55 |
-
);
|
56 |
-
if ( $saved_term == $option_none_value ) {
|
57 |
-
$args['checked'] = 'checked';
|
58 |
-
}
|
59 |
-
$options .= $this->list_input( $args, $i );
|
60 |
-
$i++;
|
61 |
-
}
|
62 |
-
|
63 |
-
foreach ( $terms as $term ) {
|
64 |
-
$args = array(
|
65 |
-
'value' => $term->slug,
|
66 |
-
'label' => $term->name,
|
67 |
-
);
|
68 |
-
|
69 |
-
if ( $saved_term == $term->slug ) {
|
70 |
-
$args['checked'] = 'checked';
|
71 |
-
}
|
72 |
-
$options .= $this->list_input( $args, $i );
|
73 |
-
$i++;
|
74 |
-
}
|
75 |
}
|
76 |
|
77 |
-
|
78 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
}
|
|
|
81 |
}
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Taxonomy_Radio extends CMB2_Type_Taxonomy_Base {
|
14 |
+
protected $counter = 0;
|
15 |
|
16 |
public function render() {
|
17 |
+
return $this->rendered(
|
18 |
+
$this->types->radio( array(
|
19 |
+
'options' => $this->get_term_options(),
|
20 |
+
), 'taxonomy_radio' )
|
21 |
+
);
|
22 |
+
}
|
23 |
+
|
24 |
+
protected function get_term_options() {
|
25 |
+
$all_terms = $this->get_terms();
|
26 |
+
|
27 |
+
if ( ! $all_terms || is_wp_error( $all_terms ) ) {
|
28 |
+
return $this->no_terms_result( $all_terms );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
}
|
30 |
|
31 |
+
$saved_term = $this->get_object_term_or_default();
|
32 |
+
$option_none = $this->field->args( 'show_option_none' );
|
33 |
+
$options = '';
|
34 |
+
|
35 |
+
if ( ! empty( $option_none ) ) {
|
36 |
+
|
37 |
+
$field_id = $this->_id();
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Default (option-none) taxonomy-radio value.
|
41 |
+
*
|
42 |
+
* @since 1.3.0
|
43 |
+
*
|
44 |
+
* @param string $option_none_value Default (option-none) taxonomy-radio value.
|
45 |
+
*/
|
46 |
+
$option_none_value = apply_filters( 'cmb2_taxonomy_radio_default_value', '' );
|
47 |
+
|
48 |
+
/**
|
49 |
+
* Default (option-none) taxonomy-radio value.
|
50 |
+
*
|
51 |
+
* The dynamic portion of the hook name, $field_id, refers to the field id attribute.
|
52 |
+
*
|
53 |
+
* @since 1.3.0
|
54 |
+
*
|
55 |
+
* @param string $option_none_value Default (option-none) taxonomy-radio value.
|
56 |
+
*/
|
57 |
+
$option_none_value = apply_filters( "cmb2_taxonomy_radio_{$field_id}_default_value", $option_none_value );
|
58 |
+
|
59 |
+
$options .= $this->list_term_input( (object) array(
|
60 |
+
'slug' => $option_none_value,
|
61 |
+
'name' => $option_none,
|
62 |
+
), $saved_term );
|
63 |
+
}
|
64 |
+
|
65 |
+
$options .= $this->loop_terms( $all_terms, $saved_term );
|
66 |
+
|
67 |
+
return $options;
|
68 |
+
}
|
69 |
+
|
70 |
+
protected function loop_terms( $all_terms, $saved_term ) {
|
71 |
+
$options = '';
|
72 |
+
foreach ( $all_terms as $term ) {
|
73 |
+
$options .= $this->list_term_input( $term, $saved_term );
|
74 |
+
}
|
75 |
+
|
76 |
+
return $options;
|
77 |
+
}
|
78 |
+
|
79 |
+
protected function list_term_input( $term, $saved_term ) {
|
80 |
+
$args = array(
|
81 |
+
'value' => $term->slug,
|
82 |
+
'label' => $term->name,
|
83 |
);
|
84 |
+
|
85 |
+
if ( $saved_term == $term->slug ) {
|
86 |
+
$args['checked'] = 'checked';
|
87 |
+
}
|
88 |
+
|
89 |
+
return $this->list_input( $args, ++$this->counter );
|
90 |
}
|
91 |
+
|
92 |
}
|
vendor/CMB2/includes/types/CMB2_Type_Taxonomy_Radio_Hierarchical.php
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* CMB taxonomy_multicheck field type
|
4 |
+
*
|
5 |
+
* @since 2.2.2
|
6 |
+
*
|
7 |
+
* @category WordPress_Plugin
|
8 |
+
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
+
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
+
*/
|
13 |
+
class CMB2_Type_Taxonomy_Radio_Hierarchical extends CMB2_Type_Taxonomy_Radio {
|
14 |
+
protected $parent = 0;
|
15 |
+
|
16 |
+
public function render() {
|
17 |
+
return $this->rendered(
|
18 |
+
$this->types->radio( array(
|
19 |
+
'options' => $this->get_term_options(),
|
20 |
+
), 'taxonomy_radio_hierarchical' )
|
21 |
+
);
|
22 |
+
}
|
23 |
+
|
24 |
+
protected function list_term_input( $term, $saved_term ) {
|
25 |
+
$options = parent::list_term_input( $term, $saved_term );
|
26 |
+
$children = $this->build_children( $term, $saved_term );
|
27 |
+
|
28 |
+
if ( ! empty( $children ) ) {
|
29 |
+
$options .= $children;
|
30 |
+
}
|
31 |
+
|
32 |
+
return $options;
|
33 |
+
}
|
34 |
+
|
35 |
+
public function get_terms() {
|
36 |
+
return CMB2_Utils::wp_at_least( '4.5.0' )
|
37 |
+
? get_terms( wp_parse_args( $this->field->prop( 'query_args', array() ), array(
|
38 |
+
'taxonomy' => $this->field->args( 'taxonomy' ),
|
39 |
+
'hide_empty' => false,
|
40 |
+
'parent' => $this->parent,
|
41 |
+
) ) )
|
42 |
+
: get_terms( $this->field->args( 'taxonomy' ), 'hide_empty=0&parent=0' );
|
43 |
+
}
|
44 |
+
|
45 |
+
}
|
vendor/CMB2/includes/types/CMB2_Type_Taxonomy_Select.php
CHANGED
@@ -6,19 +6,22 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Taxonomy_Select extends CMB2_Type_Taxonomy_Base {
|
14 |
|
15 |
public function render() {
|
16 |
-
$
|
17 |
|
18 |
-
|
19 |
-
|
20 |
-
|
|
|
|
|
21 |
$option_none = $this->field->args( 'show_option_none' );
|
|
|
22 |
|
23 |
if ( ! empty( $option_none ) ) {
|
24 |
|
@@ -51,18 +54,26 @@ class CMB2_Type_Taxonomy_Select extends CMB2_Type_Taxonomy_Base {
|
|
51 |
) );
|
52 |
}
|
53 |
|
54 |
-
|
55 |
-
foreach ( $terms as $term ) {
|
56 |
-
$options .= $this->select_option( array(
|
57 |
-
'label' => $term->name,
|
58 |
-
'value' => $term->slug,
|
59 |
-
'checked' => $saved_term === $term->slug,
|
60 |
-
) );
|
61 |
-
}
|
62 |
-
}
|
63 |
|
64 |
return $this->rendered(
|
65 |
-
$this->types->select( array(
|
|
|
|
|
66 |
);
|
67 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
}
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Taxonomy_Select extends CMB2_Type_Taxonomy_Base {
|
14 |
|
15 |
public function render() {
|
16 |
+
$all_terms = $this->get_terms();
|
17 |
|
18 |
+
if ( ! $all_terms || is_wp_error( $all_terms ) ) {
|
19 |
+
return $this->no_terms_result( $all_terms, 'strong' );
|
20 |
+
}
|
21 |
+
|
22 |
+
$saved_term = $this->get_object_term_or_default();
|
23 |
$option_none = $this->field->args( 'show_option_none' );
|
24 |
+
$options = '';
|
25 |
|
26 |
if ( ! empty( $option_none ) ) {
|
27 |
|
54 |
) );
|
55 |
}
|
56 |
|
57 |
+
$options .= $this->loop_terms( $all_terms, $saved_term );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
59 |
return $this->rendered(
|
60 |
+
$this->types->select( array(
|
61 |
+
'options' => $options,
|
62 |
+
) )
|
63 |
);
|
64 |
}
|
65 |
+
|
66 |
+
protected function loop_terms( $all_terms, $saved_term ) {
|
67 |
+
$options = '';
|
68 |
+
|
69 |
+
foreach ( $all_terms as $term ) {
|
70 |
+
$options .= $this->select_option( array(
|
71 |
+
'label' => $term->name,
|
72 |
+
'value' => $term->slug,
|
73 |
+
'checked' => $saved_term === $term->slug,
|
74 |
+
) );
|
75 |
+
}
|
76 |
+
|
77 |
+
return $options;
|
78 |
+
}
|
79 |
}
|
vendor/CMB2/includes/types/CMB2_Type_Text.php
CHANGED
@@ -6,9 +6,9 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Text extends CMB2_Type_Base {
|
14 |
|
@@ -34,8 +34,9 @@ class CMB2_Type_Text extends CMB2_Type_Base {
|
|
34 |
|
35 |
/**
|
36 |
* Handles outputting an 'input' element
|
|
|
37 |
* @since 1.1.0
|
38 |
-
* @param array
|
39 |
* @return string Form input element
|
40 |
*/
|
41 |
public function render( $args = array() ) {
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Text extends CMB2_Type_Base {
|
14 |
|
34 |
|
35 |
/**
|
36 |
* Handles outputting an 'input' element
|
37 |
+
*
|
38 |
* @since 1.1.0
|
39 |
+
* @param array $args Override arguments
|
40 |
* @return string Form input element
|
41 |
*/
|
42 |
public function render( $args = array() ) {
|
vendor/CMB2/includes/types/CMB2_Type_Text_Date.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Text_Date extends CMB2_Type_Picker_Base {
|
14 |
|
15 |
-
public function render() {
|
16 |
$args = $this->parse_args( 'text_date', array(
|
17 |
'class' => 'cmb2-text-small cmb2-datepicker',
|
18 |
'value' => $this->field->get_timestamp_format(),
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Text_Date extends CMB2_Type_Picker_Base {
|
14 |
|
15 |
+
public function render( $args = array() ) {
|
16 |
$args = $this->parse_args( 'text_date', array(
|
17 |
'class' => 'cmb2-text-small cmb2-datepicker',
|
18 |
'value' => $this->field->get_timestamp_format(),
|
vendor/CMB2/includes/types/CMB2_Type_Text_Datetime_Timestamp.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Text_Datetime_Timestamp extends CMB2_Type_Picker_Base {
|
14 |
|
15 |
-
public function render() {
|
16 |
$field = $this->field;
|
17 |
|
18 |
$args = wp_parse_args( $this->args, array(
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Text_Datetime_Timestamp extends CMB2_Type_Picker_Base {
|
14 |
|
15 |
+
public function render( $args = array() ) {
|
16 |
$field = $this->field;
|
17 |
|
18 |
$args = wp_parse_args( $this->args, array(
|
vendor/CMB2/includes/types/CMB2_Type_Text_Datetime_Timestamp_Timezone.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Text_Datetime_Timestamp_Timezone extends CMB2_Type_Base {
|
14 |
|
15 |
-
public function render() {
|
16 |
$field = $this->field;
|
17 |
|
18 |
$args = wp_parse_args( $this->args, array(
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Text_Datetime_Timestamp_Timezone extends CMB2_Type_Base {
|
14 |
|
15 |
+
public function render( $args = array() ) {
|
16 |
$field = $this->field;
|
17 |
|
18 |
$args = wp_parse_args( $this->args, array(
|
vendor/CMB2/includes/types/CMB2_Type_Text_Time.php
CHANGED
@@ -6,13 +6,13 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Text_Time extends CMB2_Type_Text_Date {
|
14 |
|
15 |
-
public function render() {
|
16 |
$this->args = $this->parse_picker_options( 'time', wp_parse_args( $this->args, array(
|
17 |
'class' => 'cmb2-timepicker text-time',
|
18 |
'value' => $this->field->get_timestamp_format( 'time_format' ),
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Text_Time extends CMB2_Type_Text_Date {
|
14 |
|
15 |
+
public function render( $args = array() ) {
|
16 |
$this->args = $this->parse_picker_options( 'time', wp_parse_args( $this->args, array(
|
17 |
'class' => 'cmb2-timepicker text-time',
|
18 |
'value' => $this->field->get_timestamp_format( 'time_format' ),
|
vendor/CMB2/includes/types/CMB2_Type_Textarea.php
CHANGED
@@ -6,16 +6,17 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Textarea extends CMB2_Type_Base {
|
14 |
|
15 |
/**
|
16 |
* Handles outputting an 'textarea' element
|
|
|
17 |
* @since 1.1.0
|
18 |
-
* @param array
|
19 |
* @return string Form textarea element
|
20 |
*/
|
21 |
public function render( $args = array() ) {
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Textarea extends CMB2_Type_Base {
|
14 |
|
15 |
/**
|
16 |
* Handles outputting an 'textarea' element
|
17 |
+
*
|
18 |
* @since 1.1.0
|
19 |
+
* @param array $args Override arguments
|
20 |
* @return string Form textarea element
|
21 |
*/
|
22 |
public function render( $args = array() ) {
|
vendor/CMB2/includes/types/CMB2_Type_Textarea_Code.php
CHANGED
@@ -6,19 +6,20 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Textarea_Code extends CMB2_Type_Textarea {
|
14 |
|
15 |
/**
|
16 |
* Handles outputting an 'textarea' element
|
|
|
17 |
* @since 1.1.0
|
18 |
-
* @param array
|
19 |
* @return string Form textarea element
|
20 |
*/
|
21 |
-
public function render() {
|
22 |
return $this->rendered(
|
23 |
sprintf( '<pre>%s', parent::render( array(
|
24 |
'class' => 'cmb2-textarea-code',
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Textarea_Code extends CMB2_Type_Textarea {
|
14 |
|
15 |
/**
|
16 |
* Handles outputting an 'textarea' element
|
17 |
+
*
|
18 |
* @since 1.1.0
|
19 |
+
* @param array $args Override arguments
|
20 |
* @return string Form textarea element
|
21 |
*/
|
22 |
+
public function render( $args = array() ) {
|
23 |
return $this->rendered(
|
24 |
sprintf( '<pre>%s', parent::render( array(
|
25 |
'class' => 'cmb2-textarea-code',
|
vendor/CMB2/includes/types/CMB2_Type_Title.php
CHANGED
@@ -6,14 +6,15 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*/
|
13 |
class CMB2_Type_Title extends CMB2_Type_Base {
|
14 |
|
15 |
/**
|
16 |
* Handles outputting an 'title' element
|
|
|
17 |
* @return string Heading element
|
18 |
*/
|
19 |
public function render() {
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*/
|
13 |
class CMB2_Type_Title extends CMB2_Type_Base {
|
14 |
|
15 |
/**
|
16 |
* Handles outputting an 'title' element
|
17 |
+
*
|
18 |
* @return string Heading element
|
19 |
*/
|
20 |
public function render() {
|
vendor/CMB2/includes/types/CMB2_Type_Wysiwyg.php
CHANGED
@@ -6,9 +6,9 @@
|
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
-
* @author
|
10 |
* @license GPL-2.0+
|
11 |
-
* @link
|
12 |
*
|
13 |
* @method string _id()
|
14 |
* @method string _desc()
|
@@ -20,7 +20,7 @@ class CMB2_Type_Wysiwyg extends CMB2_Type_Textarea {
|
|
20 |
* @since 1.1.0
|
21 |
* @return string Form wysiwyg element
|
22 |
*/
|
23 |
-
public function render() {
|
24 |
$field = $this->field;
|
25 |
$a = $this->parse_args( 'wysiwyg', array(
|
26 |
'id' => $this->_id(),
|
@@ -76,7 +76,7 @@ class CMB2_Type_Wysiwyg extends CMB2_Type_Textarea {
|
|
76 |
'cmb2_n_' . $group_id . $field_id,
|
77 |
'cmb2_v_' . $group_id . $field_id,
|
78 |
'cmb2_i_' . $group_id . $field_id,
|
79 |
-
|
80 |
'{{ data.name }}',
|
81 |
'{{{ data.value }}}',
|
82 |
'{{ data.id }}',
|
@@ -85,7 +85,7 @@ class CMB2_Type_Wysiwyg extends CMB2_Type_Textarea {
|
|
85 |
// And put the editor instance in a JS template wrapper.
|
86 |
echo '<script type="text/template" id="tmpl-cmb2-wysiwyg-' . $group_id . '-' . $field_id . '">';
|
87 |
// Need to wrap the template in a wrapper div w/ specific data attributes which will be used when adding/removing rows.
|
88 |
-
echo '<div class="cmb2-wysiwyg-inner-wrap" data-iterator="{{ data.iterator }}" data-groupid="'. $group_id .'" data-id="'. $field_id .'">'. $editor .'</div>';
|
89 |
echo '</script>';
|
90 |
}
|
91 |
|
6 |
*
|
7 |
* @category WordPress_Plugin
|
8 |
* @package CMB2
|
9 |
+
* @author CMB2 team
|
10 |
* @license GPL-2.0+
|
11 |
+
* @link https://cmb2.io
|
12 |
*
|
13 |
* @method string _id()
|
14 |
* @method string _desc()
|
20 |
* @since 1.1.0
|
21 |
* @return string Form wysiwyg element
|
22 |
*/
|
23 |
+
public function render( $args = array() ) {
|
24 |
$field = $this->field;
|
25 |
$a = $this->parse_args( 'wysiwyg', array(
|
26 |
'id' => $this->_id(),
|
76 |
'cmb2_n_' . $group_id . $field_id,
|
77 |
'cmb2_v_' . $group_id . $field_id,
|
78 |
'cmb2_i_' . $group_id . $field_id,
|
79 |
+
), array(
|
80 |
'{{ data.name }}',
|
81 |
'{{{ data.value }}}',
|
82 |
'{{ data.id }}',
|
85 |
// And put the editor instance in a JS template wrapper.
|
86 |
echo '<script type="text/template" id="tmpl-cmb2-wysiwyg-' . $group_id . '-' . $field_id . '">';
|
87 |
// Need to wrap the template in a wrapper div w/ specific data attributes which will be used when adding/removing rows.
|
88 |
+
echo '<div class="cmb2-wysiwyg-inner-wrap" data-iterator="{{ data.iterator }}" data-groupid="' . $group_id . '" data-id="' . $field_id . '">' . $editor . '</div>';
|
89 |
echo '</script>';
|
90 |
}
|
91 |
|
vendor/CMB2/index.php
CHANGED
@@ -1,2 +1 @@
|
|
1 |
-
<?php
|
2 |
-
// Silence is golden
|
1 |
+
<?php // Silence is golden.
|
|
vendor/CMB2/init.php
CHANGED
@@ -1,23 +1,27 @@
|
|
1 |
<?php
|
2 |
/**
|
|
|
|
|
3 |
* @category WordPress_Plugin
|
4 |
* @package CMB2
|
5 |
-
* @author
|
6 |
* @license GPL-2.0+
|
7 |
-
* @link
|
8 |
*
|
9 |
* Plugin Name: CMB2
|
10 |
-
* Plugin URI: https://github.com/
|
11 |
* Description: CMB2 will create metaboxes and forms with custom fields that will blow your mind.
|
12 |
-
* Author:
|
13 |
-
* Author URI:
|
14 |
-
* Contributors:
|
15 |
-
*
|
|
|
|
|
16 |
* Jared Atchison (@jaredatch / jaredatchison.com)
|
17 |
* Bill Erickson (@billerickson / billerickson.net)
|
18 |
* Andrew Norcross (@norcross / andrewnorcross.com)
|
19 |
*
|
20 |
-
* Version: 2.
|
21 |
*
|
22 |
* Text Domain: cmb2
|
23 |
* Domain Path: languages
|
@@ -27,7 +31,7 @@
|
|
27 |
* http://www.opensource.org/licenses/gpl-license.php
|
28 |
*
|
29 |
* This is an add-on for WordPress
|
30 |
-
*
|
31 |
*
|
32 |
* **********************************************************************
|
33 |
* This program is free software; you can redistribute it and/or modify
|
@@ -42,13 +46,15 @@
|
|
42 |
* **********************************************************************
|
43 |
*/
|
44 |
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
|
|
|
|
50 |
|
51 |
-
if ( ! class_exists( '
|
52 |
|
53 |
/**
|
54 |
* Handles checking for and loading the newest version of CMB2
|
@@ -57,18 +63,19 @@ if ( ! class_exists( 'CMB2_Bootstrap_224', false ) ) {
|
|
57 |
*
|
58 |
* @category WordPress_Plugin
|
59 |
* @package CMB2
|
60 |
-
* @author
|
61 |
* @license GPL-2.0+
|
62 |
-
* @link
|
63 |
*/
|
64 |
-
class
|
65 |
|
66 |
/**
|
67 |
* Current version number
|
|
|
68 |
* @var string
|
69 |
* @since 1.0.0
|
70 |
*/
|
71 |
-
const VERSION = '2.
|
72 |
|
73 |
/**
|
74 |
* Current version hook priority.
|
@@ -77,20 +84,20 @@ if ( ! class_exists( 'CMB2_Bootstrap_224', false ) ) {
|
|
77 |
* @var int
|
78 |
* @since 2.0.0
|
79 |
*/
|
80 |
-
const PRIORITY =
|
81 |
|
82 |
/**
|
83 |
-
* Single instance of the
|
84 |
*
|
85 |
-
* @var
|
86 |
*/
|
87 |
public static $single_instance = null;
|
88 |
|
89 |
/**
|
90 |
-
* Creates/returns the single instance
|
91 |
*
|
92 |
* @since 2.0.0
|
93 |
-
* @return
|
94 |
*/
|
95 |
public static function initiate() {
|
96 |
if ( null === self::$single_instance ) {
|
@@ -141,21 +148,22 @@ if ( ! class_exists( 'CMB2_Bootstrap_224', false ) ) {
|
|
141 |
|
142 |
$this->l10ni18n();
|
143 |
|
144 |
-
// Include helper functions
|
145 |
-
require_once 'includes/CMB2_Base.php';
|
146 |
-
require_once 'includes/CMB2.php';
|
147 |
-
require_once 'includes/helper-functions.php';
|
148 |
|
149 |
-
// Now kick off the class autoloader
|
150 |
spl_autoload_register( 'cmb2_autoload_classes' );
|
151 |
|
152 |
-
// Kick the whole thing off
|
153 |
-
require_once 'bootstrap.php';
|
154 |
cmb2_bootstrap();
|
155 |
}
|
156 |
|
157 |
/**
|
158 |
* Registers CMB2 text domain path
|
|
|
159 |
* @since 2.0.0
|
160 |
*/
|
161 |
public function l10ni18n() {
|
@@ -181,6 +189,6 @@ if ( ! class_exists( 'CMB2_Bootstrap_224', false ) ) {
|
|
181 |
}
|
182 |
|
183 |
// Make it so...
|
184 |
-
|
185 |
|
186 |
-
}
|
1 |
<?php
|
2 |
/**
|
3 |
+
* The initation loader for CMB2, and the main plugin file.
|
4 |
+
*
|
5 |
* @category WordPress_Plugin
|
6 |
* @package CMB2
|
7 |
+
* @author CMB2 team
|
8 |
* @license GPL-2.0+
|
9 |
+
* @link https://cmb2.io
|
10 |
*
|
11 |
* Plugin Name: CMB2
|
12 |
+
* Plugin URI: https://github.com/CMB2/CMB2
|
13 |
* Description: CMB2 will create metaboxes and forms with custom fields that will blow your mind.
|
14 |
+
* Author: CMB2 team
|
15 |
+
* Author URI: https://cmb2.io
|
16 |
+
* Contributors: Justin Sternberg (@jtsternberg / dsgnwrks.pro)
|
17 |
+
* WebDevStudios (@webdevstudios / webdevstudios.com)
|
18 |
+
* Zao (zao.is)
|
19 |
+
* Human Made (@humanmadeltd / hmn.md)
|
20 |
* Jared Atchison (@jaredatch / jaredatchison.com)
|
21 |
* Bill Erickson (@billerickson / billerickson.net)
|
22 |
* Andrew Norcross (@norcross / andrewnorcross.com)
|
23 |
*
|
24 |
+
* Version: 2.3.0
|
25 |
*
|
26 |
* Text Domain: cmb2
|
27 |
* Domain Path: languages
|
31 |
* http://www.opensource.org/licenses/gpl-license.php
|
32 |
*
|
33 |
* This is an add-on for WordPress
|
34 |
+
* https://wordpress.org/
|
35 |
*
|
36 |
* **********************************************************************
|
37 |
* This program is free software; you can redistribute it and/or modify
|
46 |
* **********************************************************************
|
47 |
*/
|
48 |
|
49 |
+
/**
|
50 |
+
* *********************************************************************
|
51 |
+
* You should not edit the code below
|
52 |
+
* (or any code in the included files)
|
53 |
+
* or things might explode!
|
54 |
+
* ***********************************************************************
|
55 |
+
*/
|
56 |
|
57 |
+
if ( ! class_exists( 'CMB2_Bootstrap_230', false ) ) {
|
58 |
|
59 |
/**
|
60 |
* Handles checking for and loading the newest version of CMB2
|
63 |
*
|
64 |
* @category WordPress_Plugin
|
65 |
* @package CMB2
|
66 |
+
* @author CMB2 team
|
67 |
* @license GPL-2.0+
|
68 |
+
* @link https://cmb2.io
|
69 |
*/
|
70 |
+
class CMB2_Bootstrap_230 {
|
71 |
|
72 |
/**
|
73 |
* Current version number
|
74 |
+
*
|
75 |
* @var string
|
76 |
* @since 1.0.0
|
77 |
*/
|
78 |
+
const VERSION = '2.3.0';
|
79 |
|
80 |
/**
|
81 |
* Current version hook priority.
|
84 |
* @var int
|
85 |
* @since 2.0.0
|
86 |
*/
|
87 |
+
const PRIORITY = 9969;
|
88 |
|
89 |
/**
|
90 |
+
* Single instance of the CMB2_Bootstrap_230 object
|
91 |
*
|
92 |
+
* @var CMB2_Bootstrap_230
|
93 |
*/
|
94 |
public static $single_instance = null;
|
95 |
|
96 |
/**
|
97 |
+
* Creates/returns the single instance CMB2_Bootstrap_230 object
|
98 |
*
|
99 |
* @since 2.0.0
|
100 |
+
* @return CMB2_Bootstrap_230 Single instance object
|
101 |
*/
|
102 |
public static function initiate() {
|
103 |
if ( null === self::$single_instance ) {
|
148 |
|
149 |
$this->l10ni18n();
|
150 |
|
151 |
+
// Include helper functions.
|
152 |
+
require_once CMB2_DIR . 'includes/CMB2_Base.php';
|
153 |
+
require_once CMB2_DIR . 'includes/CMB2.php';
|
154 |
+
require_once CMB2_DIR . 'includes/helper-functions.php';
|
155 |
|
156 |
+
// Now kick off the class autoloader.
|
157 |
spl_autoload_register( 'cmb2_autoload_classes' );
|
158 |
|
159 |
+
// Kick the whole thing off.
|
160 |
+
require_once( cmb2_dir( 'bootstrap.php' ) );
|
161 |
cmb2_bootstrap();
|
162 |
}
|
163 |
|
164 |
/**
|
165 |
* Registers CMB2 text domain path
|
166 |
+
*
|
167 |
* @since 2.0.0
|
168 |
*/
|
169 |
public function l10ni18n() {
|
189 |
}
|
190 |
|
191 |
// Make it so...
|
192 |
+
CMB2_Bootstrap_230::initiate();
|
193 |
|
194 |
+
}// End if().
|
vendor/CMB2/js/cmb2-wysiwyg.js
CHANGED
@@ -275,18 +275,25 @@ window.CMB2.wysiwyg = window.CMB2.wysiwyg || {};
|
|
275 |
return false;
|
276 |
}
|
277 |
|
|
|
|
|
278 |
$.extend( data, getGroupData( data ) );
|
279 |
|
280 |
initOptions( data );
|
281 |
|
282 |
$toReplace.replaceWith( data.template( data ) );
|
283 |
|
284 |
-
|
285 |
-
|
|
|
|
|
|
|
286 |
window.quicktags( tinyMCEPreInit.qtInit[ data.id ] );
|
287 |
}
|
288 |
|
289 |
-
|
|
|
|
|
290 |
|
291 |
if ( false !== buttonsInit && 'undefined' !== typeof window.QTags ) {
|
292 |
window.QTags._buttonsInit();
|
@@ -304,6 +311,10 @@ window.CMB2.wysiwyg = window.CMB2.wysiwyg || {};
|
|
304 |
* @return {void}
|
305 |
*/
|
306 |
wysiwyg.destroy = function( id ) {
|
|
|
|
|
|
|
|
|
307 |
|
308 |
// The editor might not be initialized yet. But we need to destroy it once it is.
|
309 |
var editor = tinyMCE.get( id );
|
275 |
return false;
|
276 |
}
|
277 |
|
278 |
+
var mceActive = window.cmb2_l10.user_can_richedit && window.tinyMCE;
|
279 |
+
var qtActive = 'function' === typeof window.quicktags;
|
280 |
$.extend( data, getGroupData( data ) );
|
281 |
|
282 |
initOptions( data );
|
283 |
|
284 |
$toReplace.replaceWith( data.template( data ) );
|
285 |
|
286 |
+
if ( mceActive ) {
|
287 |
+
window.tinyMCE.init( tinyMCEPreInit.mceInit[ data.id ] );
|
288 |
+
}
|
289 |
+
|
290 |
+
if ( qtActive ) {
|
291 |
window.quicktags( tinyMCEPreInit.qtInit[ data.id ] );
|
292 |
}
|
293 |
|
294 |
+
if ( mceActive ) {
|
295 |
+
$( document.getElementById( data.id ) ).parents( '.wp-editor-wrap' ).removeClass( 'html-active' ).addClass( 'tmce-active' );
|
296 |
+
}
|
297 |
|
298 |
if ( false !== buttonsInit && 'undefined' !== typeof window.QTags ) {
|
299 |
window.QTags._buttonsInit();
|
311 |
* @return {void}
|
312 |
*/
|
313 |
wysiwyg.destroy = function( id ) {
|
314 |
+
if ( ! window.cmb2_l10.user_can_richedit || ! window.tinyMCE ) {
|
315 |
+
// Nothing to see here.
|
316 |
+
return;
|
317 |
+
}
|
318 |
|
319 |
// The editor might not be initialized yet. But we need to destroy it once it is.
|
320 |
var editor = tinyMCE.get( id );
|
vendor/CMB2/js/cmb2.js
CHANGED
@@ -1,13 +1,10 @@
|
|
1 |
/**
|
2 |
* Controls the behaviours of custom metabox fields.
|
3 |
*
|
4 |
-
* @author
|
5 |
-
* @see https://github.com/
|
6 |
*/
|
7 |
|
8 |
-
// TODO: fix this.
|
9 |
-
// JQMIGRATE: jQuery.fn.attr('value') no longer gets properties
|
10 |
-
|
11 |
/**
|
12 |
* Custom jQuery for Custom Metaboxes and Fields
|
13 |
*/
|
@@ -64,7 +61,7 @@ window.CMB2 = window.CMB2 || {};
|
|
64 |
cmb.initPickers( $metabox.find('input[type="text"].cmb2-timepicker'), $metabox.find('input[type="text"].cmb2-datepicker'), $metabox.find('input[type="text"].cmb2-colorpicker') );
|
65 |
|
66 |
// Insert toggle button into DOM wherever there is multicheck. credit: Genesis Framework
|
67 |
-
$( '<p><span class="button cmb-multicheck-toggle">' + l10n.strings.check_toggle + '</span></p>' ).insertBefore( '.cmb2-checkbox-list:not(.no-select-all)' );
|
68 |
|
69 |
// Make File List drag/drop sortable:
|
70 |
cmb.makeListSortable();
|
@@ -92,12 +89,12 @@ window.CMB2 = window.CMB2 || {};
|
|
92 |
|
93 |
if ( $repeatGroup.length ) {
|
94 |
$repeatGroup
|
|
|
95 |
.filter('.sortable').each( function() {
|
96 |
// Add sorting arrows
|
97 |
-
$( this ).find( '.
|
98 |
})
|
99 |
-
.on( 'click', '.cmb-shift-rows', cmb.shiftRows )
|
100 |
-
.on( 'cmb2_add_row', cmb.emptyValue );
|
101 |
}
|
102 |
|
103 |
// on pageload
|
@@ -114,15 +111,20 @@ window.CMB2 = window.CMB2 || {};
|
|
114 |
}
|
115 |
|
116 |
// Loop repeatable group tables
|
117 |
-
$( '.cmb-repeatable-group' ).each( function() {
|
118 |
var $table = $( this );
|
|
|
|
|
119 |
// Loop repeatable group table rows
|
120 |
$table.find( '.cmb-repeatable-grouping' ).each( function( rowindex ) {
|
121 |
var $row = $( this );
|
|
|
122 |
// Reset rows iterator
|
123 |
$row.data( 'iterator', rowindex );
|
124 |
// Reset rows title
|
125 |
-
|
|
|
|
|
126 |
});
|
127 |
});
|
128 |
};
|
@@ -170,20 +172,20 @@ window.CMB2 = window.CMB2 || {};
|
|
170 |
cmb.attach_id = isList ? $el.find( 'input[type="hidden"]' ).data( 'id' ) : $td.find( '.cmb2-upload-file-id' ).val();
|
171 |
|
172 |
if ( cmb.attach_id ) {
|
173 |
-
cmb._handleMedia( $td.find( 'input.cmb2-upload-file' ).attr('id'), isList, cmb.attach_id );
|
174 |
}
|
175 |
};
|
176 |
|
177 |
-
cmb._handleMedia = function(
|
178 |
if ( ! wp ) {
|
179 |
return;
|
180 |
}
|
181 |
|
182 |
-
var
|
183 |
|
184 |
handlers = cmb.mediaHandlers;
|
185 |
media = cmb.media;
|
186 |
-
media.field =
|
187 |
media.$field = $id( media.field );
|
188 |
media.fieldData = media.$field.data();
|
189 |
media.previewSize = media.fieldData.previewsize;
|
@@ -192,13 +194,13 @@ window.CMB2 = window.CMB2 || {};
|
|
192 |
media.isList = isList;
|
193 |
|
194 |
// If this field's media frame already exists, reopen it.
|
195 |
-
if (
|
196 |
-
return media.frames[
|
197 |
}
|
198 |
|
199 |
// Create the media frame.
|
200 |
-
media.frames[
|
201 |
-
title: cmb.metabox().find('label[for="' +
|
202 |
library : media.fieldData.queryargs || {},
|
203 |
button: {
|
204 |
text: l10n.strings[ isList ? 'upload_files' : 'upload_file' ]
|
@@ -206,13 +208,16 @@ window.CMB2 = window.CMB2 || {};
|
|
206 |
multiple: isList ? 'add' : false
|
207 |
} );
|
208 |
|
|
|
|
|
|
|
209 |
cmb.trigger( 'cmb_media_modal_init', media );
|
210 |
|
211 |
handlers.list = function( selection, returnIt ) {
|
212 |
-
var data, isImage, mediaItem;
|
213 |
|
214 |
// Setup our fileGroup array
|
215 |
var fileGroup = [];
|
|
|
216 |
|
217 |
if ( ! handlers.list.templates ) {
|
218 |
handlers.list.templates = {
|
@@ -223,15 +228,12 @@ window.CMB2 = window.CMB2 || {};
|
|
223 |
|
224 |
// Loop through each attachment
|
225 |
selection.each( function( attachment ) {
|
226 |
-
isImage = 'image' === attachment.get( 'type' );
|
227 |
-
|
228 |
-
data = handlers.prepareData( attachment, isImage );
|
229 |
|
230 |
// Image preview or standard generic output if it's not an image.
|
231 |
-
|
232 |
|
233 |
// Add our file to our fileGroup array
|
234 |
-
fileGroup.push(
|
235 |
});
|
236 |
|
237 |
if ( ! returnIt ) {
|
@@ -244,8 +246,6 @@ window.CMB2 = window.CMB2 || {};
|
|
244 |
};
|
245 |
|
246 |
handlers.single = function( selection ) {
|
247 |
-
var attachment, isImage, data, mediaItem;
|
248 |
-
|
249 |
if ( ! handlers.single.templates ) {
|
250 |
handlers.single.templates = {
|
251 |
image : wp.template( 'cmb2-single-image' ),
|
@@ -254,20 +254,24 @@ window.CMB2 = window.CMB2 || {};
|
|
254 |
}
|
255 |
|
256 |
// Only get one file from the uploader
|
257 |
-
attachment = selection.first();
|
258 |
|
259 |
media.$field.val( attachment.get( 'url' ) );
|
260 |
$id( media.field +'_id' ).val( attachment.get( 'id' ) );
|
261 |
|
262 |
-
isImage = 'image' === attachment.get( 'type' );
|
263 |
-
|
264 |
-
data = handlers.prepareData( attachment, isImage );
|
265 |
-
|
266 |
// Image preview or standard generic output if it's not an image.
|
267 |
-
|
268 |
|
269 |
// add/display our output
|
270 |
-
media.$field.siblings( '.cmb2-media-status' ).slideDown().html(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
271 |
};
|
272 |
|
273 |
handlers.prepareData = function( data, image ) {
|
@@ -301,14 +305,16 @@ window.CMB2 = window.CMB2 || {};
|
|
301 |
|
302 |
// Get the correct dimensions and url if a named size is set and exists
|
303 |
// fallback to the 'large' size
|
304 |
-
if ( sizes
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
|
|
|
|
312 |
}
|
313 |
|
314 |
// Fit the image in to the preview size, keeping the correct aspect ratio
|
@@ -322,6 +328,14 @@ window.CMB2 = window.CMB2 || {};
|
|
322 |
height = previewH;
|
323 |
}
|
324 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
325 |
this.set( 'sizeUrl', url );
|
326 |
this.set( 'sizeWidth', width );
|
327 |
this.set( 'sizeHeight', height );
|
@@ -330,7 +344,7 @@ window.CMB2 = window.CMB2 || {};
|
|
330 |
};
|
331 |
|
332 |
handlers.selectFile = function() {
|
333 |
-
var selection =
|
334 |
var type = isList ? 'list' : 'single';
|
335 |
|
336 |
if ( cmb.attach_id && isList ) {
|
@@ -343,7 +357,7 @@ window.CMB2 = window.CMB2 || {};
|
|
343 |
};
|
344 |
|
345 |
handlers.openModal = function() {
|
346 |
-
var selection =
|
347 |
var attach;
|
348 |
|
349 |
if ( ! cmb.attach_id ) {
|
@@ -358,12 +372,12 @@ window.CMB2 = window.CMB2 || {};
|
|
358 |
};
|
359 |
|
360 |
// When a file is selected, run a callback.
|
361 |
-
|
362 |
.on( 'select', handlers.selectFile )
|
363 |
.on( 'open', handlers.openModal );
|
364 |
|
365 |
// Finally, open the modal
|
366 |
-
|
367 |
};
|
368 |
|
369 |
cmb.handleRemoveMedia = function( evt ) {
|
@@ -376,8 +390,8 @@ window.CMB2 = window.CMB2 || {};
|
|
376 |
|
377 |
cmb.media.field = $this.attr('rel');
|
378 |
|
379 |
-
cmb.metabox().find(
|
380 |
-
cmb.metabox().find(
|
381 |
$this.parents('.cmb2-media-status').html('');
|
382 |
|
383 |
return false;
|
@@ -387,7 +401,7 @@ window.CMB2 = window.CMB2 || {};
|
|
387 |
var $elements = $row.find( cmb.repeatUpdate );
|
388 |
if ( group ) {
|
389 |
|
390 |
-
var $other
|
391 |
|
392 |
// Remove extra ajaxed rows
|
393 |
$row.find('.cmb-repeat-table .cmb-repeat-row:not(:first-child)').remove();
|
@@ -409,21 +423,23 @@ window.CMB2 = window.CMB2 || {};
|
|
409 |
}
|
410 |
}
|
411 |
|
412 |
-
$elements.filter(':checked').
|
413 |
-
$elements.
|
|
|
|
|
414 |
|
415 |
if ( $row.find('h3.cmb-group-title').length ) {
|
416 |
$row.find( 'h3.cmb-group-title' ).text( $row.data( 'title' ).replace( '{#}', ( cmb.idNumber + 1 ) ) );
|
417 |
}
|
418 |
|
419 |
$elements.each( function() {
|
420 |
-
cmb.elReplacements( $( this ), prevNum );
|
421 |
} );
|
422 |
|
423 |
return cmb;
|
424 |
};
|
425 |
|
426 |
-
cmb.elReplacements = function( $newInput, prevNum ) {
|
427 |
var oldFor = $newInput.attr( 'for' );
|
428 |
var oldVal = $newInput.val();
|
429 |
var type = $newInput.prop( 'type' );
|
@@ -435,24 +451,29 @@ window.CMB2 = window.CMB2 || {};
|
|
435 |
attrs = { 'for' : oldFor.replace( '_'+ prevNum, '_'+ cmb.idNumber ) };
|
436 |
} else {
|
437 |
var oldName = $newInput.attr( 'name' );
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
443 |
id: newID,
|
444 |
-
name: newName
|
445 |
-
// value: '',
|
446 |
-
'data-iterator': cmb.idNumber,
|
447 |
};
|
448 |
|
449 |
}
|
450 |
|
451 |
-
// Clear out old values
|
452 |
-
if ( undefined !== typeof( oldVal ) && oldVal || checkable ) {
|
453 |
-
attrs.value = checkable ? checkable : '';
|
454 |
-
}
|
455 |
-
|
456 |
// Clear out textarea values
|
457 |
if ( 'TEXTAREA' === $newInput.prop('tagName') ) {
|
458 |
$newInput.html( '' );
|
@@ -462,6 +483,10 @@ window.CMB2 = window.CMB2 || {};
|
|
462 |
$newInput.removeAttr( 'checked' );
|
463 |
}
|
464 |
|
|
|
|
|
|
|
|
|
465 |
$newInput
|
466 |
.removeClass( 'hasDatepicker' )
|
467 |
.attr( attrs ).val( checkable ? checkable : '' );
|
@@ -545,12 +570,6 @@ window.CMB2 = window.CMB2 || {};
|
|
545 |
|
546 |
cmb.afterRowInsert( $newRow );
|
547 |
|
548 |
-
if ( $table.find('.cmb-repeatable-grouping').length <= 1 ) {
|
549 |
-
$table.find('.cmb-remove-group-row').prop( 'disabled', true );
|
550 |
-
} else {
|
551 |
-
$table.find('.cmb-remove-group-row').prop( 'disabled', false );
|
552 |
-
}
|
553 |
-
|
554 |
cmb.triggerElement( $table, { type: 'cmb2_add_row', group: true }, $newRow );
|
555 |
|
556 |
};
|
@@ -574,8 +593,6 @@ window.CMB2 = window.CMB2 || {};
|
|
574 |
|
575 |
cmb.triggerElement( $table, { type: 'cmb2_add_row', group: false }, $row );
|
576 |
|
577 |
-
$table.find( '.cmb-remove-row-button' ).removeClass( 'button-disabled' );
|
578 |
-
|
579 |
};
|
580 |
|
581 |
cmb.removeGroupRow = function( evt ) {
|
@@ -586,9 +603,8 @@ window.CMB2 = window.CMB2 || {};
|
|
586 |
var $parent = $this.parents('.cmb-repeatable-grouping');
|
587 |
var number = $table.find('.cmb-repeatable-grouping').length;
|
588 |
|
589 |
-
// Needs to always be at least one group.
|
590 |
if ( number < 2 ) {
|
591 |
-
return;
|
592 |
}
|
593 |
|
594 |
cmb.triggerElement( $table, 'cmb2_remove_group_row_start', $this );
|
@@ -598,12 +614,6 @@ window.CMB2 = window.CMB2 || {};
|
|
598 |
|
599 |
$parent.remove();
|
600 |
|
601 |
-
if ( number <= 2 ) {
|
602 |
-
$table.find('.cmb-remove-group-row').prop( 'disabled', true );
|
603 |
-
} else {
|
604 |
-
$table.find('.cmb-remove-group-row').prop( 'disabled', false );
|
605 |
-
}
|
606 |
-
|
607 |
cmb.triggerElement( $table, { type: 'cmb2_remove_row', group: true } );
|
608 |
|
609 |
};
|
@@ -622,20 +632,25 @@ window.CMB2 = window.CMB2 || {};
|
|
622 |
var $table = $this.parents('.cmb-repeat-table');
|
623 |
var number = $table.find('.cmb-row').length;
|
624 |
|
625 |
-
if ( number
|
626 |
-
|
627 |
-
|
628 |
-
}
|
629 |
-
$this.parents('.cmb-repeat-table .cmb-row').remove();
|
630 |
-
if ( number === 3 ) {
|
631 |
-
$table.find( '.cmb-remove-row-button' ).addClass( 'button-disabled' );
|
632 |
-
}
|
633 |
-
|
634 |
-
cmb.triggerElement( $table, { type: 'cmb2_remove_row', group: false } );
|
635 |
|
636 |
-
|
637 |
-
$
|
638 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
639 |
};
|
640 |
|
641 |
cmb.shiftRows = function( evt ) {
|
@@ -791,7 +806,11 @@ window.CMB2 = window.CMB2 || {};
|
|
791 |
|
792 |
options.onClose = function( dateText, inst ) {
|
793 |
// Remove the class when we're done with it (and hide to remove FOUC).
|
794 |
-
$id( 'ui-datepicker-div' ).removeClass( 'cmb2-element' ).hide();
|
|
|
|
|
|
|
|
|
795 |
|
796 |
// Let's be sure to call onClose if it was added
|
797 |
if ( 'function' === typeof existing.onClose ) {
|
@@ -1019,6 +1038,15 @@ window.CMB2 = window.CMB2 || {};
|
|
1019 |
$el.trigger( evtName, args );
|
1020 |
};
|
1021 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1022 |
$( cmb.init );
|
1023 |
|
1024 |
})(window, document, jQuery, window.CMB2);
|
1 |
/**
|
2 |
* Controls the behaviours of custom metabox fields.
|
3 |
*
|
4 |
+
* @author CMB2 team
|
5 |
+
* @see https://github.com/CMB2/CMB2
|
6 |
*/
|
7 |
|
|
|
|
|
|
|
8 |
/**
|
9 |
* Custom jQuery for Custom Metaboxes and Fields
|
10 |
*/
|
61 |
cmb.initPickers( $metabox.find('input[type="text"].cmb2-timepicker'), $metabox.find('input[type="text"].cmb2-datepicker'), $metabox.find('input[type="text"].cmb2-colorpicker') );
|
62 |
|
63 |
// Insert toggle button into DOM wherever there is multicheck. credit: Genesis Framework
|
64 |
+
$( '<p><span class="button-secondary cmb-multicheck-toggle">' + l10n.strings.check_toggle + '</span></p>' ).insertBefore( '.cmb2-checkbox-list:not(.no-select-all)' );
|
65 |
|
66 |
// Make File List drag/drop sortable:
|
67 |
cmb.makeListSortable();
|
89 |
|
90 |
if ( $repeatGroup.length ) {
|
91 |
$repeatGroup
|
92 |
+
.on( 'cmb2_add_row', cmb.emptyValue )
|
93 |
.filter('.sortable').each( function() {
|
94 |
// Add sorting arrows
|
95 |
+
$( this ).find( '.cmb-remove-group-row-button' ).before( '<a class="button-secondary cmb-shift-rows move-up alignleft" href="#"><span class="'+ l10n.up_arrow_class +'"></span></a> <a class="button-secondary cmb-shift-rows move-down alignleft" href="#"><span class="'+ l10n.down_arrow_class +'"></span></a>' );
|
96 |
})
|
97 |
+
.on( 'click', '.cmb-shift-rows', cmb.shiftRows );
|
|
|
98 |
}
|
99 |
|
100 |
// on pageload
|
111 |
}
|
112 |
|
113 |
// Loop repeatable group tables
|
114 |
+
$( '.cmb-repeatable-group.repeatable' ).each( function() {
|
115 |
var $table = $( this );
|
116 |
+
var groupTitle = $table.find( '.cmb-add-group-row' ).data( 'grouptitle' );
|
117 |
+
|
118 |
// Loop repeatable group table rows
|
119 |
$table.find( '.cmb-repeatable-grouping' ).each( function( rowindex ) {
|
120 |
var $row = $( this );
|
121 |
+
var $rowTitle = $row.find( 'h3.cmb-group-title' );
|
122 |
// Reset rows iterator
|
123 |
$row.data( 'iterator', rowindex );
|
124 |
// Reset rows title
|
125 |
+
if ( $rowTitle.length ) {
|
126 |
+
$rowTitle.text( groupTitle.replace( '{#}', ( rowindex + 1 ) ) );
|
127 |
+
}
|
128 |
});
|
129 |
});
|
130 |
};
|
172 |
cmb.attach_id = isList ? $el.find( 'input[type="hidden"]' ).data( 'id' ) : $td.find( '.cmb2-upload-file-id' ).val();
|
173 |
|
174 |
if ( cmb.attach_id ) {
|
175 |
+
cmb._handleMedia( $td.find( 'input.cmb2-upload-file' ).attr( 'id' ), isList, cmb.attach_id );
|
176 |
}
|
177 |
};
|
178 |
|
179 |
+
cmb._handleMedia = function( id, isList ) {
|
180 |
if ( ! wp ) {
|
181 |
return;
|
182 |
}
|
183 |
|
184 |
+
var media, handlers;
|
185 |
|
186 |
handlers = cmb.mediaHandlers;
|
187 |
media = cmb.media;
|
188 |
+
media.field = id;
|
189 |
media.$field = $id( media.field );
|
190 |
media.fieldData = media.$field.data();
|
191 |
media.previewSize = media.fieldData.previewsize;
|
194 |
media.isList = isList;
|
195 |
|
196 |
// If this field's media frame already exists, reopen it.
|
197 |
+
if ( id in media.frames ) {
|
198 |
+
return media.frames[ id ].open();
|
199 |
}
|
200 |
|
201 |
// Create the media frame.
|
202 |
+
media.frames[ id ] = wp.media( {
|
203 |
+
title: cmb.metabox().find('label[for="' + id + '"]').text(),
|
204 |
library : media.fieldData.queryargs || {},
|
205 |
button: {
|
206 |
text: l10n.strings[ isList ? 'upload_files' : 'upload_file' ]
|
208 |
multiple: isList ? 'add' : false
|
209 |
} );
|
210 |
|
211 |
+
// Enable the additional media filters: https://github.com/CMB2/CMB2/issues/873
|
212 |
+
media.frames[ id ].states.first().set( 'filterable', 'all' );
|
213 |
+
|
214 |
cmb.trigger( 'cmb_media_modal_init', media );
|
215 |
|
216 |
handlers.list = function( selection, returnIt ) {
|
|
|
217 |
|
218 |
// Setup our fileGroup array
|
219 |
var fileGroup = [];
|
220 |
+
var attachmentHtml;
|
221 |
|
222 |
if ( ! handlers.list.templates ) {
|
223 |
handlers.list.templates = {
|
228 |
|
229 |
// Loop through each attachment
|
230 |
selection.each( function( attachment ) {
|
|
|
|
|
|
|
231 |
|
232 |
// Image preview or standard generic output if it's not an image.
|
233 |
+
attachmentHtml = handlers.getAttachmentHtml( attachment, 'list' );
|
234 |
|
235 |
// Add our file to our fileGroup array
|
236 |
+
fileGroup.push( attachmentHtml );
|
237 |
});
|
238 |
|
239 |
if ( ! returnIt ) {
|
246 |
};
|
247 |
|
248 |
handlers.single = function( selection ) {
|
|
|
|
|
249 |
if ( ! handlers.single.templates ) {
|
250 |
handlers.single.templates = {
|
251 |
image : wp.template( 'cmb2-single-image' ),
|
254 |
}
|
255 |
|
256 |
// Only get one file from the uploader
|
257 |
+
var attachment = selection.first();
|
258 |
|
259 |
media.$field.val( attachment.get( 'url' ) );
|
260 |
$id( media.field +'_id' ).val( attachment.get( 'id' ) );
|
261 |
|
|
|
|
|
|
|
|
|
262 |
// Image preview or standard generic output if it's not an image.
|
263 |
+
var attachmentHtml = handlers.getAttachmentHtml( attachment, 'single' );
|
264 |
|
265 |
// add/display our output
|
266 |
+
media.$field.siblings( '.cmb2-media-status' ).slideDown().html( attachmentHtml );
|
267 |
+
};
|
268 |
+
|
269 |
+
handlers.getAttachmentHtml = function( attachment, templatesId ) {
|
270 |
+
var isImage = 'image' === attachment.get( 'type' );
|
271 |
+
var data = handlers.prepareData( attachment, isImage );
|
272 |
+
|
273 |
+
// Image preview or standard generic output if it's not an image.
|
274 |
+
return handlers[ templatesId ].templates[ isImage ? 'image' : 'file' ]( data );
|
275 |
};
|
276 |
|
277 |
handlers.prepareData = function( data, image ) {
|
305 |
|
306 |
// Get the correct dimensions and url if a named size is set and exists
|
307 |
// fallback to the 'large' size
|
308 |
+
if ( sizes ) {
|
309 |
+
if ( sizes[ media.sizeName ] ) {
|
310 |
+
url = sizes[ media.sizeName ].url;
|
311 |
+
width = sizes[ media.sizeName ].width;
|
312 |
+
height = sizes[ media.sizeName ].height;
|
313 |
+
} else if ( sizes.large ) {
|
314 |
+
url = sizes.large.url;
|
315 |
+
width = sizes.large.width;
|
316 |
+
height = sizes.large.height;
|
317 |
+
}
|
318 |
}
|
319 |
|
320 |
// Fit the image in to the preview size, keeping the correct aspect ratio
|
328 |
height = previewH;
|
329 |
}
|
330 |
|
331 |
+
if ( ! width ) {
|
332 |
+
width = previewW;
|
333 |
+
}
|
334 |
+
|
335 |
+
if ( ! height ) {
|
336 |
+
height = 'svg' === this.get( 'filename' ).split( '.' ).pop() ? '100%' : previewH;
|
337 |
+
}
|
338 |
+
|
339 |
this.set( 'sizeUrl', url );
|
340 |
this.set( 'sizeWidth', width );
|
341 |
this.set( 'sizeHeight', height );
|
344 |
};
|
345 |
|
346 |
handlers.selectFile = function() {
|
347 |
+
var selection = media.frames[ id ].state().get( 'selection' );
|
348 |
var type = isList ? 'list' : 'single';
|
349 |
|
350 |
if ( cmb.attach_id && isList ) {
|
357 |
};
|
358 |
|
359 |
handlers.openModal = function() {
|
360 |
+
var selection = media.frames[ id ].state().get( 'selection' );
|
361 |
var attach;
|
362 |
|
363 |
if ( ! cmb.attach_id ) {
|
372 |
};
|
373 |
|
374 |
// When a file is selected, run a callback.
|
375 |
+
media.frames[ id ]
|
376 |
.on( 'select', handlers.selectFile )
|
377 |
.on( 'open', handlers.openModal );
|
378 |
|
379 |
// Finally, open the modal
|
380 |
+
media.frames[ id ].open();
|
381 |
};
|
382 |
|
383 |
cmb.handleRemoveMedia = function( evt ) {
|
390 |
|
391 |
cmb.media.field = $this.attr('rel');
|
392 |
|
393 |
+
cmb.metabox().find( document.getElementById( cmb.media.field ) ).val('');
|
394 |
+
cmb.metabox().find( document.getElementById( cmb.media.field + '_id' ) ).val('');
|
395 |
$this.parents('.cmb2-media-status').html('');
|
396 |
|
397 |
return false;
|
401 |
var $elements = $row.find( cmb.repeatUpdate );
|
402 |
if ( group ) {
|
403 |
|
404 |
+
var $other = $row.find( '[id]' ).not( cmb.repeatUpdate );
|
405 |
|
406 |
// Remove extra ajaxed rows
|
407 |
$row.find('.cmb-repeat-table .cmb-repeat-row:not(:first-child)').remove();
|
423 |
}
|
424 |
}
|
425 |
|
426 |
+
$elements.filter( ':checked' ).removeAttr( 'checked' );
|
427 |
+
$elements.find( ':checked' ).removeAttr( 'checked' );
|
428 |
+
$elements.filter( ':selected' ).removeAttr( 'selected' );
|
429 |
+
$elements.find( ':selected' ).removeAttr( 'selected', false );
|
430 |
|
431 |
if ( $row.find('h3.cmb-group-title').length ) {
|
432 |
$row.find( 'h3.cmb-group-title' ).text( $row.data( 'title' ).replace( '{#}', ( cmb.idNumber + 1 ) ) );
|
433 |
}
|
434 |
|
435 |
$elements.each( function() {
|
436 |
+
cmb.elReplacements( $( this ), prevNum, group );
|
437 |
} );
|
438 |
|
439 |
return cmb;
|
440 |
};
|
441 |
|
442 |
+
cmb.elReplacements = function( $newInput, prevNum, group ) {
|
443 |
var oldFor = $newInput.attr( 'for' );
|
444 |
var oldVal = $newInput.val();
|
445 |
var type = $newInput.prop( 'type' );
|
451 |
attrs = { 'for' : oldFor.replace( '_'+ prevNum, '_'+ cmb.idNumber ) };
|
452 |
} else {
|
453 |
var oldName = $newInput.attr( 'name' );
|
454 |
+
var newName;
|
455 |
+
oldID = $newInput.attr( 'id' );
|
456 |
+
|
457 |
+
// Handle adding groups vs rows.
|
458 |
+
if ( group ) {
|
459 |
+
// Expect another bracket after group's index closing bracket.
|
460 |
+
newName = oldName ? oldName.replace( '['+ prevNum +'][', '['+ cmb.idNumber +'][' ) : '';
|
461 |
+
// Expect another underscore after group's index trailing underscore.
|
462 |
+
newID = oldID ? oldID.replace( '_' + prevNum + '_', '_' + cmb.idNumber + '_' ) : '';
|
463 |
+
}
|
464 |
+
else {
|
465 |
+
// Row indexes are at the very end of the string.
|
466 |
+
newName = oldName ? cmb.replaceLast( oldName, '[' + prevNum + ']', '[' + cmb.idNumber + ']' ) : '';
|
467 |
+
newID = oldID ? cmb.replaceLast( oldID, '_' + prevNum, '_' + cmb.idNumber ) : '';
|
468 |
+
}
|
469 |
+
|
470 |
+
attrs = {
|
471 |
id: newID,
|
472 |
+
name: newName
|
|
|
|
|
473 |
};
|
474 |
|
475 |
}
|
476 |
|
|
|
|
|
|
|
|
|
|
|
477 |
// Clear out textarea values
|
478 |
if ( 'TEXTAREA' === $newInput.prop('tagName') ) {
|
479 |
$newInput.html( '' );
|
483 |
$newInput.removeAttr( 'checked' );
|
484 |
}
|
485 |
|
486 |
+
if ( ! group && $newInput[0].hasAttribute( 'data-iterator' ) ) {
|
487 |
+
attrs['data-iterator'] = cmb.idNumber;
|
488 |
+
}
|
489 |
+
|
490 |
$newInput
|
491 |
.removeClass( 'hasDatepicker' )
|
492 |
.attr( attrs ).val( checkable ? checkable : '' );
|
570 |
|
571 |
cmb.afterRowInsert( $newRow );
|
572 |
|
|
|
|
|
|
|
|
|
|
|
|
|
573 |
cmb.triggerElement( $table, { type: 'cmb2_add_row', group: true }, $newRow );
|
574 |
|
575 |
};
|
593 |
|
594 |
cmb.triggerElement( $table, { type: 'cmb2_add_row', group: false }, $row );
|
595 |
|
|
|
|
|
596 |
};
|
597 |
|
598 |
cmb.removeGroupRow = function( evt ) {
|
603 |
var $parent = $this.parents('.cmb-repeatable-grouping');
|
604 |
var number = $table.find('.cmb-repeatable-grouping').length;
|
605 |
|
|
|
606 |
if ( number < 2 ) {
|
607 |
+
return cmb.resetRow( $parent.parents('.cmb-repeatable-group').find( '.cmb-add-group-row' ), $this );
|
608 |
}
|
609 |
|
610 |
cmb.triggerElement( $table, 'cmb2_remove_group_row_start', $this );
|
614 |
|
615 |
$parent.remove();
|
616 |
|
|
|
|
|
|
|
|
|
|
|
|
|
617 |
cmb.triggerElement( $table, { type: 'cmb2_remove_row', group: true } );
|
618 |
|
619 |
};
|
632 |
var $table = $this.parents('.cmb-repeat-table');
|
633 |
var number = $table.find('.cmb-row').length;
|
634 |
|
635 |
+
if ( number <= 2 ) {
|
636 |
+
return cmb.resetRow( $parent.find( '.cmb-add-row-button' ), $this );
|
637 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
638 |
|
639 |
+
if ( $parent.hasClass('empty-row') ) {
|
640 |
+
$parent.prev().addClass( 'empty-row' ).removeClass('cmb-repeat-row');
|
641 |
}
|
642 |
+
|
643 |
+
$this.parents('.cmb-repeat-table .cmb-row').remove();
|
644 |
+
|
645 |
+
|
646 |
+
cmb.triggerElement( $table, { type: 'cmb2_remove_row', group: false } );
|
647 |
+
};
|
648 |
+
|
649 |
+
cmb.resetRow = function( $addNewBtn, $removeBtn ) {
|
650 |
+
// Click the "add new" button followed by the "remove this" button
|
651 |
+
// in order to reset the repeat row to empty values.
|
652 |
+
$addNewBtn.trigger( 'click' );
|
653 |
+
$removeBtn.trigger( 'click' );
|
654 |
};
|
655 |
|
656 |
cmb.shiftRows = function( evt ) {
|
806 |
|
807 |
options.onClose = function( dateText, inst ) {
|
808 |
// Remove the class when we're done with it (and hide to remove FOUC).
|
809 |
+
var $picker = $id( 'ui-datepicker-div' ).removeClass( 'cmb2-element' ).hide();
|
810 |
+
if ( 'timepicker' === method && ! $( inst.input ).val() ) {
|
811 |
+
// Set the timepicker field value if it's empty.
|
812 |
+
inst.input.val( $picker.find( '.ui_tpicker_time' ).text() );
|
813 |
+
}
|
814 |
|
815 |
// Let's be sure to call onClose if it was added
|
816 |
if ( 'function' === typeof existing.onClose ) {
|
1038 |
$el.trigger( evtName, args );
|
1039 |
};
|
1040 |
|
1041 |
+
cmb.replaceLast = function( string, search, replace ) {
|
1042 |
+
// find the index of last time word was used
|
1043 |
+
var n = string.lastIndexOf( search );
|
1044 |
+
|
1045 |
+
// slice the string in 2, one from the start to the lastIndexOf
|
1046 |
+
// and then replace the word in the rest
|
1047 |
+
return string.slice( 0, n ) + string.slice( n ).replace( search, replace );
|
1048 |
+
};
|
1049 |
+
|
1050 |
$( cmb.init );
|
1051 |
|
1052 |
})(window, document, jQuery, window.CMB2);
|
vendor/CMB2/js/cmb2.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
window.CMB2=window.CMB2||{},function(window,document,$,cmb,undefined){"use strict";var $document,l10n=window.cmb2_l10,setTimeout=window.setTimeout,$id=function(selector){return $(document.getElementById(selector))},defaults={idNumber:!1,repeatEls:'input:not([type="button"],[id^=filelist]),select,textarea,.cmb2-media-status',noEmpty:'input:not([type="button"]):not([type="radio"]):not([type="checkbox"]),textarea',repeatUpdate:'input:not([type="button"]),select,textarea,label',styleBreakPoint:450,mediaHandlers:{},defaults:{time_picker:l10n.defaults.time_picker,date_picker:l10n.defaults.date_picker,color_picker:l10n.defaults.color_picker||{}},media:{frames:{}}};cmb.metabox=function(){return cmb.$metabox?cmb.$metabox:(cmb.$metabox=$(".cmb2-wrap > .cmb2-metabox"),cmb.$metabox)},cmb.init=function(){$document=$(document),$.extend(cmb,defaults),cmb.trigger("cmb_pre_init");var $metabox=cmb.metabox(),$repeatGroup=$metabox.find(".cmb-repeatable-group");cmb.initPickers($metabox.find('input[type="text"].cmb2-timepicker'),$metabox.find('input[type="text"].cmb2-datepicker'),$metabox.find('input[type="text"].cmb2-colorpicker')),$('<p><span class="button cmb-multicheck-toggle">'+l10n.strings.check_toggle+"</span></p>").insertBefore(".cmb2-checkbox-list:not(.no-select-all)"),cmb.makeListSortable(),$metabox.on("change",".cmb2_upload_file",function(){cmb.media.field=$(this).attr("id"),$id(cmb.media.field+"_id").val("")}).on("click",".cmb-multicheck-toggle",cmb.toggleCheckBoxes).on("click",".cmb2-upload-button",cmb.handleMedia).on("click",".cmb-attach-list li, .cmb2-media-status .img-status img, .cmb2-media-status .file-status > span",cmb.handleFileClick).on("click",".cmb2-remove-file-button",cmb.handleRemoveMedia).on("click",".cmb-add-group-row",cmb.addGroupRow).on("click",".cmb-add-row-button",cmb.addAjaxRow).on("click",".cmb-remove-group-row",cmb.removeGroupRow).on("click",".cmb-remove-row-button",cmb.removeAjaxRow).on("keyup paste focusout",".cmb2-oembed",cmb.maybeOembed).on("cmb2_remove_row",".cmb-repeatable-group",cmb.resetTitlesAndIterator).on("click",".cmbhandle, .cmbhandle + .cmbhandle-title",cmb.toggleHandle),$repeatGroup.length&&$repeatGroup.filter(".sortable").each(function(){$(this).find(".button.cmb-remove-group-row").before('<a class="button cmb-shift-rows move-up alignleft" href="#"><span class="'+l10n.up_arrow_class+'"></span></a> <a class="button cmb-shift-rows move-down alignleft" href="#"><span class="'+l10n.down_arrow_class+'"></span></a>')}).on("click",".cmb-shift-rows",cmb.shiftRows).on("cmb2_add_row",cmb.emptyValue),setTimeout(cmb.resizeoEmbeds,500),$(window).on("resize",cmb.resizeoEmbeds),cmb.trigger("cmb_init")},cmb.resetTitlesAndIterator=function(evt){evt.group&&$(".cmb-repeatable-group").each(function(){var $table=$(this);$table.find(".cmb-repeatable-grouping").each(function(rowindex){var $row=$(this);$row.data("iterator",rowindex),$row.find(".cmb-group-title h4").text($table.find(".cmb-add-group-row").data("grouptitle").replace("{#}",rowindex+1))})})},cmb.toggleHandle=function(evt){evt.preventDefault(),cmb.trigger("postbox-toggled",$(this).parent(".postbox").toggleClass("closed"))},cmb.toggleCheckBoxes=function(evt){evt.preventDefault();var $this=$(this),$multicheck=$this.closest(".cmb-td").find("input[type=checkbox]:not([disabled])");$this.data("checked")?($multicheck.prop("checked",!1),$this.data("checked",!1)):($multicheck.prop("checked",!0),$this.data("checked",!0))},cmb.handleMedia=function(evt){evt.preventDefault();var $el=$(this);cmb.attach_id=$el.hasClass("cmb2-upload-list")?!1:$el.closest(".cmb-td").find(".cmb2-upload-file-id").val(),cmb.attach_id="0"!==cmb.attach_id?cmb.attach_id:!1,cmb._handleMedia($el.prev("input.cmb2-upload-file").attr("id"),$el.hasClass("cmb2-upload-list"))},cmb.handleFileClick=function(evt){evt.preventDefault();var $el=$(this),$td=$el.closest(".cmb-td"),isList=$td.find(".cmb2-upload-button").hasClass("cmb2-upload-list");cmb.attach_id=isList?$el.find('input[type="hidden"]').data("id"):$td.find(".cmb2-upload-file-id").val(),cmb.attach_id&&cmb._handleMedia($td.find("input.cmb2-upload-file").attr("id"),isList,cmb.attach_id)},cmb._handleMedia=function(formfield,isList){if(wp){var modal,media,handlers;if(handlers=cmb.mediaHandlers,media=cmb.media,media.field=formfield,media.$field=$id(media.field),media.fieldData=media.$field.data(),media.previewSize=media.fieldData.previewsize,media.sizeName=media.fieldData.sizename,media.fieldName=media.$field.attr("name"),media.isList=isList,media.field in media.frames)return media.frames[media.field].open();media.frames[media.field]=modal=wp.media({title:cmb.metabox().find('label[for="'+media.field+'"]').text(),library:media.fieldData.queryargs||{},button:{text:l10n.strings[isList?"upload_files":"upload_file"]},multiple:isList?"add":!1}),cmb.trigger("cmb_media_modal_init",media),handlers.list=function(selection,returnIt){var data,isImage,mediaItem,fileGroup=[];return handlers.list.templates||(handlers.list.templates={image:wp.template("cmb2-list-image"),file:wp.template("cmb2-list-file")}),selection.each(function(attachment){isImage="image"===attachment.get("type"),data=handlers.prepareData(attachment,isImage),mediaItem=handlers.list.templates[isImage?"image":"file"](data),fileGroup.push(mediaItem)}),returnIt?fileGroup:void media.$field.siblings(".cmb2-media-status").append(fileGroup)},handlers.single=function(selection){var attachment,isImage,data,mediaItem;handlers.single.templates||(handlers.single.templates={image:wp.template("cmb2-single-image"),file:wp.template("cmb2-single-file")}),attachment=selection.first(),media.$field.val(attachment.get("url")),$id(media.field+"_id").val(attachment.get("id")),isImage="image"===attachment.get("type"),data=handlers.prepareData(attachment,isImage),mediaItem=handlers.single.templates[isImage?"image":"file"](data),media.$field.siblings(".cmb2-media-status").slideDown().html(mediaItem)},handlers.prepareData=function(data,image){return image&&handlers.getImageData.call(data,50),data=data.toJSON(),data.mediaField=media.field,data.mediaFieldName=media.fieldName,data.stringRemoveImage=l10n.strings.remove_image,data.stringFile=l10n.strings.file,data.stringDownload=l10n.strings.download,data.stringRemoveFile=l10n.strings.remove_file,data},handlers.getImageData=function(fallbackSize){var previewW=media.previewSize[0]||fallbackSize,previewH=media.previewSize[1]||fallbackSize,url=this.get("url"),width=this.get("width"),height=this.get("height"),sizes=this.get("sizes");return sizes[media.sizeName]?(url=sizes[media.sizeName].url,width=sizes[media.sizeName].width,height=sizes[media.sizeName].height):sizes.large&&(url=sizes.large.url,width=sizes.large.width,height=sizes.large.height),width>previewW&&(height=Math.floor(previewW*height/width),width=previewW),height>previewH&&(width=Math.floor(previewH*width/height),height=previewH),this.set("sizeUrl",url),this.set("sizeWidth",width),this.set("sizeHeight",height),this},handlers.selectFile=function(){var selection=modal.state().get("selection"),type=isList?"list":"single";cmb.attach_id&&isList?$('[data-id="'+cmb.attach_id+'"]').parents("li").replaceWith(handlers.list(selection,!0)):handlers[type](selection),cmb.trigger("cmb_media_modal_select",selection,media)},handlers.openModal=function(){var attach,selection=modal.state().get("selection");cmb.attach_id?(attach=wp.media.attachment(cmb.attach_id),attach.fetch(),selection.set(attach?[attach]:[])):selection.reset(),cmb.trigger("cmb_media_modal_open",selection,media)},modal.on("select",handlers.selectFile).on("open",handlers.openModal),modal.open()}},cmb.handleRemoveMedia=function(evt){evt.preventDefault();var $this=$(this);return $this.is(".cmb-attach-list .cmb2-remove-file-button")?($this.parents(".cmb2-media-item").remove(),!1):(cmb.media.field=$this.attr("rel"),cmb.metabox().find("input#"+cmb.media.field).val(""),cmb.metabox().find("input#"+cmb.media.field+"_id").val(""),$this.parents(".cmb2-media-status").html(""),!1)},cmb.cleanRow=function($row,prevNum,group){var $elements=$row.find(cmb.repeatUpdate);if(group){var $other=$row.find("[id]").not(cmb.repeatUpdate);$row.find(".cmb-repeat-table .cmb-repeat-row:not(:first-child)").remove(),$other.length&&$other.each(function(){var $_this=$(this),oldID=$_this.attr("id"),newID=oldID.replace("_"+prevNum,"_"+cmb.idNumber),$buttons=$row.find('[data-selector="'+oldID+'"]');$_this.attr("id",newID),$buttons.length&&$buttons.attr("data-selector",newID).data("selector",newID)})}return $elements.filter(":checked").prop("checked",!1),$elements.filter(":selected").prop("selected",!1),$row.find("h3.cmb-group-title").length&&$row.find("h3.cmb-group-title").text($row.data("title").replace("{#}",cmb.idNumber+1)),$elements.each(function(){cmb.elReplacements($(this),prevNum)}),cmb},cmb.elReplacements=function($newInput,prevNum){var newID,oldID,oldFor=$newInput.attr("for"),oldVal=$newInput.val(),type=$newInput.prop("type"),checkable="radio"===type||"checkbox"===type?oldVal:!1,attrs={};if(oldFor)attrs={"for":oldFor.replace("_"+prevNum,"_"+cmb.idNumber)};else{var oldName=$newInput.attr("name"),newName=oldName?oldName.replace("["+prevNum+"]","["+cmb.idNumber+"]"):"";oldID=$newInput.attr("id"),newID=oldID?oldID.replace("_"+prevNum,"_"+cmb.idNumber):"",attrs={id:newID,name:newName,"data-iterator":cmb.idNumber}}return(undefined!==typeof oldVal&&oldVal||checkable)&&(attrs.value=checkable?checkable:""),"TEXTAREA"===$newInput.prop("tagName")&&$newInput.html(""),checkable&&$newInput.removeAttr("checked"),$newInput.removeClass("hasDatepicker").attr(attrs).val(checkable?checkable:""),$newInput},cmb.newRowHousekeeping=function($row){var $colorPicker=$row.find(".wp-picker-container"),$list=$row.find(".cmb2-media-status");return $colorPicker.length&&$colorPicker.each(function(){var $td=$(this).parent();$td.html($td.find('input[type="text"].cmb2-colorpicker').attr("style",""))}),$list.length&&$list.empty(),cmb},cmb.afterRowInsert=function($row){cmb.initPickers($row.find('input[type="text"].cmb2-timepicker'),$row.find('input[type="text"].cmb2-datepicker'),$row.find('input[type="text"].cmb2-colorpicker'))},cmb.updateNameAttr=function(){var $this=$(this),name=$this.attr("name");if("undefined"!=typeof name){var prevNum=parseInt($this.parents(".cmb-repeatable-grouping").data("iterator"),10),newNum=prevNum-1,$newName=name.replace("["+prevNum+"]","["+newNum+"]");$this.attr("name",$newName)}},cmb.emptyValue=function(evt,row){$(cmb.noEmpty,row).val("")},cmb.addGroupRow=function(evt){evt.preventDefault();var $this=$(this);cmb.triggerElement($this,"cmb2_add_group_row_start",$this);var $table=$id($this.data("selector")),$oldRow=$table.find(".cmb-repeatable-grouping").last(),prevNum=parseInt($oldRow.data("iterator"),10);cmb.idNumber=parseInt(prevNum,10)+1;for(var $row=$oldRow.clone();$table.find('.cmb-repeatable-grouping[data-iterator="'+cmb.idNumber+'"]').length>0;)cmb.idNumber++;cmb.newRowHousekeeping($row.data("title",$this.data("grouptitle"))).cleanRow($row,prevNum,!0),$row.find(".cmb-add-row-button").prop("disabled",!1);var $newRow=$('<div class="postbox cmb-row cmb-repeatable-grouping" data-iterator="'+cmb.idNumber+'">'+$row.html()+"</div>");$oldRow.after($newRow),cmb.afterRowInsert($newRow),$table.find(".cmb-repeatable-grouping").length<=1?$table.find(".cmb-remove-group-row").prop("disabled",!0):$table.find(".cmb-remove-group-row").prop("disabled",!1),cmb.triggerElement($table,{type:"cmb2_add_row",group:!0},$newRow)},cmb.addAjaxRow=function(evt){evt.preventDefault();var $this=$(this),$table=$id($this.data("selector")),$emptyrow=$table.find(".empty-row"),prevNum=parseInt($emptyrow.find("[data-iterator]").data("iterator"),10);cmb.idNumber=parseInt(prevNum,10)+1;var $row=$emptyrow.clone();cmb.newRowHousekeeping($row).cleanRow($row,prevNum),$emptyrow.removeClass("empty-row hidden").addClass("cmb-repeat-row"),$emptyrow.after($row),cmb.afterRowInsert($row),cmb.triggerElement($table,{type:"cmb2_add_row",group:!1},$row),$table.find(".cmb-remove-row-button").removeClass("button-disabled")},cmb.removeGroupRow=function(evt){evt.preventDefault();var $this=$(this),$table=$id($this.data("selector")),$parent=$this.parents(".cmb-repeatable-grouping"),number=$table.find(".cmb-repeatable-grouping").length;2>number||(cmb.triggerElement($table,"cmb2_remove_group_row_start",$this),$parent.nextAll(".cmb-repeatable-grouping").find(cmb.repeatEls).each(cmb.updateNameAttr),$parent.remove(),2>=number?$table.find(".cmb-remove-group-row").prop("disabled",!0):$table.find(".cmb-remove-group-row").prop("disabled",!1),cmb.triggerElement($table,{type:"cmb2_remove_row",group:!0}))},cmb.removeAjaxRow=function(evt){evt.preventDefault();var $this=$(this);if(!$this.hasClass("button-disabled")){var $parent=$this.parents(".cmb-row"),$table=$this.parents(".cmb-repeat-table"),number=$table.find(".cmb-row").length;number>2?($parent.hasClass("empty-row")&&$parent.prev().addClass("empty-row").removeClass("cmb-repeat-row"),$this.parents(".cmb-repeat-table .cmb-row").remove(),3===number&&$table.find(".cmb-remove-row-button").addClass("button-disabled"),cmb.triggerElement($table,{type:"cmb2_remove_row",group:!1})):$this.addClass("button-disabled")}},cmb.shiftRows=function(evt){evt.preventDefault();var $this=$(this),$from=$this.parents(".cmb-repeatable-grouping"),$goto=$this.hasClass("move-up")?$from.prev(".cmb-repeatable-grouping"):$from.next(".cmb-repeatable-grouping");if(cmb.triggerElement($this,"cmb2_shift_rows_enter",$this,$from,$goto),$goto.length){cmb.triggerElement($this,"cmb2_shift_rows_start",$this,$from,$goto);var inputVals=[];$from.find(cmb.repeatEls).each(function(){var val,$element=$(this),elType=$element.attr("type");val=$element.hasClass("cmb2-media-status")?$element.html():"checkbox"===elType||"radio"===elType?$element.is(":checked"):"select"===$element.prop("tagName")?$element.is(":selected"):$element.val(),inputVals.push({val:val,$:$element})}),$goto.find(cmb.repeatEls).each(function(index){var val,$element=$(this),elType=$element.attr("type");if($element.hasClass("cmb2-media-status")){var toRowId=$element.closest(".cmb-repeatable-grouping").attr("data-iterator"),fromRowId=inputVals[index].$.closest(".cmb-repeatable-grouping").attr("data-iterator");val=$element.html(),$element.html(inputVals[index].val),inputVals[index].$.html(val),inputVals[index].$.find("input").each(function(){var name=$(this).attr("name");name=name.replace("["+toRowId+"]","["+fromRowId+"]"),$(this).attr("name",name)}),$element.find("input").each(function(){var name=$(this).attr("name");name=name.replace("["+fromRowId+"]","["+toRowId+"]"),$(this).attr("name",name)})}else"checkbox"===elType?(inputVals[index].$.prop("checked",$element.is(":checked")),$element.prop("checked",inputVals[index].val)):"radio"===elType?($element.is(":checked")&&inputVals[index].$.attr("data-checked","true"),inputVals[index].$.is(":checked")&&$element.attr("data-checked","true")):"select"===$element.prop("tagName")?(inputVals[index].$.prop("selected",$element.is(":selected")),$element.prop("selected",inputVals[index].val)):(inputVals[index].$.val($element.val()),$element.val(inputVals[index].val))}),$from.find("input[data-checked=true]").prop("checked",!0).removeAttr("data-checked"),$goto.find("input[data-checked=true]").prop("checked",!0).removeAttr("data-checked"),$from.find('input[type="text"].cmb2-colorpicker').trigger("change"),$goto.find('input[type="text"].cmb2-colorpicker').trigger("change"),cmb.triggerElement($this,"cmb2_shift_rows_complete",$this,$from,$goto)}},cmb.initPickers=function($timePickers,$datePickers,$colorPickers){cmb.initDateTimePickers($timePickers,"timepicker","time_picker"),cmb.initDateTimePickers($datePickers,"datepicker","date_picker"),cmb.initColorPickers($colorPickers)},cmb.initDateTimePickers=function($selector,method,defaultKey){$selector.length&&$selector[method]("destroy").each(function(){var $this=$(this),fieldOpts=$this.data(method)||{},options=$.extend({},cmb.defaults[defaultKey],fieldOpts);$this[method](cmb.datePickerSetupOpts(fieldOpts,options,method))})},cmb.datePickerSetupOpts=function(fieldOpts,options,method){var existing=$.extend({},options);return options.beforeShow=function(input,inst){"timepicker"===method&&cmb.addTimePickerClasses(inst.dpDiv),$id("ui-datepicker-div").addClass("cmb2-element"),"function"==typeof existing.beforeShow&&existing.beforeShow(input,inst)},"timepicker"===method&&(options.onChangeMonthYear=function(year,month,inst,picker){cmb.addTimePickerClasses(inst.dpDiv),"function"==typeof existing.onChangeMonthYear&&existing.onChangeMonthYear(year,month,inst,picker)}),options.onClose=function(dateText,inst){$id("ui-datepicker-div").removeClass("cmb2-element").hide(),"function"==typeof existing.onClose&&existing.onClose(dateText,inst)},options},cmb.addTimePickerClasses=function($picker){var func=cmb.addTimePickerClasses;func.count=func.count||0,setTimeout(function(){$picker.find(".ui-priority-secondary").length?($picker.find(".ui-priority-secondary").addClass("button-secondary"),$picker.find(".ui-priority-primary").addClass("button-primary"),func.count=0):func.count<5&&(func.count++,func($picker))},10)},cmb.initColorPickers=function($selector){$selector.length&&("object"==typeof jQuery.wp&&"function"==typeof jQuery.wp.wpColorPicker?$selector.each(function(){var $this=$(this),fieldOpts=$this.data("colorpicker")||{};$this.wpColorPicker($.extend({},cmb.defaults.color_picker,fieldOpts))}):$selector.each(function(i){$(this).after('<div id="picker-'+i+'" style="z-index: 1000; background: #EEE; border: 1px solid #CCC; position: absolute; display: block;"></div>'),$id("picker-"+i).hide().farbtastic($(this))}).focus(function(){$(this).next().show()}).blur(function(){$(this).next().hide()}))},cmb.makeListSortable=function(){var $filelist=cmb.metabox().find(".cmb2-media-status.cmb-attach-list");$filelist.length&&$filelist.sortable({cursor:"move"}).disableSelection()},cmb.maybeOembed=function(evt){var $this=$(this),m={focusout:function(){setTimeout(function(){cmb.spinner(".cmb2-metabox",!0)},2e3)},keyup:function(){var betw=function(min,max){return evt.which<=max&&evt.which>=min};(betw(48,90)||betw(96,111)||betw(8,9)||187===evt.which||190===evt.which)&&cmb.doAjax($this,evt)},paste:function(){setTimeout(function(){cmb.doAjax($this)},100)}};m[evt.type]()},cmb.resizeoEmbeds=function(){cmb.metabox().each(function(){var $this=$(this),$tableWrap=$this.parents(".inside"),isSide=$this.parents(".inner-sidebar").length||$this.parents("#side-sortables").length,isSmall=isSide,isSmallest=!1;if(!$tableWrap.length)return!0;var tableW=$tableWrap.width();cmb.styleBreakPoint>tableW&&(isSmall=!0,isSmallest=cmb.styleBreakPoint-62>tableW),tableW=isSmall?tableW:Math.round(.82*$tableWrap.width()*.97);var newWidth=tableW-30;if(!isSmall||isSide||isSmallest||(newWidth-=75),newWidth>639)return!0;var $embeds=$this.find(".cmb-type-oembed .embed-status"),$children=$embeds.children().not(".cmb2-remove-wrapper");return $children.length?void $children.each(function(){var $this=$(this),iwidth=$this.width(),iheight=$this.height(),_newWidth=newWidth;$this.parents(".cmb-repeat-row").length&&!isSmall&&(_newWidth=newWidth-91,_newWidth=785>tableW?_newWidth-15:_newWidth);var newHeight=Math.round(_newWidth*iheight/iwidth);$this.width(_newWidth).height(newHeight)}):!0})},cmb.log=function(){l10n.script_debug&&console&&"function"==typeof console.log&&console.log.apply(console,arguments)},cmb.spinner=function($context,hide){var m=hide?"removeClass":"addClass";$(".cmb-spinner",$context)[m]("is-active")},cmb.doAjax=function($obj){var oembed_url=$obj.val();if(!(oembed_url.length<6)){var field_id=$obj.attr("id"),$context=$obj.closest(".cmb-td"),$embed_container=$context.find(".embed-status"),$embed_wrap=$context.find(".embed_wrap"),$child_el=$embed_container.find(":first-child"),oembed_width=$embed_container.length&&$child_el.length?$child_el.width():$obj.width();cmb.log("oembed_url",oembed_url,field_id),cmb.spinner($context),$embed_wrap.html(""),setTimeout(function(){$(".cmb2-oembed:focus").val()===oembed_url&&$.ajax({type:"post",dataType:"json",url:l10n.ajaxurl,data:{action:"cmb2_oembed_handler",oembed_url:oembed_url,oembed_width:oembed_width>300?oembed_width:300,field_id:field_id,object_id:$obj.data("objectid"),object_type:$obj.data("objecttype"),cmb2_ajax_nonce:l10n.ajax_nonce},success:function(response){cmb.log(response),cmb.spinner($context,!0),$embed_wrap.html(response.data)}})},500)}},cmb.trigger=function(evtName){var args=Array.prototype.slice.call(arguments,1);args.push(cmb),$document.trigger(evtName,args)},cmb.triggerElement=function($el,evtName){var args=Array.prototype.slice.call(arguments,2);args.push(cmb),$el.trigger(evtName,args)},$(cmb.init)}(window,document,jQuery,window.CMB2),window.CMB2=window.CMB2||{},window.CMB2.wysiwyg=window.CMB2.wysiwyg||{},function(window,document,$,wysiwyg,undefined){"use strict";function delayedInit(){0===toBeDestroyed.length?toBeInitialized.forEach(function(toInit){toBeInitialized.splice(toBeInitialized.indexOf(toInit),1),wysiwyg.init.apply(wysiwyg,toInit)}):window.setTimeout(delayedInit,100)}function delayedDestroy(){toBeDestroyed.forEach(function(id){toBeDestroyed.splice(toBeDestroyed.indexOf(id),1),wysiwyg.destroy(id)})}function getGroupData(data){var groupid=data.groupid,fieldid=data.fieldid;return all[groupid]&&all[groupid][fieldid]||(all[groupid]=all[groupid]||{},all[groupid][fieldid]={template:wp.template("cmb2-wysiwyg-"+groupid+"-"+fieldid),defaults:{mce:$.extend({},tinyMCEPreInit.mceInit["cmb2_i_"+groupid+fieldid]),qt:$.extend({},tinyMCEPreInit.qtInit["cmb2_i_"+groupid+fieldid])}},delete tinyMCEPreInit.mceInit["cmb2_i_"+groupid+fieldid],delete tinyMCEPreInit.qtInit["cmb2_i_"+groupid+fieldid]),all[groupid][fieldid]}function initOptions(options){var prop,newSettings,newQTS,nameRegex=new RegExp("cmb2_n_"+options.groupid+options.fieldid,"g"),idRegex=new RegExp("cmb2_i_"+options.groupid+options.fieldid,"g");if("undefined"==typeof tinyMCEPreInit.mceInit[options.id]){newSettings=$.extend({},options.defaults.mce);for(prop in newSettings)"string"==typeof newSettings[prop]&&(newSettings[prop]=newSettings[prop].replace(idRegex,options.id).replace(nameRegex,options.name));tinyMCEPreInit.mceInit[options.id]=newSettings}if("undefined"==typeof tinyMCEPreInit.qtInit[options.id]){newQTS=$.extend({},options.defaults.qt);for(prop in newQTS)"string"==typeof newQTS[prop]&&(newQTS[prop]=newQTS[prop].replace(idRegex,options.id).replace(nameRegex,options.name));tinyMCEPreInit.qtInit[options.id]=newQTS}}var toBeDestroyed=[],toBeInitialized=[],all=wysiwyg.all={};wysiwyg.initAll=function(){var $this,data,initiated;$(".cmb2-wysiwyg-placeholder").each(function(){$this=$(this),data=$this.data(),data.groupid&&(data.id=$this.attr("id"),data.name=$this.attr("name"),data.value=$this.val(),wysiwyg.init($this,data,!1),initiated=!0)}),!0===initiated&&("undefined"!=typeof window.QTags&&window.QTags._buttonsInit(),$(document).on("cmb2_add_row",wysiwyg.addRow).on("cmb2_remove_group_row_start",wysiwyg.destroyRowEditors).on("cmb2_shift_rows_start",wysiwyg.shiftStart).on("cmb2_shift_rows_complete",wysiwyg.shiftComplete))},wysiwyg.addRow=function(evt,$row){wysiwyg.initRow($row)},wysiwyg.destroyRowEditors=function(evt,$btn){wysiwyg.destroy($btn.parents(".cmb-repeatable-grouping").find(".wp-editor-area").attr("id"))},wysiwyg.shiftStart=function(evt,$btn,$from,$to){$from.add($to).find(".wp-editor-wrap textarea").each(function(){wysiwyg.destroy($(this).attr("id"))})},wysiwyg.shiftComplete=function(evt,$btn,$from,$to){$from.add($to).each(function(){wysiwyg.initRow($(this))})},wysiwyg.initRow=function($row){var $toReplace,data;$row.find(".cmb2-wysiwyg-inner-wrap").each(function(){$toReplace=$(this),data=$toReplace.data(),data.iterator=$row.data("iterator"),data.fieldid=data.id,data.id=data.groupid+"_"+data.iterator+"_"+data.fieldid,data.name=data.groupid+"["+data.iterator+"]["+data.fieldid+"]",data.value=$toReplace.find(".wp-editor-area").length?$toReplace.find(".wp-editor-area").val():"",0===toBeDestroyed.length?wysiwyg.init($toReplace,data):(toBeInitialized.push([$toReplace,data]),window.setTimeout(delayedInit,100))})},wysiwyg.init=function($toReplace,data,buttonsInit){return data.groupid?($.extend(data,getGroupData(data)),initOptions(data),$toReplace.replaceWith(data.template(data)),window.tinyMCE.init(tinyMCEPreInit.mceInit[data.id]),"function"==typeof window.quicktags&&window.quicktags(tinyMCEPreInit.qtInit[data.id]),$(document.getElementById(data.id)).parents(".wp-editor-wrap").removeClass("html-active").addClass("tmce-active"),void(!1!==buttonsInit&&"undefined"!=typeof window.QTags&&window.QTags._buttonsInit())):!1},wysiwyg.destroy=function(id){var editor=tinyMCE.get(id);null!==editor&&"undefined"!=typeof editor?(editor.destroy(),"undefined"==typeof tinyMCEPreInit.mceInit[id]&&delete tinyMCEPreInit.mceInit[id],"undefined"==typeof tinyMCEPreInit.qtInit[id]&&delete tinyMCEPreInit.qtInit[id]):-1===toBeDestroyed.indexOf(id)&&(toBeDestroyed.push(id),window.setTimeout(delayedDestroy,100))},$(document).on("cmb_init",wysiwyg.initAll)}(window,document,jQuery,window.CMB2.wysiwyg);
|
1 |
+
window.CMB2=window.CMB2||{},function(window,document,$,cmb,undefined){"use strict";var $document,l10n=window.cmb2_l10,setTimeout=window.setTimeout,$id=function(selector){return $(document.getElementById(selector))},defaults={idNumber:!1,repeatEls:'input:not([type="button"],[id^=filelist]),select,textarea,.cmb2-media-status',noEmpty:'input:not([type="button"]):not([type="radio"]):not([type="checkbox"]),textarea',repeatUpdate:'input:not([type="button"]),select,textarea,label',styleBreakPoint:450,mediaHandlers:{},defaults:{time_picker:l10n.defaults.time_picker,date_picker:l10n.defaults.date_picker,color_picker:l10n.defaults.color_picker||{}},media:{frames:{}}};cmb.metabox=function(){return cmb.$metabox?cmb.$metabox:(cmb.$metabox=$(".cmb2-wrap > .cmb2-metabox"),cmb.$metabox)},cmb.init=function(){$document=$(document),$.extend(cmb,defaults),cmb.trigger("cmb_pre_init");var $metabox=cmb.metabox(),$repeatGroup=$metabox.find(".cmb-repeatable-group");cmb.initPickers($metabox.find('input[type="text"].cmb2-timepicker'),$metabox.find('input[type="text"].cmb2-datepicker'),$metabox.find('input[type="text"].cmb2-colorpicker')),$('<p><span class="button-secondary cmb-multicheck-toggle">'+l10n.strings.check_toggle+"</span></p>").insertBefore(".cmb2-checkbox-list:not(.no-select-all)"),cmb.makeListSortable(),$metabox.on("change",".cmb2_upload_file",function(){cmb.media.field=$(this).attr("id"),$id(cmb.media.field+"_id").val("")}).on("click",".cmb-multicheck-toggle",cmb.toggleCheckBoxes).on("click",".cmb2-upload-button",cmb.handleMedia).on("click",".cmb-attach-list li, .cmb2-media-status .img-status img, .cmb2-media-status .file-status > span",cmb.handleFileClick).on("click",".cmb2-remove-file-button",cmb.handleRemoveMedia).on("click",".cmb-add-group-row",cmb.addGroupRow).on("click",".cmb-add-row-button",cmb.addAjaxRow).on("click",".cmb-remove-group-row",cmb.removeGroupRow).on("click",".cmb-remove-row-button",cmb.removeAjaxRow).on("keyup paste focusout",".cmb2-oembed",cmb.maybeOembed).on("cmb2_remove_row",".cmb-repeatable-group",cmb.resetTitlesAndIterator).on("click",".cmbhandle, .cmbhandle + .cmbhandle-title",cmb.toggleHandle),$repeatGroup.length&&$repeatGroup.on("cmb2_add_row",cmb.emptyValue).filter(".sortable").each(function(){$(this).find(".cmb-remove-group-row-button").before('<a class="button-secondary cmb-shift-rows move-up alignleft" href="#"><span class="'+l10n.up_arrow_class+'"></span></a> <a class="button-secondary cmb-shift-rows move-down alignleft" href="#"><span class="'+l10n.down_arrow_class+'"></span></a>')}).on("click",".cmb-shift-rows",cmb.shiftRows),setTimeout(cmb.resizeoEmbeds,500),$(window).on("resize",cmb.resizeoEmbeds),cmb.trigger("cmb_init")},cmb.resetTitlesAndIterator=function(evt){evt.group&&$(".cmb-repeatable-group.repeatable").each(function(){var $table=$(this),groupTitle=$table.find(".cmb-add-group-row").data("grouptitle");$table.find(".cmb-repeatable-grouping").each(function(rowindex){var $row=$(this),$rowTitle=$row.find("h3.cmb-group-title");$row.data("iterator",rowindex),$rowTitle.length&&$rowTitle.text(groupTitle.replace("{#}",rowindex+1))})})},cmb.toggleHandle=function(evt){evt.preventDefault(),cmb.trigger("postbox-toggled",$(this).parent(".postbox").toggleClass("closed"))},cmb.toggleCheckBoxes=function(evt){evt.preventDefault();var $this=$(this),$multicheck=$this.closest(".cmb-td").find("input[type=checkbox]:not([disabled])");$this.data("checked")?($multicheck.prop("checked",!1),$this.data("checked",!1)):($multicheck.prop("checked",!0),$this.data("checked",!0))},cmb.handleMedia=function(evt){evt.preventDefault();var $el=$(this);cmb.attach_id=$el.hasClass("cmb2-upload-list")?!1:$el.closest(".cmb-td").find(".cmb2-upload-file-id").val(),cmb.attach_id="0"!==cmb.attach_id?cmb.attach_id:!1,cmb._handleMedia($el.prev("input.cmb2-upload-file").attr("id"),$el.hasClass("cmb2-upload-list"))},cmb.handleFileClick=function(evt){evt.preventDefault();var $el=$(this),$td=$el.closest(".cmb-td"),isList=$td.find(".cmb2-upload-button").hasClass("cmb2-upload-list");cmb.attach_id=isList?$el.find('input[type="hidden"]').data("id"):$td.find(".cmb2-upload-file-id").val(),cmb.attach_id&&cmb._handleMedia($td.find("input.cmb2-upload-file").attr("id"),isList,cmb.attach_id)},cmb._handleMedia=function(id,isList){if(wp){var media,handlers;if(handlers=cmb.mediaHandlers,media=cmb.media,media.field=id,media.$field=$id(media.field),media.fieldData=media.$field.data(),media.previewSize=media.fieldData.previewsize,media.sizeName=media.fieldData.sizename,media.fieldName=media.$field.attr("name"),media.isList=isList,id in media.frames)return media.frames[id].open();media.frames[id]=wp.media({title:cmb.metabox().find('label[for="'+id+'"]').text(),library:media.fieldData.queryargs||{},button:{text:l10n.strings[isList?"upload_files":"upload_file"]},multiple:isList?"add":!1}),media.frames[id].states.first().set("filterable","all"),cmb.trigger("cmb_media_modal_init",media),handlers.list=function(selection,returnIt){var attachmentHtml,fileGroup=[];return handlers.list.templates||(handlers.list.templates={image:wp.template("cmb2-list-image"),file:wp.template("cmb2-list-file")}),selection.each(function(attachment){attachmentHtml=handlers.getAttachmentHtml(attachment,"list"),fileGroup.push(attachmentHtml)}),returnIt?fileGroup:void media.$field.siblings(".cmb2-media-status").append(fileGroup)},handlers.single=function(selection){handlers.single.templates||(handlers.single.templates={image:wp.template("cmb2-single-image"),file:wp.template("cmb2-single-file")});var attachment=selection.first();media.$field.val(attachment.get("url")),$id(media.field+"_id").val(attachment.get("id"));var attachmentHtml=handlers.getAttachmentHtml(attachment,"single");media.$field.siblings(".cmb2-media-status").slideDown().html(attachmentHtml)},handlers.getAttachmentHtml=function(attachment,templatesId){var isImage="image"===attachment.get("type"),data=handlers.prepareData(attachment,isImage);return handlers[templatesId].templates[isImage?"image":"file"](data)},handlers.prepareData=function(data,image){return image&&handlers.getImageData.call(data,50),data=data.toJSON(),data.mediaField=media.field,data.mediaFieldName=media.fieldName,data.stringRemoveImage=l10n.strings.remove_image,data.stringFile=l10n.strings.file,data.stringDownload=l10n.strings.download,data.stringRemoveFile=l10n.strings.remove_file,data},handlers.getImageData=function(fallbackSize){var previewW=media.previewSize[0]||fallbackSize,previewH=media.previewSize[1]||fallbackSize,url=this.get("url"),width=this.get("width"),height=this.get("height"),sizes=this.get("sizes");return sizes&&(sizes[media.sizeName]?(url=sizes[media.sizeName].url,width=sizes[media.sizeName].width,height=sizes[media.sizeName].height):sizes.large&&(url=sizes.large.url,width=sizes.large.width,height=sizes.large.height)),width>previewW&&(height=Math.floor(previewW*height/width),width=previewW),height>previewH&&(width=Math.floor(previewH*width/height),height=previewH),width||(width=previewW),height||(height="svg"===this.get("filename").split(".").pop()?"100%":previewH),this.set("sizeUrl",url),this.set("sizeWidth",width),this.set("sizeHeight",height),this},handlers.selectFile=function(){var selection=media.frames[id].state().get("selection"),type=isList?"list":"single";cmb.attach_id&&isList?$('[data-id="'+cmb.attach_id+'"]').parents("li").replaceWith(handlers.list(selection,!0)):handlers[type](selection),cmb.trigger("cmb_media_modal_select",selection,media)},handlers.openModal=function(){var attach,selection=media.frames[id].state().get("selection");cmb.attach_id?(attach=wp.media.attachment(cmb.attach_id),attach.fetch(),selection.set(attach?[attach]:[])):selection.reset(),cmb.trigger("cmb_media_modal_open",selection,media)},media.frames[id].on("select",handlers.selectFile).on("open",handlers.openModal),media.frames[id].open()}},cmb.handleRemoveMedia=function(evt){evt.preventDefault();var $this=$(this);return $this.is(".cmb-attach-list .cmb2-remove-file-button")?($this.parents(".cmb2-media-item").remove(),!1):(cmb.media.field=$this.attr("rel"),cmb.metabox().find(document.getElementById(cmb.media.field)).val(""),cmb.metabox().find(document.getElementById(cmb.media.field+"_id")).val(""),$this.parents(".cmb2-media-status").html(""),!1)},cmb.cleanRow=function($row,prevNum,group){var $elements=$row.find(cmb.repeatUpdate);if(group){var $other=$row.find("[id]").not(cmb.repeatUpdate);$row.find(".cmb-repeat-table .cmb-repeat-row:not(:first-child)").remove(),$other.length&&$other.each(function(){var $_this=$(this),oldID=$_this.attr("id"),newID=oldID.replace("_"+prevNum,"_"+cmb.idNumber),$buttons=$row.find('[data-selector="'+oldID+'"]');$_this.attr("id",newID),$buttons.length&&$buttons.attr("data-selector",newID).data("selector",newID)})}return $elements.filter(":checked").removeAttr("checked"),$elements.find(":checked").removeAttr("checked"),$elements.filter(":selected").removeAttr("selected"),$elements.find(":selected").removeAttr("selected",!1),$row.find("h3.cmb-group-title").length&&$row.find("h3.cmb-group-title").text($row.data("title").replace("{#}",cmb.idNumber+1)),$elements.each(function(){cmb.elReplacements($(this),prevNum,group)}),cmb},cmb.elReplacements=function($newInput,prevNum,group){var newID,oldID,oldFor=$newInput.attr("for"),oldVal=$newInput.val(),type=$newInput.prop("type"),checkable="radio"===type||"checkbox"===type?oldVal:!1,attrs={};if(oldFor)attrs={"for":oldFor.replace("_"+prevNum,"_"+cmb.idNumber)};else{var newName,oldName=$newInput.attr("name");oldID=$newInput.attr("id"),group?(newName=oldName?oldName.replace("["+prevNum+"][","["+cmb.idNumber+"]["):"",newID=oldID?oldID.replace("_"+prevNum+"_","_"+cmb.idNumber+"_"):""):(newName=oldName?cmb.replaceLast(oldName,"["+prevNum+"]","["+cmb.idNumber+"]"):"",newID=oldID?cmb.replaceLast(oldID,"_"+prevNum,"_"+cmb.idNumber):""),attrs={id:newID,name:newName}}return"TEXTAREA"===$newInput.prop("tagName")&&$newInput.html(""),checkable&&$newInput.removeAttr("checked"),!group&&$newInput[0].hasAttribute("data-iterator")&&(attrs["data-iterator"]=cmb.idNumber),$newInput.removeClass("hasDatepicker").attr(attrs).val(checkable?checkable:""),$newInput},cmb.newRowHousekeeping=function($row){var $colorPicker=$row.find(".wp-picker-container"),$list=$row.find(".cmb2-media-status");return $colorPicker.length&&$colorPicker.each(function(){var $td=$(this).parent();$td.html($td.find('input[type="text"].cmb2-colorpicker').attr("style",""))}),$list.length&&$list.empty(),cmb},cmb.afterRowInsert=function($row){cmb.initPickers($row.find('input[type="text"].cmb2-timepicker'),$row.find('input[type="text"].cmb2-datepicker'),$row.find('input[type="text"].cmb2-colorpicker'))},cmb.updateNameAttr=function(){var $this=$(this),name=$this.attr("name");if("undefined"!=typeof name){var prevNum=parseInt($this.parents(".cmb-repeatable-grouping").data("iterator"),10),newNum=prevNum-1,$newName=name.replace("["+prevNum+"]","["+newNum+"]");$this.attr("name",$newName)}},cmb.emptyValue=function(evt,row){$(cmb.noEmpty,row).val("")},cmb.addGroupRow=function(evt){evt.preventDefault();var $this=$(this);cmb.triggerElement($this,"cmb2_add_group_row_start",$this);var $table=$id($this.data("selector")),$oldRow=$table.find(".cmb-repeatable-grouping").last(),prevNum=parseInt($oldRow.data("iterator"),10);cmb.idNumber=parseInt(prevNum,10)+1;for(var $row=$oldRow.clone();$table.find('.cmb-repeatable-grouping[data-iterator="'+cmb.idNumber+'"]').length>0;)cmb.idNumber++;cmb.newRowHousekeeping($row.data("title",$this.data("grouptitle"))).cleanRow($row,prevNum,!0),$row.find(".cmb-add-row-button").prop("disabled",!1);var $newRow=$('<div class="postbox cmb-row cmb-repeatable-grouping" data-iterator="'+cmb.idNumber+'">'+$row.html()+"</div>");$oldRow.after($newRow),cmb.afterRowInsert($newRow),cmb.triggerElement($table,{type:"cmb2_add_row",group:!0},$newRow)},cmb.addAjaxRow=function(evt){evt.preventDefault();var $this=$(this),$table=$id($this.data("selector")),$emptyrow=$table.find(".empty-row"),prevNum=parseInt($emptyrow.find("[data-iterator]").data("iterator"),10);cmb.idNumber=parseInt(prevNum,10)+1;var $row=$emptyrow.clone();cmb.newRowHousekeeping($row).cleanRow($row,prevNum),$emptyrow.removeClass("empty-row hidden").addClass("cmb-repeat-row"),$emptyrow.after($row),cmb.afterRowInsert($row),cmb.triggerElement($table,{type:"cmb2_add_row",group:!1},$row)},cmb.removeGroupRow=function(evt){evt.preventDefault();var $this=$(this),$table=$id($this.data("selector")),$parent=$this.parents(".cmb-repeatable-grouping"),number=$table.find(".cmb-repeatable-grouping").length;return 2>number?cmb.resetRow($parent.parents(".cmb-repeatable-group").find(".cmb-add-group-row"),$this):(cmb.triggerElement($table,"cmb2_remove_group_row_start",$this),$parent.nextAll(".cmb-repeatable-grouping").find(cmb.repeatEls).each(cmb.updateNameAttr),$parent.remove(),void cmb.triggerElement($table,{type:"cmb2_remove_row",group:!0}))},cmb.removeAjaxRow=function(evt){evt.preventDefault();var $this=$(this);if(!$this.hasClass("button-disabled")){var $parent=$this.parents(".cmb-row"),$table=$this.parents(".cmb-repeat-table"),number=$table.find(".cmb-row").length;if(2>=number)return cmb.resetRow($parent.find(".cmb-add-row-button"),$this);$parent.hasClass("empty-row")&&$parent.prev().addClass("empty-row").removeClass("cmb-repeat-row"),$this.parents(".cmb-repeat-table .cmb-row").remove(),cmb.triggerElement($table,{type:"cmb2_remove_row",group:!1})}},cmb.resetRow=function($addNewBtn,$removeBtn){$addNewBtn.trigger("click"),$removeBtn.trigger("click")},cmb.shiftRows=function(evt){evt.preventDefault();var $this=$(this),$from=$this.parents(".cmb-repeatable-grouping"),$goto=$this.hasClass("move-up")?$from.prev(".cmb-repeatable-grouping"):$from.next(".cmb-repeatable-grouping");if(cmb.triggerElement($this,"cmb2_shift_rows_enter",$this,$from,$goto),$goto.length){cmb.triggerElement($this,"cmb2_shift_rows_start",$this,$from,$goto);var inputVals=[];$from.find(cmb.repeatEls).each(function(){var val,$element=$(this),elType=$element.attr("type");val=$element.hasClass("cmb2-media-status")?$element.html():"checkbox"===elType||"radio"===elType?$element.is(":checked"):"select"===$element.prop("tagName")?$element.is(":selected"):$element.val(),inputVals.push({val:val,$:$element})}),$goto.find(cmb.repeatEls).each(function(index){var val,$element=$(this),elType=$element.attr("type");if($element.hasClass("cmb2-media-status")){var toRowId=$element.closest(".cmb-repeatable-grouping").attr("data-iterator"),fromRowId=inputVals[index].$.closest(".cmb-repeatable-grouping").attr("data-iterator");val=$element.html(),$element.html(inputVals[index].val),inputVals[index].$.html(val),inputVals[index].$.find("input").each(function(){var name=$(this).attr("name");name=name.replace("["+toRowId+"]","["+fromRowId+"]"),$(this).attr("name",name)}),$element.find("input").each(function(){var name=$(this).attr("name");name=name.replace("["+fromRowId+"]","["+toRowId+"]"),$(this).attr("name",name)})}else"checkbox"===elType?(inputVals[index].$.prop("checked",$element.is(":checked")),$element.prop("checked",inputVals[index].val)):"radio"===elType?($element.is(":checked")&&inputVals[index].$.attr("data-checked","true"),inputVals[index].$.is(":checked")&&$element.attr("data-checked","true")):"select"===$element.prop("tagName")?(inputVals[index].$.prop("selected",$element.is(":selected")),$element.prop("selected",inputVals[index].val)):(inputVals[index].$.val($element.val()),$element.val(inputVals[index].val))}),$from.find("input[data-checked=true]").prop("checked",!0).removeAttr("data-checked"),$goto.find("input[data-checked=true]").prop("checked",!0).removeAttr("data-checked"),$from.find('input[type="text"].cmb2-colorpicker').trigger("change"),$goto.find('input[type="text"].cmb2-colorpicker').trigger("change"),cmb.triggerElement($this,"cmb2_shift_rows_complete",$this,$from,$goto)}},cmb.initPickers=function($timePickers,$datePickers,$colorPickers){cmb.initDateTimePickers($timePickers,"timepicker","time_picker"),cmb.initDateTimePickers($datePickers,"datepicker","date_picker"),cmb.initColorPickers($colorPickers)},cmb.initDateTimePickers=function($selector,method,defaultKey){$selector.length&&$selector[method]("destroy").each(function(){var $this=$(this),fieldOpts=$this.data(method)||{},options=$.extend({},cmb.defaults[defaultKey],fieldOpts);$this[method](cmb.datePickerSetupOpts(fieldOpts,options,method))})},cmb.datePickerSetupOpts=function(fieldOpts,options,method){var existing=$.extend({},options);return options.beforeShow=function(input,inst){"timepicker"===method&&cmb.addTimePickerClasses(inst.dpDiv),$id("ui-datepicker-div").addClass("cmb2-element"),"function"==typeof existing.beforeShow&&existing.beforeShow(input,inst)},"timepicker"===method&&(options.onChangeMonthYear=function(year,month,inst,picker){cmb.addTimePickerClasses(inst.dpDiv),"function"==typeof existing.onChangeMonthYear&&existing.onChangeMonthYear(year,month,inst,picker)}),options.onClose=function(dateText,inst){var $picker=$id("ui-datepicker-div").removeClass("cmb2-element").hide();"timepicker"!==method||$(inst.input).val()||inst.input.val($picker.find(".ui_tpicker_time").text()),"function"==typeof existing.onClose&&existing.onClose(dateText,inst)},options},cmb.addTimePickerClasses=function($picker){var func=cmb.addTimePickerClasses;func.count=func.count||0,setTimeout(function(){$picker.find(".ui-priority-secondary").length?($picker.find(".ui-priority-secondary").addClass("button-secondary"),$picker.find(".ui-priority-primary").addClass("button-primary"),func.count=0):func.count<5&&(func.count++,func($picker))},10)},cmb.initColorPickers=function($selector){$selector.length&&("object"==typeof jQuery.wp&&"function"==typeof jQuery.wp.wpColorPicker?$selector.each(function(){var $this=$(this),fieldOpts=$this.data("colorpicker")||{};$this.wpColorPicker($.extend({},cmb.defaults.color_picker,fieldOpts))}):$selector.each(function(i){$(this).after('<div id="picker-'+i+'" style="z-index: 1000; background: #EEE; border: 1px solid #CCC; position: absolute; display: block;"></div>'),$id("picker-"+i).hide().farbtastic($(this))}).focus(function(){$(this).next().show()}).blur(function(){$(this).next().hide()}))},cmb.makeListSortable=function(){var $filelist=cmb.metabox().find(".cmb2-media-status.cmb-attach-list");$filelist.length&&$filelist.sortable({cursor:"move"}).disableSelection()},cmb.maybeOembed=function(evt){var $this=$(this),m={focusout:function(){setTimeout(function(){cmb.spinner(".cmb2-metabox",!0)},2e3)},keyup:function(){var betw=function(min,max){return evt.which<=max&&evt.which>=min};(betw(48,90)||betw(96,111)||betw(8,9)||187===evt.which||190===evt.which)&&cmb.doAjax($this,evt)},paste:function(){setTimeout(function(){cmb.doAjax($this)},100)}};m[evt.type]()},cmb.resizeoEmbeds=function(){cmb.metabox().each(function(){var $this=$(this),$tableWrap=$this.parents(".inside"),isSide=$this.parents(".inner-sidebar").length||$this.parents("#side-sortables").length,isSmall=isSide,isSmallest=!1;if(!$tableWrap.length)return!0;var tableW=$tableWrap.width();cmb.styleBreakPoint>tableW&&(isSmall=!0,isSmallest=cmb.styleBreakPoint-62>tableW),tableW=isSmall?tableW:Math.round(.82*$tableWrap.width()*.97);var newWidth=tableW-30;if(!isSmall||isSide||isSmallest||(newWidth-=75),newWidth>639)return!0;var $embeds=$this.find(".cmb-type-oembed .embed-status"),$children=$embeds.children().not(".cmb2-remove-wrapper");return $children.length?void $children.each(function(){var $this=$(this),iwidth=$this.width(),iheight=$this.height(),_newWidth=newWidth;$this.parents(".cmb-repeat-row").length&&!isSmall&&(_newWidth=newWidth-91,_newWidth=785>tableW?_newWidth-15:_newWidth);var newHeight=Math.round(_newWidth*iheight/iwidth);$this.width(_newWidth).height(newHeight)}):!0})},cmb.log=function(){l10n.script_debug&&console&&"function"==typeof console.log&&console.log.apply(console,arguments)},cmb.spinner=function($context,hide){var m=hide?"removeClass":"addClass";$(".cmb-spinner",$context)[m]("is-active")},cmb.doAjax=function($obj){var oembed_url=$obj.val();if(!(oembed_url.length<6)){var field_id=$obj.attr("id"),$context=$obj.closest(".cmb-td"),$embed_container=$context.find(".embed-status"),$embed_wrap=$context.find(".embed_wrap"),$child_el=$embed_container.find(":first-child"),oembed_width=$embed_container.length&&$child_el.length?$child_el.width():$obj.width();cmb.log("oembed_url",oembed_url,field_id),cmb.spinner($context),$embed_wrap.html(""),setTimeout(function(){$(".cmb2-oembed:focus").val()===oembed_url&&$.ajax({type:"post",dataType:"json",url:l10n.ajaxurl,data:{action:"cmb2_oembed_handler",oembed_url:oembed_url,oembed_width:oembed_width>300?oembed_width:300,field_id:field_id,object_id:$obj.data("objectid"),object_type:$obj.data("objecttype"),cmb2_ajax_nonce:l10n.ajax_nonce},success:function(response){cmb.log(response),cmb.spinner($context,!0),$embed_wrap.html(response.data)}})},500)}},cmb.trigger=function(evtName){var args=Array.prototype.slice.call(arguments,1);args.push(cmb),$document.trigger(evtName,args)},cmb.triggerElement=function($el,evtName){var args=Array.prototype.slice.call(arguments,2);args.push(cmb),$el.trigger(evtName,args)},cmb.replaceLast=function(string,search,replace){var n=string.lastIndexOf(search);return string.slice(0,n)+string.slice(n).replace(search,replace)},$(cmb.init)}(window,document,jQuery,window.CMB2),window.CMB2=window.CMB2||{},window.CMB2.wysiwyg=window.CMB2.wysiwyg||{},function(window,document,$,wysiwyg,undefined){"use strict";function delayedInit(){0===toBeDestroyed.length?toBeInitialized.forEach(function(toInit){toBeInitialized.splice(toBeInitialized.indexOf(toInit),1),wysiwyg.init.apply(wysiwyg,toInit)}):window.setTimeout(delayedInit,100)}function delayedDestroy(){toBeDestroyed.forEach(function(id){toBeDestroyed.splice(toBeDestroyed.indexOf(id),1),wysiwyg.destroy(id)})}function getGroupData(data){var groupid=data.groupid,fieldid=data.fieldid;return all[groupid]&&all[groupid][fieldid]||(all[groupid]=all[groupid]||{},all[groupid][fieldid]={template:wp.template("cmb2-wysiwyg-"+groupid+"-"+fieldid),defaults:{mce:$.extend({},tinyMCEPreInit.mceInit["cmb2_i_"+groupid+fieldid]),qt:$.extend({},tinyMCEPreInit.qtInit["cmb2_i_"+groupid+fieldid])}},delete tinyMCEPreInit.mceInit["cmb2_i_"+groupid+fieldid],delete tinyMCEPreInit.qtInit["cmb2_i_"+groupid+fieldid]),all[groupid][fieldid]}function initOptions(options){var prop,newSettings,newQTS,nameRegex=new RegExp("cmb2_n_"+options.groupid+options.fieldid,"g"),idRegex=new RegExp("cmb2_i_"+options.groupid+options.fieldid,"g");if("undefined"==typeof tinyMCEPreInit.mceInit[options.id]){newSettings=$.extend({},options.defaults.mce);for(prop in newSettings)"string"==typeof newSettings[prop]&&(newSettings[prop]=newSettings[prop].replace(idRegex,options.id).replace(nameRegex,options.name));tinyMCEPreInit.mceInit[options.id]=newSettings}if("undefined"==typeof tinyMCEPreInit.qtInit[options.id]){newQTS=$.extend({},options.defaults.qt);for(prop in newQTS)"string"==typeof newQTS[prop]&&(newQTS[prop]=newQTS[prop].replace(idRegex,options.id).replace(nameRegex,options.name));tinyMCEPreInit.qtInit[options.id]=newQTS}}var toBeDestroyed=[],toBeInitialized=[],all=wysiwyg.all={};wysiwyg.initAll=function(){var $this,data,initiated;$(".cmb2-wysiwyg-placeholder").each(function(){$this=$(this),data=$this.data(),data.groupid&&(data.id=$this.attr("id"),data.name=$this.attr("name"),data.value=$this.val(),wysiwyg.init($this,data,!1),initiated=!0)}),!0===initiated&&("undefined"!=typeof window.QTags&&window.QTags._buttonsInit(),$(document).on("cmb2_add_row",wysiwyg.addRow).on("cmb2_remove_group_row_start",wysiwyg.destroyRowEditors).on("cmb2_shift_rows_start",wysiwyg.shiftStart).on("cmb2_shift_rows_complete",wysiwyg.shiftComplete))},wysiwyg.addRow=function(evt,$row){wysiwyg.initRow($row)},wysiwyg.destroyRowEditors=function(evt,$btn){wysiwyg.destroy($btn.parents(".cmb-repeatable-grouping").find(".wp-editor-area").attr("id"))},wysiwyg.shiftStart=function(evt,$btn,$from,$to){$from.add($to).find(".wp-editor-wrap textarea").each(function(){wysiwyg.destroy($(this).attr("id"))})},wysiwyg.shiftComplete=function(evt,$btn,$from,$to){$from.add($to).each(function(){wysiwyg.initRow($(this))})},wysiwyg.initRow=function($row){var $toReplace,data;$row.find(".cmb2-wysiwyg-inner-wrap").each(function(){$toReplace=$(this),data=$toReplace.data(),data.iterator=$row.data("iterator"),data.fieldid=data.id,data.id=data.groupid+"_"+data.iterator+"_"+data.fieldid,data.name=data.groupid+"["+data.iterator+"]["+data.fieldid+"]",data.value=$toReplace.find(".wp-editor-area").length?$toReplace.find(".wp-editor-area").val():"",0===toBeDestroyed.length?wysiwyg.init($toReplace,data):(toBeInitialized.push([$toReplace,data]),window.setTimeout(delayedInit,100))})},wysiwyg.init=function($toReplace,data,buttonsInit){if(!data.groupid)return!1;var mceActive=window.cmb2_l10.user_can_richedit&&window.tinyMCE,qtActive="function"==typeof window.quicktags;$.extend(data,getGroupData(data)),initOptions(data),$toReplace.replaceWith(data.template(data)),mceActive&&window.tinyMCE.init(tinyMCEPreInit.mceInit[data.id]),qtActive&&window.quicktags(tinyMCEPreInit.qtInit[data.id]),mceActive&&$(document.getElementById(data.id)).parents(".wp-editor-wrap").removeClass("html-active").addClass("tmce-active"),!1!==buttonsInit&&"undefined"!=typeof window.QTags&&window.QTags._buttonsInit()},wysiwyg.destroy=function(id){if(window.cmb2_l10.user_can_richedit&&window.tinyMCE){var editor=tinyMCE.get(id);null!==editor&&"undefined"!=typeof editor?(editor.destroy(),"undefined"==typeof tinyMCEPreInit.mceInit[id]&&delete tinyMCEPreInit.mceInit[id],"undefined"==typeof tinyMCEPreInit.qtInit[id]&&delete tinyMCEPreInit.qtInit[id]):-1===toBeDestroyed.indexOf(id)&&(toBeDestroyed.push(id),window.setTimeout(delayedDestroy,100))}},$(document).on("cmb_init",wysiwyg.initAll)}(window,document,jQuery,window.CMB2.wysiwyg);
|
vendor/CMB2/js/index.php
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
<?php
|
2 |
-
// Silence is golden
|
1 |
<?php
|
2 |
+
// Silence is golden
|
vendor/CMB2/js/wp-color-picker-alpha.js
ADDED
@@ -0,0 +1,496 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**!
|
2 |
+
* wp-color-picker-alpha
|
3 |
+
*
|
4 |
+
* Overwrite Automattic Iris for enabled Alpha Channel in wpColorPicker
|
5 |
+
* Only run in input and is defined data alpha in true
|
6 |
+
*
|
7 |
+
* Version: 2.1.3
|
8 |
+
* https://github.com/kallookoo/wp-color-picker-alpha
|
9 |
+
* Licensed under the GPLv2 license.
|
10 |
+
*/
|
11 |
+
( function( $ ) {
|
12 |
+
// Prevent double-init.
|
13 |
+
if ( $.wp.wpColorPicker.prototype._hasAlpha ) {
|
14 |
+
return;
|
15 |
+
}
|
16 |
+
|
17 |
+
// Variable for some backgrounds ( grid )
|
18 |
+
var image = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAAHnlligAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUeNpi+P///4EDBxiAGMgCCCAGFB5AADGCRBgYDh48CCRZIJS9vT2QBAggFBkmBiSAogxFBiCAoHogAKIKAlBUYTELAiAmEtABEECk20G6BOmuIl0CIMBQ/IEMkO0myiSSraaaBhZcbkUOs0HuBwDplz5uFJ3Z4gAAAABJRU5ErkJggg==',
|
19 |
+
// html stuff for wpColorPicker copy of the original color-picker.js
|
20 |
+
_after = '<div class="wp-picker-holder" />',
|
21 |
+
_wrap = '<div class="wp-picker-container" />',
|
22 |
+
_button = '<input type="button" class="button button-small" />',
|
23 |
+
// Prevent CSS issues in < WordPress 4.9
|
24 |
+
_deprecated = ( wpColorPickerL10n.current !== undefined );
|
25 |
+
// Declare some global variables when is deprecated or not
|
26 |
+
if ( _deprecated ) {
|
27 |
+
var _before = '<a tabindex="0" class="wp-color-result" />';
|
28 |
+
} else {
|
29 |
+
var _before = '<button type="button" class="button wp-color-result" aria-expanded="false"><span class="wp-color-result-text"></span></button>',
|
30 |
+
_wrappingLabel = '<label></label>',
|
31 |
+
_wrappingLabelText = '<span class="screen-reader-text"></span>';
|
32 |
+
}
|
33 |
+
/**
|
34 |
+
* Overwrite Color
|
35 |
+
* for enable support rbga
|
36 |
+
*/
|
37 |
+
Color.fn.toString = function() {
|
38 |
+
if ( this._alpha < 1 )
|
39 |
+
return this.toCSS( 'rgba', this._alpha ).replace( /\s+/g, '' );
|
40 |
+
|
41 |
+
var hex = parseInt( this._color, 10 ).toString( 16 );
|
42 |
+
|
43 |
+
if ( this.error )
|
44 |
+
return '';
|
45 |
+
|
46 |
+
if ( hex.length < 6 )
|
47 |
+
hex = ( '00000' + hex ).substr( -6 );
|
48 |
+
|
49 |
+
return '#' + hex;
|
50 |
+
};
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Overwrite wpColorPicker
|
54 |
+
*/
|
55 |
+
$.widget( 'wp.wpColorPicker', $.wp.wpColorPicker, {
|
56 |
+
_hasAlpha: true,
|
57 |
+
/**
|
58 |
+
* @summary Creates the color picker.
|
59 |
+
*
|
60 |
+
* Creates the color picker, sets default values, css classes and wraps it all in HTML.
|
61 |
+
*
|
62 |
+
* @since 3.5.0
|
63 |
+
*
|
64 |
+
* @access private
|
65 |
+
*
|
66 |
+
* @returns {void}
|
67 |
+
*/
|
68 |
+
_create: function() {
|
69 |
+
// Return early if Iris support is missing.
|
70 |
+
if ( ! $.support.iris ) {
|
71 |
+
return;
|
72 |
+
}
|
73 |
+
|
74 |
+
var self = this,
|
75 |
+
el = self.element;
|
76 |
+
|
77 |
+
// Override default options with options bound to the element.
|
78 |
+
$.extend( self.options, el.data() );
|
79 |
+
|
80 |
+
// Create a color picker which only allows adjustments to the hue.
|
81 |
+
if ( self.options.type === 'hue' ) {
|
82 |
+
return self._createHueOnly();
|
83 |
+
}
|
84 |
+
|
85 |
+
// Bind the close event.
|
86 |
+
self.close = $.proxy( self.close, self );
|
87 |
+
|
88 |
+
self.initialValue = el.val();
|
89 |
+
|
90 |
+
// Add a CSS class to the input field.
|
91 |
+
el.addClass( 'wp-color-picker' );
|
92 |
+
|
93 |
+
if ( _deprecated ) {
|
94 |
+
el.hide().wrap( _wrap );
|
95 |
+
self.wrap = el.parent();
|
96 |
+
self.toggler = $( _before )
|
97 |
+
.insertBefore( el )
|
98 |
+
.css( { backgroundColor : self.initialValue } )
|
99 |
+
.attr( 'title', wpColorPickerL10n.pick )
|
100 |
+
.attr( 'data-current', wpColorPickerL10n.current );
|
101 |
+
self.pickerContainer = $( _after ).insertAfter( el );
|
102 |
+
self.button = $( _button ).addClass('hidden');
|
103 |
+
} else {
|
104 |
+
/*
|
105 |
+
* Check if there's already a wrapping label, e.g. in the Customizer.
|
106 |
+
* If there's no label, add a default one to match the Customizer template.
|
107 |
+
*/
|
108 |
+
if ( ! el.parent( 'label' ).length ) {
|
109 |
+
// Wrap the input field in the default label.
|
110 |
+
el.wrap( _wrappingLabel );
|
111 |
+
// Insert the default label text.
|
112 |
+
self.wrappingLabelText = $( _wrappingLabelText )
|
113 |
+
.insertBefore( el )
|
114 |
+
.text( wpColorPickerL10n.defaultLabel );
|
115 |
+
}
|
116 |
+
|
117 |
+
/*
|
118 |
+
* At this point, either it's the standalone version or the Customizer
|
119 |
+
* one, we have a wrapping label to use as hook in the DOM, let's store it.
|
120 |
+
*/
|
121 |
+
self.wrappingLabel = el.parent();
|
122 |
+
|
123 |
+
// Wrap the label in the main wrapper.
|
124 |
+
self.wrappingLabel.wrap( _wrap );
|
125 |
+
// Store a reference to the main wrapper.
|
126 |
+
self.wrap = self.wrappingLabel.parent();
|
127 |
+
// Set up the toggle button and insert it before the wrapping label.
|
128 |
+
self.toggler = $( _before )
|
129 |
+
.insertBefore( self.wrappingLabel )
|
130 |
+
.css( { backgroundColor: self.initialValue } );
|
131 |
+
// Set the toggle button span element text.
|
132 |
+
self.toggler.find( '.wp-color-result-text' ).text( wpColorPickerL10n.pick );
|
133 |
+
// Set up the Iris container and insert it after the wrapping label.
|
134 |
+
self.pickerContainer = $( _after ).insertAfter( self.wrappingLabel );
|
135 |
+
// Store a reference to the Clear/Default button.
|
136 |
+
self.button = $( _button );
|
137 |
+
}
|
138 |
+
|
139 |
+
// Set up the Clear/Default button.
|
140 |
+
if ( self.options.defaultColor ) {
|
141 |
+
self.button.addClass( 'wp-picker-default' ).val( wpColorPickerL10n.defaultString );
|
142 |
+
if ( ! _deprecated ) {
|
143 |
+
self.button.attr( 'aria-label', wpColorPickerL10n.defaultAriaLabel );
|
144 |
+
}
|
145 |
+
} else {
|
146 |
+
self.button.addClass( 'wp-picker-clear' ).val( wpColorPickerL10n.clear );
|
147 |
+
if ( ! _deprecated ) {
|
148 |
+
self.button.attr( 'aria-label', wpColorPickerL10n.clearAriaLabel );
|
149 |
+
}
|
150 |
+
}
|
151 |
+
|
152 |
+
if ( _deprecated ) {
|
153 |
+
el.wrap( '<span class="wp-picker-input-wrap" />' ).after( self.button );
|
154 |
+
} else {
|
155 |
+
// Wrap the wrapping label in its wrapper and append the Clear/Default button.
|
156 |
+
self.wrappingLabel
|
157 |
+
.wrap( '<span class="wp-picker-input-wrap hidden" />' )
|
158 |
+
.after( self.button );
|
159 |
+
|
160 |
+
/*
|
161 |
+
* The input wrapper now contains the label+input+Clear/Default button.
|
162 |
+
* Store a reference to the input wrapper: we'll use this to toggle
|
163 |
+
* the controls visibility.
|
164 |
+
*/
|
165 |
+
self.inputWrapper = el.closest( '.wp-picker-input-wrap' );
|
166 |
+
}
|
167 |
+
|
168 |
+
el.iris( {
|
169 |
+
target: self.pickerContainer,
|
170 |
+
hide: self.options.hide,
|
171 |
+
width: self.options.width,
|
172 |
+
mode: self.options.mode,
|
173 |
+
palettes: self.options.palettes,
|
174 |
+
/**
|
175 |
+
* @summary Handles the onChange event if one has been defined in the options.
|
176 |
+
*
|
177 |
+
* Handles the onChange event if one has been defined in the options and additionally
|
178 |
+
* sets the background color for the toggler element.
|
179 |
+
*
|
180 |
+
* @since 3.5.0
|
181 |
+
*
|
182 |
+
* @param {Event} event The event that's being called.
|
183 |
+
* @param {HTMLElement} ui The HTMLElement containing the color picker.
|
184 |
+
*
|
185 |
+
* @returns {void}
|
186 |
+
*/
|
187 |
+
change: function( event, ui ) {
|
188 |
+
if ( self.options.alpha ) {
|
189 |
+
self.toggler.css( { 'background-image' : 'url(' + image + ')' } );
|
190 |
+
if ( _deprecated ) {
|
191 |
+
self.toggler.html( '<span class="color-alpha" />' );
|
192 |
+
} else {
|
193 |
+
self.toggler.css( {
|
194 |
+
'position' : 'relative'
|
195 |
+
} );
|
196 |
+
if ( self.toggler.find('span.color-alpha').length == 0 ) {
|
197 |
+
self.toggler.append('<span class="color-alpha" />');
|
198 |
+
}
|
199 |
+
}
|
200 |
+
|
201 |
+
self.toggler.find( 'span.color-alpha' ).css( {
|
202 |
+
'width' : '30px',
|
203 |
+
'height' : '24px',
|
204 |
+
'position' : 'absolute',
|
205 |
+
'top' : 0,
|
206 |
+
'left' : 0,
|
207 |
+
'border-top-left-radius' : '2px',
|
208 |
+
'border-bottom-left-radius' : '2px',
|
209 |
+
'background' : ui.color.toString()
|
210 |
+
} );
|
211 |
+
} else {
|
212 |
+
self.toggler.css( { backgroundColor : ui.color.toString() } );
|
213 |
+
}
|
214 |
+
|
215 |
+
if ( $.isFunction( self.options.change ) ) {
|
216 |
+
self.options.change.call( this, event, ui );
|
217 |
+
}
|
218 |
+
}
|
219 |
+
} );
|
220 |
+
|
221 |
+
el.val( self.initialValue );
|
222 |
+
self._addListeners();
|
223 |
+
|
224 |
+
// Force the color picker to always be closed on initial load.
|
225 |
+
if ( ! self.options.hide ) {
|
226 |
+
self.toggler.click();
|
227 |
+
}
|
228 |
+
},
|
229 |
+
/**
|
230 |
+
* @summary Binds event listeners to the color picker.
|
231 |
+
*
|
232 |
+
* @since 3.5.0
|
233 |
+
*
|
234 |
+
* @access private
|
235 |
+
*
|
236 |
+
* @returns {void}
|
237 |
+
*/
|
238 |
+
_addListeners: function() {
|
239 |
+
var self = this;
|
240 |
+
|
241 |
+
/**
|
242 |
+
* @summary Prevent any clicks inside this widget from leaking to the top and closing it.
|
243 |
+
*
|
244 |
+
* @since 3.5.0
|
245 |
+
*
|
246 |
+
* @param {Event} event The event that's being called.
|
247 |
+
*
|
248 |
+
* @returs {void}
|
249 |
+
*/
|
250 |
+
self.wrap.on( 'click.wpcolorpicker', function( event ) {
|
251 |
+
event.stopPropagation();
|
252 |
+
});
|
253 |
+
|
254 |
+
/**
|
255 |
+
* @summary Open or close the color picker depending on the class.
|
256 |
+
*
|
257 |
+
* @since 3.5
|
258 |
+
*/
|
259 |
+
self.toggler.click( function(){
|
260 |
+
if ( self.toggler.hasClass( 'wp-picker-open' ) ) {
|
261 |
+
self.close();
|
262 |
+
} else {
|
263 |
+
self.open();
|
264 |
+
}
|
265 |
+
});
|
266 |
+
|
267 |
+
/**
|
268 |
+
* @summary Checks if value is empty when changing the color in the color picker.
|
269 |
+
*
|
270 |
+
* Checks if value is empty when changing the color in the color picker.
|
271 |
+
* If so, the background color is cleared.
|
272 |
+
*
|
273 |
+
* @since 3.5.0
|
274 |
+
*
|
275 |
+
* @param {Event} event The event that's being called.
|
276 |
+
*
|
277 |
+
* @returns {void}
|
278 |
+
*/
|
279 |
+
self.element.on( 'change', function( event ) {
|
280 |
+
// Empty or Error = clear
|
281 |
+
if ( $( this ).val() === '' || self.element.hasClass( 'iris-error' ) ) {
|
282 |
+
if ( self.options.alpha ) {
|
283 |
+
if ( _deprecated ) {
|
284 |
+
self.toggler.removeAttr( 'style' );
|
285 |
+
}
|
286 |
+
self.toggler.find( 'span.color-alpha' ).css( 'backgroundColor', '' );
|
287 |
+
} else {
|
288 |
+
self.toggler.css( 'backgroundColor', '' );
|
289 |
+
}
|
290 |
+
|
291 |
+
// fire clear callback if we have one
|
292 |
+
if ( $.isFunction( self.options.clear ) )
|
293 |
+
self.options.clear.call( this, event );
|
294 |
+
}
|
295 |
+
} );
|
296 |
+
|
297 |
+
/**
|
298 |
+
* @summary Enables the user to clear or revert the color in the color picker.
|
299 |
+
*
|
300 |
+
* Enables the user to either clear the color in the color picker or revert back to the default color.
|
301 |
+
*
|
302 |
+
* @since 3.5.0
|
303 |
+
*
|
304 |
+
* @param {Event} event The event that's being called.
|
305 |
+
*
|
306 |
+
* @returns {void}
|
307 |
+
*/
|
308 |
+
self.button.on( 'click', function( event ) {
|
309 |
+
if ( $( this ).hasClass( 'wp-picker-clear' ) ) {
|
310 |
+
self.element.val( '' );
|
311 |
+
if ( self.options.alpha ) {
|
312 |
+
if ( _deprecated ) {
|
313 |
+
self.toggler.removeAttr( 'style' );
|
314 |
+
}
|
315 |
+
self.toggler.find( 'span.color-alpha' ).css( 'backgroundColor', '' );
|
316 |
+
} else {
|
317 |
+
self.toggler.css( 'backgroundColor', '' );
|
318 |
+
}
|
319 |
+
|
320 |
+
if ( $.isFunction( self.options.clear ) )
|
321 |
+
self.options.clear.call( this, event );
|
322 |
+
|
323 |
+
} else if ( $( this ).hasClass( 'wp-picker-default' ) ) {
|
324 |
+
self.element.val( self.options.defaultColor ).change();
|
325 |
+
}
|
326 |
+
});
|
327 |
+
},
|
328 |
+
});
|
329 |
+
|
330 |
+
/**
|
331 |
+
* Overwrite iris
|
332 |
+
*/
|
333 |
+
$.widget( 'a8c.iris', $.a8c.iris, {
|
334 |
+
_create: function() {
|
335 |
+
this._super();
|
336 |
+
|
337 |
+
// Global option for check is mode rbga is enabled
|
338 |
+
this.options.alpha = this.element.data( 'alpha' ) || false;
|
339 |
+
|
340 |
+
// Is not input disabled
|
341 |
+
if ( ! this.element.is( ':input' ) )
|
342 |
+
this.options.alpha = false;
|
343 |
+
|
344 |
+
if ( typeof this.options.alpha !== 'undefined' && this.options.alpha ) {
|
345 |
+
var self = this,
|
346 |
+
el = self.element,
|
347 |
+
_html = '<div class="iris-strip iris-slider iris-alpha-slider"><div class="iris-slider-offset iris-slider-offset-alpha"></div></div>',
|
348 |
+
aContainer = $( _html ).appendTo( self.picker.find( '.iris-picker-inner' ) ),
|
349 |
+
aSlider = aContainer.find( '.iris-slider-offset-alpha' ),
|
350 |
+
controls = {
|
351 |
+
aContainer : aContainer,
|
352 |
+
aSlider : aSlider
|
353 |
+
};
|
354 |
+
|
355 |
+
if ( typeof el.data( 'custom-width' ) !== 'undefined' ) {
|
356 |
+
self.options.customWidth = parseInt( el.data( 'custom-width' ) ) || 0;
|
357 |
+
} else {
|
358 |
+
self.options.customWidth = 100;
|
359 |
+
}
|
360 |
+
|
361 |
+
// Set default width for input reset
|
362 |
+
self.options.defaultWidth = el.width();
|
363 |
+
|
364 |
+
// Update width for input
|
365 |
+
if ( self._color._alpha < 1 || self._color.toString().indexOf('rgb') != -1 )
|
366 |
+
el.width( parseInt( self.options.defaultWidth + self.options.customWidth ) );
|
367 |
+
|
368 |
+
// Push new controls
|
369 |
+
$.each( controls, function( k, v ) {
|
370 |
+
self.controls[k] = v;
|
371 |
+
} );
|
372 |
+
|
373 |
+
// Change size strip and add margin for sliders
|
374 |
+
self.controls.square.css( { 'margin-right': '0' } );
|
375 |
+
var emptyWidth = ( self.picker.width() - self.controls.square.width() - 20 ),
|
376 |
+
stripsMargin = ( emptyWidth / 6 ),
|
377 |
+
stripsWidth = ( ( emptyWidth / 2 ) - stripsMargin );
|
378 |
+
|
379 |
+
$.each( [ 'aContainer', 'strip' ], function( k, v ) {
|
380 |
+
self.controls[v].width( stripsWidth ).css( { 'margin-left' : stripsMargin + 'px' } );
|
381 |
+
} );
|
382 |
+
|
383 |
+
// Add new slider
|
384 |
+
self._initControls();
|
385 |
+
|
386 |
+
// For updated widget
|
387 |
+
self._change();
|
388 |
+
}
|
389 |
+
},
|
390 |
+
_initControls: function() {
|
391 |
+
this._super();
|
392 |
+
|
393 |
+
if ( this.options.alpha ) {
|
394 |
+
var self = this,
|
395 |
+
controls = self.controls;
|
396 |
+
|
397 |
+
controls.aSlider.slider({
|
398 |
+
orientation : 'vertical',
|
399 |
+
min : 0,
|
400 |
+
max : 100,
|
401 |
+
step : 1,
|
402 |
+
value : parseInt( self._color._alpha * 100 ),
|
403 |
+
slide : function( event, ui ) {
|
404 |
+
// Update alpha value
|
405 |
+
self._color._alpha = parseFloat( ui.value / 100 );
|
406 |
+
self._change.apply( self, arguments );
|
407 |
+
}
|
408 |
+
});
|
409 |
+
}
|
410 |
+
},
|
411 |
+
_change: function() {
|
412 |
+
this._super();
|
413 |
+
|
414 |
+
var self = this,
|
415 |
+
el = self.element;
|
416 |
+
|
417 |
+
if ( this.options.alpha ) {
|
418 |
+
var controls = self.controls,
|
419 |
+
alpha = parseInt( self._color._alpha * 100 ),
|
420 |
+
color = self._color.toRgb(),
|
421 |
+
gradient = [
|
422 |
+
'rgb(' + color.r + ',' + color.g + ',' + color.b + ') 0%',
|
423 |
+
'rgba(' + color.r + ',' + color.g + ',' + color.b + ', 0) 100%'
|
424 |
+
],
|
425 |
+
defaultWidth = self.options.defaultWidth,
|
426 |
+
customWidth = self.options.customWidth,
|
427 |
+
target = self.picker.closest( '.wp-picker-container' ).find( '.wp-color-result' );
|
428 |
+
|
429 |
+
// Generate background slider alpha, only for CSS3 old browser fuck!! :)
|
430 |
+
controls.aContainer.css( { 'background' : 'linear-gradient(to bottom, ' + gradient.join( ', ' ) + '), url(' + image + ')' } );
|
431 |
+
|
432 |
+
if ( target.hasClass( 'wp-picker-open' ) ) {
|
433 |
+
// Update alpha value
|
434 |
+
controls.aSlider.slider( 'value', alpha );
|
435 |
+
|
436 |
+
/**
|
437 |
+
* Disabled change opacity in default slider Saturation ( only is alpha enabled )
|
438 |
+
* and change input width for view all value
|
439 |
+
*/
|
440 |
+
if ( self._color._alpha < 1 ) {
|
441 |
+
controls.strip.attr( 'style', controls.strip.attr( 'style' ).replace( /rgba\(([0-9]+,)(\s+)?([0-9]+,)(\s+)?([0-9]+)(,(\s+)?[0-9\.]+)\)/g, 'rgb($1$3$5)' ) );
|
442 |
+
el.width( parseInt( defaultWidth + customWidth ) );
|
443 |
+
} else {
|
444 |
+
el.width( defaultWidth );
|
445 |
+
}
|
446 |
+
}
|
447 |
+
}
|
448 |
+
|
449 |
+
var reset = el.data( 'reset-alpha' ) || false;
|
450 |
+
|
451 |
+
if ( reset ) {
|
452 |
+
self.picker.find( '.iris-palette-container' ).on( 'click.palette', '.iris-palette', function() {
|
453 |
+
self._color._alpha = 1;
|
454 |
+
self.active = 'external';
|
455 |
+
self._change();
|
456 |
+
} );
|
457 |
+
}
|
458 |
+
},
|
459 |
+
_addInputListeners: function( input ) {
|
460 |
+
var self = this,
|
461 |
+
debounceTimeout = 100,
|
462 |
+
callback = function( event ) {
|
463 |
+
var color = new Color( input.val() ),
|
464 |
+
val = input.val();
|
465 |
+
|
466 |
+
input.removeClass( 'iris-error' );
|
467 |
+
// we gave a bad color
|
468 |
+
if ( color.error ) {
|
469 |
+
// don't error on an empty input
|
470 |
+
if ( val !== '' )
|
471 |
+
input.addClass( 'iris-error' );
|
472 |
+
} else {
|
473 |
+
if ( color.toString() !== self._color.toString() ) {
|
474 |
+
// let's not do this on keyup for hex shortcodes
|
475 |
+
if ( ! ( event.type === 'keyup' && val.match( /^[0-9a-fA-F]{3}$/ ) ) )
|
476 |
+
self._setOption( 'color', color.toString() );
|
477 |
+
}
|
478 |
+
}
|
479 |
+
};
|
480 |
+
|
481 |
+
input.on( 'change', callback ).on( 'keyup', self._debounce( callback, debounceTimeout ) );
|
482 |
+
|
483 |
+
// If we initialized hidden, show on first focus. The rest is up to you.
|
484 |
+
if ( self.options.hide ) {
|
485 |
+
input.on( 'focus', function() {
|
486 |
+
self.show();
|
487 |
+
} );
|
488 |
+
}
|
489 |
+
}
|
490 |
+
} );
|
491 |
+
}( jQuery ) );
|
492 |
+
|
493 |
+
// Auto Call plugin is class is color-picker
|
494 |
+
jQuery( document ).ready( function( $ ) {
|
495 |
+
$( '.color-picker' ).wpColorPicker();
|
496 |
+
} );
|
vendor/CMB2/js/wp-color-picker-alpha.min.js
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/**!
|
2 |
+
* wp-color-picker-alpha
|
3 |
+
*
|
4 |
+
* Overwrite Automattic Iris for enabled Alpha Channel in wpColorPicker
|
5 |
+
* Only run in input and is defined data alpha in true
|
6 |
+
*
|
7 |
+
* Version: 2.1.3
|
8 |
+
* https://github.com/kallookoo/wp-color-picker-alpha
|
9 |
+
* Licensed under the GPLv2 license.
|
10 |
+
*/
|
11 |
+
!function(a){if(!a.wp.wpColorPicker.prototype._hasAlpha){var b="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAAHnlligAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHJJREFUeNpi+P///4EDBxiAGMgCCCAGFB5AADGCRBgYDh48CCRZIJS9vT2QBAggFBkmBiSAogxFBiCAoHogAKIKAlBUYTELAiAmEtABEECk20G6BOmuIl0CIMBQ/IEMkO0myiSSraaaBhZcbkUOs0HuBwDplz5uFJ3Z4gAAAABJRU5ErkJggg==",c='<div class="wp-picker-holder" />',d='<div class="wp-picker-container" />',e='<input type="button" class="button button-small" />',f=void 0!==wpColorPickerL10n.current;if(f)var g='<a tabindex="0" class="wp-color-result" />';else var g='<button type="button" class="button wp-color-result" aria-expanded="false"><span class="wp-color-result-text"></span></button>',h="<label></label>",i='<span class="screen-reader-text"></span>';Color.fn.toString=function(){if(this._alpha<1)return this.toCSS("rgba",this._alpha).replace(/\s+/g,"");var a=parseInt(this._color,10).toString(16);return this.error?"":(a.length<6&&(a=("00000"+a).substr(-6)),"#"+a)},a.widget("wp.wpColorPicker",a.wp.wpColorPicker,{_hasAlpha:!0,_create:function(){if(a.support.iris){var j=this,k=j.element;if(a.extend(j.options,k.data()),"hue"===j.options.type)return j._createHueOnly();j.close=a.proxy(j.close,j),j.initialValue=k.val(),k.addClass("wp-color-picker"),f?(k.hide().wrap(d),j.wrap=k.parent(),j.toggler=a(g).insertBefore(k).css({backgroundColor:j.initialValue}).attr("title",wpColorPickerL10n.pick).attr("data-current",wpColorPickerL10n.current),j.pickerContainer=a(c).insertAfter(k),j.button=a(e).addClass("hidden")):(k.parent("label").length||(k.wrap(h),j.wrappingLabelText=a(i).insertBefore(k).text(wpColorPickerL10n.defaultLabel)),j.wrappingLabel=k.parent(),j.wrappingLabel.wrap(d),j.wrap=j.wrappingLabel.parent(),j.toggler=a(g).insertBefore(j.wrappingLabel).css({backgroundColor:j.initialValue}),j.toggler.find(".wp-color-result-text").text(wpColorPickerL10n.pick),j.pickerContainer=a(c).insertAfter(j.wrappingLabel),j.button=a(e)),j.options.defaultColor?(j.button.addClass("wp-picker-default").val(wpColorPickerL10n.defaultString),f||j.button.attr("aria-label",wpColorPickerL10n.defaultAriaLabel)):(j.button.addClass("wp-picker-clear").val(wpColorPickerL10n.clear),f||j.button.attr("aria-label",wpColorPickerL10n.clearAriaLabel)),f?k.wrap('<span class="wp-picker-input-wrap" />').after(j.button):(j.wrappingLabel.wrap('<span class="wp-picker-input-wrap hidden" />').after(j.button),j.inputWrapper=k.closest(".wp-picker-input-wrap")),k.iris({target:j.pickerContainer,hide:j.options.hide,width:j.options.width,mode:j.options.mode,palettes:j.options.palettes,change:function(c,d){j.options.alpha?(j.toggler.css({"background-image":"url("+b+")"}),f?j.toggler.html('<span class="color-alpha" />'):(j.toggler.css({position:"relative"}),0==j.toggler.find("span.color-alpha").length&&j.toggler.append('<span class="color-alpha" />')),j.toggler.find("span.color-alpha").css({width:"30px",height:"24px",position:"absolute",top:0,left:0,"border-top-left-radius":"2px","border-bottom-left-radius":"2px",background:d.color.toString()})):j.toggler.css({backgroundColor:d.color.toString()}),a.isFunction(j.options.change)&&j.options.change.call(this,c,d)}}),k.val(j.initialValue),j._addListeners(),j.options.hide||j.toggler.click()}},_addListeners:function(){var b=this;b.wrap.on("click.wpcolorpicker",function(a){a.stopPropagation()}),b.toggler.click(function(){b.toggler.hasClass("wp-picker-open")?b.close():b.open()}),b.element.on("change",function(c){(""===a(this).val()||b.element.hasClass("iris-error"))&&(b.options.alpha?(f&&b.toggler.removeAttr("style"),b.toggler.find("span.color-alpha").css("backgroundColor","")):b.toggler.css("backgroundColor",""),a.isFunction(b.options.clear)&&b.options.clear.call(this,c))}),b.button.on("click",function(c){a(this).hasClass("wp-picker-clear")?(b.element.val(""),b.options.alpha?(f&&b.toggler.removeAttr("style"),b.toggler.find("span.color-alpha").css("backgroundColor","")):b.toggler.css("backgroundColor",""),a.isFunction(b.options.clear)&&b.options.clear.call(this,c)):a(this).hasClass("wp-picker-default")&&b.element.val(b.options.defaultColor).change()})}}),a.widget("a8c.iris",a.a8c.iris,{_create:function(){if(this._super(),this.options.alpha=this.element.data("alpha")||!1,this.element.is(":input")||(this.options.alpha=!1),"undefined"!=typeof this.options.alpha&&this.options.alpha){var b=this,c=b.element,d='<div class="iris-strip iris-slider iris-alpha-slider"><div class="iris-slider-offset iris-slider-offset-alpha"></div></div>',e=a(d).appendTo(b.picker.find(".iris-picker-inner")),f=e.find(".iris-slider-offset-alpha"),g={aContainer:e,aSlider:f};"undefined"!=typeof c.data("custom-width")?b.options.customWidth=parseInt(c.data("custom-width"))||0:b.options.customWidth=100,b.options.defaultWidth=c.width(),(b._color._alpha<1||-1!=b._color.toString().indexOf("rgb"))&&c.width(parseInt(b.options.defaultWidth+b.options.customWidth)),a.each(g,function(a,c){b.controls[a]=c}),b.controls.square.css({"margin-right":"0"});var h=b.picker.width()-b.controls.square.width()-20,i=h/6,j=h/2-i;a.each(["aContainer","strip"],function(a,c){b.controls[c].width(j).css({"margin-left":i+"px"})}),b._initControls(),b._change()}},_initControls:function(){if(this._super(),this.options.alpha){var a=this,b=a.controls;b.aSlider.slider({orientation:"vertical",min:0,max:100,step:1,value:parseInt(100*a._color._alpha),slide:function(b,c){a._color._alpha=parseFloat(c.value/100),a._change.apply(a,arguments)}})}},_change:function(){this._super();var a=this,c=a.element;if(this.options.alpha){var d=a.controls,e=parseInt(100*a._color._alpha),f=a._color.toRgb(),g=["rgb("+f.r+","+f.g+","+f.b+") 0%","rgba("+f.r+","+f.g+","+f.b+", 0) 100%"],h=a.options.defaultWidth,i=a.options.customWidth,j=a.picker.closest(".wp-picker-container").find(".wp-color-result");d.aContainer.css({background:"linear-gradient(to bottom, "+g.join(", ")+"), url("+b+")"}),j.hasClass("wp-picker-open")&&(d.aSlider.slider("value",e),a._color._alpha<1?(d.strip.attr("style",d.strip.attr("style").replace(/rgba\(([0-9]+,)(\s+)?([0-9]+,)(\s+)?([0-9]+)(,(\s+)?[0-9\.]+)\)/g,"rgb($1$3$5)")),c.width(parseInt(h+i))):c.width(h))}var k=c.data("reset-alpha")||!1;k&&a.picker.find(".iris-palette-container").on("click.palette",".iris-palette",function(){a._color._alpha=1,a.active="external",a._change()})},_addInputListeners:function(a){var b=this,c=100,d=function(c){var d=new Color(a.val()),e=a.val();a.removeClass("iris-error"),d.error?""!==e&&a.addClass("iris-error"):d.toString()!==b._color.toString()&&("keyup"===c.type&&e.match(/^[0-9a-fA-F]{3}$/)||b._setOption("color",d.toString()))};a.on("change",d).on("keyup",b._debounce(d,c)),b.options.hide&&a.on("focus",function(){b.show()})}})}}(jQuery),jQuery(document).ready(function(a){a(".color-picker").wpColorPicker()});
|
vendor/CMB2/languages/cmb2-ach.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-af.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-an.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-ar.po
CHANGED
@@ -499,8 +499,8 @@ msgid "CMB2"
|
|
499 |
msgstr "CMB2"
|
500 |
|
501 |
#. Plugin URI of the plugin/theme
|
502 |
-
msgid "https://github.com/
|
503 |
-
msgstr "https://github.com/
|
504 |
|
505 |
#. Description of the plugin/theme
|
506 |
msgid ""
|
499 |
msgstr "CMB2"
|
500 |
|
501 |
#. Plugin URI of the plugin/theme
|
502 |
+
msgid "https://github.com/CMB2/CMB2"
|
503 |
+
msgstr "https://github.com/CMB2/CMB2"
|
504 |
|
505 |
#. Description of the plugin/theme
|
506 |
msgid ""
|
vendor/CMB2/languages/cmb2-ary.po
CHANGED
@@ -322,8 +322,8 @@ msgid "CMB2"
|
|
322 |
msgstr "CMB2"
|
323 |
|
324 |
#. Plugin URI of the plugin/theme
|
325 |
-
msgid "https://github.com/
|
326 |
-
msgstr "https://github.com/
|
327 |
|
328 |
#. Author of the plugin/theme
|
329 |
msgid "WebDevStudios"
|
322 |
msgstr "CMB2"
|
323 |
|
324 |
#. Plugin URI of the plugin/theme
|
325 |
+
msgid "https://github.com/CMB2/CMB2"
|
326 |
+
msgstr "https://github.com/CMB2/CMB2"
|
327 |
|
328 |
#. Author of the plugin/theme
|
329 |
msgid "WebDevStudios"
|
vendor/CMB2/languages/cmb2-as.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-az.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-be.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-bg.po
CHANGED
@@ -455,7 +455,7 @@ msgid "CMB2"
|
|
455 |
msgstr ""
|
456 |
|
457 |
#. Plugin URI of the plugin/theme
|
458 |
-
msgid "https://github.com/
|
459 |
msgstr ""
|
460 |
|
461 |
#. Description of the plugin/theme
|
455 |
msgstr ""
|
456 |
|
457 |
#. Plugin URI of the plugin/theme
|
458 |
+
msgid "https://github.com/CMB2/CMB2"
|
459 |
msgstr ""
|
460 |
|
461 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-bg_BG.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-bn_BD.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-br.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-bs.po
CHANGED
@@ -455,7 +455,7 @@ msgid "CMB2"
|
|
455 |
msgstr ""
|
456 |
|
457 |
#. Plugin URI of the plugin/theme
|
458 |
-
msgid "https://github.com/
|
459 |
msgstr ""
|
460 |
|
461 |
#. Description of the plugin/theme
|
455 |
msgstr ""
|
456 |
|
457 |
#. Plugin URI of the plugin/theme
|
458 |
+
msgid "https://github.com/CMB2/CMB2"
|
459 |
msgstr ""
|
460 |
|
461 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-bs_BA.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-ca.mo
CHANGED
Binary file
|
vendor/CMB2/languages/cmb2-ca.po
CHANGED
@@ -347,7 +347,7 @@ msgstr ""
|
|
347 |
#: includes/types/CMB2_Type_File_Base.php:75 tests/test-cmb-types-base.php:143
|
348 |
#: tests/test-cmb-types.php:701
|
349 |
msgid "File:"
|
350 |
-
msgstr ""
|
351 |
|
352 |
#: includes/CMB2_JS.php:86 includes/CMB2_JS.php:119
|
353 |
msgid "Clear"
|
@@ -449,7 +449,7 @@ msgstr "Suprimeix"
|
|
449 |
#: includes/CMB2_JS.php:140 includes/types/CMB2_Type_File_Base.php:78
|
450 |
#: tests/test-cmb-types-base.php:143 tests/test-cmb-types.php:701
|
451 |
msgid "Download"
|
452 |
-
msgstr ""
|
453 |
|
454 |
#: includes/CMB2_JS.php:141
|
455 |
msgid "Select / Deselect All"
|
@@ -457,7 +457,7 @@ msgstr ""
|
|
457 |
|
458 |
#: includes/CMB2_Types.php:194
|
459 |
msgid "Add Row"
|
460 |
-
msgstr ""
|
461 |
|
462 |
#: includes/CMB2_hookup.php:145
|
463 |
msgid ""
|
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
347 |
#: includes/types/CMB2_Type_File_Base.php:75 tests/test-cmb-types-base.php:143
|
348 |
#: tests/test-cmb-types.php:701
|
349 |
msgid "File:"
|
350 |
+
msgstr "Arxiu:"
|
351 |
|
352 |
#: includes/CMB2_JS.php:86 includes/CMB2_JS.php:119
|
353 |
msgid "Clear"
|
449 |
#: includes/CMB2_JS.php:140 includes/types/CMB2_Type_File_Base.php:78
|
450 |
#: tests/test-cmb-types-base.php:143 tests/test-cmb-types.php:701
|
451 |
msgid "Download"
|
452 |
+
msgstr "Descarregar"
|
453 |
|
454 |
#: includes/CMB2_JS.php:141
|
455 |
msgid "Select / Deselect All"
|
457 |
|
458 |
#: includes/CMB2_Types.php:194
|
459 |
msgid "Add Row"
|
460 |
+
msgstr "Afegeix fila"
|
461 |
|
462 |
#: includes/CMB2_hookup.php:145
|
463 |
msgid ""
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-co.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-cs_CZ.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-cy.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-da_DK.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-de_AT.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-de_CH.po
CHANGED
@@ -498,8 +498,8 @@ msgid "CMB2"
|
|
498 |
msgstr "CMB2"
|
499 |
|
500 |
#. Plugin URI of the plugin/theme
|
501 |
-
msgid "https://github.com/
|
502 |
-
msgstr "https://github.com/
|
503 |
|
504 |
#. Description of the plugin/theme
|
505 |
msgid ""
|
498 |
msgstr "CMB2"
|
499 |
|
500 |
#. Plugin URI of the plugin/theme
|
501 |
+
msgid "https://github.com/CMB2/CMB2"
|
502 |
+
msgstr "https://github.com/CMB2/CMB2"
|
503 |
|
504 |
#. Description of the plugin/theme
|
505 |
msgid ""
|
vendor/CMB2/languages/cmb2-de_DE.po
CHANGED
@@ -500,8 +500,8 @@ msgid "CMB2"
|
|
500 |
msgstr "CMB2"
|
501 |
|
502 |
#. Plugin URI of the plugin/theme
|
503 |
-
msgid "https://github.com/
|
504 |
-
msgstr "https://github.com/
|
505 |
|
506 |
#. Description of the plugin/theme
|
507 |
msgid ""
|
500 |
msgstr "CMB2"
|
501 |
|
502 |
#. Plugin URI of the plugin/theme
|
503 |
+
msgid "https://github.com/CMB2/CMB2"
|
504 |
+
msgstr "https://github.com/CMB2/CMB2"
|
505 |
|
506 |
#. Description of the plugin/theme
|
507 |
msgid ""
|
vendor/CMB2/languages/cmb2-dv.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-el.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-en@pirate.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-en_AU.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-en_CA.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-en_GB.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-eo.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-es_AR.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-es_CL.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-es_CO.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-es_ES.po
CHANGED
@@ -500,8 +500,8 @@ msgid "CMB2"
|
|
500 |
msgstr "CMB2"
|
501 |
|
502 |
#. Plugin URI of the plugin/theme
|
503 |
-
msgid "https://github.com/
|
504 |
-
msgstr "https://github.com/
|
505 |
|
506 |
#. Description of the plugin/theme
|
507 |
msgid ""
|
500 |
msgstr "CMB2"
|
501 |
|
502 |
#. Plugin URI of the plugin/theme
|
503 |
+
msgid "https://github.com/CMB2/CMB2"
|
504 |
+
msgstr "https://github.com/CMB2/CMB2"
|
505 |
|
506 |
#. Description of the plugin/theme
|
507 |
msgid ""
|
vendor/CMB2/languages/cmb2-es_MX.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-es_PE.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-es_VE.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-et.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-eu.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-fa.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-fa_IR.mo
CHANGED
Binary file
|
vendor/CMB2/languages/cmb2-fa_IR.po
CHANGED
@@ -7,30 +7,31 @@ msgstr ""
|
|
7 |
"Project-Id-Version: CMB2\n"
|
8 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
9 |
"POT-Creation-Date: 2016-06-27 17:01:22+00:00\n"
|
10 |
-
"PO-Revision-Date:
|
11 |
"Last-Translator: Justin Sternberg <me@jtsternberg.com>\n"
|
12 |
-
"Language-Team: Persian (Iran) (http://www.transifex.com/wp-translations/
|
|
|
13 |
"MIME-Version: 1.0\n"
|
14 |
"Content-Type: text/plain; charset=UTF-8\n"
|
15 |
"Content-Transfer-Encoding: 8bit\n"
|
16 |
"Language: fa_IR\n"
|
17 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
18 |
-
"X-Generator:
|
19 |
-
"X-Poedit-Basepath:
|
20 |
-
"X-Poedit-
|
21 |
-
"
|
22 |
-
"
|
23 |
-
"X-Poedit-SearchPath-0: .\n"
|
24 |
"X-Poedit-SourceCharset: UTF-8\n"
|
25 |
"X-Textdomain-Support: yes\n"
|
|
|
26 |
|
27 |
#: example-functions.php:117 tests/test-cmb-field.php:255
|
28 |
msgid "Test Metabox"
|
29 |
-
msgstr ""
|
30 |
|
31 |
#: example-functions.php:130 example-functions.php:436
|
32 |
msgid "Test Text"
|
33 |
-
msgstr ""
|
34 |
|
35 |
#: example-functions.php:131 example-functions.php:144
|
36 |
#: example-functions.php:157 example-functions.php:165
|
@@ -52,19 +53,19 @@ msgstr ""
|
|
52 |
#: example-functions.php:613 example-functions.php:650
|
53 |
#: tests/test-cmb-field.php:267
|
54 |
msgid "field description (optional)"
|
55 |
-
msgstr ""
|
56 |
|
57 |
#: example-functions.php:143
|
58 |
msgid "Test Text Small"
|
59 |
-
msgstr ""
|
60 |
|
61 |
#: example-functions.php:156
|
62 |
msgid "Test Text Medium"
|
63 |
-
msgstr ""
|
64 |
|
65 |
#: example-functions.php:164
|
66 |
msgid "Custom Rendered Field"
|
67 |
-
msgstr ""
|
68 |
|
69 |
#: example-functions.php:172
|
70 |
msgid "Website URL"
|
@@ -72,11 +73,11 @@ msgstr "آدرس وب سایت"
|
|
72 |
|
73 |
#: example-functions.php:181
|
74 |
msgid "Test Text Email"
|
75 |
-
msgstr ""
|
76 |
|
77 |
#: example-functions.php:189
|
78 |
msgid "Test Time"
|
79 |
-
msgstr ""
|
80 |
|
81 |
#: example-functions.php:197 example-functions.php:198
|
82 |
msgid "Time zone"
|
@@ -84,110 +85,110 @@ msgstr "زمان محلی"
|
|
84 |
|
85 |
#: example-functions.php:204
|
86 |
msgid "Test Date Picker"
|
87 |
-
msgstr ""
|
88 |
|
89 |
#: example-functions.php:212
|
90 |
msgid "Test Date Picker (UNIX timestamp)"
|
91 |
-
msgstr ""
|
92 |
|
93 |
#: example-functions.php:220
|
94 |
msgid "Test Date/Time Picker Combo (UNIX timestamp)"
|
95 |
-
msgstr ""
|
96 |
|
97 |
#: example-functions.php:237
|
98 |
msgid "Test Money"
|
99 |
-
msgstr ""
|
100 |
|
101 |
#: example-functions.php:246
|
102 |
msgid "Test Color Picker"
|
103 |
-
msgstr ""
|
104 |
|
105 |
#: example-functions.php:259
|
106 |
msgid "Test Text Area"
|
107 |
-
msgstr ""
|
108 |
|
109 |
#: example-functions.php:266
|
110 |
msgid "Test Text Area Small"
|
111 |
-
msgstr ""
|
112 |
|
113 |
#: example-functions.php:273
|
114 |
msgid "Test Text Area for Code"
|
115 |
-
msgstr ""
|
116 |
|
117 |
#: example-functions.php:280
|
118 |
msgid "Test Title Weeeee"
|
119 |
-
msgstr ""
|
120 |
|
121 |
#: example-functions.php:281
|
122 |
msgid "This is a title description"
|
123 |
-
msgstr ""
|
124 |
|
125 |
#: example-functions.php:287
|
126 |
msgid "Test Select"
|
127 |
-
msgstr ""
|
128 |
|
129 |
#: example-functions.php:293 example-functions.php:306
|
130 |
#: example-functions.php:318
|
131 |
msgid "Option One"
|
132 |
-
msgstr ""
|
133 |
|
134 |
#: example-functions.php:294 example-functions.php:307
|
135 |
#: example-functions.php:319
|
136 |
msgid "Option Two"
|
137 |
-
msgstr ""
|
138 |
|
139 |
#: example-functions.php:295 example-functions.php:308
|
140 |
#: example-functions.php:320
|
141 |
msgid "Option Three"
|
142 |
-
msgstr ""
|
143 |
|
144 |
#: example-functions.php:300
|
145 |
msgid "Test Radio inline"
|
146 |
-
msgstr ""
|
147 |
|
148 |
#: example-functions.php:313
|
149 |
msgid "Test Radio"
|
150 |
-
msgstr ""
|
151 |
|
152 |
#: example-functions.php:325
|
153 |
msgid "Test Taxonomy Radio"
|
154 |
-
msgstr ""
|
155 |
|
156 |
#: example-functions.php:334
|
157 |
msgid "Test Taxonomy Select"
|
158 |
-
msgstr ""
|
159 |
|
160 |
#: example-functions.php:342
|
161 |
msgid "Test Taxonomy Multi Checkbox"
|
162 |
-
msgstr ""
|
163 |
|
164 |
#: example-functions.php:351
|
165 |
msgid "Test Checkbox"
|
166 |
-
msgstr ""
|
167 |
|
168 |
#: example-functions.php:358 tests/test-cmb-field.php:266
|
169 |
msgid "Test Multi Checkbox"
|
170 |
-
msgstr ""
|
171 |
|
172 |
#: example-functions.php:364 tests/test-cmb-field.php:272
|
173 |
msgid "Check One"
|
174 |
-
msgstr ""
|
175 |
|
176 |
#: example-functions.php:365 tests/test-cmb-field.php:273
|
177 |
msgid "Check Two"
|
178 |
-
msgstr ""
|
179 |
|
180 |
#: example-functions.php:366 tests/test-cmb-field.php:274
|
181 |
msgid "Check Three"
|
182 |
-
msgstr ""
|
183 |
|
184 |
#: example-functions.php:372
|
185 |
msgid "Test wysiwyg"
|
186 |
-
msgstr ""
|
187 |
|
188 |
#: example-functions.php:380
|
189 |
msgid "Test Image"
|
190 |
-
msgstr ""
|
191 |
|
192 |
#: example-functions.php:381
|
193 |
msgid "Upload an image or enter a URL."
|
@@ -195,49 +196,53 @@ msgstr "فایل آپلود کنید یا URL را وارد کنید."
|
|
195 |
|
196 |
#: example-functions.php:387
|
197 |
msgid "Multiple Files"
|
198 |
-
msgstr ""
|
199 |
|
200 |
#: example-functions.php:388
|
201 |
msgid "Upload or add multiple images/attachments."
|
202 |
-
msgstr ""
|
203 |
|
204 |
#: example-functions.php:395
|
205 |
msgid "oEmbed"
|
206 |
-
msgstr ""
|
207 |
|
208 |
#: example-functions.php:396
|
209 |
msgid ""
|
210 |
"Enter a youtube, twitter, or instagram URL. Supports services listed at <a "
|
211 |
-
"href=\"http://codex.wordpress.org/Embeds\">http://codex.wordpress.org/
|
|
|
212 |
msgstr ""
|
|
|
|
|
|
|
213 |
|
214 |
#: example-functions.php:427
|
215 |
msgid "About Page Metabox"
|
216 |
-
msgstr ""
|
217 |
|
218 |
#: example-functions.php:456
|
219 |
msgid "Repeating Field Group"
|
220 |
-
msgstr ""
|
221 |
|
222 |
#: example-functions.php:464
|
223 |
msgid "Generates reusable form entries"
|
224 |
-
msgstr ""
|
225 |
|
226 |
#: example-functions.php:466
|
227 |
msgid "Entry {#}"
|
228 |
-
msgstr ""
|
229 |
|
230 |
#: example-functions.php:467
|
231 |
msgid "Add Another Entry"
|
232 |
-
msgstr ""
|
233 |
|
234 |
#: example-functions.php:468
|
235 |
msgid "Remove Entry"
|
236 |
-
msgstr ""
|
237 |
|
238 |
#: example-functions.php:481
|
239 |
msgid "Entry Title"
|
240 |
-
msgstr ""
|
241 |
|
242 |
#: example-functions.php:488
|
243 |
msgid "Description"
|
@@ -245,11 +250,11 @@ msgstr "توضیح"
|
|
245 |
|
246 |
#: example-functions.php:489
|
247 |
msgid "Write a short description for this entry"
|
248 |
-
msgstr ""
|
249 |
|
250 |
#: example-functions.php:495
|
251 |
msgid "Entry Image"
|
252 |
-
msgstr ""
|
253 |
|
254 |
#: example-functions.php:501
|
255 |
msgid "Image Caption"
|
@@ -257,15 +262,15 @@ msgstr "توضیح تصویر"
|
|
257 |
|
258 |
#: example-functions.php:520
|
259 |
msgid "User Profile Metabox"
|
260 |
-
msgstr ""
|
261 |
|
262 |
#: example-functions.php:527 example-functions.php:597
|
263 |
msgid "Extra Info"
|
264 |
-
msgstr ""
|
265 |
|
266 |
#: example-functions.php:535
|
267 |
msgid "Avatar"
|
268 |
-
msgstr "
|
269 |
|
270 |
#: example-functions.php:542
|
271 |
msgid "Facebook URL"
|
@@ -273,43 +278,43 @@ msgstr "نشانی صفحه فیس بوک"
|
|
273 |
|
274 |
#: example-functions.php:549
|
275 |
msgid "Twitter URL"
|
276 |
-
msgstr ""
|
277 |
|
278 |
#: example-functions.php:556
|
279 |
msgid "Google+ URL"
|
280 |
-
msgstr ""
|
281 |
|
282 |
#: example-functions.php:563
|
283 |
msgid "Linkedin URL"
|
284 |
-
msgstr ""
|
285 |
|
286 |
#: example-functions.php:570
|
287 |
msgid "User Field"
|
288 |
-
msgstr ""
|
289 |
|
290 |
#: example-functions.php:590
|
291 |
msgid "Category Metabox"
|
292 |
-
msgstr ""
|
293 |
|
294 |
#: example-functions.php:605
|
295 |
msgid "Term Image"
|
296 |
-
msgstr ""
|
297 |
|
298 |
#: example-functions.php:612
|
299 |
msgid "Arbitrary Term Field"
|
300 |
-
msgstr ""
|
301 |
|
302 |
#: example-functions.php:634
|
303 |
msgid "Theme Options Metabox"
|
304 |
-
msgstr ""
|
305 |
|
306 |
#: example-functions.php:649
|
307 |
msgid "Site Background Color"
|
308 |
-
msgstr ""
|
309 |
|
310 |
#: includes/CMB2.php:129
|
311 |
msgid "Metabox configuration is required to have an ID parameter"
|
312 |
-
msgstr ""
|
313 |
|
314 |
#: includes/CMB2.php:418
|
315 |
msgid "Click to toggle"
|
@@ -317,23 +322,23 @@ msgstr "برای جانشینی کلیک کنید"
|
|
317 |
|
318 |
#: includes/CMB2_Ajax.php:71
|
319 |
msgid "Please Try Again"
|
320 |
-
msgstr ""
|
321 |
|
322 |
#: includes/CMB2_Ajax.php:173 tests/cmb-tests-base.php:59
|
323 |
msgid "Remove Embed"
|
324 |
-
msgstr ""
|
325 |
|
326 |
#: includes/CMB2_Ajax.php:177 tests/cmb-tests-base.php:64
|
327 |
msgid "No oEmbed Results Found for %s. View more info at"
|
328 |
-
msgstr ""
|
329 |
|
330 |
#: includes/CMB2_Field.php:1186
|
331 |
msgid "Add Group"
|
332 |
-
msgstr ""
|
333 |
|
334 |
#: includes/CMB2_Field.php:1187
|
335 |
msgid "Remove Group"
|
336 |
-
msgstr ""
|
337 |
|
338 |
#: includes/CMB2_Field.php:1209 includes/CMB2_Field.php:1213
|
339 |
#: tests/test-cmb-field.php:229
|
@@ -342,13 +347,13 @@ msgstr "هیچیک"
|
|
342 |
|
343 |
#: includes/CMB2_Field.php:1269
|
344 |
msgid "Sorry, this field does not have a cmb_id specified."
|
345 |
-
msgstr ""
|
346 |
|
347 |
#: includes/CMB2_Field_Display.php:408 includes/CMB2_JS.php:139
|
348 |
#: includes/types/CMB2_Type_File_Base.php:75 tests/test-cmb-types-base.php:143
|
349 |
#: tests/test-cmb-types.php:701
|
350 |
msgid "File:"
|
351 |
-
msgstr ""
|
352 |
|
353 |
#: includes/CMB2_JS.php:86 includes/CMB2_JS.php:119
|
354 |
msgid "Clear"
|
@@ -368,25 +373,27 @@ msgstr "رنگ فعلی"
|
|
368 |
|
369 |
#: includes/CMB2_JS.php:110
|
370 |
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
371 |
-
msgstr ""
|
372 |
|
373 |
#: includes/CMB2_JS.php:111
|
374 |
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
375 |
-
msgstr ""
|
376 |
|
377 |
#: includes/CMB2_JS.php:112
|
378 |
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
379 |
-
msgstr ""
|
380 |
|
381 |
#: includes/CMB2_JS.php:113
|
382 |
msgid ""
|
383 |
"January, February, March, April, May, June, July, August, September, "
|
384 |
"October, November, December"
|
385 |
msgstr ""
|
|
|
|
|
386 |
|
387 |
#: includes/CMB2_JS.php:114
|
388 |
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
389 |
-
msgstr ""
|
390 |
|
391 |
#: includes/CMB2_JS.php:115
|
392 |
msgid "Next"
|
@@ -406,7 +413,7 @@ msgstr "انجام شد"
|
|
406 |
|
407 |
#: includes/CMB2_JS.php:122
|
408 |
msgid "Choose Time"
|
409 |
-
msgstr ""
|
410 |
|
411 |
#: includes/CMB2_JS.php:123
|
412 |
msgid "Time"
|
@@ -422,19 +429,19 @@ msgstr "دقیقه"
|
|
422 |
|
423 |
#: includes/CMB2_JS.php:126
|
424 |
msgid "Second"
|
425 |
-
msgstr ""
|
426 |
|
427 |
#: includes/CMB2_JS.php:127
|
428 |
msgid "Now"
|
429 |
-
msgstr ""
|
430 |
|
431 |
#: includes/CMB2_JS.php:135
|
432 |
msgid "Use this file"
|
433 |
-
msgstr ""
|
434 |
|
435 |
#: includes/CMB2_JS.php:136
|
436 |
msgid "Use these files"
|
437 |
-
msgstr ""
|
438 |
|
439 |
#: includes/CMB2_JS.php:137 includes/types/CMB2_Type_File_Base.php:61
|
440 |
msgid "Remove Image"
|
@@ -454,25 +461,27 @@ msgstr "دانلود"
|
|
454 |
|
455 |
#: includes/CMB2_JS.php:141
|
456 |
msgid "Select / Deselect All"
|
457 |
-
msgstr ""
|
458 |
|
459 |
#: includes/CMB2_Types.php:194
|
460 |
msgid "Add Row"
|
461 |
-
msgstr ""
|
462 |
|
463 |
#: includes/CMB2_hookup.php:145
|
464 |
msgid ""
|
465 |
"Term Metadata is a WordPress > 4.4 feature. Please upgrade your WordPress "
|
466 |
"install."
|
467 |
msgstr ""
|
|
|
|
|
468 |
|
469 |
#: includes/CMB2_hookup.php:149
|
470 |
msgid "Term metaboxes configuration requires a 'taxonomies' parameter"
|
471 |
-
msgstr ""
|
472 |
|
473 |
#: includes/helper-functions.php:93
|
474 |
msgid "No oEmbed Results Found for %s. View more info at %s"
|
475 |
-
msgstr ""
|
476 |
|
477 |
#: includes/helper-functions.php:279
|
478 |
msgid "Save"
|
@@ -481,48 +490,48 @@ msgstr "ذخیره"
|
|
481 |
#: includes/types/CMB2_Type_File.php:36 tests/test-cmb-types.php:683
|
482 |
#: tests/test-cmb-types.php:701
|
483 |
msgid "Add or Upload File"
|
484 |
-
msgstr ""
|
485 |
|
486 |
#: includes/types/CMB2_Type_File_List.php:36 tests/test-cmb-types.php:639
|
487 |
#: tests/test-cmb-types.php:663
|
488 |
msgid "Add or Upload Files"
|
489 |
-
msgstr ""
|
490 |
|
491 |
#: includes/types/CMB2_Type_Taxonomy_Multicheck.php:27
|
492 |
#: includes/types/CMB2_Type_Taxonomy_Radio.php:25
|
493 |
msgid "No terms"
|
494 |
-
msgstr ""
|
495 |
|
496 |
#. Plugin Name of the plugin/theme
|
497 |
msgid "CMB2"
|
498 |
-
msgstr ""
|
499 |
|
500 |
#. Plugin URI of the plugin/theme
|
501 |
-
msgid "https://github.com/
|
502 |
-
msgstr ""
|
503 |
|
504 |
#. Description of the plugin/theme
|
505 |
msgid ""
|
506 |
"CMB2 will create metaboxes and forms with custom fields that will blow your "
|
507 |
"mind."
|
508 |
-
msgstr ""
|
509 |
|
510 |
#. Author of the plugin/theme
|
511 |
msgid "WebDevStudios"
|
512 |
-
msgstr ""
|
513 |
|
514 |
#. Author URI of the plugin/theme
|
515 |
msgid "http://webdevstudios.com"
|
516 |
-
msgstr ""
|
517 |
|
518 |
#: includes/CMB2_JS.php:109
|
519 |
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
520 |
msgid "mm/dd/yy"
|
521 |
-
msgstr ""
|
522 |
|
523 |
#: includes/CMB2_JS.php:129
|
524 |
msgctxt ""
|
525 |
-
"Valid formatting string, as per "
|
526 |
-
"
|
527 |
msgid "hh:mm TT"
|
528 |
-
msgstr ""
|
7 |
"Project-Id-Version: CMB2\n"
|
8 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
9 |
"POT-Creation-Date: 2016-06-27 17:01:22+00:00\n"
|
10 |
+
"PO-Revision-Date: 2017-11-05 17:11+0330\n"
|
11 |
"Last-Translator: Justin Sternberg <me@jtsternberg.com>\n"
|
12 |
+
"Language-Team: Persian (Iran) (http://www.transifex.com/wp-translations/"
|
13 |
+
"cmb2/language/fa_IR/)\n"
|
14 |
"MIME-Version: 1.0\n"
|
15 |
"Content-Type: text/plain; charset=UTF-8\n"
|
16 |
"Content-Transfer-Encoding: 8bit\n"
|
17 |
"Language: fa_IR\n"
|
18 |
"Plural-Forms: nplurals=1; plural=0;\n"
|
19 |
+
"X-Generator: Poedit 1.8.7.1\n"
|
20 |
+
"X-Poedit-Basepath: ..\n"
|
21 |
+
"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;"
|
22 |
+
"_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;"
|
23 |
+
"esc_html_x:1,2c\n"
|
|
|
24 |
"X-Poedit-SourceCharset: UTF-8\n"
|
25 |
"X-Textdomain-Support: yes\n"
|
26 |
+
"X-Poedit-SearchPath-0: .\n"
|
27 |
|
28 |
#: example-functions.php:117 tests/test-cmb-field.php:255
|
29 |
msgid "Test Metabox"
|
30 |
+
msgstr " آزمایش متاباکس"
|
31 |
|
32 |
#: example-functions.php:130 example-functions.php:436
|
33 |
msgid "Test Text"
|
34 |
+
msgstr "متن آزمایشی"
|
35 |
|
36 |
#: example-functions.php:131 example-functions.php:144
|
37 |
#: example-functions.php:157 example-functions.php:165
|
53 |
#: example-functions.php:613 example-functions.php:650
|
54 |
#: tests/test-cmb-field.php:267
|
55 |
msgid "field description (optional)"
|
56 |
+
msgstr "توضیحات فیلد (اختیاری)"
|
57 |
|
58 |
#: example-functions.php:143
|
59 |
msgid "Test Text Small"
|
60 |
+
msgstr "کادر متن کوچک آزمایشی"
|
61 |
|
62 |
#: example-functions.php:156
|
63 |
msgid "Test Text Medium"
|
64 |
+
msgstr "کادر متن متوسط آزمایشی"
|
65 |
|
66 |
#: example-functions.php:164
|
67 |
msgid "Custom Rendered Field"
|
68 |
+
msgstr "فیلد شخصی سازی شده"
|
69 |
|
70 |
#: example-functions.php:172
|
71 |
msgid "Website URL"
|
73 |
|
74 |
#: example-functions.php:181
|
75 |
msgid "Test Text Email"
|
76 |
+
msgstr "کادر متنی ایمیل"
|
77 |
|
78 |
#: example-functions.php:189
|
79 |
msgid "Test Time"
|
80 |
+
msgstr "زمان آزمایشی"
|
81 |
|
82 |
#: example-functions.php:197 example-functions.php:198
|
83 |
msgid "Time zone"
|
85 |
|
86 |
#: example-functions.php:204
|
87 |
msgid "Test Date Picker"
|
88 |
+
msgstr "انتخاب کننده تاریخ آزمایشی"
|
89 |
|
90 |
#: example-functions.php:212
|
91 |
msgid "Test Date Picker (UNIX timestamp)"
|
92 |
+
msgstr "انتخاب کننده تاریخ آزمایشی (unix timestamp)"
|
93 |
|
94 |
#: example-functions.php:220
|
95 |
msgid "Test Date/Time Picker Combo (UNIX timestamp)"
|
96 |
+
msgstr "انتخاب کننده تاریخ آزمایشی (unix timestamp)"
|
97 |
|
98 |
#: example-functions.php:237
|
99 |
msgid "Test Money"
|
100 |
+
msgstr "پول آزمایشی"
|
101 |
|
102 |
#: example-functions.php:246
|
103 |
msgid "Test Color Picker"
|
104 |
+
msgstr "آزمایش انتخاب کننده رنگ"
|
105 |
|
106 |
#: example-functions.php:259
|
107 |
msgid "Test Text Area"
|
108 |
+
msgstr "آزمایش Text Area"
|
109 |
|
110 |
#: example-functions.php:266
|
111 |
msgid "Test Text Area Small"
|
112 |
+
msgstr "آزمایش Text Area کوچک"
|
113 |
|
114 |
#: example-functions.php:273
|
115 |
msgid "Test Text Area for Code"
|
116 |
+
msgstr "آزمایش Text Area برای کد"
|
117 |
|
118 |
#: example-functions.php:280
|
119 |
msgid "Test Title Weeeee"
|
120 |
+
msgstr "Test Title Weeeee"
|
121 |
|
122 |
#: example-functions.php:281
|
123 |
msgid "This is a title description"
|
124 |
+
msgstr "این یک توضیح برای عنوان است"
|
125 |
|
126 |
#: example-functions.php:287
|
127 |
msgid "Test Select"
|
128 |
+
msgstr "آزمایش Select"
|
129 |
|
130 |
#: example-functions.php:293 example-functions.php:306
|
131 |
#: example-functions.php:318
|
132 |
msgid "Option One"
|
133 |
+
msgstr "گزینه اول"
|
134 |
|
135 |
#: example-functions.php:294 example-functions.php:307
|
136 |
#: example-functions.php:319
|
137 |
msgid "Option Two"
|
138 |
+
msgstr "گزینه دوم"
|
139 |
|
140 |
#: example-functions.php:295 example-functions.php:308
|
141 |
#: example-functions.php:320
|
142 |
msgid "Option Three"
|
143 |
+
msgstr "گزینه سوم"
|
144 |
|
145 |
#: example-functions.php:300
|
146 |
msgid "Test Radio inline"
|
147 |
+
msgstr "آزمایش Radio درون خطی"
|
148 |
|
149 |
#: example-functions.php:313
|
150 |
msgid "Test Radio"
|
151 |
+
msgstr "آزمایش Radio "
|
152 |
|
153 |
#: example-functions.php:325
|
154 |
msgid "Test Taxonomy Radio"
|
155 |
+
msgstr "آزمایش Taxonomy radio"
|
156 |
|
157 |
#: example-functions.php:334
|
158 |
msgid "Test Taxonomy Select"
|
159 |
+
msgstr "آزمایش Taxonomy Select"
|
160 |
|
161 |
#: example-functions.php:342
|
162 |
msgid "Test Taxonomy Multi Checkbox"
|
163 |
+
msgstr "آزمایش Taxonomy Multi Checkbox"
|
164 |
|
165 |
#: example-functions.php:351
|
166 |
msgid "Test Checkbox"
|
167 |
+
msgstr "آزمایش Checkbox"
|
168 |
|
169 |
#: example-functions.php:358 tests/test-cmb-field.php:266
|
170 |
msgid "Test Multi Checkbox"
|
171 |
+
msgstr "آزمایش Multi Checkbox"
|
172 |
|
173 |
#: example-functions.php:364 tests/test-cmb-field.php:272
|
174 |
msgid "Check One"
|
175 |
+
msgstr "گزینه اول"
|
176 |
|
177 |
#: example-functions.php:365 tests/test-cmb-field.php:273
|
178 |
msgid "Check Two"
|
179 |
+
msgstr "گزینه دوم"
|
180 |
|
181 |
#: example-functions.php:366 tests/test-cmb-field.php:274
|
182 |
msgid "Check Three"
|
183 |
+
msgstr "گزینه سوم"
|
184 |
|
185 |
#: example-functions.php:372
|
186 |
msgid "Test wysiwyg"
|
187 |
+
msgstr "آزمایش wysiwyg"
|
188 |
|
189 |
#: example-functions.php:380
|
190 |
msgid "Test Image"
|
191 |
+
msgstr "آزمایش Image"
|
192 |
|
193 |
#: example-functions.php:381
|
194 |
msgid "Upload an image or enter a URL."
|
196 |
|
197 |
#: example-functions.php:387
|
198 |
msgid "Multiple Files"
|
199 |
+
msgstr "چند فایل"
|
200 |
|
201 |
#: example-functions.php:388
|
202 |
msgid "Upload or add multiple images/attachments."
|
203 |
+
msgstr "آپلود فایل ها"
|
204 |
|
205 |
#: example-functions.php:395
|
206 |
msgid "oEmbed"
|
207 |
+
msgstr "oEmbed"
|
208 |
|
209 |
#: example-functions.php:396
|
210 |
msgid ""
|
211 |
"Enter a youtube, twitter, or instagram URL. Supports services listed at <a "
|
212 |
+
"href=\"http://codex.wordpress.org/Embeds\">http://codex.wordpress.org/"
|
213 |
+
"Embeds</a>."
|
214 |
msgstr ""
|
215 |
+
"آدرس URL یوتیوب، تویتر یا ایستاگرام را وارد کنید. سرویس های پشتیبانی شده در "
|
216 |
+
"<a href=\"http://codex.wordpress.org/Embeds\">http://codex.wordpress.org/"
|
217 |
+
"Embeds</a> موجود هستند."
|
218 |
|
219 |
#: example-functions.php:427
|
220 |
msgid "About Page Metabox"
|
221 |
+
msgstr "درباره متاباکس صفحه"
|
222 |
|
223 |
#: example-functions.php:456
|
224 |
msgid "Repeating Field Group"
|
225 |
+
msgstr "Field Group تکرار شونده"
|
226 |
|
227 |
#: example-functions.php:464
|
228 |
msgid "Generates reusable form entries"
|
229 |
+
msgstr "آیتم های فرم با قابلیت استفاده مجدد میسازد"
|
230 |
|
231 |
#: example-functions.php:466
|
232 |
msgid "Entry {#}"
|
233 |
+
msgstr "آیتم {#}"
|
234 |
|
235 |
#: example-functions.php:467
|
236 |
msgid "Add Another Entry"
|
237 |
+
msgstr "افزودن آیتم دیگر"
|
238 |
|
239 |
#: example-functions.php:468
|
240 |
msgid "Remove Entry"
|
241 |
+
msgstr "حذف آیتم"
|
242 |
|
243 |
#: example-functions.php:481
|
244 |
msgid "Entry Title"
|
245 |
+
msgstr "عنوان"
|
246 |
|
247 |
#: example-functions.php:488
|
248 |
msgid "Description"
|
250 |
|
251 |
#: example-functions.php:489
|
252 |
msgid "Write a short description for this entry"
|
253 |
+
msgstr "توضیح کوتاهی برای این آیتم بنویسید"
|
254 |
|
255 |
#: example-functions.php:495
|
256 |
msgid "Entry Image"
|
257 |
+
msgstr "تصویر آیتم"
|
258 |
|
259 |
#: example-functions.php:501
|
260 |
msgid "Image Caption"
|
262 |
|
263 |
#: example-functions.php:520
|
264 |
msgid "User Profile Metabox"
|
265 |
+
msgstr "متاباکس پروفایل"
|
266 |
|
267 |
#: example-functions.php:527 example-functions.php:597
|
268 |
msgid "Extra Info"
|
269 |
+
msgstr "اطلاعات بیشتر"
|
270 |
|
271 |
#: example-functions.php:535
|
272 |
msgid "Avatar"
|
273 |
+
msgstr "آواتار"
|
274 |
|
275 |
#: example-functions.php:542
|
276 |
msgid "Facebook URL"
|
278 |
|
279 |
#: example-functions.php:549
|
280 |
msgid "Twitter URL"
|
281 |
+
msgstr "آدرس Twitter"
|
282 |
|
283 |
#: example-functions.php:556
|
284 |
msgid "Google+ URL"
|
285 |
+
msgstr "آدرس Google+"
|
286 |
|
287 |
#: example-functions.php:563
|
288 |
msgid "Linkedin URL"
|
289 |
+
msgstr "آدرس Linkedin"
|
290 |
|
291 |
#: example-functions.php:570
|
292 |
msgid "User Field"
|
293 |
+
msgstr "فیلد کاربر"
|
294 |
|
295 |
#: example-functions.php:590
|
296 |
msgid "Category Metabox"
|
297 |
+
msgstr "متاباکس دسته بندی"
|
298 |
|
299 |
#: example-functions.php:605
|
300 |
msgid "Term Image"
|
301 |
+
msgstr "Term Image"
|
302 |
|
303 |
#: example-functions.php:612
|
304 |
msgid "Arbitrary Term Field"
|
305 |
+
msgstr "زمینه ترتیب دلخواه"
|
306 |
|
307 |
#: example-functions.php:634
|
308 |
msgid "Theme Options Metabox"
|
309 |
+
msgstr "گزینه های پوسته متاباکس"
|
310 |
|
311 |
#: example-functions.php:649
|
312 |
msgid "Site Background Color"
|
313 |
+
msgstr "پس زمینه سایت"
|
314 |
|
315 |
#: includes/CMB2.php:129
|
316 |
msgid "Metabox configuration is required to have an ID parameter"
|
317 |
+
msgstr "تنظیمات متاباکس نیاز به پارامتر ID دارد"
|
318 |
|
319 |
#: includes/CMB2.php:418
|
320 |
msgid "Click to toggle"
|
322 |
|
323 |
#: includes/CMB2_Ajax.php:71
|
324 |
msgid "Please Try Again"
|
325 |
+
msgstr "لطفا دوباره تلاش کنید"
|
326 |
|
327 |
#: includes/CMB2_Ajax.php:173 tests/cmb-tests-base.php:59
|
328 |
msgid "Remove Embed"
|
329 |
+
msgstr "حذف Embed"
|
330 |
|
331 |
#: includes/CMB2_Ajax.php:177 tests/cmb-tests-base.php:64
|
332 |
msgid "No oEmbed Results Found for %s. View more info at"
|
333 |
+
msgstr "هیچ نتیجه ای برای %s پیدا نشد. نمایش جزئیات بیشتر در "
|
334 |
|
335 |
#: includes/CMB2_Field.php:1186
|
336 |
msgid "Add Group"
|
337 |
+
msgstr "افزودن گروه"
|
338 |
|
339 |
#: includes/CMB2_Field.php:1187
|
340 |
msgid "Remove Group"
|
341 |
+
msgstr "حذف گروه"
|
342 |
|
343 |
#: includes/CMB2_Field.php:1209 includes/CMB2_Field.php:1213
|
344 |
#: tests/test-cmb-field.php:229
|
347 |
|
348 |
#: includes/CMB2_Field.php:1269
|
349 |
msgid "Sorry, this field does not have a cmb_id specified."
|
350 |
+
msgstr "برای این فیلد cmb_id مشخص نشده است"
|
351 |
|
352 |
#: includes/CMB2_Field_Display.php:408 includes/CMB2_JS.php:139
|
353 |
#: includes/types/CMB2_Type_File_Base.php:75 tests/test-cmb-types-base.php:143
|
354 |
#: tests/test-cmb-types.php:701
|
355 |
msgid "File:"
|
356 |
+
msgstr "فایل:"
|
357 |
|
358 |
#: includes/CMB2_JS.php:86 includes/CMB2_JS.php:119
|
359 |
msgid "Clear"
|
373 |
|
374 |
#: includes/CMB2_JS.php:110
|
375 |
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
376 |
+
msgstr "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
377 |
|
378 |
#: includes/CMB2_JS.php:111
|
379 |
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
380 |
+
msgstr "Su, Mo, Tu, We, Th, Fr, Sa"
|
381 |
|
382 |
#: includes/CMB2_JS.php:112
|
383 |
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
384 |
+
msgstr "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
385 |
|
386 |
#: includes/CMB2_JS.php:113
|
387 |
msgid ""
|
388 |
"January, February, March, April, May, June, July, August, September, "
|
389 |
"October, November, December"
|
390 |
msgstr ""
|
391 |
+
"January, February, March, April, May, June, July, August, September, "
|
392 |
+
"October, November, December"
|
393 |
|
394 |
#: includes/CMB2_JS.php:114
|
395 |
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
396 |
+
msgstr "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
397 |
|
398 |
#: includes/CMB2_JS.php:115
|
399 |
msgid "Next"
|
413 |
|
414 |
#: includes/CMB2_JS.php:122
|
415 |
msgid "Choose Time"
|
416 |
+
msgstr "انتخاب زمان"
|
417 |
|
418 |
#: includes/CMB2_JS.php:123
|
419 |
msgid "Time"
|
429 |
|
430 |
#: includes/CMB2_JS.php:126
|
431 |
msgid "Second"
|
432 |
+
msgstr "ثانیه"
|
433 |
|
434 |
#: includes/CMB2_JS.php:127
|
435 |
msgid "Now"
|
436 |
+
msgstr "حالا"
|
437 |
|
438 |
#: includes/CMB2_JS.php:135
|
439 |
msgid "Use this file"
|
440 |
+
msgstr "استفاده از این فایل"
|
441 |
|
442 |
#: includes/CMB2_JS.php:136
|
443 |
msgid "Use these files"
|
444 |
+
msgstr "استفاده از این فایل ها"
|
445 |
|
446 |
#: includes/CMB2_JS.php:137 includes/types/CMB2_Type_File_Base.php:61
|
447 |
msgid "Remove Image"
|
461 |
|
462 |
#: includes/CMB2_JS.php:141
|
463 |
msgid "Select / Deselect All"
|
464 |
+
msgstr "انتخاب/ لغو انتخاب همه"
|
465 |
|
466 |
#: includes/CMB2_Types.php:194
|
467 |
msgid "Add Row"
|
468 |
+
msgstr "افزودن ردیف"
|
469 |
|
470 |
#: includes/CMB2_hookup.php:145
|
471 |
msgid ""
|
472 |
"Term Metadata is a WordPress > 4.4 feature. Please upgrade your WordPress "
|
473 |
"install."
|
474 |
msgstr ""
|
475 |
+
"Term Metadata is a WordPress > 4.4 feature. Please upgrade your WordPress "
|
476 |
+
"install."
|
477 |
|
478 |
#: includes/CMB2_hookup.php:149
|
479 |
msgid "Term metaboxes configuration requires a 'taxonomies' parameter"
|
480 |
+
msgstr "تنظیمات متاباکس نیاز به پارامتر taxonomies دارد"
|
481 |
|
482 |
#: includes/helper-functions.php:93
|
483 |
msgid "No oEmbed Results Found for %s. View more info at %s"
|
484 |
+
msgstr "هیچ نتیجه ای برای %s پیدا نشد. نمایش جزئیات بیشتر در %s"
|
485 |
|
486 |
#: includes/helper-functions.php:279
|
487 |
msgid "Save"
|
490 |
#: includes/types/CMB2_Type_File.php:36 tests/test-cmb-types.php:683
|
491 |
#: tests/test-cmb-types.php:701
|
492 |
msgid "Add or Upload File"
|
493 |
+
msgstr "آپلود فایل"
|
494 |
|
495 |
#: includes/types/CMB2_Type_File_List.php:36 tests/test-cmb-types.php:639
|
496 |
#: tests/test-cmb-types.php:663
|
497 |
msgid "Add or Upload Files"
|
498 |
+
msgstr "انتخاب یا آپلود فایل"
|
499 |
|
500 |
#: includes/types/CMB2_Type_Taxonomy_Multicheck.php:27
|
501 |
#: includes/types/CMB2_Type_Taxonomy_Radio.php:25
|
502 |
msgid "No terms"
|
503 |
+
msgstr "بدون کلمه"
|
504 |
|
505 |
#. Plugin Name of the plugin/theme
|
506 |
msgid "CMB2"
|
507 |
+
msgstr "CMB2"
|
508 |
|
509 |
#. Plugin URI of the plugin/theme
|
510 |
+
msgid "https://github.com/CMB2/CMB2"
|
511 |
+
msgstr "https://github.com/CMB2/CMB2"
|
512 |
|
513 |
#. Description of the plugin/theme
|
514 |
msgid ""
|
515 |
"CMB2 will create metaboxes and forms with custom fields that will blow your "
|
516 |
"mind."
|
517 |
+
msgstr "CMB2 برای شما متاباکس و فرم با فیلدهای سفارشی میسازد"
|
518 |
|
519 |
#. Author of the plugin/theme
|
520 |
msgid "WebDevStudios"
|
521 |
+
msgstr "WebDevStudios"
|
522 |
|
523 |
#. Author URI of the plugin/theme
|
524 |
msgid "http://webdevstudios.com"
|
525 |
+
msgstr "http://webdevstudios.com"
|
526 |
|
527 |
#: includes/CMB2_JS.php:109
|
528 |
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
529 |
msgid "mm/dd/yy"
|
530 |
+
msgstr "mm/dd/yy"
|
531 |
|
532 |
#: includes/CMB2_JS.php:129
|
533 |
msgctxt ""
|
534 |
+
"Valid formatting string, as per http://trentrichardson.com/examples/"
|
535 |
+
"timepicker/"
|
536 |
msgid "hh:mm TT"
|
537 |
+
msgstr "hh:mm TT"
|
vendor/CMB2/languages/cmb2-fi.po
CHANGED
@@ -500,8 +500,8 @@ msgid "CMB2"
|
|
500 |
msgstr "CMB2"
|
501 |
|
502 |
#. Plugin URI of the plugin/theme
|
503 |
-
msgid "https://github.com/
|
504 |
-
msgstr "https://github.com/
|
505 |
|
506 |
#. Description of the plugin/theme
|
507 |
msgid ""
|
500 |
msgstr "CMB2"
|
501 |
|
502 |
#. Plugin URI of the plugin/theme
|
503 |
+
msgid "https://github.com/CMB2/CMB2"
|
504 |
+
msgstr "https://github.com/CMB2/CMB2"
|
505 |
|
506 |
#. Description of the plugin/theme
|
507 |
msgid ""
|
vendor/CMB2/languages/cmb2-fo.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-fr_BE.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-fr_CA.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-fr_FR.po
CHANGED
@@ -501,8 +501,8 @@ msgid "CMB2"
|
|
501 |
msgstr "CMB2"
|
502 |
|
503 |
#. Plugin URI of the plugin/theme
|
504 |
-
msgid "https://github.com/
|
505 |
-
msgstr "https://github.com/
|
506 |
|
507 |
#. Description of the plugin/theme
|
508 |
msgid ""
|
501 |
msgstr "CMB2"
|
502 |
|
503 |
#. Plugin URI of the plugin/theme
|
504 |
+
msgid "https://github.com/CMB2/CMB2"
|
505 |
+
msgstr "https://github.com/CMB2/CMB2"
|
506 |
|
507 |
#. Description of the plugin/theme
|
508 |
msgid ""
|
vendor/CMB2/languages/cmb2-fy.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-ga.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-gd.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-gl_ES.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-gu_IN.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-he_IL.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-hi_IN.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-hr.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-hu_HU.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-hy.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-id_ID.po
CHANGED
@@ -498,8 +498,8 @@ msgid "CMB2"
|
|
498 |
msgstr "CMB2"
|
499 |
|
500 |
#. Plugin URI of the plugin/theme
|
501 |
-
msgid "https://github.com/
|
502 |
-
msgstr "https://github.com/
|
503 |
|
504 |
#. Description of the plugin/theme
|
505 |
msgid ""
|
498 |
msgstr "CMB2"
|
499 |
|
500 |
#. Plugin URI of the plugin/theme
|
501 |
+
msgid "https://github.com/CMB2/CMB2"
|
502 |
+
msgstr "https://github.com/CMB2/CMB2"
|
503 |
|
504 |
#. Description of the plugin/theme
|
505 |
msgid ""
|
vendor/CMB2/languages/cmb2-is_IS.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-it_IT.mo
CHANGED
Binary file
|
vendor/CMB2/languages/cmb2-it_IT.po
CHANGED
@@ -1,59 +1,60 @@
|
|
1 |
-
# Copyright (C)
|
2 |
# This file is distributed under the same license as the CMB2 package.
|
3 |
# Translators:
|
4 |
# Alessandro Curci <hantarex@gmail.com>, 2015
|
5 |
# Andrea Brandi, 2015
|
6 |
-
# Daniele Scasciafratte Mte90 <mte90net@gmail.com>, 2015
|
7 |
-
# Emanuele <
|
8 |
msgid ""
|
9 |
msgstr ""
|
10 |
"Project-Id-Version: CMB2\n"
|
11 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
12 |
-
"POT-Creation-Date: 2016-
|
13 |
-
"PO-Revision-Date:
|
14 |
-
"Last-Translator: Justin Sternberg <
|
15 |
-
"Language-Team: Italian (Italy) (http://www.transifex.com/wp-translations/
|
|
|
16 |
"MIME-Version: 1.0\n"
|
17 |
"Content-Type: text/plain; charset=UTF-8\n"
|
18 |
"Content-Transfer-Encoding: 8bit\n"
|
19 |
"Language: it_IT\n"
|
20 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
21 |
-
"X-Generator:
|
22 |
-
"X-Poedit-Basepath:
|
23 |
-
"X-Poedit-
|
24 |
-
"
|
25 |
-
"
|
26 |
-
"X-Poedit-SearchPath-0: .\n"
|
27 |
"X-Poedit-SourceCharset: UTF-8\n"
|
28 |
"X-Textdomain-Support: yes\n"
|
|
|
29 |
|
30 |
#: example-functions.php:117 tests/test-cmb-field.php:255
|
31 |
msgid "Test Metabox"
|
32 |
msgstr "Test Metabox"
|
33 |
|
34 |
-
#: example-functions.php:130 example-functions.php:
|
35 |
msgid "Test Text"
|
36 |
msgstr "Test Testo"
|
37 |
|
38 |
#: example-functions.php:131 example-functions.php:144
|
39 |
-
#: example-functions.php:157 example-functions.php:
|
40 |
-
#: example-functions.php:
|
41 |
-
#: example-functions.php:
|
42 |
-
#: example-functions.php:
|
43 |
-
#: example-functions.php:
|
44 |
-
#: example-functions.php:
|
45 |
-
#: example-functions.php:
|
46 |
-
#: example-functions.php:
|
47 |
-
#: example-functions.php:326 example-functions.php:
|
48 |
-
#: example-functions.php:
|
49 |
-
#: example-functions.php:
|
50 |
-
#: example-functions.php:
|
51 |
-
#: example-functions.php:
|
52 |
-
#: example-functions.php:
|
53 |
-
#: example-functions.php:
|
54 |
-
#: example-functions.php:
|
55 |
-
#: example-functions.php:
|
56 |
-
#: tests/test-cmb-field.php:267
|
57 |
msgid "field description (optional)"
|
58 |
msgstr "descrizione campo (opzionale)"
|
59 |
|
@@ -65,256 +66,266 @@ msgstr "Test Testo Piccolo"
|
|
65 |
msgid "Test Text Medium"
|
66 |
msgstr "Test Testo Medio"
|
67 |
|
68 |
-
#: example-functions.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
msgid "Custom Rendered Field"
|
70 |
-
msgstr ""
|
71 |
|
72 |
-
#: example-functions.php:
|
73 |
msgid "Website URL"
|
74 |
msgstr "URL Sito"
|
75 |
|
76 |
-
#: example-functions.php:
|
77 |
msgid "Test Text Email"
|
78 |
msgstr "Test Testo Email"
|
79 |
|
80 |
-
#: example-functions.php:
|
81 |
msgid "Test Time"
|
82 |
msgstr "Test Orario"
|
83 |
|
84 |
-
#: example-functions.php:
|
85 |
msgid "Time zone"
|
86 |
msgstr "Time zone"
|
87 |
|
88 |
-
#: example-functions.php:
|
89 |
msgid "Test Date Picker"
|
90 |
msgstr "Test Date Picker"
|
91 |
|
92 |
-
#: example-functions.php:
|
93 |
msgid "Test Date Picker (UNIX timestamp)"
|
94 |
msgstr "Test Data Picker (UNIX timestamp)"
|
95 |
|
96 |
-
#: example-functions.php:
|
97 |
msgid "Test Date/Time Picker Combo (UNIX timestamp)"
|
98 |
msgstr "Test Data/Orario Picker Combo (UNIX timestamp)"
|
99 |
|
100 |
-
#: example-functions.php:
|
101 |
msgid "Test Money"
|
102 |
msgstr "Test Money"
|
103 |
|
104 |
-
#: example-functions.php:
|
105 |
msgid "Test Color Picker"
|
106 |
msgstr "Test Color Picker"
|
107 |
|
108 |
-
#: example-functions.php:
|
109 |
msgid "Test Text Area"
|
110 |
msgstr "Test Text Area"
|
111 |
|
112 |
-
#: example-functions.php:
|
113 |
msgid "Test Text Area Small"
|
114 |
msgstr "Test Text Area Piccola"
|
115 |
|
116 |
-
#: example-functions.php:
|
117 |
msgid "Test Text Area for Code"
|
118 |
msgstr "Test Text Area per Codice"
|
119 |
|
120 |
-
#: example-functions.php:
|
121 |
msgid "Test Title Weeeee"
|
122 |
msgstr "Test Titolo Weeeee"
|
123 |
|
124 |
-
#: example-functions.php:
|
125 |
msgid "This is a title description"
|
126 |
msgstr "Questa è una descrizione del titolo"
|
127 |
|
128 |
-
#: example-functions.php:
|
129 |
msgid "Test Select"
|
130 |
msgstr "Test Select"
|
131 |
|
132 |
-
#: example-functions.php:
|
133 |
-
#: example-functions.php:
|
134 |
msgid "Option One"
|
135 |
msgstr "Opzione uno"
|
136 |
|
137 |
-
#: example-functions.php:
|
138 |
-
#: example-functions.php:
|
139 |
msgid "Option Two"
|
140 |
msgstr "Opzione Due"
|
141 |
|
142 |
-
#: example-functions.php:
|
143 |
-
#: example-functions.php:
|
144 |
msgid "Option Three"
|
145 |
msgstr "Opzione Tre"
|
146 |
|
147 |
-
#: example-functions.php:
|
148 |
msgid "Test Radio inline"
|
149 |
msgstr "Test Radio inline"
|
150 |
|
151 |
-
#: example-functions.php:
|
152 |
msgid "Test Radio"
|
153 |
msgstr "Test Radio"
|
154 |
|
155 |
-
#: example-functions.php:
|
156 |
msgid "Test Taxonomy Radio"
|
157 |
msgstr "Test Tassonomia Radio"
|
158 |
|
159 |
-
#: example-functions.php:
|
160 |
msgid "Test Taxonomy Select"
|
161 |
msgstr "Test Seleziona Tassonomia"
|
162 |
|
163 |
-
#: example-functions.php:
|
164 |
msgid "Test Taxonomy Multi Checkbox"
|
165 |
msgstr "Test Tassonomia Multi Checkbox"
|
166 |
|
167 |
-
#: example-functions.php:
|
168 |
msgid "Test Checkbox"
|
169 |
msgstr "Test Checkbox"
|
170 |
|
171 |
-
#: example-functions.php:
|
172 |
msgid "Test Multi Checkbox"
|
173 |
msgstr "Test Multi Checkbox"
|
174 |
|
175 |
-
#: example-functions.php:
|
176 |
msgid "Check One"
|
177 |
msgstr "Check Uno"
|
178 |
|
179 |
-
#: example-functions.php:
|
180 |
msgid "Check Two"
|
181 |
msgstr "Check Due"
|
182 |
|
183 |
-
#: example-functions.php:
|
184 |
msgid "Check Three"
|
185 |
msgstr "Check Tre"
|
186 |
|
187 |
-
#: example-functions.php:
|
188 |
msgid "Test wysiwyg"
|
189 |
msgstr "Test wysiwyg"
|
190 |
|
191 |
-
#: example-functions.php:
|
192 |
msgid "Test Image"
|
193 |
msgstr "Test Immagine"
|
194 |
|
195 |
-
#: example-functions.php:
|
196 |
msgid "Upload an image or enter a URL."
|
197 |
msgstr "Carica una immagine o inserisci una URL"
|
198 |
|
199 |
-
#: example-functions.php:
|
200 |
msgid "Multiple Files"
|
201 |
msgstr "File Multipli"
|
202 |
|
203 |
-
#: example-functions.php:
|
204 |
msgid "Upload or add multiple images/attachments."
|
205 |
msgstr "Carica o aggiungi immagini/allegati multipli"
|
206 |
|
207 |
-
#: example-functions.php:
|
208 |
msgid "oEmbed"
|
209 |
msgstr "oEmbed"
|
210 |
|
211 |
-
|
|
|
212 |
msgid ""
|
213 |
-
"Enter a youtube, twitter, or instagram URL. Supports services listed at
|
214 |
-
"
|
215 |
-
|
|
|
216 |
|
217 |
-
#: example-functions.php:
|
218 |
msgid "About Page Metabox"
|
219 |
msgstr "About Page Metabox"
|
220 |
|
221 |
-
#: example-functions.php:
|
222 |
msgid "Repeating Field Group"
|
223 |
msgstr "Gruppo Campi Ripetuto"
|
224 |
|
225 |
-
#: example-functions.php:
|
226 |
msgid "Generates reusable form entries"
|
227 |
msgstr "Genera elementi del form riusabili"
|
228 |
|
229 |
-
#: example-functions.php:
|
230 |
msgid "Entry {#}"
|
231 |
msgstr "Instanza {#}"
|
232 |
|
233 |
-
#: example-functions.php:
|
234 |
msgid "Add Another Entry"
|
235 |
msgstr "Aggiungi una nuova instanza"
|
236 |
|
237 |
-
#: example-functions.php:
|
238 |
msgid "Remove Entry"
|
239 |
msgstr "Rimuovi instanza"
|
240 |
|
241 |
-
#: example-functions.php:
|
242 |
msgid "Entry Title"
|
243 |
msgstr "Inserisci Titolo"
|
244 |
|
245 |
-
#: example-functions.php:
|
246 |
msgid "Description"
|
247 |
msgstr "Descrizione"
|
248 |
|
249 |
-
#: example-functions.php:
|
250 |
msgid "Write a short description for this entry"
|
251 |
msgstr "Scrivi una breve descrizione per questo elemento"
|
252 |
|
253 |
-
#: example-functions.php:
|
254 |
msgid "Entry Image"
|
255 |
msgstr "Inserisci Immagine"
|
256 |
|
257 |
-
#: example-functions.php:
|
258 |
msgid "Image Caption"
|
259 |
msgstr "Didascalia immagine"
|
260 |
|
261 |
-
#: example-functions.php:
|
262 |
msgid "User Profile Metabox"
|
263 |
msgstr "Profilo Utente Metabox"
|
264 |
|
265 |
-
#: example-functions.php:
|
266 |
msgid "Extra Info"
|
267 |
msgstr "Informazioni extra"
|
268 |
|
269 |
-
#: example-functions.php:
|
270 |
msgid "Avatar"
|
271 |
msgstr "Avatar"
|
272 |
|
273 |
-
#: example-functions.php:
|
274 |
msgid "Facebook URL"
|
275 |
msgstr "URL Facebook"
|
276 |
|
277 |
-
#: example-functions.php:
|
278 |
msgid "Twitter URL"
|
279 |
msgstr "URL Twitter"
|
280 |
|
281 |
-
#: example-functions.php:
|
282 |
msgid "Google+ URL"
|
283 |
msgstr "URL Google+"
|
284 |
|
285 |
-
#: example-functions.php:
|
286 |
msgid "Linkedin URL"
|
287 |
msgstr "URL LinkedIn"
|
288 |
|
289 |
-
#: example-functions.php:
|
290 |
msgid "User Field"
|
291 |
msgstr "Campo utente"
|
292 |
|
293 |
-
#: example-functions.php:
|
294 |
msgid "Category Metabox"
|
295 |
-
msgstr ""
|
296 |
|
297 |
-
#: example-functions.php:
|
298 |
msgid "Term Image"
|
299 |
-
msgstr ""
|
300 |
|
301 |
-
#: example-functions.php:
|
302 |
msgid "Arbitrary Term Field"
|
303 |
-
msgstr ""
|
304 |
|
305 |
-
#: example-functions.php:
|
306 |
msgid "Theme Options Metabox"
|
307 |
msgstr "Opzioni Tema Metabox"
|
308 |
|
309 |
-
#: example-functions.php:
|
310 |
msgid "Site Background Color"
|
311 |
msgstr "Colore di sfondo del sito"
|
312 |
|
313 |
-
#: includes/CMB2.php:
|
314 |
-
msgid "Metabox configuration is required to have an ID parameter"
|
315 |
-
msgstr "La configurazione del
|
316 |
|
317 |
-
#: includes/CMB2.php:
|
318 |
msgid "Click to toggle"
|
319 |
msgstr "Clicca per commutare"
|
320 |
|
@@ -326,158 +337,187 @@ msgstr "Prova Ancora"
|
|
326 |
msgid "Remove Embed"
|
327 |
msgstr "Rimuovi Embed"
|
328 |
|
329 |
-
|
330 |
-
|
331 |
-
|
|
|
|
|
|
|
332 |
|
333 |
-
#: includes/CMB2_Field.php:
|
334 |
msgid "Add Group"
|
335 |
msgstr "Aggiungi gruppo"
|
336 |
|
337 |
-
#: includes/CMB2_Field.php:
|
338 |
msgid "Remove Group"
|
339 |
msgstr "Rimuovi gruppo"
|
340 |
|
341 |
-
#: includes/CMB2_Field.php:
|
342 |
#: tests/test-cmb-field.php:229
|
343 |
msgid "None"
|
344 |
msgstr "Nessuno"
|
345 |
|
346 |
-
#: includes/CMB2_Field.php:
|
347 |
msgid "Sorry, this field does not have a cmb_id specified."
|
348 |
-
msgstr ""
|
349 |
|
350 |
-
#: includes/CMB2_Field_Display.php:408 includes/CMB2_JS.php:
|
351 |
#: includes/types/CMB2_Type_File_Base.php:75 tests/test-cmb-types-base.php:143
|
352 |
#: tests/test-cmb-types.php:701
|
353 |
msgid "File:"
|
354 |
msgstr "File:"
|
355 |
|
356 |
-
#: includes/CMB2_JS.php:
|
357 |
msgid "Clear"
|
358 |
msgstr "Pulisci"
|
359 |
|
360 |
-
#: includes/CMB2_JS.php:
|
361 |
msgid "Default"
|
362 |
msgstr "Predefinito"
|
363 |
|
364 |
-
#: includes/CMB2_JS.php:
|
365 |
msgid "Select Color"
|
366 |
msgstr "Seleziona colore"
|
367 |
|
368 |
-
#: includes/CMB2_JS.php:
|
369 |
msgid "Current Color"
|
370 |
msgstr "Colore attuale"
|
371 |
|
372 |
-
#: includes/CMB2_JS.php:
|
373 |
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
374 |
msgstr "Domenica, Lunedi, Martedì, Mercoledì, Giovedi, Venerdì, Sabato"
|
375 |
|
376 |
-
#: includes/CMB2_JS.php:
|
377 |
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
378 |
msgstr "Do, Lu, Ma, Me, Gi, Ve, Sa"
|
379 |
|
380 |
-
#: includes/CMB2_JS.php:
|
381 |
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
382 |
msgstr "Dom, Lun, Mar, Mer, Gio, Ven, Sab"
|
383 |
|
384 |
-
#: includes/CMB2_JS.php:
|
385 |
msgid ""
|
386 |
"January, February, March, April, May, June, July, August, September, "
|
387 |
"October, November, December"
|
388 |
-
msgstr "
|
|
|
|
|
389 |
|
390 |
-
#: includes/CMB2_JS.php:
|
391 |
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
392 |
msgstr "Gen, Feb, Mar, Apr, Mag, Giu, Lug, Ago, Set, Ott, Nov, Dic"
|
393 |
|
394 |
-
#: includes/CMB2_JS.php:
|
395 |
msgid "Next"
|
396 |
msgstr "Successivo"
|
397 |
|
398 |
-
#: includes/CMB2_JS.php:
|
399 |
msgid "Prev"
|
400 |
msgstr "Precedente"
|
401 |
|
402 |
-
#: includes/CMB2_JS.php:
|
403 |
msgid "Today"
|
404 |
msgstr "Oggi"
|
405 |
|
406 |
-
#: includes/CMB2_JS.php:
|
407 |
msgid "Done"
|
408 |
msgstr "Finito"
|
409 |
|
410 |
-
#: includes/CMB2_JS.php:
|
411 |
msgid "Choose Time"
|
412 |
msgstr "Scegli la data"
|
413 |
|
414 |
-
#: includes/CMB2_JS.php:
|
415 |
msgid "Time"
|
416 |
msgstr "Data"
|
417 |
|
418 |
-
#: includes/CMB2_JS.php:
|
419 |
msgid "Hour"
|
420 |
msgstr "Ora"
|
421 |
|
422 |
-
#: includes/CMB2_JS.php:
|
423 |
msgid "Minute"
|
424 |
msgstr "Minuto"
|
425 |
|
426 |
-
#: includes/CMB2_JS.php:
|
427 |
msgid "Second"
|
428 |
msgstr "Secondi"
|
429 |
|
430 |
-
#: includes/CMB2_JS.php:
|
431 |
msgid "Now"
|
432 |
msgstr "Ora"
|
433 |
|
434 |
-
#: includes/CMB2_JS.php:
|
435 |
msgid "Use this file"
|
436 |
msgstr "Usa questo file"
|
437 |
|
438 |
-
#: includes/CMB2_JS.php:
|
439 |
msgid "Use these files"
|
440 |
msgstr "Usa questi file"
|
441 |
|
442 |
-
#: includes/CMB2_JS.php:
|
443 |
msgid "Remove Image"
|
444 |
msgstr "Rimuovi immagine"
|
445 |
|
446 |
-
#: includes/CMB2_JS.php:
|
447 |
#: includes/types/CMB2_Type_File_Base.php:80 tests/test-cmb-types-base.php:143
|
448 |
#: tests/test-cmb-types.php:47 tests/test-cmb-types.php:55
|
449 |
#: tests/test-cmb-types.php:701
|
450 |
msgid "Remove"
|
451 |
msgstr "Rimuovi"
|
452 |
|
453 |
-
#: includes/CMB2_JS.php:
|
454 |
#: tests/test-cmb-types-base.php:143 tests/test-cmb-types.php:701
|
455 |
msgid "Download"
|
456 |
msgstr "Download"
|
457 |
|
458 |
-
#: includes/CMB2_JS.php:
|
459 |
msgid "Select / Deselect All"
|
460 |
msgstr "Seleziona / Deseleziona tutto"
|
461 |
|
462 |
-
#: includes/CMB2_Types.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
463 |
msgid "Add Row"
|
464 |
msgstr "Aggiungi Riga"
|
465 |
|
466 |
-
#: includes/CMB2_hookup.php:
|
467 |
msgid ""
|
468 |
-
"Term Metadata is a WordPress
|
469 |
"install."
|
470 |
msgstr ""
|
|
|
|
|
471 |
|
472 |
-
#: includes/CMB2_hookup.php:
|
473 |
-
msgid "Term metaboxes configuration requires a
|
474 |
msgstr ""
|
|
|
|
|
475 |
|
476 |
-
#: includes/helper-functions.php:
|
477 |
-
msgid "No oEmbed Results Found for %s. View more info at %s"
|
478 |
-
msgstr ""
|
479 |
-
|
480 |
-
#: includes/helper-functions.php:279
|
481 |
msgid "Save"
|
482 |
msgstr "Salva"
|
483 |
|
@@ -497,35 +537,37 @@ msgid "No terms"
|
|
497 |
msgstr "Nessun termine"
|
498 |
|
499 |
#. Plugin Name of the plugin/theme
|
|
|
|
|
|
|
|
|
500 |
msgid "CMB2"
|
501 |
msgstr "CMB2"
|
502 |
|
503 |
#. Plugin URI of the plugin/theme
|
504 |
-
msgid "https://github.com/
|
505 |
-
msgstr "https://github.com/
|
506 |
|
507 |
#. Description of the plugin/theme
|
508 |
msgid ""
|
509 |
"CMB2 will create metaboxes and forms with custom fields that will blow your "
|
510 |
"mind."
|
511 |
-
msgstr "
|
512 |
-
|
513 |
-
|
514 |
-
msgid "WebDevStudios"
|
515 |
-
msgstr "WebDevStudios"
|
516 |
|
517 |
#. Author URI of the plugin/theme
|
518 |
-
msgid "
|
519 |
-
msgstr "
|
520 |
|
521 |
-
#: includes/CMB2_JS.php:
|
522 |
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
523 |
msgid "mm/dd/yy"
|
524 |
msgstr "mm/dd/yy"
|
525 |
|
526 |
-
#: includes/CMB2_JS.php:
|
527 |
msgctxt ""
|
528 |
-
"Valid formatting string, as per "
|
529 |
-
"
|
530 |
msgid "hh:mm TT"
|
531 |
msgstr "hh:mm TT"
|
1 |
+
# Copyright (C) 2017 CMB2 team
|
2 |
# This file is distributed under the same license as the CMB2 package.
|
3 |
# Translators:
|
4 |
# Alessandro Curci <hantarex@gmail.com>, 2015
|
5 |
# Andrea Brandi, 2015
|
6 |
+
# Daniele Scasciafratte Mte90 <mte90net@gmail.com>, 2015,2017
|
7 |
+
# Emanuele <e@emanuelebartolomucci.com>, 2015
|
8 |
msgid ""
|
9 |
msgstr ""
|
10 |
"Project-Id-Version: CMB2\n"
|
11 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
12 |
+
"POT-Creation-Date: 2016-08-17 14:25:09+00:00\n"
|
13 |
+
"PO-Revision-Date: 2017-11-30 14:22-0500\n"
|
14 |
+
"Last-Translator: Justin Sternberg <justin@dsgnwrks.pro>\n"
|
15 |
+
"Language-Team: Italian (Italy) (http://www.transifex.com/wp-translations/"
|
16 |
+
"cmb2/language/it_IT/)\n"
|
17 |
"MIME-Version: 1.0\n"
|
18 |
"Content-Type: text/plain; charset=UTF-8\n"
|
19 |
"Content-Transfer-Encoding: 8bit\n"
|
20 |
"Language: it_IT\n"
|
21 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
22 |
+
"X-Generator: Poedit 1.8.7\n"
|
23 |
+
"X-Poedit-Basepath: ..\n"
|
24 |
+
"X-Poedit-KeywordsList: __;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;"
|
25 |
+
"_nx_noop:1,2,3c;esc_attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;"
|
26 |
+
"esc_html_x:1,2c\n"
|
|
|
27 |
"X-Poedit-SourceCharset: UTF-8\n"
|
28 |
"X-Textdomain-Support: yes\n"
|
29 |
+
"X-Poedit-SearchPath-0: .\n"
|
30 |
|
31 |
#: example-functions.php:117 tests/test-cmb-field.php:255
|
32 |
msgid "Test Metabox"
|
33 |
msgstr "Test Metabox"
|
34 |
|
35 |
+
#: example-functions.php:130 example-functions.php:452
|
36 |
msgid "Test Text"
|
37 |
msgstr "Test Testo"
|
38 |
|
39 |
#: example-functions.php:131 example-functions.php:144
|
40 |
+
#: example-functions.php:157 example-functions.php:164
|
41 |
+
#: example-functions.php:177 example-functions.php:185
|
42 |
+
#: example-functions.php:194 example-functions.php:202
|
43 |
+
#: example-functions.php:217 example-functions.php:225
|
44 |
+
#: example-functions.php:233 example-functions.php:250
|
45 |
+
#: example-functions.php:259 example-functions.php:272
|
46 |
+
#: example-functions.php:279 example-functions.php:286
|
47 |
+
#: example-functions.php:300 example-functions.php:313
|
48 |
+
#: example-functions.php:326 example-functions.php:338
|
49 |
+
#: example-functions.php:347 example-functions.php:355
|
50 |
+
#: example-functions.php:364 example-functions.php:371
|
51 |
+
#: example-functions.php:385 example-functions.php:453
|
52 |
+
#: example-functions.php:544 example-functions.php:552
|
53 |
+
#: example-functions.php:559 example-functions.php:566
|
54 |
+
#: example-functions.php:573 example-functions.php:580
|
55 |
+
#: example-functions.php:587 example-functions.php:614
|
56 |
+
#: example-functions.php:622 example-functions.php:629
|
57 |
+
#: example-functions.php:666 tests/test-cmb-field.php:267
|
58 |
msgid "field description (optional)"
|
59 |
msgstr "descrizione campo (opzionale)"
|
60 |
|
66 |
msgid "Test Text Medium"
|
67 |
msgstr "Test Testo Medio"
|
68 |
|
69 |
+
#: example-functions.php:163
|
70 |
+
msgid "Read-only Disabled Field"
|
71 |
+
msgstr "Disabilita campo in sola lettura"
|
72 |
+
|
73 |
+
#: example-functions.php:167
|
74 |
+
msgid "Hey there, I'm a read-only field"
|
75 |
+
msgstr "Ciao, Io sono un campo di sola lettura"
|
76 |
+
|
77 |
+
#: example-functions.php:176
|
78 |
msgid "Custom Rendered Field"
|
79 |
+
msgstr "Campo personalizzato renderizzato"
|
80 |
|
81 |
+
#: example-functions.php:184
|
82 |
msgid "Website URL"
|
83 |
msgstr "URL Sito"
|
84 |
|
85 |
+
#: example-functions.php:193
|
86 |
msgid "Test Text Email"
|
87 |
msgstr "Test Testo Email"
|
88 |
|
89 |
+
#: example-functions.php:201
|
90 |
msgid "Test Time"
|
91 |
msgstr "Test Orario"
|
92 |
|
93 |
+
#: example-functions.php:209 example-functions.php:210
|
94 |
msgid "Time zone"
|
95 |
msgstr "Time zone"
|
96 |
|
97 |
+
#: example-functions.php:216
|
98 |
msgid "Test Date Picker"
|
99 |
msgstr "Test Date Picker"
|
100 |
|
101 |
+
#: example-functions.php:224
|
102 |
msgid "Test Date Picker (UNIX timestamp)"
|
103 |
msgstr "Test Data Picker (UNIX timestamp)"
|
104 |
|
105 |
+
#: example-functions.php:232
|
106 |
msgid "Test Date/Time Picker Combo (UNIX timestamp)"
|
107 |
msgstr "Test Data/Orario Picker Combo (UNIX timestamp)"
|
108 |
|
109 |
+
#: example-functions.php:249
|
110 |
msgid "Test Money"
|
111 |
msgstr "Test Money"
|
112 |
|
113 |
+
#: example-functions.php:258
|
114 |
msgid "Test Color Picker"
|
115 |
msgstr "Test Color Picker"
|
116 |
|
117 |
+
#: example-functions.php:271
|
118 |
msgid "Test Text Area"
|
119 |
msgstr "Test Text Area"
|
120 |
|
121 |
+
#: example-functions.php:278
|
122 |
msgid "Test Text Area Small"
|
123 |
msgstr "Test Text Area Piccola"
|
124 |
|
125 |
+
#: example-functions.php:285
|
126 |
msgid "Test Text Area for Code"
|
127 |
msgstr "Test Text Area per Codice"
|
128 |
|
129 |
+
#: example-functions.php:292
|
130 |
msgid "Test Title Weeeee"
|
131 |
msgstr "Test Titolo Weeeee"
|
132 |
|
133 |
+
#: example-functions.php:293
|
134 |
msgid "This is a title description"
|
135 |
msgstr "Questa è una descrizione del titolo"
|
136 |
|
137 |
+
#: example-functions.php:299
|
138 |
msgid "Test Select"
|
139 |
msgstr "Test Select"
|
140 |
|
141 |
+
#: example-functions.php:305 example-functions.php:318
|
142 |
+
#: example-functions.php:330
|
143 |
msgid "Option One"
|
144 |
msgstr "Opzione uno"
|
145 |
|
146 |
+
#: example-functions.php:306 example-functions.php:319
|
147 |
+
#: example-functions.php:331
|
148 |
msgid "Option Two"
|
149 |
msgstr "Opzione Due"
|
150 |
|
151 |
+
#: example-functions.php:307 example-functions.php:320
|
152 |
+
#: example-functions.php:332
|
153 |
msgid "Option Three"
|
154 |
msgstr "Opzione Tre"
|
155 |
|
156 |
+
#: example-functions.php:312
|
157 |
msgid "Test Radio inline"
|
158 |
msgstr "Test Radio inline"
|
159 |
|
160 |
+
#: example-functions.php:325
|
161 |
msgid "Test Radio"
|
162 |
msgstr "Test Radio"
|
163 |
|
164 |
+
#: example-functions.php:337
|
165 |
msgid "Test Taxonomy Radio"
|
166 |
msgstr "Test Tassonomia Radio"
|
167 |
|
168 |
+
#: example-functions.php:346
|
169 |
msgid "Test Taxonomy Select"
|
170 |
msgstr "Test Seleziona Tassonomia"
|
171 |
|
172 |
+
#: example-functions.php:354
|
173 |
msgid "Test Taxonomy Multi Checkbox"
|
174 |
msgstr "Test Tassonomia Multi Checkbox"
|
175 |
|
176 |
+
#: example-functions.php:363
|
177 |
msgid "Test Checkbox"
|
178 |
msgstr "Test Checkbox"
|
179 |
|
180 |
+
#: example-functions.php:370 tests/test-cmb-field.php:266
|
181 |
msgid "Test Multi Checkbox"
|
182 |
msgstr "Test Multi Checkbox"
|
183 |
|
184 |
+
#: example-functions.php:376 tests/test-cmb-field.php:272
|
185 |
msgid "Check One"
|
186 |
msgstr "Check Uno"
|
187 |
|
188 |
+
#: example-functions.php:377 tests/test-cmb-field.php:273
|
189 |
msgid "Check Two"
|
190 |
msgstr "Check Due"
|
191 |
|
192 |
+
#: example-functions.php:378 tests/test-cmb-field.php:274
|
193 |
msgid "Check Three"
|
194 |
msgstr "Check Tre"
|
195 |
|
196 |
+
#: example-functions.php:384
|
197 |
msgid "Test wysiwyg"
|
198 |
msgstr "Test wysiwyg"
|
199 |
|
200 |
+
#: example-functions.php:392
|
201 |
msgid "Test Image"
|
202 |
msgstr "Test Immagine"
|
203 |
|
204 |
+
#: example-functions.php:393
|
205 |
msgid "Upload an image or enter a URL."
|
206 |
msgstr "Carica una immagine o inserisci una URL"
|
207 |
|
208 |
+
#: example-functions.php:399
|
209 |
msgid "Multiple Files"
|
210 |
msgstr "File Multipli"
|
211 |
|
212 |
+
#: example-functions.php:400
|
213 |
msgid "Upload or add multiple images/attachments."
|
214 |
msgstr "Carica o aggiungi immagini/allegati multipli"
|
215 |
|
216 |
+
#: example-functions.php:407
|
217 |
msgid "oEmbed"
|
218 |
msgstr "oEmbed"
|
219 |
|
220 |
+
#. translators: %s: link to codex.wordpress.org/Embeds
|
221 |
+
#: example-functions.php:410
|
222 |
msgid ""
|
223 |
+
"Enter a youtube, twitter, or instagram URL. Supports services listed at %s."
|
224 |
+
msgstr ""
|
225 |
+
"Inserisci una URL di youtube, twitter o instagram. Servizi supportato sono "
|
226 |
+
"elencati su %s."
|
227 |
|
228 |
+
#: example-functions.php:443
|
229 |
msgid "About Page Metabox"
|
230 |
msgstr "About Page Metabox"
|
231 |
|
232 |
+
#: example-functions.php:472
|
233 |
msgid "Repeating Field Group"
|
234 |
msgstr "Gruppo Campi Ripetuto"
|
235 |
|
236 |
+
#: example-functions.php:480
|
237 |
msgid "Generates reusable form entries"
|
238 |
msgstr "Genera elementi del form riusabili"
|
239 |
|
240 |
+
#: example-functions.php:482
|
241 |
msgid "Entry {#}"
|
242 |
msgstr "Instanza {#}"
|
243 |
|
244 |
+
#: example-functions.php:483
|
245 |
msgid "Add Another Entry"
|
246 |
msgstr "Aggiungi una nuova instanza"
|
247 |
|
248 |
+
#: example-functions.php:484
|
249 |
msgid "Remove Entry"
|
250 |
msgstr "Rimuovi instanza"
|
251 |
|
252 |
+
#: example-functions.php:497
|
253 |
msgid "Entry Title"
|
254 |
msgstr "Inserisci Titolo"
|
255 |
|
256 |
+
#: example-functions.php:504
|
257 |
msgid "Description"
|
258 |
msgstr "Descrizione"
|
259 |
|
260 |
+
#: example-functions.php:505
|
261 |
msgid "Write a short description for this entry"
|
262 |
msgstr "Scrivi una breve descrizione per questo elemento"
|
263 |
|
264 |
+
#: example-functions.php:511
|
265 |
msgid "Entry Image"
|
266 |
msgstr "Inserisci Immagine"
|
267 |
|
268 |
+
#: example-functions.php:517
|
269 |
msgid "Image Caption"
|
270 |
msgstr "Didascalia immagine"
|
271 |
|
272 |
+
#: example-functions.php:536
|
273 |
msgid "User Profile Metabox"
|
274 |
msgstr "Profilo Utente Metabox"
|
275 |
|
276 |
+
#: example-functions.php:543 example-functions.php:613
|
277 |
msgid "Extra Info"
|
278 |
msgstr "Informazioni extra"
|
279 |
|
280 |
+
#: example-functions.php:551
|
281 |
msgid "Avatar"
|
282 |
msgstr "Avatar"
|
283 |
|
284 |
+
#: example-functions.php:558
|
285 |
msgid "Facebook URL"
|
286 |
msgstr "URL Facebook"
|
287 |
|
288 |
+
#: example-functions.php:565
|
289 |
msgid "Twitter URL"
|
290 |
msgstr "URL Twitter"
|
291 |
|
292 |
+
#: example-functions.php:572
|
293 |
msgid "Google+ URL"
|
294 |
msgstr "URL Google+"
|
295 |
|
296 |
+
#: example-functions.php:579
|
297 |
msgid "Linkedin URL"
|
298 |
msgstr "URL LinkedIn"
|
299 |
|
300 |
+
#: example-functions.php:586
|
301 |
msgid "User Field"
|
302 |
msgstr "Campo utente"
|
303 |
|
304 |
+
#: example-functions.php:606
|
305 |
msgid "Category Metabox"
|
306 |
+
msgstr "Metabox categoria"
|
307 |
|
308 |
+
#: example-functions.php:621
|
309 |
msgid "Term Image"
|
310 |
+
msgstr "Immagine della tassonomia"
|
311 |
|
312 |
+
#: example-functions.php:628
|
313 |
msgid "Arbitrary Term Field"
|
314 |
+
msgstr "Campo Arbitrary Term"
|
315 |
|
316 |
+
#: example-functions.php:650
|
317 |
msgid "Theme Options Metabox"
|
318 |
msgstr "Opzioni Tema Metabox"
|
319 |
|
320 |
+
#: example-functions.php:665
|
321 |
msgid "Site Background Color"
|
322 |
msgstr "Colore di sfondo del sito"
|
323 |
|
324 |
+
#: includes/CMB2.php:117
|
325 |
+
msgid "Metabox configuration is required to have an ID parameter."
|
326 |
+
msgstr "La configurazione del metabox richiede un parametro ID."
|
327 |
|
328 |
+
#: includes/CMB2.php:432
|
329 |
msgid "Click to toggle"
|
330 |
msgstr "Clicca per commutare"
|
331 |
|
337 |
msgid "Remove Embed"
|
338 |
msgstr "Rimuovi Embed"
|
339 |
|
340 |
+
#. translators: 1: results for. 2: link to codex.wordpress.org/Embeds
|
341 |
+
#: includes/CMB2_Ajax.php:181 includes/helper-functions.php:95
|
342 |
+
#: tests/cmb-tests-base.php:68
|
343 |
+
msgid "No oEmbed Results Found for %1$s. View more info at %2$s."
|
344 |
+
msgstr ""
|
345 |
+
"Nessun risultato OEmbed trovato per %1$s. Per altre informazioni vedi su%2$s."
|
346 |
|
347 |
+
#: includes/CMB2_Field.php:1144
|
348 |
msgid "Add Group"
|
349 |
msgstr "Aggiungi gruppo"
|
350 |
|
351 |
+
#: includes/CMB2_Field.php:1145
|
352 |
msgid "Remove Group"
|
353 |
msgstr "Rimuovi gruppo"
|
354 |
|
355 |
+
#: includes/CMB2_Field.php:1167 includes/CMB2_Field.php:1171
|
356 |
#: tests/test-cmb-field.php:229
|
357 |
msgid "None"
|
358 |
msgstr "Nessuno"
|
359 |
|
360 |
+
#: includes/CMB2_Field.php:1232
|
361 |
msgid "Sorry, this field does not have a cmb_id specified."
|
362 |
+
msgstr "Spiacenti, questo campo non ha il valore cmb_id specificato."
|
363 |
|
364 |
+
#: includes/CMB2_Field_Display.php:408 includes/CMB2_JS.php:155
|
365 |
#: includes/types/CMB2_Type_File_Base.php:75 tests/test-cmb-types-base.php:143
|
366 |
#: tests/test-cmb-types.php:701
|
367 |
msgid "File:"
|
368 |
msgstr "File:"
|
369 |
|
370 |
+
#: includes/CMB2_JS.php:96 includes/CMB2_JS.php:135
|
371 |
msgid "Clear"
|
372 |
msgstr "Pulisci"
|
373 |
|
374 |
+
#: includes/CMB2_JS.php:97
|
375 |
msgid "Default"
|
376 |
msgstr "Predefinito"
|
377 |
|
378 |
+
#: includes/CMB2_JS.php:98
|
379 |
msgid "Select Color"
|
380 |
msgstr "Seleziona colore"
|
381 |
|
382 |
+
#: includes/CMB2_JS.php:99
|
383 |
msgid "Current Color"
|
384 |
msgstr "Colore attuale"
|
385 |
|
386 |
+
#: includes/CMB2_JS.php:126
|
387 |
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
388 |
msgstr "Domenica, Lunedi, Martedì, Mercoledì, Giovedi, Venerdì, Sabato"
|
389 |
|
390 |
+
#: includes/CMB2_JS.php:127
|
391 |
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
392 |
msgstr "Do, Lu, Ma, Me, Gi, Ve, Sa"
|
393 |
|
394 |
+
#: includes/CMB2_JS.php:128
|
395 |
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
396 |
msgstr "Dom, Lun, Mar, Mer, Gio, Ven, Sab"
|
397 |
|
398 |
+
#: includes/CMB2_JS.php:129
|
399 |
msgid ""
|
400 |
"January, February, March, April, May, June, July, August, September, "
|
401 |
"October, November, December"
|
402 |
+
msgstr ""
|
403 |
+
"Gennaio, Febbraio, Marzo, Aprile, Maggio, Giugno, Luglio, Agosto, Settembre, "
|
404 |
+
"Ottobre, Novembre, Dicembre"
|
405 |
|
406 |
+
#: includes/CMB2_JS.php:130
|
407 |
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
408 |
msgstr "Gen, Feb, Mar, Apr, Mag, Giu, Lug, Ago, Set, Ott, Nov, Dic"
|
409 |
|
410 |
+
#: includes/CMB2_JS.php:131
|
411 |
msgid "Next"
|
412 |
msgstr "Successivo"
|
413 |
|
414 |
+
#: includes/CMB2_JS.php:132
|
415 |
msgid "Prev"
|
416 |
msgstr "Precedente"
|
417 |
|
418 |
+
#: includes/CMB2_JS.php:133
|
419 |
msgid "Today"
|
420 |
msgstr "Oggi"
|
421 |
|
422 |
+
#: includes/CMB2_JS.php:134 includes/CMB2_JS.php:144
|
423 |
msgid "Done"
|
424 |
msgstr "Finito"
|
425 |
|
426 |
+
#: includes/CMB2_JS.php:138
|
427 |
msgid "Choose Time"
|
428 |
msgstr "Scegli la data"
|
429 |
|
430 |
+
#: includes/CMB2_JS.php:139
|
431 |
msgid "Time"
|
432 |
msgstr "Data"
|
433 |
|
434 |
+
#: includes/CMB2_JS.php:140
|
435 |
msgid "Hour"
|
436 |
msgstr "Ora"
|
437 |
|
438 |
+
#: includes/CMB2_JS.php:141
|
439 |
msgid "Minute"
|
440 |
msgstr "Minuto"
|
441 |
|
442 |
+
#: includes/CMB2_JS.php:142
|
443 |
msgid "Second"
|
444 |
msgstr "Secondi"
|
445 |
|
446 |
+
#: includes/CMB2_JS.php:143
|
447 |
msgid "Now"
|
448 |
msgstr "Ora"
|
449 |
|
450 |
+
#: includes/CMB2_JS.php:151
|
451 |
msgid "Use this file"
|
452 |
msgstr "Usa questo file"
|
453 |
|
454 |
+
#: includes/CMB2_JS.php:152
|
455 |
msgid "Use these files"
|
456 |
msgstr "Usa questi file"
|
457 |
|
458 |
+
#: includes/CMB2_JS.php:153 includes/types/CMB2_Type_File_Base.php:61
|
459 |
msgid "Remove Image"
|
460 |
msgstr "Rimuovi immagine"
|
461 |
|
462 |
+
#: includes/CMB2_JS.php:154 includes/CMB2_Types.php:303
|
463 |
#: includes/types/CMB2_Type_File_Base.php:80 tests/test-cmb-types-base.php:143
|
464 |
#: tests/test-cmb-types.php:47 tests/test-cmb-types.php:55
|
465 |
#: tests/test-cmb-types.php:701
|
466 |
msgid "Remove"
|
467 |
msgstr "Rimuovi"
|
468 |
|
469 |
+
#: includes/CMB2_JS.php:156 includes/types/CMB2_Type_File_Base.php:78
|
470 |
#: tests/test-cmb-types-base.php:143 tests/test-cmb-types.php:701
|
471 |
msgid "Download"
|
472 |
msgstr "Download"
|
473 |
|
474 |
+
#: includes/CMB2_JS.php:157
|
475 |
msgid "Select / Deselect All"
|
476 |
msgstr "Seleziona / Deseleziona tutto"
|
477 |
|
478 |
+
#: includes/CMB2_Types.php:171
|
479 |
+
msgid ""
|
480 |
+
"Custom field types require a Type object instantiation to use this method. "
|
481 |
+
"This method was called by the '%s' field type."
|
482 |
+
msgstr ""
|
483 |
+
"I campi personalizzati richiedono una instanziazione dell'oggetto Type per "
|
484 |
+
"usare questo metodo. Questo metodo è stato chiamato dal tipo di campo '%s'."
|
485 |
+
|
486 |
+
#: includes/CMB2_Types.php:174
|
487 |
+
msgid "That field type may not work as expected."
|
488 |
+
msgstr "Questo campo potrebbe non funzionare come previsto."
|
489 |
+
|
490 |
+
#: includes/CMB2_Types.php:175
|
491 |
+
msgid "That field type will not work as expected."
|
492 |
+
msgstr "Questo campo potrebbe non funzionare in modo corretto."
|
493 |
+
|
494 |
+
#: includes/CMB2_Types.php:177
|
495 |
+
msgid ""
|
496 |
+
"For more information about this change see: https://github.com/mustardBees/"
|
497 |
+
"cmb-field-select2/pull/34w"
|
498 |
+
msgstr ""
|
499 |
+
"Per altre informazioni riguardo questo cambiamento: https://github.com/"
|
500 |
+
"mustardBees/cmb-field-select2/pull/34w"
|
501 |
+
|
502 |
+
#: includes/CMB2_Types.php:240
|
503 |
msgid "Add Row"
|
504 |
msgstr "Aggiungi Riga"
|
505 |
|
506 |
+
#: includes/CMB2_hookup.php:128
|
507 |
msgid ""
|
508 |
+
"Term Metadata is a WordPress 4.4+ feature. Please upgrade your WordPress "
|
509 |
"install."
|
510 |
msgstr ""
|
511 |
+
"Il supporto ai Term Metadata sono una funzionalità per WordPress 4.4. "
|
512 |
+
"Aggiorna la tua installazione di WordPress."
|
513 |
|
514 |
+
#: includes/CMB2_hookup.php:132
|
515 |
+
msgid "Term metaboxes configuration requires a \"taxonomies\" parameter."
|
516 |
msgstr ""
|
517 |
+
"I metabox delle configurazioni per le tassonomie richiede il parametro "
|
518 |
+
"\"taxonomies\"."
|
519 |
|
520 |
+
#: includes/helper-functions.php:284
|
|
|
|
|
|
|
|
|
521 |
msgid "Save"
|
522 |
msgstr "Salva"
|
523 |
|
537 |
msgstr "Nessun termine"
|
538 |
|
539 |
#. Plugin Name of the plugin/theme
|
540 |
+
msgid "CMB2 team"
|
541 |
+
msgstr "CMB2 team"
|
542 |
+
|
543 |
+
#. Author of the plugin/theme
|
544 |
msgid "CMB2"
|
545 |
msgstr "CMB2"
|
546 |
|
547 |
#. Plugin URI of the plugin/theme
|
548 |
+
msgid "https://github.com/CMB2/CMB2"
|
549 |
+
msgstr "https://github.com/CMB2/CMB2"
|
550 |
|
551 |
#. Description of the plugin/theme
|
552 |
msgid ""
|
553 |
"CMB2 will create metaboxes and forms with custom fields that will blow your "
|
554 |
"mind."
|
555 |
+
msgstr ""
|
556 |
+
"CMB2 crea metabox e form con campi personalizzati che ti faranno esplodere "
|
557 |
+
"la testa."
|
|
|
|
|
558 |
|
559 |
#. Author URI of the plugin/theme
|
560 |
+
msgid "https://cmb2.io"
|
561 |
+
msgstr "https://cmb2.io"
|
562 |
|
563 |
+
#: includes/CMB2_JS.php:125
|
564 |
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
565 |
msgid "mm/dd/yy"
|
566 |
msgstr "mm/dd/yy"
|
567 |
|
568 |
+
#: includes/CMB2_JS.php:145
|
569 |
msgctxt ""
|
570 |
+
"Valid formatting string, as per http://trentrichardson.com/examples/"
|
571 |
+
"timepicker/"
|
572 |
msgid "hh:mm TT"
|
573 |
msgstr "hh:mm TT"
|
vendor/CMB2/languages/cmb2-ja.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-jv.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-ka.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-ka_GE.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-kk.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-km.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-kn.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-ko_KR.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-ku.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-ky.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-lo.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-lt_LT.po
CHANGED
@@ -499,8 +499,8 @@ msgid "CMB2"
|
|
499 |
msgstr ""
|
500 |
|
501 |
#. Plugin URI of the plugin/theme
|
502 |
-
msgid "https://github.com/
|
503 |
-
msgstr "https://github.com/
|
504 |
|
505 |
#. Description of the plugin/theme
|
506 |
msgid ""
|
499 |
msgstr ""
|
500 |
|
501 |
#. Plugin URI of the plugin/theme
|
502 |
+
msgid "https://github.com/CMB2/CMB2"
|
503 |
+
msgstr "https://github.com/CMB2/CMB2"
|
504 |
|
505 |
#. Description of the plugin/theme
|
506 |
msgid ""
|
vendor/CMB2/languages/cmb2-lv.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-mg.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-mk_MK.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-mn.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-mr.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-ms_MY.po
CHANGED
@@ -498,8 +498,8 @@ msgid "CMB2"
|
|
498 |
msgstr "CMB2"
|
499 |
|
500 |
#. Plugin URI of the plugin/theme
|
501 |
-
msgid "https://github.com/
|
502 |
-
msgstr "https://github.com/
|
503 |
|
504 |
#. Description of the plugin/theme
|
505 |
msgid ""
|
498 |
msgstr "CMB2"
|
499 |
|
500 |
#. Plugin URI of the plugin/theme
|
501 |
+
msgid "https://github.com/CMB2/CMB2"
|
502 |
+
msgstr "https://github.com/CMB2/CMB2"
|
503 |
|
504 |
#. Description of the plugin/theme
|
505 |
msgid ""
|
vendor/CMB2/languages/cmb2-my_MM.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-nb_NO.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-ne_NP.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-nl_BE.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-nl_NL.po
CHANGED
@@ -499,7 +499,7 @@ msgid "CMB2"
|
|
499 |
msgstr ""
|
500 |
|
501 |
#. Plugin URI of the plugin/theme
|
502 |
-
msgid "https://github.com/
|
503 |
msgstr ""
|
504 |
|
505 |
#. Description of the plugin/theme
|
499 |
msgstr ""
|
500 |
|
501 |
#. Plugin URI of the plugin/theme
|
502 |
+
msgid "https://github.com/CMB2/CMB2"
|
503 |
msgstr ""
|
504 |
|
505 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-nn_NO.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-oc.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-os.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-pap.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-pl_PL.po
CHANGED
@@ -499,7 +499,7 @@ msgid "CMB2"
|
|
499 |
msgstr ""
|
500 |
|
501 |
#. Plugin URI of the plugin/theme
|
502 |
-
msgid "https://github.com/
|
503 |
msgstr ""
|
504 |
|
505 |
#. Description of the plugin/theme
|
499 |
msgstr ""
|
500 |
|
501 |
#. Plugin URI of the plugin/theme
|
502 |
+
msgid "https://github.com/CMB2/CMB2"
|
503 |
msgstr ""
|
504 |
|
505 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-ps.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-pt_BR.po
CHANGED
@@ -499,8 +499,8 @@ msgid "CMB2"
|
|
499 |
msgstr "CMB2"
|
500 |
|
501 |
#. Plugin URI of the plugin/theme
|
502 |
-
msgid "https://github.com/
|
503 |
-
msgstr "https://github.com/
|
504 |
|
505 |
#. Description of the plugin/theme
|
506 |
msgid ""
|
499 |
msgstr "CMB2"
|
500 |
|
501 |
#. Plugin URI of the plugin/theme
|
502 |
+
msgid "https://github.com/CMB2/CMB2"
|
503 |
+
msgstr "https://github.com/CMB2/CMB2"
|
504 |
|
505 |
#. Description of the plugin/theme
|
506 |
msgid ""
|
vendor/CMB2/languages/cmb2-pt_PT.mo.orig
ADDED
Binary file
|
vendor/CMB2/languages/cmb2-pt_PT.po
CHANGED
@@ -601,8 +601,8 @@ msgid "CMB2"
|
|
601 |
msgstr "CMB2"
|
602 |
|
603 |
#. Plugin URI of the plugin/theme
|
604 |
-
msgid "https://github.com/
|
605 |
-
msgstr "https://github.com/
|
606 |
|
607 |
#. Description of the plugin/theme
|
608 |
msgid ""
|
601 |
msgstr "CMB2"
|
602 |
|
603 |
#. Plugin URI of the plugin/theme
|
604 |
+
msgid "https://github.com/CMB2/CMB2"
|
605 |
+
msgstr "https://github.com/CMB2/CMB2"
|
606 |
|
607 |
#. Description of the plugin/theme
|
608 |
msgid ""
|
vendor/CMB2/languages/cmb2-ro_RO.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-ru_RU.po
CHANGED
@@ -500,8 +500,8 @@ msgid "CMB2"
|
|
500 |
msgstr "CMB2"
|
501 |
|
502 |
#. Plugin URI of the plugin/theme
|
503 |
-
msgid "https://github.com/
|
504 |
-
msgstr "https://github.com/
|
505 |
|
506 |
#. Description of the plugin/theme
|
507 |
msgid ""
|
500 |
msgstr "CMB2"
|
501 |
|
502 |
#. Plugin URI of the plugin/theme
|
503 |
+
msgid "https://github.com/CMB2/CMB2"
|
504 |
+
msgstr "https://github.com/CMB2/CMB2"
|
505 |
|
506 |
#. Description of the plugin/theme
|
507 |
msgid ""
|
vendor/CMB2/languages/cmb2-sa.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-sah.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-si_LK.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-sk_SK.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-sl_SI.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-so.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-sq.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-sr_RS.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-su.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-sv_SE.po
CHANGED
@@ -498,8 +498,8 @@ msgid "CMB2"
|
|
498 |
msgstr ""
|
499 |
|
500 |
#. Plugin URI of the plugin/theme
|
501 |
-
msgid "https://github.com/
|
502 |
-
msgstr "https://github.com/
|
503 |
|
504 |
#. Description of the plugin/theme
|
505 |
msgid ""
|
498 |
msgstr ""
|
499 |
|
500 |
#. Plugin URI of the plugin/theme
|
501 |
+
msgid "https://github.com/CMB2/CMB2"
|
502 |
+
msgstr "https://github.com/CMB2/CMB2"
|
503 |
|
504 |
#. Description of the plugin/theme
|
505 |
msgid ""
|
vendor/CMB2/languages/cmb2-sw.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-ta_IN.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-ta_LK.po
CHANGED
@@ -498,7 +498,7 @@ msgid "CMB2"
|
|
498 |
msgstr ""
|
499 |
|
500 |
#. Plugin URI of the plugin/theme
|
501 |
-
msgid "https://github.com/
|
502 |
msgstr ""
|
503 |
|
504 |
#. Description of the plugin/theme
|
498 |
msgstr ""
|
499 |
|
500 |
#. Plugin URI of the plugin/theme
|
501 |
+
msgid "https://github.com/CMB2/CMB2"
|
502 |
msgstr ""
|
503 |
|
504 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-te.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-tg.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-th.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-tk_TM.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-tl.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-tr_TR.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-tzm.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-ug.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-uk.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-ur.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-ur_PK.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-uz.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-vi.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-zh_CN.po
CHANGED
@@ -498,7 +498,7 @@ msgid "CMB2"
|
|
498 |
msgstr "CMB2"
|
499 |
|
500 |
#. Plugin URI of the plugin/theme
|
501 |
-
msgid "https://github.com/
|
502 |
msgstr ""
|
503 |
|
504 |
#. Description of the plugin/theme
|
498 |
msgstr "CMB2"
|
499 |
|
500 |
#. Plugin URI of the plugin/theme
|
501 |
+
msgid "https://github.com/CMB2/CMB2"
|
502 |
msgstr ""
|
503 |
|
504 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-zh_HK.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2-zh_TW.po
CHANGED
@@ -497,7 +497,7 @@ msgid "CMB2"
|
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
-
msgid "https://github.com/
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
497 |
msgstr ""
|
498 |
|
499 |
#. Plugin URI of the plugin/theme
|
500 |
+
msgid "https://github.com/CMB2/CMB2"
|
501 |
msgstr ""
|
502 |
|
503 |
#. Description of the plugin/theme
|
vendor/CMB2/languages/cmb2.pot
CHANGED
@@ -1,16 +1,16 @@
|
|
1 |
-
# Copyright (C) 2017
|
2 |
# This file is distributed under the same license as the CMB2 package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: CMB2 2.
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
7 |
-
"POT-Creation-Date: 2017-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"PO-Revision-Date: 2017-
|
12 |
-
"Last-Translator:
|
13 |
-
"Language-Team:
|
14 |
"X-Generator: grunt-wp-i18n 0.4.9\n"
|
15 |
"X-Poedit-KeywordsList: "
|
16 |
"__;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_"
|
@@ -24,11 +24,11 @@ msgstr ""
|
|
24 |
"X-Poedit-Bookmarks: \n"
|
25 |
"X-Textdomain-Support: yes\n"
|
26 |
|
27 |
-
#: example-functions.php:117 tests/test-cmb-field.php:
|
28 |
msgid "Test Metabox"
|
29 |
msgstr ""
|
30 |
|
31 |
-
#: example-functions.php:130 example-functions.php:
|
32 |
msgid "Test Text"
|
33 |
msgstr ""
|
34 |
|
@@ -38,19 +38,19 @@ msgstr ""
|
|
38 |
#: example-functions.php:194 example-functions.php:202
|
39 |
#: example-functions.php:217 example-functions.php:225
|
40 |
#: example-functions.php:233 example-functions.php:250
|
41 |
-
#: example-functions.php:259 example-functions.php:
|
42 |
-
#: example-functions.php:
|
43 |
-
#: example-functions.php:
|
44 |
-
#: example-functions.php:
|
45 |
-
#: example-functions.php:
|
46 |
-
#: example-functions.php:
|
47 |
-
#: example-functions.php:
|
48 |
-
#: example-functions.php:
|
49 |
-
#: example-functions.php:
|
50 |
-
#: example-functions.php:
|
51 |
-
#: example-functions.php:
|
52 |
-
#: example-functions.php:
|
53 |
-
#: example-functions.php:
|
54 |
msgid "field description (optional)"
|
55 |
msgstr ""
|
56 |
|
@@ -110,466 +110,488 @@ msgstr ""
|
|
110 |
msgid "Test Color Picker"
|
111 |
msgstr ""
|
112 |
|
113 |
-
#: example-functions.php:
|
114 |
msgid "Test Text Area"
|
115 |
msgstr ""
|
116 |
|
117 |
-
#: example-functions.php:
|
118 |
msgid "Test Text Area Small"
|
119 |
msgstr ""
|
120 |
|
121 |
-
#: example-functions.php:
|
122 |
msgid "Test Text Area for Code"
|
123 |
msgstr ""
|
124 |
|
125 |
-
#: example-functions.php:
|
126 |
msgid "Test Title Weeeee"
|
127 |
msgstr ""
|
128 |
|
129 |
-
#: example-functions.php:
|
130 |
msgid "This is a title description"
|
131 |
msgstr ""
|
132 |
|
133 |
-
#: example-functions.php:
|
134 |
msgid "Test Select"
|
135 |
msgstr ""
|
136 |
|
137 |
-
#: example-functions.php:
|
138 |
-
#: example-functions.php:
|
139 |
msgid "Option One"
|
140 |
msgstr ""
|
141 |
|
142 |
-
#: example-functions.php:
|
143 |
-
#: example-functions.php:
|
144 |
msgid "Option Two"
|
145 |
msgstr ""
|
146 |
|
147 |
-
#: example-functions.php:
|
148 |
-
#: example-functions.php:
|
149 |
msgid "Option Three"
|
150 |
msgstr ""
|
151 |
|
152 |
-
#: example-functions.php:
|
153 |
msgid "Test Radio inline"
|
154 |
msgstr ""
|
155 |
|
156 |
-
#: example-functions.php:
|
157 |
msgid "Test Radio"
|
158 |
msgstr ""
|
159 |
|
160 |
-
#: example-functions.php:
|
161 |
msgid "Test Taxonomy Radio"
|
162 |
msgstr ""
|
163 |
|
164 |
-
#: example-functions.php:
|
165 |
msgid "Test Taxonomy Select"
|
166 |
msgstr ""
|
167 |
|
168 |
-
#: example-functions.php:
|
169 |
msgid "Test Taxonomy Multi Checkbox"
|
170 |
msgstr ""
|
171 |
|
172 |
-
#: example-functions.php:
|
173 |
msgid "Test Checkbox"
|
174 |
msgstr ""
|
175 |
|
176 |
-
#: example-functions.php:
|
177 |
msgid "Test Multi Checkbox"
|
178 |
msgstr ""
|
179 |
|
180 |
-
#: example-functions.php:
|
181 |
msgid "Check One"
|
182 |
msgstr ""
|
183 |
|
184 |
-
#: example-functions.php:
|
185 |
msgid "Check Two"
|
186 |
msgstr ""
|
187 |
|
188 |
-
#: example-functions.php:
|
189 |
msgid "Check Three"
|
190 |
msgstr ""
|
191 |
|
192 |
-
#: example-functions.php:
|
193 |
msgid "Test wysiwyg"
|
194 |
msgstr ""
|
195 |
|
196 |
-
#: example-functions.php:
|
197 |
msgid "Test Image"
|
198 |
msgstr ""
|
199 |
|
200 |
-
#: example-functions.php:
|
201 |
msgid "Upload an image or enter a URL."
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: example-functions.php:
|
205 |
msgid "Multiple Files"
|
206 |
msgstr ""
|
207 |
|
208 |
-
#: example-functions.php:
|
209 |
msgid "Upload or add multiple images/attachments."
|
210 |
msgstr ""
|
211 |
|
212 |
-
#: example-functions.php:
|
213 |
msgid "oEmbed"
|
214 |
msgstr ""
|
215 |
|
216 |
-
#: example-functions.php:
|
217 |
#. translators: %s: link to codex.wordpress.org/Embeds
|
218 |
msgid "Enter a youtube, twitter, or instagram URL. Supports services listed at %s."
|
219 |
msgstr ""
|
220 |
|
221 |
-
#: example-functions.php:
|
222 |
msgid "About Page Metabox"
|
223 |
msgstr ""
|
224 |
|
225 |
-
#: example-functions.php:
|
226 |
msgid "Repeating Field Group"
|
227 |
msgstr ""
|
228 |
|
229 |
-
#: example-functions.php:
|
230 |
msgid "Generates reusable form entries"
|
231 |
msgstr ""
|
232 |
|
233 |
-
#: example-functions.php:
|
234 |
msgid "Entry {#}"
|
235 |
msgstr ""
|
236 |
|
237 |
-
#: example-functions.php:
|
238 |
msgid "Add Another Entry"
|
239 |
msgstr ""
|
240 |
|
241 |
-
#: example-functions.php:
|
242 |
msgid "Remove Entry"
|
243 |
msgstr ""
|
244 |
|
245 |
-
#: example-functions.php:
|
246 |
msgid "Entry Title"
|
247 |
msgstr ""
|
248 |
|
249 |
-
#: example-functions.php:
|
250 |
msgid "Description"
|
251 |
msgstr ""
|
252 |
|
253 |
-
#: example-functions.php:
|
254 |
msgid "Write a short description for this entry"
|
255 |
msgstr ""
|
256 |
|
257 |
-
#: example-functions.php:
|
258 |
msgid "Entry Image"
|
259 |
msgstr ""
|
260 |
|
261 |
-
#: example-functions.php:
|
262 |
msgid "Image Caption"
|
263 |
msgstr ""
|
264 |
|
265 |
-
#: example-functions.php:
|
266 |
msgid "User Profile Metabox"
|
267 |
msgstr ""
|
268 |
|
269 |
-
#: example-functions.php:
|
270 |
msgid "Extra Info"
|
271 |
msgstr ""
|
272 |
|
273 |
-
#: example-functions.php:
|
274 |
msgid "Avatar"
|
275 |
msgstr ""
|
276 |
|
277 |
-
#: example-functions.php:
|
278 |
msgid "Facebook URL"
|
279 |
msgstr ""
|
280 |
|
281 |
-
#: example-functions.php:
|
282 |
msgid "Twitter URL"
|
283 |
msgstr ""
|
284 |
|
285 |
-
#: example-functions.php:
|
286 |
msgid "Google+ URL"
|
287 |
msgstr ""
|
288 |
|
289 |
-
#: example-functions.php:
|
290 |
msgid "Linkedin URL"
|
291 |
msgstr ""
|
292 |
|
293 |
-
#: example-functions.php:
|
294 |
msgid "User Field"
|
295 |
msgstr ""
|
296 |
|
297 |
-
#: example-functions.php:
|
298 |
msgid "Category Metabox"
|
299 |
msgstr ""
|
300 |
|
301 |
-
#: example-functions.php:
|
302 |
msgid "Term Image"
|
303 |
msgstr ""
|
304 |
|
305 |
-
#: example-functions.php:
|
306 |
msgid "Arbitrary Term Field"
|
307 |
msgstr ""
|
308 |
|
309 |
-
#: example-functions.php:
|
310 |
-
msgid "Theme Options
|
311 |
msgstr ""
|
312 |
|
313 |
-
#: example-functions.php:
|
314 |
msgid "Site Background Color"
|
315 |
msgstr ""
|
316 |
|
317 |
-
#: example-functions.php:
|
|
|
|
|
|
|
|
|
318 |
msgid "REST Test Box"
|
319 |
msgstr ""
|
320 |
|
321 |
-
#: example-functions.php:
|
322 |
msgid "REST Test Text"
|
323 |
msgstr ""
|
324 |
|
325 |
-
#: example-functions.php:
|
326 |
msgid "Will show in the REST API for this box and for pages."
|
327 |
msgstr ""
|
328 |
|
329 |
-
#: example-functions.php:
|
330 |
msgid "REST Editable Test Text"
|
331 |
msgstr ""
|
332 |
|
333 |
-
#: example-functions.php:
|
334 |
msgid "Will show in REST API \"editable\" contexts only (`POST` requests)."
|
335 |
msgstr ""
|
336 |
|
337 |
-
#: includes/CMB2.php:
|
338 |
msgid "Metabox configuration is required to have an ID parameter."
|
339 |
msgstr ""
|
340 |
|
341 |
-
#: includes/CMB2.php:
|
342 |
msgid "Click to toggle"
|
343 |
msgstr ""
|
344 |
|
345 |
-
#: includes/CMB2_Ajax.php:
|
346 |
msgid "Please Try Again"
|
347 |
msgstr ""
|
348 |
|
349 |
-
#: includes/CMB2_Ajax.php:
|
350 |
msgid "Remove Embed"
|
351 |
msgstr ""
|
352 |
|
353 |
-
#: includes/CMB2_Ajax.php:
|
354 |
-
#: tests/cmb-tests-base.php:68 tests/test-cmb-types-display.php:
|
355 |
#. translators: 1: results for. 2: link to codex.wordpress.org/Embeds
|
356 |
msgid "No oEmbed Results Found for %1$s. View more info at %2$s."
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: includes/CMB2_Base.php:
|
360 |
msgid ""
|
361 |
-
"The \"%s\" field parameter has been deprecated in favor of the \"%s\" "
|
362 |
"parameter."
|
363 |
msgstr ""
|
364 |
|
365 |
-
#: includes/CMB2_Base.php:
|
366 |
msgid ""
|
367 |
-
"Using the \"%s\" field parameter as a callback has been deprecated in
|
368 |
-
"of the \"%s\" parameter."
|
369 |
msgstr ""
|
370 |
|
371 |
-
#: includes/CMB2_Base.php:
|
372 |
msgid ""
|
373 |
"%1$s was called with a parameter that is <strong>deprecated</strong> since "
|
374 |
"version %2$s! %3$s"
|
375 |
msgstr ""
|
376 |
|
377 |
-
#: includes/CMB2_Base.php:
|
378 |
msgid ""
|
379 |
"%1$s was called with a parameter that is <strong>deprecated</strong> since "
|
380 |
"version %2$s with no alternative available."
|
381 |
msgstr ""
|
382 |
|
383 |
-
#: includes/CMB2_Base.php:
|
|
|
384 |
msgid "Invalid %1$s property: %2$s"
|
385 |
msgstr ""
|
386 |
|
387 |
-
#: includes/CMB2_Base.php:
|
388 |
msgid "Invalid %1$s method: %2$s"
|
389 |
msgstr ""
|
390 |
|
391 |
-
#: includes/CMB2_Field.php:
|
392 |
msgid "Add Group"
|
393 |
msgstr ""
|
394 |
|
395 |
-
#: includes/CMB2_Field.php:
|
396 |
msgid "Remove Group"
|
397 |
msgstr ""
|
398 |
|
399 |
-
#: includes/CMB2_Field.php:
|
400 |
-
#: tests/test-cmb-field.php:
|
401 |
msgid "None"
|
402 |
msgstr ""
|
403 |
|
404 |
-
#: includes/CMB2_Field.php:
|
405 |
msgid "Sorry, this field does not have a cmb_id specified."
|
406 |
msgstr ""
|
407 |
|
408 |
-
#: includes/CMB2_Field_Display.php:
|
409 |
-
#: includes/types/CMB2_Type_File_Base.php:
|
410 |
-
#: tests/test-cmb-types.php:
|
411 |
msgid "File:"
|
412 |
msgstr ""
|
413 |
|
414 |
-
#: includes/
|
|
|
|
|
|
|
|
|
415 |
msgid "Clear"
|
416 |
msgstr ""
|
417 |
|
418 |
-
#: includes/CMB2_JS.php:
|
419 |
msgid "Default"
|
420 |
msgstr ""
|
421 |
|
422 |
-
#: includes/CMB2_JS.php:
|
423 |
msgid "Select Color"
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: includes/CMB2_JS.php:
|
427 |
msgid "Current Color"
|
428 |
msgstr ""
|
429 |
|
430 |
-
#: includes/CMB2_JS.php:
|
431 |
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
432 |
msgstr ""
|
433 |
|
434 |
-
#: includes/CMB2_JS.php:
|
435 |
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
436 |
msgstr ""
|
437 |
|
438 |
-
#: includes/CMB2_JS.php:
|
439 |
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
440 |
msgstr ""
|
441 |
|
442 |
-
#: includes/CMB2_JS.php:
|
443 |
msgid ""
|
444 |
"January, February, March, April, May, June, July, August, September, "
|
445 |
"October, November, December"
|
446 |
msgstr ""
|
447 |
|
448 |
-
#: includes/CMB2_JS.php:
|
449 |
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
450 |
msgstr ""
|
451 |
|
452 |
-
#: includes/CMB2_JS.php:
|
453 |
msgid "Next"
|
454 |
msgstr ""
|
455 |
|
456 |
-
#: includes/CMB2_JS.php:
|
457 |
msgid "Prev"
|
458 |
msgstr ""
|
459 |
|
460 |
-
#: includes/CMB2_JS.php:
|
461 |
msgid "Today"
|
462 |
msgstr ""
|
463 |
|
464 |
-
#: includes/CMB2_JS.php:
|
465 |
msgid "Done"
|
466 |
msgstr ""
|
467 |
|
468 |
-
#: includes/CMB2_JS.php:
|
469 |
msgid "Choose Time"
|
470 |
msgstr ""
|
471 |
|
472 |
-
#: includes/CMB2_JS.php:
|
473 |
msgid "Time"
|
474 |
msgstr ""
|
475 |
|
476 |
-
#: includes/CMB2_JS.php:
|
477 |
msgid "Hour"
|
478 |
msgstr ""
|
479 |
|
480 |
-
#: includes/CMB2_JS.php:
|
481 |
msgid "Minute"
|
482 |
msgstr ""
|
483 |
|
484 |
-
#: includes/CMB2_JS.php:
|
485 |
msgid "Second"
|
486 |
msgstr ""
|
487 |
|
488 |
-
#: includes/CMB2_JS.php:
|
489 |
msgid "Now"
|
490 |
msgstr ""
|
491 |
|
492 |
-
#: includes/CMB2_JS.php:
|
493 |
msgid "Use this file"
|
494 |
msgstr ""
|
495 |
|
496 |
-
#: includes/CMB2_JS.php:
|
497 |
msgid "Use these files"
|
498 |
msgstr ""
|
499 |
|
500 |
-
#: includes/CMB2_JS.php:
|
501 |
msgid "Remove Image"
|
502 |
msgstr ""
|
503 |
|
504 |
-
#: includes/CMB2_JS.php:
|
505 |
-
#: includes/types/CMB2_Type_File_Base.php:
|
506 |
#: tests/test-cmb-types.php:47 tests/test-cmb-types.php:55
|
507 |
-
#: tests/test-cmb-types.php:
|
508 |
msgid "Remove"
|
509 |
msgstr ""
|
510 |
|
511 |
-
#: includes/CMB2_JS.php:
|
512 |
-
#: tests/test-cmb-types-base.php:
|
513 |
msgid "Download"
|
514 |
msgstr ""
|
515 |
|
516 |
-
#: includes/CMB2_JS.php:
|
517 |
msgid "Select / Deselect All"
|
518 |
msgstr ""
|
519 |
|
520 |
-
#: includes/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
521 |
msgid "Custom CMB2 field type classes must extend CMB2_Type_Base."
|
522 |
msgstr ""
|
523 |
|
524 |
-
#: includes/CMB2_Types.php:
|
525 |
msgid "Add Row"
|
526 |
msgstr ""
|
527 |
|
528 |
-
#: includes/
|
|
|
|
|
|
|
|
|
|
|
529 |
msgid ""
|
530 |
"Term Metadata is a WordPress 4.4+ feature. Please upgrade your WordPress "
|
531 |
"install."
|
532 |
msgstr ""
|
533 |
|
534 |
-
#: includes/CMB2_hookup.php:
|
535 |
msgid "Term metaboxes configuration requires a \"taxonomies\" parameter."
|
536 |
msgstr ""
|
537 |
|
538 |
-
#: includes/CMB2_hookup.php:
|
539 |
msgid "Toggle panel: %s"
|
540 |
msgstr ""
|
541 |
|
542 |
-
#: includes/helper-functions.php:
|
543 |
msgid "Save"
|
544 |
msgstr ""
|
545 |
|
546 |
-
#: includes/rest-api/CMB2_REST_Controller.php:
|
547 |
msgid "This box does not have read permissions."
|
548 |
msgstr ""
|
549 |
|
550 |
-
#: includes/rest-api/CMB2_REST_Controller.php:
|
551 |
msgid "This box does not have write permissions."
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: includes/rest-api/CMB2_REST_Controller.php:
|
555 |
msgid ""
|
556 |
"No box found by that id. A box needs to be registered with the "
|
557 |
"\"show_in_rest\" parameter configured."
|
558 |
msgstr ""
|
559 |
|
560 |
-
#: includes/rest-api/CMB2_REST_Controller.php:
|
561 |
msgid "A human-readable description of the object."
|
562 |
msgstr ""
|
563 |
|
564 |
-
#: includes/rest-api/CMB2_REST_Controller.php:
|
565 |
msgid "The id for the object."
|
566 |
msgstr ""
|
567 |
|
568 |
-
#: includes/rest-api/CMB2_REST_Controller.php:
|
569 |
msgid "The title for the object."
|
570 |
msgstr ""
|
571 |
|
572 |
-
#: includes/rest-api/CMB2_REST_Controller_Boxes.php:
|
573 |
msgid "Includes the registered fields for the box in the response."
|
574 |
msgstr ""
|
575 |
|
@@ -603,76 +625,76 @@ msgid ""
|
|
603 |
msgstr ""
|
604 |
|
605 |
#: includes/rest-api/CMB2_REST_Controller_Fields.php:236
|
606 |
-
#: tests/test-cmb-rest-controllers.php:
|
607 |
msgid "CMB2 Field value cannot be updated without the value parameter specified."
|
608 |
msgstr ""
|
609 |
|
610 |
-
#: includes/rest-api/CMB2_REST_Controller_Fields.php:
|
611 |
-
#: tests/test-cmb-rest-controllers.php:
|
612 |
-
#: tests/test-cmb-rest-controllers.php:
|
613 |
msgid ""
|
614 |
"CMB2 Field value cannot be modified without the object_id and object_type "
|
615 |
"parameters specified."
|
616 |
msgstr ""
|
617 |
|
618 |
-
#: includes/rest-api/CMB2_REST_Controller_Fields.php:
|
619 |
-
#: includes/rest-api/CMB2_REST_Controller_Fields.php:
|
620 |
msgid "No field found by that id."
|
621 |
msgstr ""
|
622 |
|
623 |
-
#: includes/rest-api/CMB2_REST_Controller_Fields.php:
|
624 |
msgid "Value Error for %s"
|
625 |
msgstr ""
|
626 |
|
627 |
-
#: includes/shim/WP_REST_Controller.php:
|
628 |
-
|
|
|
629 |
msgstr ""
|
630 |
|
631 |
-
#: includes/shim/WP_REST_Controller.php:
|
632 |
-
#: includes/shim/WP_REST_Controller.php:
|
633 |
-
#: includes/shim/WP_REST_Controller.php:
|
634 |
-
#: includes/shim/WP_REST_Controller.php:
|
635 |
-
#: includes/shim/WP_REST_Controller.php:
|
636 |
-
#: includes/shim/WP_REST_Controller.php:
|
637 |
-
#: includes/shim/WP_REST_Controller.php:
|
638 |
-
#: includes/shim/WP_REST_Controller.php:
|
639 |
-
#: includes/shim/WP_REST_Controller.php:
|
640 |
-
#: includes/shim/WP_REST_Controller.php:
|
641 |
-
#: includes/shim/WP_REST_Controller.php:
|
642 |
-
#: includes/shim/WP_REST_Controller.php:
|
643 |
-
msgid "Method '%s' not implemented. Must be
|
644 |
msgstr ""
|
645 |
|
646 |
-
#: includes/shim/WP_REST_Controller.php:
|
647 |
msgid "Current page of the collection."
|
648 |
msgstr ""
|
649 |
|
650 |
-
#: includes/shim/WP_REST_Controller.php:
|
651 |
msgid "Maximum number of items to be returned in result set."
|
652 |
msgstr ""
|
653 |
|
654 |
-
#: includes/shim/WP_REST_Controller.php:
|
655 |
msgid "Limit results to those matching a string."
|
656 |
msgstr ""
|
657 |
|
658 |
-
#: includes/shim/WP_REST_Controller.php:
|
659 |
msgid ""
|
660 |
"Scope under which the request is made; determines fields present in "
|
661 |
"response."
|
662 |
msgstr ""
|
663 |
|
664 |
-
#: includes/types/CMB2_Type_File.php:
|
665 |
-
#: tests/test-cmb-types.php:
|
666 |
msgid "Add or Upload File"
|
667 |
msgstr ""
|
668 |
|
669 |
-
#: includes/types/CMB2_Type_File_List.php:
|
670 |
-
#: tests/test-cmb-types.php:
|
671 |
msgid "Add or Upload Files"
|
672 |
msgstr ""
|
673 |
|
674 |
-
#: includes/types/
|
675 |
-
#: includes/types/CMB2_Type_Taxonomy_Radio.php:25
|
676 |
msgid "No terms"
|
677 |
msgstr ""
|
678 |
|
@@ -681,7 +703,7 @@ msgid "CMB2"
|
|
681 |
msgstr ""
|
682 |
|
683 |
#. Plugin URI of the plugin/theme
|
684 |
-
msgid "https://github.com/
|
685 |
msgstr ""
|
686 |
|
687 |
#. Description of the plugin/theme
|
@@ -691,19 +713,19 @@ msgid ""
|
|
691 |
msgstr ""
|
692 |
|
693 |
#. Author of the plugin/theme
|
694 |
-
msgid "
|
695 |
msgstr ""
|
696 |
|
697 |
#. Author URI of the plugin/theme
|
698 |
-
msgid "
|
699 |
msgstr ""
|
700 |
|
701 |
-
#: includes/CMB2_JS.php:
|
702 |
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
703 |
msgid "mm/dd/yy"
|
704 |
msgstr ""
|
705 |
|
706 |
-
#: includes/CMB2_JS.php:
|
707 |
msgctxt ""
|
708 |
"Valid formatting string, as per "
|
709 |
"http://trentrichardson.com/examples/timepicker/"
|
1 |
+
# Copyright (C) 2017 CMB2 team
|
2 |
# This file is distributed under the same license as the CMB2 package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: CMB2 2.3.0\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/cmb2\n"
|
7 |
+
"POT-Creation-Date: 2017-11-27 20:48:19+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
+
"PO-Revision-Date: 2017-11-27 20:48+300\n"
|
12 |
+
"Last-Translator: CMB2 Team hello@cmb2.io\n"
|
13 |
+
"Language-Team: CMB2 Team hello@cmb2.io\n"
|
14 |
"X-Generator: grunt-wp-i18n 0.4.9\n"
|
15 |
"X-Poedit-KeywordsList: "
|
16 |
"__;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_"
|
24 |
"X-Poedit-Bookmarks: \n"
|
25 |
"X-Textdomain-Support: yes\n"
|
26 |
|
27 |
+
#: example-functions.php:117 tests/test-cmb-field.php:263
|
28 |
msgid "Test Metabox"
|
29 |
msgstr ""
|
30 |
|
31 |
+
#: example-functions.php:130 example-functions.php:459
|
32 |
msgid "Test Text"
|
33 |
msgstr ""
|
34 |
|
38 |
#: example-functions.php:194 example-functions.php:202
|
39 |
#: example-functions.php:217 example-functions.php:225
|
40 |
#: example-functions.php:233 example-functions.php:250
|
41 |
+
#: example-functions.php:259 example-functions.php:275
|
42 |
+
#: example-functions.php:282 example-functions.php:289
|
43 |
+
#: example-functions.php:303 example-functions.php:316
|
44 |
+
#: example-functions.php:329 example-functions.php:341
|
45 |
+
#: example-functions.php:350 example-functions.php:358
|
46 |
+
#: example-functions.php:367 example-functions.php:374
|
47 |
+
#: example-functions.php:388 example-functions.php:460
|
48 |
+
#: example-functions.php:551 example-functions.php:559
|
49 |
+
#: example-functions.php:566 example-functions.php:573
|
50 |
+
#: example-functions.php:580 example-functions.php:587
|
51 |
+
#: example-functions.php:594 example-functions.php:621
|
52 |
+
#: example-functions.php:629 example-functions.php:636
|
53 |
+
#: example-functions.php:682 tests/test-cmb-field.php:275
|
54 |
msgid "field description (optional)"
|
55 |
msgstr ""
|
56 |
|
110 |
msgid "Test Color Picker"
|
111 |
msgstr ""
|
112 |
|
113 |
+
#: example-functions.php:274
|
114 |
msgid "Test Text Area"
|
115 |
msgstr ""
|
116 |
|
117 |
+
#: example-functions.php:281
|
118 |
msgid "Test Text Area Small"
|
119 |
msgstr ""
|
120 |
|
121 |
+
#: example-functions.php:288
|
122 |
msgid "Test Text Area for Code"
|
123 |
msgstr ""
|
124 |
|
125 |
+
#: example-functions.php:295
|
126 |
msgid "Test Title Weeeee"
|
127 |
msgstr ""
|
128 |
|
129 |
+
#: example-functions.php:296
|
130 |
msgid "This is a title description"
|
131 |
msgstr ""
|
132 |
|
133 |
+
#: example-functions.php:302
|
134 |
msgid "Test Select"
|
135 |
msgstr ""
|
136 |
|
137 |
+
#: example-functions.php:308 example-functions.php:321
|
138 |
+
#: example-functions.php:333
|
139 |
msgid "Option One"
|
140 |
msgstr ""
|
141 |
|
142 |
+
#: example-functions.php:309 example-functions.php:322
|
143 |
+
#: example-functions.php:334
|
144 |
msgid "Option Two"
|
145 |
msgstr ""
|
146 |
|
147 |
+
#: example-functions.php:310 example-functions.php:323
|
148 |
+
#: example-functions.php:335
|
149 |
msgid "Option Three"
|
150 |
msgstr ""
|
151 |
|
152 |
+
#: example-functions.php:315
|
153 |
msgid "Test Radio inline"
|
154 |
msgstr ""
|
155 |
|
156 |
+
#: example-functions.php:328
|
157 |
msgid "Test Radio"
|
158 |
msgstr ""
|
159 |
|
160 |
+
#: example-functions.php:340
|
161 |
msgid "Test Taxonomy Radio"
|
162 |
msgstr ""
|
163 |
|
164 |
+
#: example-functions.php:349
|
165 |
msgid "Test Taxonomy Select"
|
166 |
msgstr ""
|
167 |
|
168 |
+
#: example-functions.php:357
|
169 |
msgid "Test Taxonomy Multi Checkbox"
|
170 |
msgstr ""
|
171 |
|
172 |
+
#: example-functions.php:366
|
173 |
msgid "Test Checkbox"
|
174 |
msgstr ""
|
175 |
|
176 |
+
#: example-functions.php:373 tests/test-cmb-field.php:274
|
177 |
msgid "Test Multi Checkbox"
|
178 |
msgstr ""
|
179 |
|
180 |
+
#: example-functions.php:379 tests/test-cmb-field.php:280
|
181 |
msgid "Check One"
|
182 |
msgstr ""
|
183 |
|
184 |
+
#: example-functions.php:380 tests/test-cmb-field.php:281
|
185 |
msgid "Check Two"
|
186 |
msgstr ""
|
187 |
|
188 |
+
#: example-functions.php:381 tests/test-cmb-field.php:282
|
189 |
msgid "Check Three"
|
190 |
msgstr ""
|
191 |
|
192 |
+
#: example-functions.php:387
|
193 |
msgid "Test wysiwyg"
|
194 |
msgstr ""
|
195 |
|
196 |
+
#: example-functions.php:397
|
197 |
msgid "Test Image"
|
198 |
msgstr ""
|
199 |
|
200 |
+
#: example-functions.php:398
|
201 |
msgid "Upload an image or enter a URL."
|
202 |
msgstr ""
|
203 |
|
204 |
+
#: example-functions.php:404
|
205 |
msgid "Multiple Files"
|
206 |
msgstr ""
|
207 |
|
208 |
+
#: example-functions.php:405
|
209 |
msgid "Upload or add multiple images/attachments."
|
210 |
msgstr ""
|
211 |
|
212 |
+
#: example-functions.php:412
|
213 |
msgid "oEmbed"
|
214 |
msgstr ""
|
215 |
|
216 |
+
#: example-functions.php:415
|
217 |
#. translators: %s: link to codex.wordpress.org/Embeds
|
218 |
msgid "Enter a youtube, twitter, or instagram URL. Supports services listed at %s."
|
219 |
msgstr ""
|
220 |
|
221 |
+
#: example-functions.php:448
|
222 |
msgid "About Page Metabox"
|
223 |
msgstr ""
|
224 |
|
225 |
+
#: example-functions.php:479
|
226 |
msgid "Repeating Field Group"
|
227 |
msgstr ""
|
228 |
|
229 |
+
#: example-functions.php:487
|
230 |
msgid "Generates reusable form entries"
|
231 |
msgstr ""
|
232 |
|
233 |
+
#: example-functions.php:489
|
234 |
msgid "Entry {#}"
|
235 |
msgstr ""
|
236 |
|
237 |
+
#: example-functions.php:490
|
238 |
msgid "Add Another Entry"
|
239 |
msgstr ""
|
240 |
|
241 |
+
#: example-functions.php:491
|
242 |
msgid "Remove Entry"
|
243 |
msgstr ""
|
244 |
|
245 |
+
#: example-functions.php:504
|
246 |
msgid "Entry Title"
|
247 |
msgstr ""
|
248 |
|
249 |
+
#: example-functions.php:511
|
250 |
msgid "Description"
|
251 |
msgstr ""
|
252 |
|
253 |
+
#: example-functions.php:512
|
254 |
msgid "Write a short description for this entry"
|
255 |
msgstr ""
|
256 |
|
257 |
+
#: example-functions.php:518
|
258 |
msgid "Entry Image"
|
259 |
msgstr ""
|
260 |
|
261 |
+
#: example-functions.php:524
|
262 |
msgid "Image Caption"
|
263 |
msgstr ""
|
264 |
|
265 |
+
#: example-functions.php:543
|
266 |
msgid "User Profile Metabox"
|
267 |
msgstr ""
|
268 |
|
269 |
+
#: example-functions.php:550 example-functions.php:620
|
270 |
msgid "Extra Info"
|
271 |
msgstr ""
|
272 |
|
273 |
+
#: example-functions.php:558
|
274 |
msgid "Avatar"
|
275 |
msgstr ""
|
276 |
|
277 |
+
#: example-functions.php:565
|
278 |
msgid "Facebook URL"
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: example-functions.php:572
|
282 |
msgid "Twitter URL"
|
283 |
msgstr ""
|
284 |
|
285 |
+
#: example-functions.php:579
|
286 |
msgid "Google+ URL"
|
287 |
msgstr ""
|
288 |
|
289 |
+
#: example-functions.php:586
|
290 |
msgid "Linkedin URL"
|
291 |
msgstr ""
|
292 |
|
293 |
+
#: example-functions.php:593
|
294 |
msgid "User Field"
|
295 |
msgstr ""
|
296 |
|
297 |
+
#: example-functions.php:613
|
298 |
msgid "Category Metabox"
|
299 |
msgstr ""
|
300 |
|
301 |
+
#: example-functions.php:628
|
302 |
msgid "Term Image"
|
303 |
msgstr ""
|
304 |
|
305 |
+
#: example-functions.php:635
|
306 |
msgid "Arbitrary Term Field"
|
307 |
msgstr ""
|
308 |
|
309 |
+
#: example-functions.php:654
|
310 |
+
msgid "Theme Options"
|
311 |
msgstr ""
|
312 |
|
313 |
+
#: example-functions.php:681
|
314 |
msgid "Site Background Color"
|
315 |
msgstr ""
|
316 |
|
317 |
+
#: example-functions.php:718
|
318 |
+
msgid "%s — Updated!"
|
319 |
+
msgstr ""
|
320 |
+
|
321 |
+
#: example-functions.php:752
|
322 |
msgid "REST Test Box"
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: example-functions.php:761
|
326 |
msgid "REST Test Text"
|
327 |
msgstr ""
|
328 |
|
329 |
+
#: example-functions.php:762
|
330 |
msgid "Will show in the REST API for this box and for pages."
|
331 |
msgstr ""
|
332 |
|
333 |
+
#: example-functions.php:768
|
334 |
msgid "REST Editable Test Text"
|
335 |
msgstr ""
|
336 |
|
337 |
+
#: example-functions.php:769
|
338 |
msgid "Will show in REST API \"editable\" contexts only (`POST` requests)."
|
339 |
msgstr ""
|
340 |
|
341 |
+
#: includes/CMB2.php:176
|
342 |
msgid "Metabox configuration is required to have an ID parameter."
|
343 |
msgstr ""
|
344 |
|
345 |
+
#: includes/CMB2.php:578
|
346 |
msgid "Click to toggle"
|
347 |
msgstr ""
|
348 |
|
349 |
+
#: includes/CMB2_Ajax.php:75
|
350 |
msgid "Please Try Again"
|
351 |
msgstr ""
|
352 |
|
353 |
+
#: includes/CMB2_Ajax.php:181 tests/cmb-tests-base.php:50
|
354 |
msgid "Remove Embed"
|
355 |
msgstr ""
|
356 |
|
357 |
+
#: includes/CMB2_Ajax.php:189 includes/helper-functions.php:105
|
358 |
+
#: tests/cmb-tests-base.php:68 tests/test-cmb-types-display.php:208
|
359 |
#. translators: 1: results for. 2: link to codex.wordpress.org/Embeds
|
360 |
msgid "No oEmbed Results Found for %1$s. View more info at %2$s."
|
361 |
msgstr ""
|
362 |
|
363 |
+
#: includes/CMB2_Base.php:422
|
364 |
msgid ""
|
365 |
+
"The \"%1$s\" field parameter has been deprecated in favor of the \"%1$s\" "
|
366 |
"parameter."
|
367 |
msgstr ""
|
368 |
|
369 |
+
#: includes/CMB2_Base.php:426
|
370 |
msgid ""
|
371 |
+
"Using the \"%1$s\" field parameter as a callback has been deprecated in "
|
372 |
+
"favor of the \"%1$s\" parameter."
|
373 |
msgstr ""
|
374 |
|
375 |
+
#: includes/CMB2_Base.php:456
|
376 |
msgid ""
|
377 |
"%1$s was called with a parameter that is <strong>deprecated</strong> since "
|
378 |
"version %2$s! %3$s"
|
379 |
msgstr ""
|
380 |
|
381 |
+
#: includes/CMB2_Base.php:458
|
382 |
msgid ""
|
383 |
"%1$s was called with a parameter that is <strong>deprecated</strong> since "
|
384 |
"version %2$s with no alternative available."
|
385 |
msgstr ""
|
386 |
|
387 |
+
#: includes/CMB2_Base.php:491 includes/CMB2_Hookup_Base.php:100
|
388 |
+
#: includes/CMB2_Options_Hookup.php:286 includes/types/CMB2_Type_Base.php:149
|
389 |
msgid "Invalid %1$s property: %2$s"
|
390 |
msgstr ""
|
391 |
|
392 |
+
#: includes/CMB2_Base.php:506 includes/types/CMB2_Type_Base.php:133
|
393 |
msgid "Invalid %1$s method: %2$s"
|
394 |
msgstr ""
|
395 |
|
396 |
+
#: includes/CMB2_Field.php:1211
|
397 |
msgid "Add Group"
|
398 |
msgstr ""
|
399 |
|
400 |
+
#: includes/CMB2_Field.php:1212
|
401 |
msgid "Remove Group"
|
402 |
msgstr ""
|
403 |
|
404 |
+
#: includes/CMB2_Field.php:1243 includes/CMB2_Field.php:1247
|
405 |
+
#: tests/test-cmb-field.php:237
|
406 |
msgid "None"
|
407 |
msgstr ""
|
408 |
|
409 |
+
#: includes/CMB2_Field.php:1358
|
410 |
msgid "Sorry, this field does not have a cmb_id specified."
|
411 |
msgstr ""
|
412 |
|
413 |
+
#: includes/CMB2_Field_Display.php:432 includes/CMB2_JS.php:204
|
414 |
+
#: includes/types/CMB2_Type_File_Base.php:78 tests/test-cmb-types-base.php:149
|
415 |
+
#: tests/test-cmb-types.php:884
|
416 |
msgid "File:"
|
417 |
msgstr ""
|
418 |
|
419 |
+
#: includes/CMB2_Hookup_Base.php:42
|
420 |
+
msgid "%1$s should be implemented by the extended class."
|
421 |
+
msgstr ""
|
422 |
+
|
423 |
+
#: includes/CMB2_JS.php:143 includes/CMB2_JS.php:184
|
424 |
msgid "Clear"
|
425 |
msgstr ""
|
426 |
|
427 |
+
#: includes/CMB2_JS.php:144
|
428 |
msgid "Default"
|
429 |
msgstr ""
|
430 |
|
431 |
+
#: includes/CMB2_JS.php:145
|
432 |
msgid "Select Color"
|
433 |
msgstr ""
|
434 |
|
435 |
+
#: includes/CMB2_JS.php:146
|
436 |
msgid "Current Color"
|
437 |
msgstr ""
|
438 |
|
439 |
+
#: includes/CMB2_JS.php:175
|
440 |
msgid "Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday"
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: includes/CMB2_JS.php:176
|
444 |
msgid "Su, Mo, Tu, We, Th, Fr, Sa"
|
445 |
msgstr ""
|
446 |
|
447 |
+
#: includes/CMB2_JS.php:177
|
448 |
msgid "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
|
449 |
msgstr ""
|
450 |
|
451 |
+
#: includes/CMB2_JS.php:178
|
452 |
msgid ""
|
453 |
"January, February, March, April, May, June, July, August, September, "
|
454 |
"October, November, December"
|
455 |
msgstr ""
|
456 |
|
457 |
+
#: includes/CMB2_JS.php:179
|
458 |
msgid "Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec"
|
459 |
msgstr ""
|
460 |
|
461 |
+
#: includes/CMB2_JS.php:180
|
462 |
msgid "Next"
|
463 |
msgstr ""
|
464 |
|
465 |
+
#: includes/CMB2_JS.php:181
|
466 |
msgid "Prev"
|
467 |
msgstr ""
|
468 |
|
469 |
+
#: includes/CMB2_JS.php:182
|
470 |
msgid "Today"
|
471 |
msgstr ""
|
472 |
|
473 |
+
#: includes/CMB2_JS.php:183 includes/CMB2_JS.php:193
|
474 |
msgid "Done"
|
475 |
msgstr ""
|
476 |
|
477 |
+
#: includes/CMB2_JS.php:187
|
478 |
msgid "Choose Time"
|
479 |
msgstr ""
|
480 |
|
481 |
+
#: includes/CMB2_JS.php:188
|
482 |
msgid "Time"
|
483 |
msgstr ""
|
484 |
|
485 |
+
#: includes/CMB2_JS.php:189
|
486 |
msgid "Hour"
|
487 |
msgstr ""
|
488 |
|
489 |
+
#: includes/CMB2_JS.php:190
|
490 |
msgid "Minute"
|
491 |
msgstr ""
|
492 |
|
493 |
+
#: includes/CMB2_JS.php:191
|
494 |
msgid "Second"
|
495 |
msgstr ""
|
496 |
|
497 |
+
#: includes/CMB2_JS.php:192
|
498 |
msgid "Now"
|
499 |
msgstr ""
|
500 |
|
501 |
+
#: includes/CMB2_JS.php:200
|
502 |
msgid "Use this file"
|
503 |
msgstr ""
|
504 |
|
505 |
+
#: includes/CMB2_JS.php:201
|
506 |
msgid "Use these files"
|
507 |
msgstr ""
|
508 |
|
509 |
+
#: includes/CMB2_JS.php:202 includes/types/CMB2_Type_File_Base.php:63
|
510 |
msgid "Remove Image"
|
511 |
msgstr ""
|
512 |
|
513 |
+
#: includes/CMB2_JS.php:203 includes/CMB2_Types.php:412
|
514 |
+
#: includes/types/CMB2_Type_File_Base.php:83 tests/test-cmb-types-base.php:149
|
515 |
#: tests/test-cmb-types.php:47 tests/test-cmb-types.php:55
|
516 |
+
#: tests/test-cmb-types.php:884
|
517 |
msgid "Remove"
|
518 |
msgstr ""
|
519 |
|
520 |
+
#: includes/CMB2_JS.php:205 includes/types/CMB2_Type_File_Base.php:81
|
521 |
+
#: tests/test-cmb-types-base.php:149 tests/test-cmb-types.php:884
|
522 |
msgid "Download"
|
523 |
msgstr ""
|
524 |
|
525 |
+
#: includes/CMB2_JS.php:206
|
526 |
msgid "Select / Deselect All"
|
527 |
msgstr ""
|
528 |
|
529 |
+
#: includes/CMB2_Options_Hookup.php:126
|
530 |
+
msgid "Nothing to update."
|
531 |
+
msgstr ""
|
532 |
+
|
533 |
+
#: includes/CMB2_Options_Hookup.php:130
|
534 |
+
msgid "Settings updated."
|
535 |
+
msgstr ""
|
536 |
+
|
537 |
+
#: includes/CMB2_Types.php:231
|
538 |
msgid "Custom CMB2 field type classes must extend CMB2_Type_Base."
|
539 |
msgstr ""
|
540 |
|
541 |
+
#: includes/CMB2_Types.php:349
|
542 |
msgid "Add Row"
|
543 |
msgstr ""
|
544 |
|
545 |
+
#: includes/CMB2_Types.php:412 tests/test-cmb-types.php:47
|
546 |
+
#: tests/test-cmb-types.php:55
|
547 |
+
msgid "Remove Row"
|
548 |
+
msgstr ""
|
549 |
+
|
550 |
+
#: includes/CMB2_hookup.php:181
|
551 |
msgid ""
|
552 |
"Term Metadata is a WordPress 4.4+ feature. Please upgrade your WordPress "
|
553 |
"install."
|
554 |
msgstr ""
|
555 |
|
556 |
+
#: includes/CMB2_hookup.php:185
|
557 |
msgid "Term metaboxes configuration requires a \"taxonomies\" parameter."
|
558 |
msgstr ""
|
559 |
|
560 |
+
#: includes/CMB2_hookup.php:458
|
561 |
msgid "Toggle panel: %s"
|
562 |
msgstr ""
|
563 |
|
564 |
+
#: includes/helper-functions.php:303
|
565 |
msgid "Save"
|
566 |
msgstr ""
|
567 |
|
568 |
+
#: includes/rest-api/CMB2_REST_Controller.php:257
|
569 |
msgid "This box does not have read permissions."
|
570 |
msgstr ""
|
571 |
|
572 |
+
#: includes/rest-api/CMB2_REST_Controller.php:277
|
573 |
msgid "This box does not have write permissions."
|
574 |
msgstr ""
|
575 |
|
576 |
+
#: includes/rest-api/CMB2_REST_Controller.php:300
|
577 |
msgid ""
|
578 |
"No box found by that id. A box needs to be registered with the "
|
579 |
"\"show_in_rest\" parameter configured."
|
580 |
msgstr ""
|
581 |
|
582 |
+
#: includes/rest-api/CMB2_REST_Controller.php:378
|
583 |
msgid "A human-readable description of the object."
|
584 |
msgstr ""
|
585 |
|
586 |
+
#: includes/rest-api/CMB2_REST_Controller.php:385
|
587 |
msgid "The id for the object."
|
588 |
msgstr ""
|
589 |
|
590 |
+
#: includes/rest-api/CMB2_REST_Controller.php:392
|
591 |
msgid "The title for the object."
|
592 |
msgstr ""
|
593 |
|
594 |
+
#: includes/rest-api/CMB2_REST_Controller_Boxes.php:51
|
595 |
msgid "Includes the registered fields for the box in the response."
|
596 |
msgstr ""
|
597 |
|
625 |
msgstr ""
|
626 |
|
627 |
#: includes/rest-api/CMB2_REST_Controller_Fields.php:236
|
628 |
+
#: tests/test-cmb-rest-controllers.php:247
|
629 |
msgid "CMB2 Field value cannot be updated without the value parameter specified."
|
630 |
msgstr ""
|
631 |
|
632 |
+
#: includes/rest-api/CMB2_REST_Controller_Fields.php:297
|
633 |
+
#: tests/test-cmb-rest-controllers.php:258
|
634 |
+
#: tests/test-cmb-rest-controllers.php:269
|
635 |
msgid ""
|
636 |
"CMB2 Field value cannot be modified without the object_id and object_type "
|
637 |
"parameters specified."
|
638 |
msgstr ""
|
639 |
|
640 |
+
#: includes/rest-api/CMB2_REST_Controller_Fields.php:312
|
641 |
+
#: includes/rest-api/CMB2_REST_Controller_Fields.php:341
|
642 |
msgid "No field found by that id."
|
643 |
msgstr ""
|
644 |
|
645 |
+
#: includes/rest-api/CMB2_REST_Controller_Fields.php:415
|
646 |
msgid "Value Error for %s"
|
647 |
msgstr ""
|
648 |
|
649 |
+
#: includes/shim/WP_REST_Controller.php:25
|
650 |
+
#. translators: %s: register_routes()
|
651 |
+
msgid "Method '%s' must be overridden."
|
652 |
msgstr ""
|
653 |
|
654 |
+
#: includes/shim/WP_REST_Controller.php:35
|
655 |
+
#: includes/shim/WP_REST_Controller.php:47
|
656 |
+
#: includes/shim/WP_REST_Controller.php:59
|
657 |
+
#: includes/shim/WP_REST_Controller.php:71
|
658 |
+
#: includes/shim/WP_REST_Controller.php:83
|
659 |
+
#: includes/shim/WP_REST_Controller.php:95
|
660 |
+
#: includes/shim/WP_REST_Controller.php:107
|
661 |
+
#: includes/shim/WP_REST_Controller.php:119
|
662 |
+
#: includes/shim/WP_REST_Controller.php:131
|
663 |
+
#: includes/shim/WP_REST_Controller.php:143
|
664 |
+
#: includes/shim/WP_REST_Controller.php:155
|
665 |
+
#: includes/shim/WP_REST_Controller.php:168
|
666 |
+
msgid "Method '%s' not implemented. Must be overridden in subclass."
|
667 |
msgstr ""
|
668 |
|
669 |
+
#: includes/shim/WP_REST_Controller.php:273
|
670 |
msgid "Current page of the collection."
|
671 |
msgstr ""
|
672 |
|
673 |
+
#: includes/shim/WP_REST_Controller.php:281
|
674 |
msgid "Maximum number of items to be returned in result set."
|
675 |
msgstr ""
|
676 |
|
677 |
+
#: includes/shim/WP_REST_Controller.php:290
|
678 |
msgid "Limit results to those matching a string."
|
679 |
msgstr ""
|
680 |
|
681 |
+
#: includes/shim/WP_REST_Controller.php:308
|
682 |
msgid ""
|
683 |
"Scope under which the request is made; determines fields present in "
|
684 |
"response."
|
685 |
msgstr ""
|
686 |
|
687 |
+
#: includes/types/CMB2_Type_File.php:76 tests/test-cmb-types.php:860
|
688 |
+
#: tests/test-cmb-types.php:884
|
689 |
msgid "Add or Upload File"
|
690 |
msgstr ""
|
691 |
|
692 |
+
#: includes/types/CMB2_Type_File_List.php:41 tests/test-cmb-types.php:809
|
693 |
+
#: tests/test-cmb-types.php:840
|
694 |
msgid "Add or Upload Files"
|
695 |
msgstr ""
|
696 |
|
697 |
+
#: includes/types/CMB2_Type_Taxonomy_Base.php:99
|
|
|
698 |
msgid "No terms"
|
699 |
msgstr ""
|
700 |
|
703 |
msgstr ""
|
704 |
|
705 |
#. Plugin URI of the plugin/theme
|
706 |
+
msgid "https://github.com/CMB2/CMB2"
|
707 |
msgstr ""
|
708 |
|
709 |
#. Description of the plugin/theme
|
713 |
msgstr ""
|
714 |
|
715 |
#. Author of the plugin/theme
|
716 |
+
msgid "CMB2 team"
|
717 |
msgstr ""
|
718 |
|
719 |
#. Author URI of the plugin/theme
|
720 |
+
msgid "https://cmb2.io"
|
721 |
msgstr ""
|
722 |
|
723 |
+
#: includes/CMB2_JS.php:174
|
724 |
msgctxt "Valid formatDate string for jquery-ui datepicker"
|
725 |
msgid "mm/dd/yy"
|
726 |
msgstr ""
|
727 |
|
728 |
+
#: includes/CMB2_JS.php:194
|
729 |
msgctxt ""
|
730 |
"Valid formatting string, as per "
|
731 |
"http://trentrichardson.com/examples/timepicker/"
|
vendor/autoload.php
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload.php @generated by Composer
|
4 |
+
|
5 |
+
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
6 |
+
|
7 |
+
return ComposerAutoloaderInit05ee47f16c928176f7a8f75b4ca39924::getLoader();
|
vendor/composer/ClassLoader.php
ADDED
@@ -0,0 +1,413 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* This file is part of Composer.
|
5 |
+
*
|
6 |
+
* (c) Nils Adermann <naderman@naderman.de>
|
7 |
+
* Jordi Boggiano <j.boggiano@seld.be>
|
8 |
+
*
|
9 |
+
* For the full copyright and license information, please view the LICENSE
|
10 |
+
* file that was distributed with this source code.
|
11 |
+
*/
|
12 |
+
|
13 |
+
namespace Composer\Autoload;
|
14 |
+
|
15 |
+
/**
|
16 |
+
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
|
17 |
+
*
|
18 |
+
* $loader = new \Composer\Autoload\ClassLoader();
|
19 |
+
*
|
20 |
+
* // register classes with namespaces
|
21 |
+
* $loader->add('Symfony\Component', __DIR__.'/component');
|
22 |
+
* $loader->add('Symfony', __DIR__.'/framework');
|
23 |
+
*
|
24 |
+
* // activate the autoloader
|
25 |
+
* $loader->register();
|
26 |
+
*
|
27 |
+
* // to enable searching the include path (eg. for PEAR packages)
|
28 |
+
* $loader->setUseIncludePath(true);
|
29 |
+
*
|
30 |
+
* In this example, if you try to use a class in the Symfony\Component
|
31 |
+
* namespace or one of its children (Symfony\Component\Console for instance),
|
32 |
+
* the autoloader will first look for the class under the component/
|
33 |
+
* directory, and it will then fallback to the framework/ directory if not
|
34 |
+
* found before giving up.
|
35 |
+
*
|
36 |
+
* This class is loosely based on the Symfony UniversalClassLoader.
|
37 |
+
*
|
38 |
+
* @author Fabien Potencier <fabien@symfony.com>
|
39 |
+
* @author Jordi Boggiano <j.boggiano@seld.be>
|
40 |
+
* @see http://www.php-fig.org/psr/psr-0/
|
41 |
+
* @see http://www.php-fig.org/psr/psr-4/
|
42 |
+
*/
|
43 |
+
class ClassLoader
|
44 |
+
{
|
45 |
+
// PSR-4
|
46 |
+
private $prefixLengthsPsr4 = array();
|
47 |
+
private $prefixDirsPsr4 = array();
|
48 |
+
private $fallbackDirsPsr4 = array();
|
49 |
+
|
50 |
+
// PSR-0
|
51 |
+
private $prefixesPsr0 = array();
|
52 |
+
private $fallbackDirsPsr0 = array();
|
53 |
+
|
54 |
+
private $useIncludePath = false;
|
55 |
+
private $classMap = array();
|
56 |
+
|
57 |
+
private $classMapAuthoritative = false;
|
58 |
+
|
59 |
+
public function getPrefixes()
|
60 |
+
{
|
61 |
+
if (!empty($this->prefixesPsr0)) {
|
62 |
+
return call_user_func_array('array_merge', $this->prefixesPsr0);
|
63 |
+
}
|
64 |
+
|
65 |
+
return array();
|
66 |
+
}
|
67 |
+
|
68 |
+
public function getPrefixesPsr4()
|
69 |
+
{
|
70 |
+
return $this->prefixDirsPsr4;
|
71 |
+
}
|
72 |
+
|
73 |
+
public function getFallbackDirs()
|
74 |
+
{
|
75 |
+
return $this->fallbackDirsPsr0;
|
76 |
+
}
|
77 |
+
|
78 |
+
public function getFallbackDirsPsr4()
|
79 |
+
{
|
80 |
+
return $this->fallbackDirsPsr4;
|
81 |
+
}
|
82 |
+
|
83 |
+
public function getClassMap()
|
84 |
+
{
|
85 |
+
return $this->classMap;
|
86 |
+
}
|
87 |
+
|
88 |
+
/**
|
89 |
+
* @param array $classMap Class to filename map
|
90 |
+
*/
|
91 |
+
public function addClassMap(array $classMap)
|
92 |
+
{
|
93 |
+
if ($this->classMap) {
|
94 |
+
$this->classMap = array_merge($this->classMap, $classMap);
|
95 |
+
} else {
|
96 |
+
$this->classMap = $classMap;
|
97 |
+
}
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Registers a set of PSR-0 directories for a given prefix, either
|
102 |
+
* appending or prepending to the ones previously set for this prefix.
|
103 |
+
*
|
104 |
+
* @param string $prefix The prefix
|
105 |
+
* @param array|string $paths The PSR-0 root directories
|
106 |
+
* @param bool $prepend Whether to prepend the directories
|
107 |
+
*/
|
108 |
+
public function add($prefix, $paths, $prepend = false)
|
109 |
+
{
|
110 |
+
if (!$prefix) {
|
111 |
+
if ($prepend) {
|
112 |
+
$this->fallbackDirsPsr0 = array_merge(
|
113 |
+
(array) $paths,
|
114 |
+
$this->fallbackDirsPsr0
|
115 |
+
);
|
116 |
+
} else {
|
117 |
+
$this->fallbackDirsPsr0 = array_merge(
|
118 |
+
$this->fallbackDirsPsr0,
|
119 |
+
(array) $paths
|
120 |
+
);
|
121 |
+
}
|
122 |
+
|
123 |
+
return;
|
124 |
+
}
|
125 |
+
|
126 |
+
$first = $prefix[0];
|
127 |
+
if (!isset($this->prefixesPsr0[$first][$prefix])) {
|
128 |
+
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
|
129 |
+
|
130 |
+
return;
|
131 |
+
}
|
132 |
+
if ($prepend) {
|
133 |
+
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
134 |
+
(array) $paths,
|
135 |
+
$this->prefixesPsr0[$first][$prefix]
|
136 |
+
);
|
137 |
+
} else {
|
138 |
+
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
139 |
+
$this->prefixesPsr0[$first][$prefix],
|
140 |
+
(array) $paths
|
141 |
+
);
|
142 |
+
}
|
143 |
+
}
|
144 |
+
|
145 |
+
/**
|
146 |
+
* Registers a set of PSR-4 directories for a given namespace, either
|
147 |
+
* appending or prepending to the ones previously set for this namespace.
|
148 |
+
*
|
149 |
+
* @param string $prefix The prefix/namespace, with trailing '\\'
|
150 |
+
* @param array|string $paths The PSR-4 base directories
|
151 |
+
* @param bool $prepend Whether to prepend the directories
|
152 |
+
*
|
153 |
+
* @throws \InvalidArgumentException
|
154 |
+
*/
|
155 |
+
public function addPsr4($prefix, $paths, $prepend = false)
|
156 |
+
{
|
157 |
+
if (!$prefix) {
|
158 |
+
// Register directories for the root namespace.
|
159 |
+
if ($prepend) {
|
160 |
+
$this->fallbackDirsPsr4 = array_merge(
|
161 |
+
(array) $paths,
|
162 |
+
$this->fallbackDirsPsr4
|
163 |
+
);
|
164 |
+
} else {
|
165 |
+
$this->fallbackDirsPsr4 = array_merge(
|
166 |
+
$this->fallbackDirsPsr4,
|
167 |
+
(array) $paths
|
168 |
+
);
|
169 |
+
}
|
170 |
+
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
|
171 |
+
// Register directories for a new namespace.
|
172 |
+
$length = strlen($prefix);
|
173 |
+
if ('\\' !== $prefix[$length - 1]) {
|
174 |
+
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
175 |
+
}
|
176 |
+
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
177 |
+
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
178 |
+
} elseif ($prepend) {
|
179 |
+
// Prepend directories for an already registered namespace.
|
180 |
+
$this->prefixDirsPsr4[$prefix] = array_merge(
|
181 |
+
(array) $paths,
|
182 |
+
$this->prefixDirsPsr4[$prefix]
|
183 |
+
);
|
184 |
+
} else {
|
185 |
+
// Append directories for an already registered namespace.
|
186 |
+
$this->prefixDirsPsr4[$prefix] = array_merge(
|
187 |
+
$this->prefixDirsPsr4[$prefix],
|
188 |
+
(array) $paths
|
189 |
+
);
|
190 |
+
}
|
191 |
+
}
|
192 |
+
|
193 |
+
/**
|
194 |
+
* Registers a set of PSR-0 directories for a given prefix,
|
195 |
+
* replacing any others previously set for this prefix.
|
196 |
+
*
|
197 |
+
* @param string $prefix The prefix
|
198 |
+
* @param array|string $paths The PSR-0 base directories
|
199 |
+
*/
|
200 |
+
public function set($prefix, $paths)
|
201 |
+
{
|
202 |
+
if (!$prefix) {
|
203 |
+
$this->fallbackDirsPsr0 = (array) $paths;
|
204 |
+
} else {
|
205 |
+
$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
|
206 |
+
}
|
207 |
+
}
|
208 |
+
|
209 |
+
/**
|
210 |
+
* Registers a set of PSR-4 directories for a given namespace,
|
211 |
+
* replacing any others previously set for this namespace.
|
212 |
+
*
|
213 |
+
* @param string $prefix The prefix/namespace, with trailing '\\'
|
214 |
+
* @param array|string $paths The PSR-4 base directories
|
215 |
+
*
|
216 |
+
* @throws \InvalidArgumentException
|
217 |
+
*/
|
218 |
+
public function setPsr4($prefix, $paths)
|
219 |
+
{
|
220 |
+
if (!$prefix) {
|
221 |
+
$this->fallbackDirsPsr4 = (array) $paths;
|
222 |
+
} else {
|
223 |
+
$length = strlen($prefix);
|
224 |
+
if ('\\' !== $prefix[$length - 1]) {
|
225 |
+
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
226 |
+
}
|
227 |
+
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
228 |
+
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
229 |
+
}
|
230 |
+
}
|
231 |
+
|
232 |
+
/**
|
233 |
+
* Turns on searching the include path for class files.
|
234 |
+
*
|
235 |
+
* @param bool $useIncludePath
|
236 |
+
*/
|
237 |
+
public function setUseIncludePath($useIncludePath)
|
238 |
+
{
|
239 |
+
$this->useIncludePath = $useIncludePath;
|
240 |
+
}
|
241 |
+
|
242 |
+
/**
|
243 |
+
* Can be used to check if the autoloader uses the include path to check
|
244 |
+
* for classes.
|
245 |
+
*
|
246 |
+
* @return bool
|
247 |
+
*/
|
248 |
+
public function getUseIncludePath()
|
249 |
+
{
|
250 |
+
return $this->useIncludePath;
|
251 |
+
}
|
252 |
+
|
253 |
+
/**
|
254 |
+
* Turns off searching the prefix and fallback directories for classes
|
255 |
+
* that have not been registered with the class map.
|
256 |
+
*
|
257 |
+
* @param bool $classMapAuthoritative
|
258 |
+
*/
|
259 |
+
public function setClassMapAuthoritative($classMapAuthoritative)
|
260 |
+
{
|
261 |
+
$this->classMapAuthoritative = $classMapAuthoritative;
|
262 |
+
}
|
263 |
+
|
264 |
+
/**
|
265 |
+
* Should class lookup fail if not found in the current class map?
|
266 |
+
*
|
267 |
+
* @return bool
|
268 |
+
*/
|
269 |
+
public function isClassMapAuthoritative()
|
270 |
+
{
|
271 |
+
return $this->classMapAuthoritative;
|
272 |
+
}
|
273 |
+
|
274 |
+
/**
|
275 |
+
* Registers this instance as an autoloader.
|
276 |
+
*
|
277 |
+
* @param bool $prepend Whether to prepend the autoloader or not
|
278 |
+
*/
|
279 |
+
public function register($prepend = false)
|
280 |
+
{
|
281 |
+
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
|
282 |
+
}
|
283 |
+
|
284 |
+
/**
|
285 |
+
* Unregisters this instance as an autoloader.
|
286 |
+
*/
|
287 |
+
public function unregister()
|
288 |
+
{
|
289 |
+
spl_autoload_unregister(array($this, 'loadClass'));
|
290 |
+
}
|
291 |
+
|
292 |
+
/**
|
293 |
+
* Loads the given class or interface.
|
294 |
+
*
|
295 |
+
* @param string $class The name of the class
|
296 |
+
* @return bool|null True if loaded, null otherwise
|
297 |
+
*/
|
298 |
+
public function loadClass($class)
|
299 |
+
{
|
300 |
+
if ($file = $this->findFile($class)) {
|
301 |
+
includeFile($file);
|
302 |
+
|
303 |
+
return true;
|
304 |
+
}
|
305 |
+
}
|
306 |
+
|
307 |
+
/**
|
308 |
+
* Finds the path to the file where the class is defined.
|
309 |
+
*
|
310 |
+
* @param string $class The name of the class
|
311 |
+
*
|
312 |
+
* @return string|false The path if found, false otherwise
|
313 |
+
*/
|
314 |
+
public function findFile($class)
|
315 |
+
{
|
316 |
+
// work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
|
317 |
+
if ('\\' == $class[0]) {
|
318 |
+
$class = substr($class, 1);
|
319 |
+
}
|
320 |
+
|
321 |
+
// class map lookup
|
322 |
+
if (isset($this->classMap[$class])) {
|
323 |
+
return $this->classMap[$class];
|
324 |
+
}
|
325 |
+
if ($this->classMapAuthoritative) {
|
326 |
+
return false;
|
327 |
+
}
|
328 |
+
|
329 |
+
$file = $this->findFileWithExtension($class, '.php');
|
330 |
+
|
331 |
+
// Search for Hack files if we are running on HHVM
|
332 |
+
if ($file === null && defined('HHVM_VERSION')) {
|
333 |
+
$file = $this->findFileWithExtension($class, '.hh');
|
334 |
+
}
|
335 |
+
|
336 |
+
if ($file === null) {
|
337 |
+
// Remember that this class does not exist.
|
338 |
+
return $this->classMap[$class] = false;
|
339 |
+
}
|
340 |
+
|
341 |
+
return $file;
|
342 |
+
}
|
343 |
+
|
344 |
+
private function findFileWithExtension($class, $ext)
|
345 |
+
{
|
346 |
+
// PSR-4 lookup
|
347 |
+
$logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
|
348 |
+
|
349 |
+
$first = $class[0];
|
350 |
+
if (isset($this->prefixLengthsPsr4[$first])) {
|
351 |
+
foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
|
352 |
+
if (0 === strpos($class, $prefix)) {
|
353 |
+
foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
|
354 |
+
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
|
355 |
+
return $file;
|
356 |
+
}
|
357 |
+
}
|
358 |
+
}
|
359 |
+
}
|
360 |
+
}
|
361 |
+
|
362 |
+
// PSR-4 fallback dirs
|
363 |
+
foreach ($this->fallbackDirsPsr4 as $dir) {
|
364 |
+
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
|
365 |
+
return $file;
|
366 |
+
}
|
367 |
+
}
|
368 |
+
|
369 |
+
// PSR-0 lookup
|
370 |
+
if (false !== $pos = strrpos($class, '\\')) {
|
371 |
+
// namespaced class name
|
372 |
+
$logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
|
373 |
+
. strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
|
374 |
+
} else {
|
375 |
+
// PEAR-like class name
|
376 |
+
$logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
|
377 |
+
}
|
378 |
+
|
379 |
+
if (isset($this->prefixesPsr0[$first])) {
|
380 |
+
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
|
381 |
+
if (0 === strpos($class, $prefix)) {
|
382 |
+
foreach ($dirs as $dir) {
|
383 |
+
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
384 |
+
return $file;
|
385 |
+
}
|
386 |
+
}
|
387 |
+
}
|
388 |
+
}
|
389 |
+
}
|
390 |
+
|
391 |
+
// PSR-0 fallback dirs
|
392 |
+
foreach ($this->fallbackDirsPsr0 as $dir) {
|
393 |
+
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
394 |
+
return $file;
|
395 |
+
}
|
396 |
+
}
|
397 |
+
|
398 |
+
// PSR-0 include paths.
|
399 |
+
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
|
400 |
+
return $file;
|
401 |
+
}
|
402 |
+
}
|
403 |
+
}
|
404 |
+
|
405 |
+
/**
|
406 |
+
* Scope isolated include.
|
407 |
+
*
|
408 |
+
* Prevents access to $this/self from included files.
|
409 |
+
*/
|
410 |
+
function includeFile($file)
|
411 |
+
{
|
412 |
+
include $file;
|
413 |
+
}
|
vendor/composer/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
|
2 |
+
Copyright (c) 2016 Nils Adermann, Jordi Boggiano
|
3 |
+
|
4 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
5 |
+
of this software and associated documentation files (the "Software"), to deal
|
6 |
+
in the Software without restriction, including without limitation the rights
|
7 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
8 |
+
copies of the Software, and to permit persons to whom the Software is furnished
|
9 |
+
to do so, subject to the following conditions:
|
10 |
+
|
11 |
+
The above copyright notice and this permission notice shall be included in all
|
12 |
+
copies or substantial portions of the Software.
|
13 |
+
|
14 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
15 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
16 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
17 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
18 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
19 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
20 |
+
THE SOFTWARE.
|
21 |
+
|
vendor/composer/autoload_classmap.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload_classmap.php @generated by Composer
|
4 |
+
|
5 |
+
$vendorDir = dirname(dirname(__FILE__));
|
6 |
+
$baseDir = dirname($vendorDir);
|
7 |
+
|
8 |
+
return array(
|
9 |
+
);
|
vendor/composer/autoload_namespaces.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload_namespaces.php @generated by Composer
|
4 |
+
|
5 |
+
$vendorDir = dirname(dirname(__FILE__));
|
6 |
+
$baseDir = dirname($vendorDir);
|
7 |
+
|
8 |
+
return array(
|
9 |
+
);
|
vendor/composer/autoload_psr4.php
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload_psr4.php @generated by Composer
|
4 |
+
|
5 |
+
$vendorDir = dirname(dirname(__FILE__));
|
6 |
+
$baseDir = dirname($vendorDir);
|
7 |
+
|
8 |
+
return array(
|
9 |
+
'Psr\\Log\\' => array($vendorDir . '/psr/log/Psr/Log'),
|
10 |
+
'Monolog\\' => array($vendorDir . '/monolog/monolog/src/Monolog'),
|
11 |
+
);
|
vendor/composer/autoload_real.php
ADDED
@@ -0,0 +1,45 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// autoload_real.php @generated by Composer
|
4 |
+
|
5 |
+
class ComposerAutoloaderInit05ee47f16c928176f7a8f75b4ca39924
|
6 |
+
{
|
7 |
+
private static $loader;
|
8 |
+
|
9 |
+
public static function loadClassLoader($class)
|
10 |
+
{
|
11 |
+
if ('Composer\Autoload\ClassLoader' === $class) {
|
12 |
+
require __DIR__ . '/ClassLoader.php';
|
13 |
+
}
|
14 |
+
}
|
15 |
+
|
16 |
+
public static function getLoader()
|
17 |
+
{
|
18 |
+
if (null !== self::$loader) {
|
19 |
+
return self::$loader;
|
20 |
+
}
|
21 |
+
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit05ee47f16c928176f7a8f75b4ca39924', 'loadClassLoader'), true, true);
|
23 |
+
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit05ee47f16c928176f7a8f75b4ca39924', 'loadClassLoader'));
|
25 |
+
|
26 |
+
$map = require __DIR__ . '/autoload_namespaces.php';
|
27 |
+
foreach ($map as $namespace => $path) {
|
28 |
+
$loader->set($namespace, $path);
|
29 |
+
}
|
30 |
+
|
31 |
+
$map = require __DIR__ . '/autoload_psr4.php';
|
32 |
+
foreach ($map as $namespace => $path) {
|
33 |
+
$loader->setPsr4($namespace, $path);
|
34 |
+
}
|
35 |
+
|
36 |
+
$classMap = require __DIR__ . '/autoload_classmap.php';
|
37 |
+
if ($classMap) {
|
38 |
+
$loader->addClassMap($classMap);
|
39 |
+
}
|
40 |
+
|
41 |
+
$loader->register(true);
|
42 |
+
|
43 |
+
return $loader;
|
44 |
+
}
|
45 |
+
}
|
vendor/composer/installed.json
ADDED
@@ -0,0 +1,131 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
[
|
2 |
+
{
|
3 |
+
"name": "psr/log",
|
4 |
+
"version": "1.0.2",
|
5 |
+
"version_normalized": "1.0.2.0",
|
6 |
+
"source": {
|
7 |
+
"type": "git",
|
8 |
+
"url": "https://github.com/php-fig/log.git",
|
9 |
+
"reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
|
10 |
+
},
|
11 |
+
"dist": {
|
12 |
+
"type": "zip",
|
13 |
+
"url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
|
14 |
+
"reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
|
15 |
+
"shasum": ""
|
16 |
+
},
|
17 |
+
"require": {
|
18 |
+
"php": ">=5.3.0"
|
19 |
+
},
|
20 |
+
"time": "2016-10-10 12:19:37",
|
21 |
+
"type": "library",
|
22 |
+
"extra": {
|
23 |
+
"branch-alias": {
|
24 |
+
"dev-master": "1.0.x-dev"
|
25 |
+
}
|
26 |
+
},
|
27 |
+
"installation-source": "dist",
|
28 |
+
"autoload": {
|
29 |
+
"psr-4": {
|
30 |
+
"Psr\\Log\\": "Psr/Log/"
|
31 |
+
}
|
32 |
+
},
|
33 |
+
"notification-url": "https://packagist.org/downloads/",
|
34 |
+
"license": [
|
35 |
+
"MIT"
|
36 |
+
],
|
37 |
+
"authors": [
|
38 |
+
{
|
39 |
+
"name": "PHP-FIG",
|
40 |
+
"homepage": "http://www.php-fig.org/"
|
41 |
+
}
|
42 |
+
],
|
43 |
+
"description": "Common interface for logging libraries",
|
44 |
+
"homepage": "https://github.com/php-fig/log",
|
45 |
+
"keywords": [
|
46 |
+
"log",
|
47 |
+
"psr",
|
48 |
+
"psr-3"
|
49 |
+
]
|
50 |
+
},
|
51 |
+
{
|
52 |
+
"name": "monolog/monolog",
|
53 |
+
"version": "1.21.0",
|
54 |
+
"version_normalized": "1.21.0.0",
|
55 |
+
"source": {
|
56 |
+
"type": "git",
|
57 |
+
"url": "https://github.com/Seldaek/monolog.git",
|
58 |
+
"reference": "f42fbdfd53e306bda545845e4dbfd3e72edb4952"
|
59 |
+
},
|
60 |
+
"dist": {
|
61 |
+
"type": "zip",
|
62 |
+
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/f42fbdfd53e306bda545845e4dbfd3e72edb4952",
|
63 |
+
"reference": "f42fbdfd53e306bda545845e4dbfd3e72edb4952",
|
64 |
+
"shasum": ""
|
65 |
+
},
|
66 |
+
"require": {
|
67 |
+
"php": ">=5.3.0",
|
68 |
+
"psr/log": "~1.0"
|
69 |
+
},
|
70 |
+
"provide": {
|
71 |
+
"psr/log-implementation": "1.0.0"
|
72 |
+
},
|
73 |
+
"require-dev": {
|
74 |
+
"aws/aws-sdk-php": "^2.4.9",
|
75 |
+
"doctrine/couchdb": "~1.0@dev",
|
76 |
+
"graylog2/gelf-php": "~1.0",
|
77 |
+
"jakub-onderka/php-parallel-lint": "0.9",
|
78 |
+
"php-amqplib/php-amqplib": "~2.4",
|
79 |
+
"php-console/php-console": "^3.1.3",
|
80 |
+
"phpunit/phpunit": "~4.5",
|
81 |
+
"phpunit/phpunit-mock-objects": "2.3.0",
|
82 |
+
"ruflin/elastica": ">=0.90 <3.0",
|
83 |
+
"sentry/sentry": "^0.13",
|
84 |
+
"swiftmailer/swiftmailer": "~5.3"
|
85 |
+
},
|
86 |
+
"suggest": {
|
87 |
+
"aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
|
88 |
+
"doctrine/couchdb": "Allow sending log messages to a CouchDB server",
|
89 |
+
"ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
|
90 |
+
"ext-mongo": "Allow sending log messages to a MongoDB server",
|
91 |
+
"graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
|
92 |
+
"mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
|
93 |
+
"php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
|
94 |
+
"php-console/php-console": "Allow sending log messages to Google Chrome",
|
95 |
+
"rollbar/rollbar": "Allow sending log messages to Rollbar",
|
96 |
+
"ruflin/elastica": "Allow sending log messages to an Elastic Search server",
|
97 |
+
"sentry/sentry": "Allow sending log messages to a Sentry server"
|
98 |
+
},
|
99 |
+
"time": "2016-07-29 03:23:52",
|
100 |
+
"type": "library",
|
101 |
+
"extra": {
|
102 |
+
"branch-alias": {
|
103 |
+
"dev-master": "2.0.x-dev"
|
104 |
+
}
|
105 |
+
},
|
106 |
+
"installation-source": "dist",
|
107 |
+
"autoload": {
|
108 |
+
"psr-4": {
|
109 |
+
"Monolog\\": "src/Monolog"
|
110 |
+
}
|
111 |
+
},
|
112 |
+
"notification-url": "https://packagist.org/downloads/",
|
113 |
+
"license": [
|
114 |
+
"MIT"
|
115 |
+
],
|
116 |
+
"authors": [
|
117 |
+
{
|
118 |
+
"name": "Jordi Boggiano",
|
119 |
+
"email": "j.boggiano@seld.be",
|
120 |
+
"homepage": "http://seld.be"
|
121 |
+
}
|
122 |
+
],
|
123 |
+
"description": "Sends your logs to files, sockets, inboxes, databases and various web services",
|
124 |
+
"homepage": "http://github.com/Seldaek/monolog",
|
125 |
+
"keywords": [
|
126 |
+
"log",
|
127 |
+
"logging",
|
128 |
+
"psr-3"
|
129 |
+
]
|
130 |
+
}
|
131 |
+
]
|
vendor/constantcontact/guzzlehttp/guzzle/Makefile
DELETED
@@ -1,50 +0,0 @@
|
|
1 |
-
all: clean coverage docs
|
2 |
-
|
3 |
-
start-server:
|
4 |
-
cd vendor/guzzlehttp/ringphp && make start-server
|
5 |
-
|
6 |
-
stop-server:
|
7 |
-
cd vendor/guzzlehttp/ringphp && make stop-server
|
8 |
-
|
9 |
-
test: start-server
|
10 |
-
vendor/bin/phpunit
|
11 |
-
$(MAKE) stop-server
|
12 |
-
|
13 |
-
coverage: start-server
|
14 |
-
vendor/bin/phpunit --coverage-html=artifacts/coverage
|
15 |
-
$(MAKE) stop-server
|
16 |
-
|
17 |
-
view-coverage:
|
18 |
-
open artifacts/coverage/index.html
|
19 |
-
|
20 |
-
clean:
|
21 |
-
rm -rf artifacts/*
|
22 |
-
|
23 |
-
docs:
|
24 |
-
cd docs && make html && cd ..
|
25 |
-
|
26 |
-
view-docs:
|
27 |
-
open docs/_build/html/index.html
|
28 |
-
|
29 |
-
tag:
|
30 |
-
$(if $(TAG),,$(error TAG is not defined. Pass via "make tag TAG=4.2.1"))
|
31 |
-
@echo Tagging $(TAG)
|
32 |
-
chag update $(TAG)
|
33 |
-
sed -i '' -e "s/VERSION = '.*'/VERSION = '$(TAG)'/" src/ClientInterface.php
|
34 |
-
php -l src/ClientInterface.php
|
35 |
-
git add -A
|
36 |
-
git commit -m '$(TAG) release'
|
37 |
-
chag tag
|
38 |
-
|
39 |
-
perf: start-server
|
40 |
-
php tests/perf.php
|
41 |
-
$(MAKE) stop-server
|
42 |
-
|
43 |
-
package: burgomaster
|
44 |
-
php build/packager.php
|
45 |
-
|
46 |
-
burgomaster:
|
47 |
-
mkdir -p build/artifacts
|
48 |
-
curl -s https://raw.githubusercontent.com/mtdowling/Burgomaster/0.0.2/src/Burgomaster.php > build/artifacts/Burgomaster.php
|
49 |
-
|
50 |
-
.PHONY: docs burgomaster
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/constantcontact/guzzlehttp/guzzle/phpunit.xml.dist
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
-
<phpunit bootstrap="./tests/bootstrap.php"
|
3 |
-
colors="true">
|
4 |
-
<testsuites>
|
5 |
-
<testsuite>
|
6 |
-
<directory>tests</directory>
|
7 |
-
</testsuite>
|
8 |
-
</testsuites>
|
9 |
-
<filter>
|
10 |
-
<whitelist>
|
11 |
-
<directory suffix=".php">src</directory>
|
12 |
-
<exclude>
|
13 |
-
<directory suffix="Interface.php">src/</directory>
|
14 |
-
</exclude>
|
15 |
-
</whitelist>
|
16 |
-
</filter>
|
17 |
-
</phpunit>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/constantcontact/guzzlehttp/guzzle/src/BatchResults.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Client.php
CHANGED
@@ -182,6 +182,13 @@ class Client implements ClientInterface
|
|
182 |
return new FutureResponse(new RejectedPromise($e));
|
183 |
}
|
184 |
throw RequestException::wrapException($trans->request, $e);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
}
|
186 |
}
|
187 |
|
182 |
return new FutureResponse(new RejectedPromise($e));
|
183 |
}
|
184 |
throw RequestException::wrapException($trans->request, $e);
|
185 |
+
} catch (\TypeError $error) {
|
186 |
+
$exception = new \Exception($error->getMessage(), $error->getCode(), $error);
|
187 |
+
if ($isFuture) {
|
188 |
+
// Wrap the exception in a promise
|
189 |
+
return new FutureResponse(new RejectedPromise($exception));
|
190 |
+
}
|
191 |
+
throw RequestException::wrapException($trans->request, $exception);
|
192 |
}
|
193 |
}
|
194 |
|
vendor/constantcontact/guzzlehttp/guzzle/src/ClientInterface.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Collection.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Cookie/CookieJar.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Cookie/SetCookie.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Event/AbstractEvent.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Event/AbstractRequestEvent.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Event/AbstractRetryableEvent.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Event/AbstractTransferEvent.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Event/BeforeEvent.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Event/CompleteEvent.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Event/Emitter.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Event/EmitterInterface.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Event/EndEvent.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Event/ErrorEvent.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Event/EventInterface.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Event/HasEmitterInterface.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Event/HasEmitterTrait.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Event/ListenerAttacherTrait.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Event/ProgressEvent.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Event/RequestEvents.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Event/SubscriberInterface.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Exception/BadResponseException.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Exception/ClientException.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Exception/ConnectException.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Exception/CouldNotRewindStreamException.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Exception/ParseException.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Exception/RequestException.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Exception/ServerException.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Exception/StateException.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Exception/TransferException.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Exception/XmlParseException.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/HasDataTrait.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Message/AbstractMessage.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Message/AppliesHeadersInterface.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Message/FutureResponse.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Message/MessageFactory.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Message/MessageFactoryInterface.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Message/MessageInterface.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Message/MessageParser.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Message/Request.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Message/RequestInterface.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Message/Response.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Message/ResponseInterface.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Mimetypes.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Pool.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Post/MultipartBody.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Post/PostBody.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Post/PostBodyInterface.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Post/PostFile.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Post/PostFileInterface.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Query.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/QueryParser.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/RequestFsm.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/RingBridge.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Subscriber/Cookie.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Subscriber/History.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Subscriber/HttpError.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Subscriber/Mock.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Subscriber/Prepare.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Subscriber/Redirect.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/ToArrayInterface.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Transaction.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/UriTemplate.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Url.php
CHANGED
File without changes
|
vendor/constantcontact/guzzlehttp/guzzle/src/Utils.php
CHANGED
@@ -131,6 +131,10 @@ final class Utils
|
|
131 |
*/
|
132 |
public static function jsonDecode($json, $assoc = false, $depth = 512, $options = 0)
|
133 |
{
|
|
|
|
|
|
|
|
|
134 |
static $jsonErrors = [
|
135 |
JSON_ERROR_DEPTH => 'JSON_ERROR_DEPTH - Maximum stack depth exceeded',
|
136 |
JSON_ERROR_STATE_MISMATCH => 'JSON_ERROR_STATE_MISMATCH - Underflow or the modes mismatch',
|
131 |
*/
|
132 |
public static function jsonDecode($json, $assoc = false, $depth = 512, $options = 0)
|
133 |
{
|
134 |
+
if ($json === '' || $json === null) {
|
135 |
+
return null;
|
136 |
+
}
|
137 |
+
|
138 |
static $jsonErrors = [
|
139 |
JSON_ERROR_DEPTH => 'JSON_ERROR_DEPTH - Maximum stack depth exceeded',
|
140 |
JSON_ERROR_STATE_MISMATCH => 'JSON_ERROR_STATE_MISMATCH - Underflow or the modes mismatch',
|
vendor/monolog/monolog/.php_cs
ADDED
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
$header = <<<EOF
|
4 |
+
This file is part of the Monolog package.
|
5 |
+
|
6 |
+
(c) Jordi Boggiano <j.boggiano@seld.be>
|
7 |
+
|
8 |
+
For the full copyright and license information, please view the LICENSE
|
9 |
+
file that was distributed with this source code.
|
10 |
+
EOF;
|
11 |
+
|
12 |
+
$finder = Symfony\CS\Finder::create()
|
13 |
+
->files()
|
14 |
+
->name('*.php')
|
15 |
+
->exclude('Fixtures')
|
16 |
+
->in(__DIR__.'/src')
|
17 |
+
->in(__DIR__.'/tests')
|
18 |
+
;
|
19 |
+
|
20 |
+
return Symfony\CS\Config::create()
|
21 |
+
->setUsingCache(true)
|
22 |
+
//->setUsingLinter(false)
|
23 |
+
->setRiskyAllowed(true)
|
24 |
+
->setRules(array(
|
25 |
+
'@PSR2' => true,
|
26 |
+
'binary_operator_spaces' => true,
|
27 |
+
'blank_line_before_return' => true,
|
28 |
+
'header_comment' => array('header' => $header),
|
29 |
+
'include' => true,
|
30 |
+
'long_array_syntax' => true,
|
31 |
+
'method_separation' => true,
|
32 |
+
'no_blank_lines_after_class_opening' => true,
|
33 |
+
'no_blank_lines_after_phpdoc' => true,
|
34 |
+
'no_blank_lines_between_uses' => true,
|
35 |
+
'no_duplicate_semicolons' => true,
|
36 |
+
'no_extra_consecutive_blank_lines' => true,
|
37 |
+
'no_leading_import_slash' => true,
|
38 |
+
'no_leading_namespace_whitespace' => true,
|
39 |
+
'no_trailing_comma_in_singleline_array' => true,
|
40 |
+
'no_unused_imports' => true,
|
41 |
+
'object_operator_without_whitespace' => true,
|
42 |
+
'phpdoc_align' => true,
|
43 |
+
'phpdoc_indent' => true,
|
44 |
+
'phpdoc_no_access' => true,
|
45 |
+
'phpdoc_no_package' => true,
|
46 |
+
'phpdoc_order' => true,
|
47 |
+
'phpdoc_scalar' => true,
|
48 |
+
'phpdoc_trim' => true,
|
49 |
+
'phpdoc_type_to_var' => true,
|
50 |
+
'psr0' => true,
|
51 |
+
'single_blank_line_before_namespace' => true,
|
52 |
+
'spaces_cast' => true,
|
53 |
+
'standardize_not_equals' => true,
|
54 |
+
'ternary_operator_spaces' => true,
|
55 |
+
'trailing_comma_in_multiline_array' => true,
|
56 |
+
'whitespacy_lines' => true,
|
57 |
+
))
|
58 |
+
->finder($finder)
|
59 |
+
;
|
vendor/monolog/monolog/CHANGELOG.mdown
ADDED
@@ -0,0 +1,317 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
### 1.21.0 (2016-07-29)
|
2 |
+
|
3 |
+
* Break: Reverted the addition of $context when the ErrorHandler handles regular php errors from 1.20.0 as it was causing issues
|
4 |
+
* Added support for more formats in RotatingFileHandler::setFilenameFormat as long as they have Y, m and d in order
|
5 |
+
* Added ability to format the main line of text the SlackHandler sends by explictly setting a formatter on the handler
|
6 |
+
* Added information about SoapFault instances in NormalizerFormatter
|
7 |
+
* Added $handleOnlyReportedErrors option on ErrorHandler::registerErrorHandler (default true) to allow logging of all errors no matter the error_reporting level
|
8 |
+
|
9 |
+
### 1.20.0 (2016-07-02)
|
10 |
+
|
11 |
+
* Added FingersCrossedHandler::activate() to manually trigger the handler regardless of the activation policy
|
12 |
+
* Added StreamHandler::getUrl to retrieve the stream's URL
|
13 |
+
* Added ability to override addRow/addTitle in HtmlFormatter
|
14 |
+
* Added the $context to context information when the ErrorHandler handles a regular php error
|
15 |
+
* Deprecated RotatingFileHandler::setFilenameFormat to only support 3 formats: Y, Y-m and Y-m-d
|
16 |
+
* Fixed WhatFailureGroupHandler to work with PHP7 throwables
|
17 |
+
* Fixed a few minor bugs
|
18 |
+
|
19 |
+
### 1.19.0 (2016-04-12)
|
20 |
+
|
21 |
+
* Break: StreamHandler will not close streams automatically that it does not own. If you pass in a stream (not a path/url), then it will not close it for you. You can retrieve those using getStream() if needed
|
22 |
+
* Added DeduplicationHandler to remove duplicate records from notifications across multiple requests, useful for email or other notifications on errors
|
23 |
+
* Added ability to use `%message%` and other LineFormatter replacements in the subject line of emails sent with NativeMailHandler and SwiftMailerHandler
|
24 |
+
* Fixed HipChatHandler handling of long messages
|
25 |
+
|
26 |
+
### 1.18.2 (2016-04-02)
|
27 |
+
|
28 |
+
* Fixed ElasticaFormatter to use more precise dates
|
29 |
+
* Fixed GelfMessageFormatter sending too long messages
|
30 |
+
|
31 |
+
### 1.18.1 (2016-03-13)
|
32 |
+
|
33 |
+
* Fixed SlackHandler bug where slack dropped messages randomly
|
34 |
+
* Fixed RedisHandler issue when using with the PHPRedis extension
|
35 |
+
* Fixed AmqpHandler content-type being incorrectly set when using with the AMQP extension
|
36 |
+
* Fixed BrowserConsoleHandler regression
|
37 |
+
|
38 |
+
### 1.18.0 (2016-03-01)
|
39 |
+
|
40 |
+
* Added optional reduction of timestamp precision via `Logger->useMicrosecondTimestamps(false)`, disabling it gets you a bit of performance boost but reduces the precision to the second instead of microsecond
|
41 |
+
* Added possibility to skip some extra stack frames in IntrospectionProcessor if you have some library wrapping Monolog that is always adding frames
|
42 |
+
* Added `Logger->withName` to clone a logger (keeping all handlers) with a new name
|
43 |
+
* Added FluentdFormatter for the Fluentd unix socket protocol
|
44 |
+
* Added HandlerWrapper base class to ease the creation of handler wrappers, just extend it and override as needed
|
45 |
+
* Added support for replacing context sub-keys using `%context.*%` in LineFormatter
|
46 |
+
* Added support for `payload` context value in RollbarHandler
|
47 |
+
* Added setRelease to RavenHandler to describe the application version, sent with every log
|
48 |
+
* Added support for `fingerprint` context value in RavenHandler
|
49 |
+
* Fixed JSON encoding errors that would gobble up the whole log record, we now handle those more gracefully by dropping chars as needed
|
50 |
+
* Fixed write timeouts in SocketHandler and derivatives, set to 10sec by default, lower it with `setWritingTimeout()`
|
51 |
+
* Fixed PHP7 compatibility with regard to Exception/Throwable handling in a few places
|
52 |
+
|
53 |
+
### 1.17.2 (2015-10-14)
|
54 |
+
|
55 |
+
* Fixed ErrorHandler compatibility with non-Monolog PSR-3 loggers
|
56 |
+
* Fixed SlackHandler handling to use slack functionalities better
|
57 |
+
* Fixed SwiftMailerHandler bug when sending multiple emails they all had the same id
|
58 |
+
* Fixed 5.3 compatibility regression
|
59 |
+
|
60 |
+
### 1.17.1 (2015-08-31)
|
61 |
+
|
62 |
+
* Fixed RollbarHandler triggering PHP notices
|
63 |
+
|
64 |
+
### 1.17.0 (2015-08-30)
|
65 |
+
|
66 |
+
* Added support for `checksum` and `release` context/extra values in RavenHandler
|
67 |
+
* Added better support for exceptions in RollbarHandler
|
68 |
+
* Added UidProcessor::getUid
|
69 |
+
* Added support for showing the resource type in NormalizedFormatter
|
70 |
+
* Fixed IntrospectionProcessor triggering PHP notices
|
71 |
+
|
72 |
+
### 1.16.0 (2015-08-09)
|
73 |
+
|
74 |
+
* Added IFTTTHandler to notify ifttt.com triggers
|
75 |
+
* Added Logger::setHandlers() to allow setting/replacing all handlers
|
76 |
+
* Added $capSize in RedisHandler to cap the log size
|
77 |
+
* Fixed StreamHandler creation of directory to only trigger when the first log write happens
|
78 |
+
* Fixed bug in the handling of curl failures
|
79 |
+
* Fixed duplicate logging of fatal errors when both error and fatal error handlers are registered in monolog's ErrorHandler
|
80 |
+
* Fixed missing fatal errors records with handlers that need to be closed to flush log records
|
81 |
+
* Fixed TagProcessor::addTags support for associative arrays
|
82 |
+
|
83 |
+
### 1.15.0 (2015-07-12)
|
84 |
+
|
85 |
+
* Added addTags and setTags methods to change a TagProcessor
|
86 |
+
* Added automatic creation of directories if they are missing for a StreamHandler to open a log file
|
87 |
+
* Added retry functionality to Loggly, Cube and Mandrill handlers so they retry up to 5 times in case of network failure
|
88 |
+
* Fixed process exit code being incorrectly reset to 0 if ErrorHandler::registerExceptionHandler was used
|
89 |
+
* Fixed HTML/JS escaping in BrowserConsoleHandler
|
90 |
+
* Fixed JSON encoding errors being silently suppressed (PHP 5.5+ only)
|
91 |
+
|
92 |
+
### 1.14.0 (2015-06-19)
|
93 |
+
|
94 |
+
* Added PHPConsoleHandler to send record to Chrome's PHP Console extension and library
|
95 |
+
* Added support for objects implementing __toString in the NormalizerFormatter
|
96 |
+
* Added support for HipChat's v2 API in HipChatHandler
|
97 |
+
* Added Logger::setTimezone() to initialize the timezone monolog should use in case date.timezone isn't correct for your app
|
98 |
+
* Added an option to send formatted message instead of the raw record on PushoverHandler via ->useFormattedMessage(true)
|
99 |
+
* Fixed curl errors being silently suppressed
|
100 |
+
|
101 |
+
### 1.13.1 (2015-03-09)
|
102 |
+
|
103 |
+
* Fixed regression in HipChat requiring a new token to be created
|
104 |
+
|
105 |
+
### 1.13.0 (2015-03-05)
|
106 |
+
|
107 |
+
* Added Registry::hasLogger to check for the presence of a logger instance
|
108 |
+
* Added context.user support to RavenHandler
|
109 |
+
* Added HipChat API v2 support in the HipChatHandler
|
110 |
+
* Added NativeMailerHandler::addParameter to pass params to the mail() process
|
111 |
+
* Added context data to SlackHandler when $includeContextAndExtra is true
|
112 |
+
* Added ability to customize the Swift_Message per-email in SwiftMailerHandler
|
113 |
+
* Fixed SwiftMailerHandler to lazily create message instances if a callback is provided
|
114 |
+
* Fixed serialization of INF and NaN values in Normalizer and LineFormatter
|
115 |
+
|
116 |
+
### 1.12.0 (2014-12-29)
|
117 |
+
|
118 |
+
* Break: HandlerInterface::isHandling now receives a partial record containing only a level key. This was always the intent and does not break any Monolog handler but is strictly speaking a BC break and you should check if you relied on any other field in your own handlers.
|
119 |
+
* Added PsrHandler to forward records to another PSR-3 logger
|
120 |
+
* Added SamplingHandler to wrap around a handler and include only every Nth record
|
121 |
+
* Added MongoDBFormatter to support better storage with MongoDBHandler (it must be enabled manually for now)
|
122 |
+
* Added exception codes in the output of most formatters
|
123 |
+
* Added LineFormatter::includeStacktraces to enable exception stack traces in logs (uses more than one line)
|
124 |
+
* Added $useShortAttachment to SlackHandler to minify attachment size and $includeExtra to append extra data
|
125 |
+
* Added $host to HipChatHandler for users of private instances
|
126 |
+
* Added $transactionName to NewRelicHandler and support for a transaction_name context value
|
127 |
+
* Fixed MandrillHandler to avoid outputing API call responses
|
128 |
+
* Fixed some non-standard behaviors in SyslogUdpHandler
|
129 |
+
|
130 |
+
### 1.11.0 (2014-09-30)
|
131 |
+
|
132 |
+
* Break: The NewRelicHandler extra and context data are now prefixed with extra_ and context_ to avoid clashes. Watch out if you have scripts reading those from the API and rely on names
|
133 |
+
* Added WhatFailureGroupHandler to suppress any exception coming from the wrapped handlers and avoid chain failures if a logging service fails
|
134 |
+
* Added MandrillHandler to send emails via the Mandrillapp.com API
|
135 |
+
* Added SlackHandler to log records to a Slack.com account
|
136 |
+
* Added FleepHookHandler to log records to a Fleep.io account
|
137 |
+
* Added LogglyHandler::addTag to allow adding tags to an existing handler
|
138 |
+
* Added $ignoreEmptyContextAndExtra to LineFormatter to avoid empty [] at the end
|
139 |
+
* Added $useLocking to StreamHandler and RotatingFileHandler to enable flock() while writing
|
140 |
+
* Added support for PhpAmqpLib in the AmqpHandler
|
141 |
+
* Added FingersCrossedHandler::clear and BufferHandler::clear to reset them between batches in long running jobs
|
142 |
+
* Added support for adding extra fields from $_SERVER in the WebProcessor
|
143 |
+
* Fixed support for non-string values in PrsLogMessageProcessor
|
144 |
+
* Fixed SwiftMailer messages being sent with the wrong date in long running scripts
|
145 |
+
* Fixed minor PHP 5.6 compatibility issues
|
146 |
+
* Fixed BufferHandler::close being called twice
|
147 |
+
|
148 |
+
### 1.10.0 (2014-06-04)
|
149 |
+
|
150 |
+
* Added Logger::getHandlers() and Logger::getProcessors() methods
|
151 |
+
* Added $passthruLevel argument to FingersCrossedHandler to let it always pass some records through even if the trigger level is not reached
|
152 |
+
* Added support for extra data in NewRelicHandler
|
153 |
+
* Added $expandNewlines flag to the ErrorLogHandler to create multiple log entries when a message has multiple lines
|
154 |
+
|
155 |
+
### 1.9.1 (2014-04-24)
|
156 |
+
|
157 |
+
* Fixed regression in RotatingFileHandler file permissions
|
158 |
+
* Fixed initialization of the BufferHandler to make sure it gets flushed after receiving records
|
159 |
+
* Fixed ChromePHPHandler and FirePHPHandler's activation strategies to be more conservative
|
160 |
+
|
161 |
+
### 1.9.0 (2014-04-20)
|
162 |
+
|
163 |
+
* Added LogEntriesHandler to send logs to a LogEntries account
|
164 |
+
* Added $filePermissions to tweak file mode on StreamHandler and RotatingFileHandler
|
165 |
+
* Added $useFormatting flag to MemoryProcessor to make it send raw data in bytes
|
166 |
+
* Added support for table formatting in FirePHPHandler via the table context key
|
167 |
+
* Added a TagProcessor to add tags to records, and support for tags in RavenHandler
|
168 |
+
* Added $appendNewline flag to the JsonFormatter to enable using it when logging to files
|
169 |
+
* Added sound support to the PushoverHandler
|
170 |
+
* Fixed multi-threading support in StreamHandler
|
171 |
+
* Fixed empty headers issue when ChromePHPHandler received no records
|
172 |
+
* Fixed default format of the ErrorLogHandler
|
173 |
+
|
174 |
+
### 1.8.0 (2014-03-23)
|
175 |
+
|
176 |
+
* Break: the LineFormatter now strips newlines by default because this was a bug, set $allowInlineLineBreaks to true if you need them
|
177 |
+
* Added BrowserConsoleHandler to send logs to any browser's console via console.log() injection in the output
|
178 |
+
* Added FilterHandler to filter records and only allow those of a given list of levels through to the wrapped handler
|
179 |
+
* Added FlowdockHandler to send logs to a Flowdock account
|
180 |
+
* Added RollbarHandler to send logs to a Rollbar account
|
181 |
+
* Added HtmlFormatter to send prettier log emails with colors for each log level
|
182 |
+
* Added GitProcessor to add the current branch/commit to extra record data
|
183 |
+
* Added a Monolog\Registry class to allow easier global access to pre-configured loggers
|
184 |
+
* Added support for the new official graylog2/gelf-php lib for GelfHandler, upgrade if you can by replacing the mlehner/gelf-php requirement
|
185 |
+
* Added support for HHVM
|
186 |
+
* Added support for Loggly batch uploads
|
187 |
+
* Added support for tweaking the content type and encoding in NativeMailerHandler
|
188 |
+
* Added $skipClassesPartials to tweak the ignored classes in the IntrospectionProcessor
|
189 |
+
* Fixed batch request support in GelfHandler
|
190 |
+
|
191 |
+
### 1.7.0 (2013-11-14)
|
192 |
+
|
193 |
+
* Added ElasticSearchHandler to send logs to an Elastic Search server
|
194 |
+
* Added DynamoDbHandler and ScalarFormatter to send logs to Amazon's Dynamo DB
|
195 |
+
* Added SyslogUdpHandler to send logs to a remote syslogd server
|
196 |
+
* Added LogglyHandler to send logs to a Loggly account
|
197 |
+
* Added $level to IntrospectionProcessor so it only adds backtraces when needed
|
198 |
+
* Added $version to LogstashFormatter to allow using the new v1 Logstash format
|
199 |
+
* Added $appName to NewRelicHandler
|
200 |
+
* Added configuration of Pushover notification retries/expiry
|
201 |
+
* Added $maxColumnWidth to NativeMailerHandler to change the 70 chars default
|
202 |
+
* Added chainability to most setters for all handlers
|
203 |
+
* Fixed RavenHandler batch processing so it takes the message from the record with highest priority
|
204 |
+
* Fixed HipChatHandler batch processing so it sends all messages at once
|
205 |
+
* Fixed issues with eAccelerator
|
206 |
+
* Fixed and improved many small things
|
207 |
+
|
208 |
+
### 1.6.0 (2013-07-29)
|
209 |
+
|
210 |
+
* Added HipChatHandler to send logs to a HipChat chat room
|
211 |
+
* Added ErrorLogHandler to send logs to PHP's error_log function
|
212 |
+
* Added NewRelicHandler to send logs to NewRelic's service
|
213 |
+
* Added Monolog\ErrorHandler helper class to register a Logger as exception/error/fatal handler
|
214 |
+
* Added ChannelLevelActivationStrategy for the FingersCrossedHandler to customize levels by channel
|
215 |
+
* Added stack traces output when normalizing exceptions (json output & co)
|
216 |
+
* Added Monolog\Logger::API constant (currently 1)
|
217 |
+
* Added support for ChromePHP's v4.0 extension
|
218 |
+
* Added support for message priorities in PushoverHandler, see $highPriorityLevel and $emergencyLevel
|
219 |
+
* Added support for sending messages to multiple users at once with the PushoverHandler
|
220 |
+
* Fixed RavenHandler's support for batch sending of messages (when behind a Buffer or FingersCrossedHandler)
|
221 |
+
* Fixed normalization of Traversables with very large data sets, only the first 1000 items are shown now
|
222 |
+
* Fixed issue in RotatingFileHandler when an open_basedir restriction is active
|
223 |
+
* Fixed minor issues in RavenHandler and bumped the API to Raven 0.5.0
|
224 |
+
* Fixed SyslogHandler issue when many were used concurrently with different facilities
|
225 |
+
|
226 |
+
### 1.5.0 (2013-04-23)
|
227 |
+
|
228 |
+
* Added ProcessIdProcessor to inject the PID in log records
|
229 |
+
* Added UidProcessor to inject a unique identifier to all log records of one request/run
|
230 |
+
* Added support for previous exceptions in the LineFormatter exception serialization
|
231 |
+
* Added Monolog\Logger::getLevels() to get all available levels
|
232 |
+
* Fixed ChromePHPHandler so it avoids sending headers larger than Chrome can handle
|
233 |
+
|
234 |
+
### 1.4.1 (2013-04-01)
|
235 |
+
|
236 |
+
* Fixed exception formatting in the LineFormatter to be more minimalistic
|
237 |
+
* Fixed RavenHandler's handling of context/extra data, requires Raven client >0.1.0
|
238 |
+
* Fixed log rotation in RotatingFileHandler to work with long running scripts spanning multiple days
|
239 |
+
* Fixed WebProcessor array access so it checks for data presence
|
240 |
+
* Fixed Buffer, Group and FingersCrossed handlers to make use of their processors
|
241 |
+
|
242 |
+
### 1.4.0 (2013-02-13)
|
243 |
+
|
244 |
+
* Added RedisHandler to log to Redis via the Predis library or the phpredis extension
|
245 |
+
* Added ZendMonitorHandler to log to the Zend Server monitor
|
246 |
+
* Added the possibility to pass arrays of handlers and processors directly in the Logger constructor
|
247 |
+
* Added `$useSSL` option to the PushoverHandler which is enabled by default
|
248 |
+
* Fixed ChromePHPHandler and FirePHPHandler issue when multiple instances are used simultaneously
|
249 |
+
* Fixed header injection capability in the NativeMailHandler
|
250 |
+
|
251 |
+
### 1.3.1 (2013-01-11)
|
252 |
+
|
253 |
+
* Fixed LogstashFormatter to be usable with stream handlers
|
254 |
+
* Fixed GelfMessageFormatter levels on Windows
|
255 |
+
|
256 |
+
### 1.3.0 (2013-01-08)
|
257 |
+
|
258 |
+
* Added PSR-3 compliance, the `Monolog\Logger` class is now an instance of `Psr\Log\LoggerInterface`
|
259 |
+
* Added PsrLogMessageProcessor that you can selectively enable for full PSR-3 compliance
|
260 |
+
* Added LogstashFormatter (combine with SocketHandler or StreamHandler to send logs to Logstash)
|
261 |
+
* Added PushoverHandler to send mobile notifications
|
262 |
+
* Added CouchDBHandler and DoctrineCouchDBHandler
|
263 |
+
* Added RavenHandler to send data to Sentry servers
|
264 |
+
* Added support for the new MongoClient class in MongoDBHandler
|
265 |
+
* Added microsecond precision to log records' timestamps
|
266 |
+
* Added `$flushOnOverflow` param to BufferHandler to flush by batches instead of losing
|
267 |
+
the oldest entries
|
268 |
+
* Fixed normalization of objects with cyclic references
|
269 |
+
|
270 |
+
### 1.2.1 (2012-08-29)
|
271 |
+
|
272 |
+
* Added new $logopts arg to SyslogHandler to provide custom openlog options
|
273 |
+
* Fixed fatal error in SyslogHandler
|
274 |
+
|
275 |
+
### 1.2.0 (2012-08-18)
|
276 |
+
|
277 |
+
* Added AmqpHandler (for use with AMQP servers)
|
278 |
+
* Added CubeHandler
|
279 |
+
* Added NativeMailerHandler::addHeader() to send custom headers in mails
|
280 |
+
* Added the possibility to specify more than one recipient in NativeMailerHandler
|
281 |
+
* Added the possibility to specify float timeouts in SocketHandler
|
282 |
+
* Added NOTICE and EMERGENCY levels to conform with RFC 5424
|
283 |
+
* Fixed the log records to use the php default timezone instead of UTC
|
284 |
+
* Fixed BufferHandler not being flushed properly on PHP fatal errors
|
285 |
+
* Fixed normalization of exotic resource types
|
286 |
+
* Fixed the default format of the SyslogHandler to avoid duplicating datetimes in syslog
|
287 |
+
|
288 |
+
### 1.1.0 (2012-04-23)
|
289 |
+
|
290 |
+
* Added Monolog\Logger::isHandling() to check if a handler will
|
291 |
+
handle the given log level
|
292 |
+
* Added ChromePHPHandler
|
293 |
+
* Added MongoDBHandler
|
294 |
+
* Added GelfHandler (for use with Graylog2 servers)
|
295 |
+
* Added SocketHandler (for use with syslog-ng for example)
|
296 |
+
* Added NormalizerFormatter
|
297 |
+
* Added the possibility to change the activation strategy of the FingersCrossedHandler
|
298 |
+
* Added possibility to show microseconds in logs
|
299 |
+
* Added `server` and `referer` to WebProcessor output
|
300 |
+
|
301 |
+
### 1.0.2 (2011-10-24)
|
302 |
+
|
303 |
+
* Fixed bug in IE with large response headers and FirePHPHandler
|
304 |
+
|
305 |
+
### 1.0.1 (2011-08-25)
|
306 |
+
|
307 |
+
* Added MemoryPeakUsageProcessor and MemoryUsageProcessor
|
308 |
+
* Added Monolog\Logger::getName() to get a logger's channel name
|
309 |
+
|
310 |
+
### 1.0.0 (2011-07-06)
|
311 |
+
|
312 |
+
* Added IntrospectionProcessor to get info from where the logger was called
|
313 |
+
* Fixed WebProcessor in CLI
|
314 |
+
|
315 |
+
### 1.0.0-RC1 (2011-07-01)
|
316 |
+
|
317 |
+
* Initial release
|
vendor/monolog/monolog/LICENSE
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
Copyright (c) 2011-2016 Jordi Boggiano
|
2 |
+
|
3 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4 |
+
of this software and associated documentation files (the "Software"), to deal
|
5 |
+
in the Software without restriction, including without limitation the rights
|
6 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7 |
+
copies of the Software, and to permit persons to whom the Software is furnished
|
8 |
+
to do so, subject to the following conditions:
|
9 |
+
|
10 |
+
The above copyright notice and this permission notice shall be included in all
|
11 |
+
copies or substantial portions of the Software.
|
12 |
+
|
13 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
16 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19 |
+
THE SOFTWARE.
|
vendor/monolog/monolog/README.mdown
ADDED
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Monolog - Logging for PHP [![Build Status](https://img.shields.io/travis/Seldaek/monolog.svg)](https://travis-ci.org/Seldaek/monolog)
|
2 |
+
|
3 |
+
[![Total Downloads](https://img.shields.io/packagist/dt/monolog/monolog.svg)](https://packagist.org/packages/monolog/monolog)
|
4 |
+
[![Latest Stable Version](https://img.shields.io/packagist/v/monolog/monolog.svg)](https://packagist.org/packages/monolog/monolog)
|
5 |
+
[![Reference Status](https://www.versioneye.com/php/monolog:monolog/reference_badge.svg)](https://www.versioneye.com/php/monolog:monolog/references)
|
6 |
+
|
7 |
+
|
8 |
+
Monolog sends your logs to files, sockets, inboxes, databases and various
|
9 |
+
web services. See the complete list of handlers below. Special handlers
|
10 |
+
allow you to build advanced logging strategies.
|
11 |
+
|
12 |
+
This library implements the [PSR-3](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md)
|
13 |
+
interface that you can type-hint against in your own libraries to keep
|
14 |
+
a maximum of interoperability. You can also use it in your applications to
|
15 |
+
make sure you can always use another compatible logger at a later time.
|
16 |
+
As of 1.11.0 Monolog public APIs will also accept PSR-3 log levels.
|
17 |
+
Internally Monolog still uses its own level scheme since it predates PSR-3.
|
18 |
+
|
19 |
+
## Installation
|
20 |
+
|
21 |
+
Install the latest version with
|
22 |
+
|
23 |
+
```bash
|
24 |
+
$ composer require monolog/monolog
|
25 |
+
```
|
26 |
+
|
27 |
+
## Basic Usage
|
28 |
+
|
29 |
+
```php
|
30 |
+
<?php
|
31 |
+
|
32 |
+
use Monolog\Logger;
|
33 |
+
use Monolog\Handler\StreamHandler;
|
34 |
+
|
35 |
+
// create a log channel
|
36 |
+
$log = new Logger('name');
|
37 |
+
$log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));
|
38 |
+
|
39 |
+
// add records to the log
|
40 |
+
$log->addWarning('Foo');
|
41 |
+
$log->addError('Bar');
|
42 |
+
```
|
43 |
+
|
44 |
+
## Documentation
|
45 |
+
|
46 |
+
- [Usage Instructions](doc/01-usage.md)
|
47 |
+
- [Handlers, Formatters and Processors](doc/02-handlers-formatters-processors.md)
|
48 |
+
- [Utility classes](doc/03-utilities.md)
|
49 |
+
- [Extending Monolog](doc/04-extending.md)
|
50 |
+
|
51 |
+
## Third Party Packages
|
52 |
+
|
53 |
+
Third party handlers, formatters and processors are
|
54 |
+
[listed in the wiki](https://github.com/Seldaek/monolog/wiki/Third-Party-Packages). You
|
55 |
+
can also add your own there if you publish one.
|
56 |
+
|
57 |
+
## About
|
58 |
+
|
59 |
+
### Requirements
|
60 |
+
|
61 |
+
- Monolog works with PHP 5.3 or above, and is also tested to work with HHVM.
|
62 |
+
|
63 |
+
### Submitting bugs and feature requests
|
64 |
+
|
65 |
+
Bugs and feature request are tracked on [GitHub](https://github.com/Seldaek/monolog/issues)
|
66 |
+
|
67 |
+
### Framework Integrations
|
68 |
+
|
69 |
+
- Frameworks and libraries using [PSR-3](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md)
|
70 |
+
can be used very easily with Monolog since it implements the interface.
|
71 |
+
- [Symfony2](http://symfony.com) comes out of the box with Monolog.
|
72 |
+
- [Silex](http://silex.sensiolabs.org/) comes out of the box with Monolog.
|
73 |
+
- [Laravel 4 & 5](http://laravel.com/) come out of the box with Monolog.
|
74 |
+
- [Lumen](http://lumen.laravel.com/) comes out of the box with Monolog.
|
75 |
+
- [PPI](http://www.ppi.io/) comes out of the box with Monolog.
|
76 |
+
- [CakePHP](http://cakephp.org/) is usable with Monolog via the [cakephp-monolog](https://github.com/jadb/cakephp-monolog) plugin.
|
77 |
+
- [Slim](http://www.slimframework.com/) is usable with Monolog via the [Slim-Monolog](https://github.com/Flynsarmy/Slim-Monolog) log writer.
|
78 |
+
- [XOOPS 2.6](http://xoops.org/) comes out of the box with Monolog.
|
79 |
+
- [Aura.Web_Project](https://github.com/auraphp/Aura.Web_Project) comes out of the box with Monolog.
|
80 |
+
- [Nette Framework](http://nette.org/en/) can be used with Monolog via [Kdyby/Monolog](https://github.com/Kdyby/Monolog) extension.
|
81 |
+
- [Proton Micro Framework](https://github.com/alexbilbie/Proton) comes out of the box with Monolog.
|
82 |
+
|
83 |
+
### Author
|
84 |
+
|
85 |
+
Jordi Boggiano - <j.boggiano@seld.be> - <http://twitter.com/seldaek><br />
|
86 |
+
See also the list of [contributors](https://github.com/Seldaek/monolog/contributors) which participated in this project.
|
87 |
+
|
88 |
+
### License
|
89 |
+
|
90 |
+
Monolog is licensed under the MIT License - see the `LICENSE` file for details
|
91 |
+
|
92 |
+
### Acknowledgements
|
93 |
+
|
94 |
+
This library is heavily inspired by Python's [Logbook](http://packages.python.org/Logbook/)
|
95 |
+
library, although most concepts have been adjusted to fit to the PHP world.
|
vendor/monolog/monolog/composer.json
ADDED
@@ -0,0 +1,66 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"name": "monolog/monolog",
|
3 |
+
"description": "Sends your logs to files, sockets, inboxes, databases and various web services",
|
4 |
+
"keywords": ["log", "logging", "psr-3"],
|
5 |
+
"homepage": "http://github.com/Seldaek/monolog",
|
6 |
+
"type": "library",
|
7 |
+
"license": "MIT",
|
8 |
+
"authors": [
|
9 |
+
{
|
10 |
+
"name": "Jordi Boggiano",
|
11 |
+
"email": "j.boggiano@seld.be",
|
12 |
+
"homepage": "http://seld.be"
|
13 |
+
}
|
14 |
+
],
|
15 |
+
"require": {
|
16 |
+
"php": ">=5.3.0",
|
17 |
+
"psr/log": "~1.0"
|
18 |
+
},
|
19 |
+
"require-dev": {
|
20 |
+
"phpunit/phpunit": "~4.5",
|
21 |
+
"graylog2/gelf-php": "~1.0",
|
22 |
+
"sentry/sentry": "^0.13",
|
23 |
+
"ruflin/elastica": ">=0.90 <3.0",
|
24 |
+
"doctrine/couchdb": "~1.0@dev",
|
25 |
+
"aws/aws-sdk-php": "^2.4.9",
|
26 |
+
"php-amqplib/php-amqplib": "~2.4",
|
27 |
+
"swiftmailer/swiftmailer": "~5.3",
|
28 |
+
"php-console/php-console": "^3.1.3",
|
29 |
+
"phpunit/phpunit-mock-objects": "2.3.0",
|
30 |
+
"jakub-onderka/php-parallel-lint": "0.9"
|
31 |
+
},
|
32 |
+
"_": "phpunit/phpunit-mock-objects required in 2.3.0 due to https://github.com/sebastianbergmann/phpunit-mock-objects/issues/223 - needs hhvm 3.8+ on travis",
|
33 |
+
"suggest": {
|
34 |
+
"graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
|
35 |
+
"sentry/sentry": "Allow sending log messages to a Sentry server",
|
36 |
+
"doctrine/couchdb": "Allow sending log messages to a CouchDB server",
|
37 |
+
"ruflin/elastica": "Allow sending log messages to an Elastic Search server",
|
38 |
+
"php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
|
39 |
+
"ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
|
40 |
+
"ext-mongo": "Allow sending log messages to a MongoDB server",
|
41 |
+
"mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
|
42 |
+
"aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
|
43 |
+
"rollbar/rollbar": "Allow sending log messages to Rollbar",
|
44 |
+
"php-console/php-console": "Allow sending log messages to Google Chrome"
|
45 |
+
},
|
46 |
+
"autoload": {
|
47 |
+
"psr-4": {"Monolog\\": "src/Monolog"}
|
48 |
+
},
|
49 |
+
"autoload-dev": {
|
50 |
+
"psr-4": {"Monolog\\": "tests/Monolog"}
|
51 |
+
},
|
52 |
+
"provide": {
|
53 |
+
"psr/log-implementation": "1.0.0"
|
54 |
+
},
|
55 |
+
"extra": {
|
56 |
+
"branch-alias": {
|
57 |
+
"dev-master": "2.0.x-dev"
|
58 |
+
}
|
59 |
+
},
|
60 |
+
"scripts": {
|
61 |
+
"test": [
|
62 |
+
"parallel-lint . --exclude vendor",
|
63 |
+
"phpunit"
|
64 |
+
]
|
65 |
+
}
|
66 |
+
}
|
vendor/monolog/monolog/composer.lock
ADDED
@@ -0,0 +1,1850 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"_readme": [
|
3 |
+
"This file locks the dependencies of your project to a known state",
|
4 |
+
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
5 |
+
"This file is @generated automatically"
|
6 |
+
],
|
7 |
+
"content-hash": "96187ca17806d85dadb167d71dea95fe",
|
8 |
+
"packages": [
|
9 |
+
{
|
10 |
+
"name": "psr/log",
|
11 |
+
"version": "1.0.2",
|
12 |
+
"source": {
|
13 |
+
"type": "git",
|
14 |
+
"url": "https://github.com/php-fig/log.git",
|
15 |
+
"reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
|
16 |
+
},
|
17 |
+
"dist": {
|
18 |
+
"type": "zip",
|
19 |
+
"url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
|
20 |
+
"reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
|
21 |
+
"shasum": ""
|
22 |
+
},
|
23 |
+
"require": {
|
24 |
+
"php": ">=5.3.0"
|
25 |
+
},
|
26 |
+
"type": "library",
|
27 |
+
"extra": {
|
28 |
+
"branch-alias": {
|
29 |
+
"dev-master": "1.0.x-dev"
|
30 |
+
}
|
31 |
+
},
|
32 |
+
"autoload": {
|
33 |
+
"psr-4": {
|
34 |
+
"Psr\\Log\\": "Psr/Log/"
|
35 |
+
}
|
36 |
+
},
|
37 |
+
"notification-url": "https://packagist.org/downloads/",
|
38 |
+
"license": [
|
39 |
+
"MIT"
|
40 |
+
],
|
41 |
+
"authors": [
|
42 |
+
{
|
43 |
+
"name": "PHP-FIG",
|
44 |
+
"homepage": "http://www.php-fig.org/"
|
45 |
+
}
|
46 |
+
],
|
47 |
+
"description": "Common interface for logging libraries",
|
48 |
+
"homepage": "https://github.com/php-fig/log",
|
49 |
+
"keywords": [
|
50 |
+
"log",
|
51 |
+
"psr",
|
52 |
+
"psr-3"
|
53 |
+
],
|
54 |
+
"time": "2016-10-10T12:19:37+00:00"
|
55 |
+
}
|
56 |
+
],
|
57 |
+
"packages-dev": [
|
58 |
+
{
|
59 |
+
"name": "aws/aws-sdk-php",
|
60 |
+
"version": "2.8.31",
|
61 |
+
"source": {
|
62 |
+
"type": "git",
|
63 |
+
"url": "https://github.com/aws/aws-sdk-php.git",
|
64 |
+
"reference": "64fa4b07f056e338a5f0f29eece75babaa83af68"
|
65 |
+
},
|
66 |
+
"dist": {
|
67 |
+
"type": "zip",
|
68 |
+
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/64fa4b07f056e338a5f0f29eece75babaa83af68",
|
69 |
+
"reference": "64fa4b07f056e338a5f0f29eece75babaa83af68",
|
70 |
+
"shasum": ""
|
71 |
+
},
|
72 |
+
"require": {
|
73 |
+
"guzzle/guzzle": "~3.7",
|
74 |
+
"php": ">=5.3.3"
|
75 |
+
},
|
76 |
+
"require-dev": {
|
77 |
+
"doctrine/cache": "~1.0",
|
78 |
+
"ext-openssl": "*",
|
79 |
+
"monolog/monolog": "~1.4",
|
80 |
+
"phpunit/phpunit": "~4.0",
|
81 |
+
"phpunit/phpunit-mock-objects": "2.3.1",
|
82 |
+
"symfony/yaml": "~2.1"
|
83 |
+
},
|
84 |
+
"suggest": {
|
85 |
+
"doctrine/cache": "Adds support for caching of credentials and responses",
|
86 |
+
"ext-apc": "Allows service description opcode caching, request and response caching, and credentials caching",
|
87 |
+
"ext-openssl": "Allows working with CloudFront private distributions and verifying received SNS messages",
|
88 |
+
"monolog/monolog": "Adds support for logging HTTP requests and responses",
|
89 |
+
"symfony/yaml": "Eases the ability to write manifests for creating jobs in AWS Import/Export"
|
90 |
+
},
|
91 |
+
"type": "library",
|
92 |
+
"autoload": {
|
93 |
+
"psr-0": {
|
94 |
+
"Aws": "src/"
|
95 |
+
}
|
96 |
+
},
|
97 |
+
"notification-url": "https://packagist.org/downloads/",
|
98 |
+
"license": [
|
99 |
+
"Apache-2.0"
|
100 |
+
],
|
101 |
+
"authors": [
|
102 |
+
{
|
103 |
+
"name": "Amazon Web Services",
|
104 |
+
"homepage": "http://aws.amazon.com"
|
105 |
+
}
|
106 |
+
],
|
107 |
+
"description": "AWS SDK for PHP - Use Amazon Web Services in your PHP project",
|
108 |
+
"homepage": "http://aws.amazon.com/sdkforphp",
|
109 |
+
"keywords": [
|
110 |
+
"amazon",
|
111 |
+
"aws",
|
112 |
+
"cloud",
|
113 |
+
"dynamodb",
|
114 |
+
"ec2",
|
115 |
+
"glacier",
|
116 |
+
"s3",
|
117 |
+
"sdk"
|
118 |
+
],
|
119 |
+
"time": "2016-07-25T18:03:20+00:00"
|
120 |
+
},
|
121 |
+
{
|
122 |
+
"name": "doctrine/couchdb",
|
123 |
+
"version": "dev-master",
|
124 |
+
"source": {
|
125 |
+
"type": "git",
|
126 |
+
"url": "https://github.com/doctrine/couchdb-client.git",
|
127 |
+
"reference": "7cd29b766ae82da0a38a140c04d838ea34f2758d"
|
128 |
+
},
|
129 |
+
"dist": {
|
130 |
+
"type": "zip",
|
131 |
+
"url": "https://api.github.com/repos/doctrine/couchdb-client/zipball/7cd29b766ae82da0a38a140c04d838ea34f2758d",
|
132 |
+
"reference": "7cd29b766ae82da0a38a140c04d838ea34f2758d",
|
133 |
+
"shasum": ""
|
134 |
+
},
|
135 |
+
"require": {
|
136 |
+
"php": ">=5.4"
|
137 |
+
},
|
138 |
+
"require-dev": {
|
139 |
+
"phpunit/phpunit": "~4.0"
|
140 |
+
},
|
141 |
+
"type": "library",
|
142 |
+
"extra": {
|
143 |
+
"branch-alias": {
|
144 |
+
"dev-master": "1.0-dev"
|
145 |
+
}
|
146 |
+
},
|
147 |
+
"autoload": {
|
148 |
+
"psr-0": {
|
149 |
+
"Doctrine\\CouchDB": "lib/"
|
150 |
+
}
|
151 |
+
},
|
152 |
+
"notification-url": "https://packagist.org/downloads/",
|
153 |
+
"license": [
|
154 |
+
"MIT"
|
155 |
+
],
|
156 |
+
"authors": [
|
157 |
+
{
|
158 |
+
"name": "Benjamin Eberlei",
|
159 |
+
"email": "kontakt@beberlei.de"
|
160 |
+
},
|
161 |
+
{
|
162 |
+
"name": "Lukas Kahwe Smith",
|
163 |
+
"email": "smith@pooteeweet.org"
|
164 |
+
}
|
165 |
+
],
|
166 |
+
"description": "CouchDB Client",
|
167 |
+
"homepage": "http://www.doctrine-project.org",
|
168 |
+
"keywords": [
|
169 |
+
"couchdb",
|
170 |
+
"persistence"
|
171 |
+
],
|
172 |
+
"time": "2017-12-22T05:38:56+00:00"
|
173 |
+
},
|
174 |
+
{
|
175 |
+
"name": "doctrine/instantiator",
|
176 |
+
"version": "1.0.5",
|
177 |
+
"source": {
|
178 |
+
"type": "git",
|
179 |
+
"url": "https://github.com/doctrine/instantiator.git",
|
180 |
+
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
|
181 |
+
},
|
182 |
+
"dist": {
|
183 |
+
"type": "zip",
|
184 |
+
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
|
185 |
+
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
|
186 |
+
"shasum": ""
|
187 |
+
},
|
188 |
+
"require": {
|
189 |
+
"php": ">=5.3,<8.0-DEV"
|
190 |
+
},
|
191 |
+
"require-dev": {
|
192 |
+
"athletic/athletic": "~0.1.8",
|
193 |
+
"ext-pdo": "*",
|
194 |
+
"ext-phar": "*",
|
195 |
+
"phpunit/phpunit": "~4.0",
|
196 |
+
"squizlabs/php_codesniffer": "~2.0"
|
197 |
+
},
|
198 |
+
"type": "library",
|
199 |
+
"extra": {
|
200 |
+
"branch-alias": {
|
201 |
+
"dev-master": "1.0.x-dev"
|
202 |
+
}
|
203 |
+
},
|
204 |
+
"autoload": {
|
205 |
+
"psr-4": {
|
206 |
+
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
|
207 |
+
}
|
208 |
+
},
|
209 |
+
"notification-url": "https://packagist.org/downloads/",
|
210 |
+
"license": [
|
211 |
+
"MIT"
|
212 |
+
],
|
213 |
+
"authors": [
|
214 |
+
{
|
215 |
+
"name": "Marco Pivetta",
|
216 |
+
"email": "ocramius@gmail.com",
|
217 |
+
"homepage": "http://ocramius.github.com/"
|
218 |
+
}
|
219 |
+
],
|
220 |
+
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
|
221 |
+
"homepage": "https://github.com/doctrine/instantiator",
|
222 |
+
"keywords": [
|
223 |
+
"constructor",
|
224 |
+
"instantiate"
|
225 |
+
],
|
226 |
+
"time": "2015-06-14T21:17:01+00:00"
|
227 |
+
},
|
228 |
+
{
|
229 |
+
"name": "graylog2/gelf-php",
|
230 |
+
"version": "1.5.5",
|
231 |
+
"source": {
|
232 |
+
"type": "git",
|
233 |
+
"url": "https://github.com/bzikarsky/gelf-php.git",
|
234 |
+
"reference": "c4e0743ba323459b6e62222107a0898e77d2fd6e"
|
235 |
+
},
|
236 |
+
"dist": {
|
237 |
+
"type": "zip",
|
238 |
+
"url": "https://api.github.com/repos/bzikarsky/gelf-php/zipball/c4e0743ba323459b6e62222107a0898e77d2fd6e",
|
239 |
+
"reference": "c4e0743ba323459b6e62222107a0898e77d2fd6e",
|
240 |
+
"shasum": ""
|
241 |
+
},
|
242 |
+
"require": {
|
243 |
+
"php": ">=5.3.9",
|
244 |
+
"psr/log": "~1.0"
|
245 |
+
},
|
246 |
+
"provide": {
|
247 |
+
"psr/log-implementation": "~1.0"
|
248 |
+
},
|
249 |
+
"require-dev": {
|
250 |
+
"phpunit/phpunit": "~4.3",
|
251 |
+
"squizlabs/php_codesniffer": "~2.0"
|
252 |
+
},
|
253 |
+
"type": "library",
|
254 |
+
"extra": {
|
255 |
+
"branch-alias": {
|
256 |
+
"dev-master": "1.4.x-dev"
|
257 |
+
}
|
258 |
+
},
|
259 |
+
"autoload": {
|
260 |
+
"psr-4": {
|
261 |
+
"Gelf\\": "src/Gelf"
|
262 |
+
},
|
263 |
+
"files": [
|
264 |
+
"src/check_technical_requirements.php"
|
265 |
+
]
|
266 |
+
},
|
267 |
+
"notification-url": "https://packagist.org/downloads/",
|
268 |
+
"license": [
|
269 |
+
"MIT"
|
270 |
+
],
|
271 |
+
"authors": [
|
272 |
+
{
|
273 |
+
"name": "Benjamin Zikarsky",
|
274 |
+
"email": "benjamin@zikarsky.de"
|
275 |
+
},
|
276 |
+
{
|
277 |
+
"name": "gelf-php contributors",
|
278 |
+
"homepage": "https://github.com/bzikarsky/gelf-php/contributors"
|
279 |
+
}
|
280 |
+
],
|
281 |
+
"description": "A php implementation to send log-messages to a GELF compatible backend like Graylog2.",
|
282 |
+
"time": "2017-06-24T10:38:25+00:00"
|
283 |
+
},
|
284 |
+
{
|
285 |
+
"name": "guzzle/guzzle",
|
286 |
+
"version": "v3.9.3",
|
287 |
+
"source": {
|
288 |
+
"type": "git",
|
289 |
+
"url": "https://github.com/guzzle/guzzle3.git",
|
290 |
+
"reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9"
|
291 |
+
},
|
292 |
+
"dist": {
|
293 |
+
"type": "zip",
|
294 |
+
"url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9",
|
295 |
+
"reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9",
|
296 |
+
"shasum": ""
|
297 |
+
},
|
298 |
+
"require": {
|
299 |
+
"ext-curl": "*",
|
300 |
+
"php": ">=5.3.3",
|
301 |
+
"symfony/event-dispatcher": "~2.1"
|
302 |
+
},
|
303 |
+
"replace": {
|
304 |
+
"guzzle/batch": "self.version",
|
305 |
+
"guzzle/cache": "self.version",
|
306 |
+
"guzzle/common": "self.version",
|
307 |
+
"guzzle/http": "self.version",
|
308 |
+
"guzzle/inflection": "self.version",
|
309 |
+
"guzzle/iterator": "self.version",
|
310 |
+
"guzzle/log": "self.version",
|
311 |
+
"guzzle/parser": "self.version",
|
312 |
+
"guzzle/plugin": "self.version",
|
313 |
+
"guzzle/plugin-async": "self.version",
|
314 |
+
"guzzle/plugin-backoff": "self.version",
|
315 |
+
"guzzle/plugin-cache": "self.version",
|
316 |
+
"guzzle/plugin-cookie": "self.version",
|
317 |
+
"guzzle/plugin-curlauth": "self.version",
|
318 |
+
"guzzle/plugin-error-response": "self.version",
|
319 |
+
"guzzle/plugin-history": "self.version",
|
320 |
+
"guzzle/plugin-log": "self.version",
|
321 |
+
"guzzle/plugin-md5": "self.version",
|
322 |
+
"guzzle/plugin-mock": "self.version",
|
323 |
+
"guzzle/plugin-oauth": "self.version",
|
324 |
+
"guzzle/service": "self.version",
|
325 |
+
"guzzle/stream": "self.version"
|
326 |
+
},
|
327 |
+
"require-dev": {
|
328 |
+
"doctrine/cache": "~1.3",
|
329 |
+
"monolog/monolog": "~1.0",
|
330 |
+
"phpunit/phpunit": "3.7.*",
|
331 |
+
"psr/log": "~1.0",
|
332 |
+
"symfony/class-loader": "~2.1",
|
333 |
+
"zendframework/zend-cache": "2.*,<2.3",
|
334 |
+
"zendframework/zend-log": "2.*,<2.3"
|
335 |
+
},
|
336 |
+
"suggest": {
|
337 |
+
"guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated."
|
338 |
+
},
|
339 |
+
"type": "library",
|
340 |
+
"extra": {
|
341 |
+
"branch-alias": {
|
342 |
+
"dev-master": "3.9-dev"
|
343 |
+
}
|
344 |
+
},
|
345 |
+
"autoload": {
|
346 |
+
"psr-0": {
|
347 |
+
"Guzzle": "src/",
|
348 |
+
"Guzzle\\Tests": "tests/"
|
349 |
+
}
|
350 |
+
},
|
351 |
+
"notification-url": "https://packagist.org/downloads/",
|
352 |
+
"license": [
|
353 |
+
"MIT"
|
354 |
+
],
|
355 |
+
"authors": [
|
356 |
+
{
|
357 |
+
"name": "Michael Dowling",
|
358 |
+
"email": "mtdowling@gmail.com",
|
359 |
+
"homepage": "https://github.com/mtdowling"
|
360 |
+
},
|
361 |
+
{
|
362 |
+
"name": "Guzzle Community",
|
363 |
+
"homepage": "https://github.com/guzzle/guzzle/contributors"
|
364 |
+
}
|
365 |
+
],
|
366 |
+
"description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle",
|
367 |
+
"homepage": "http://guzzlephp.org/",
|
368 |
+
"keywords": [
|
369 |
+
"client",
|
370 |
+
"curl",
|
371 |
+
"framework",
|
372 |
+
"http",
|
373 |
+
"http client",
|
374 |
+
"rest",
|
375 |
+
"web service"
|
376 |
+
],
|
377 |
+
"abandoned": "guzzlehttp/guzzle",
|
378 |
+
"time": "2015-03-18T18:23:50+00:00"
|
379 |
+
},
|
380 |
+
{
|
381 |
+
"name": "jakub-onderka/php-parallel-lint",
|
382 |
+
"version": "v0.9",
|
383 |
+
"source": {
|
384 |
+
"type": "git",
|
385 |
+
"url": "https://github.com/JakubOnderka/PHP-Parallel-Lint.git",
|
386 |
+
"reference": "1b693fb455201cacf595163c92bfb1adfa2158d8"
|
387 |
+
},
|
388 |
+
"dist": {
|
389 |
+
"type": "zip",
|
390 |
+
"url": "https://api.github.com/repos/JakubOnderka/PHP-Parallel-Lint/zipball/1b693fb455201cacf595163c92bfb1adfa2158d8",
|
391 |
+
"reference": "1b693fb455201cacf595163c92bfb1adfa2158d8",
|
392 |
+
"shasum": ""
|
393 |
+
},
|
394 |
+
"require": {
|
395 |
+
"php": ">=5.3.3"
|
396 |
+
},
|
397 |
+
"require-dev": {
|
398 |
+
"jakub-onderka/php-console-highlighter": "~0.3",
|
399 |
+
"nette/tester": "~1.3"
|
400 |
+
},
|
401 |
+
"suggest": {
|
402 |
+
"jakub-onderka/php-console-highlighter": "Highlight syntax in code snippet"
|
403 |
+
},
|
404 |
+
"bin": [
|
405 |
+
"parallel-lint"
|
406 |
+
],
|
407 |
+
"type": "library",
|
408 |
+
"autoload": {
|
409 |
+
"classmap": [
|
410 |
+
"./"
|
411 |
+
]
|
412 |
+
},
|
413 |
+
"notification-url": "https://packagist.org/downloads/",
|
414 |
+
"license": [
|
415 |
+
"BSD"
|
416 |
+
],
|
417 |
+
"authors": [
|
418 |
+
{
|
419 |
+
"name": "Jakub Onderka",
|
420 |
+
"email": "jakub.onderka@gmail.com"
|
421 |
+
}
|
422 |
+
],
|
423 |
+
"description": "This tool check syntax of PHP files about 20x faster than serial check.",
|
424 |
+
"homepage": "https://github.com/JakubOnderka/PHP-Parallel-Lint",
|
425 |
+
"time": "2015-06-16T10:17:07+00:00"
|
426 |
+
},
|
427 |
+
{
|
428 |
+
"name": "php-amqplib/php-amqplib",
|
429 |
+
"version": "v2.7.2",
|
430 |
+
"source": {
|
431 |
+
"type": "git",
|
432 |
+
"url": "https://github.com/php-amqplib/php-amqplib.git",
|
433 |
+
"reference": "dfd3694a86f1a7394d3693485259d4074a6ec79b"
|
434 |
+
},
|
435 |
+
"dist": {
|
436 |
+
"type": "zip",
|
437 |
+
"url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/dfd3694a86f1a7394d3693485259d4074a6ec79b",
|
438 |
+
"reference": "dfd3694a86f1a7394d3693485259d4074a6ec79b",
|
439 |
+
"shasum": ""
|
440 |
+
},
|
441 |
+
"require": {
|
442 |
+
"ext-bcmath": "*",
|
443 |
+
"ext-mbstring": "*",
|
444 |
+
"php": ">=5.3.0"
|
445 |
+
},
|
446 |
+
"replace": {
|
447 |
+
"videlalvaro/php-amqplib": "self.version"
|
448 |
+
},
|
449 |
+
"require-dev": {
|
450 |
+
"phpdocumentor/phpdocumentor": "^2.9",
|
451 |
+
"phpunit/phpunit": "^4.8",
|
452 |
+
"scrutinizer/ocular": "^1.1",
|
453 |
+
"squizlabs/php_codesniffer": "^2.5"
|
454 |
+
},
|
455 |
+
"suggest": {
|
456 |
+
"ext-sockets": "Use AMQPSocketConnection"
|
457 |
+
},
|
458 |
+
"type": "library",
|
459 |
+
"extra": {
|
460 |
+
"branch-alias": {
|
461 |
+
"dev-master": "2.7-dev"
|
462 |
+
}
|
463 |
+
},
|
464 |
+
"autoload": {
|
465 |
+
"psr-4": {
|
466 |
+
"PhpAmqpLib\\": "PhpAmqpLib/"
|
467 |
+
}
|
468 |
+
},
|
469 |
+
"notification-url": "https://packagist.org/downloads/",
|
470 |
+
"license": [
|
471 |
+
"LGPL-2.1-or-later"
|
472 |
+
],
|
473 |
+
"authors": [
|
474 |
+
{
|
475 |
+
"name": "Alvaro Videla",
|
476 |
+
"role": "Original Maintainer"
|
477 |
+
},
|
478 |
+
{
|
479 |
+
"name": "John Kelly",
|
480 |
+
"email": "johnmkelly86@gmail.com",
|
481 |
+
"role": "Maintainer"
|
482 |
+
},
|
483 |
+
{
|
484 |
+
"name": "Raúl Araya",
|
485 |
+
"email": "nubeiro@gmail.com",
|
486 |
+
"role": "Maintainer"
|
487 |
+
}
|
488 |
+
],
|
489 |
+
"description": "Formerly videlalvaro/php-amqplib. This library is a pure PHP implementation of the AMQP protocol. It's been tested against RabbitMQ.",
|
490 |
+
"homepage": "https://github.com/php-amqplib/php-amqplib/",
|
491 |
+
"keywords": [
|
492 |
+
"message",
|
493 |
+
"queue",
|
494 |
+
"rabbitmq"
|
495 |
+
],
|
496 |
+
"time": "2018-02-11T19:28:00+00:00"
|
497 |
+
},
|
498 |
+
{
|
499 |
+
"name": "php-console/php-console",
|
500 |
+
"version": "3.1.7",
|
501 |
+
"source": {
|
502 |
+
"type": "git",
|
503 |
+
"url": "https://github.com/barbushin/php-console.git",
|
504 |
+
"reference": "c171ec62669d5c616cfa62de7a30df3c6237e831"
|
505 |
+
},
|
506 |
+
"dist": {
|
507 |
+
"type": "zip",
|
508 |
+
"url": "https://api.github.com/repos/barbushin/php-console/zipball/c171ec62669d5c616cfa62de7a30df3c6237e831",
|
509 |
+
"reference": "c171ec62669d5c616cfa62de7a30df3c6237e831",
|
510 |
+
"shasum": ""
|
511 |
+
},
|
512 |
+
"require": {
|
513 |
+
"php": ">=5.3.0"
|
514 |
+
},
|
515 |
+
"require-dev": {
|
516 |
+
"ext-mbstring": "*",
|
517 |
+
"phpunit/phpunit": "^4.8",
|
518 |
+
"psr/log": "^1.0"
|
519 |
+
},
|
520 |
+
"type": "library",
|
521 |
+
"autoload": {
|
522 |
+
"psr-4": {
|
523 |
+
"PhpConsole\\": "src/PhpConsole"
|
524 |
+
}
|
525 |
+
},
|
526 |
+
"notification-url": "https://packagist.org/downloads/",
|
527 |
+
"license": [
|
528 |
+
"MIT"
|
529 |
+
],
|
530 |
+
"authors": [
|
531 |
+
{
|
532 |
+
"name": "Sergey Barbushin",
|
533 |
+
"email": "barbushin@gmail.com",
|
534 |
+
"homepage": "http://linkedin.com/in/barbushin"
|
535 |
+
}
|
536 |
+
],
|
537 |
+
"description": "PHP library for Google Chrome extension \"PHP Console\".",
|
538 |
+
"homepage": "https://github.com/barbushin/php-console",
|
539 |
+
"keywords": [
|
540 |
+
"chrome",
|
541 |
+
"debug",
|
542 |
+
"error handler",
|
543 |
+
"errors",
|
544 |
+
"google chrome",
|
545 |
+
"php"
|
546 |
+
],
|
547 |
+
"time": "2018-02-25T12:43:21+00:00"
|
548 |
+
},
|
549 |
+
{
|
550 |
+
"name": "phpdocumentor/reflection-common",
|
551 |
+
"version": "1.0.1",
|
552 |
+
"source": {
|
553 |
+
"type": "git",
|
554 |
+
"url": "https://github.com/phpDocumentor/ReflectionCommon.git",
|
555 |
+
"reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"
|
556 |
+
},
|
557 |
+
"dist": {
|
558 |
+
"type": "zip",
|
559 |
+
"url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
|
560 |
+
"reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
|
561 |
+
"shasum": ""
|
562 |
+
},
|
563 |
+
"require": {
|
564 |
+
"php": ">=5.5"
|
565 |
+
},
|
566 |
+
"require-dev": {
|
567 |
+
"phpunit/phpunit": "^4.6"
|
568 |
+
},
|
569 |
+
"type": "library",
|
570 |
+
"extra": {
|
571 |
+
"branch-alias": {
|
572 |
+
"dev-master": "1.0.x-dev"
|
573 |
+
}
|
574 |
+
},
|
575 |
+
"autoload": {
|
576 |
+
"psr-4": {
|
577 |
+
"phpDocumentor\\Reflection\\": [
|
578 |
+
"src"
|
579 |
+
]
|
580 |
+
}
|
581 |
+
},
|
582 |
+
"notification-url": "https://packagist.org/downloads/",
|
583 |
+
"license": [
|
584 |
+
"MIT"
|
585 |
+
],
|
586 |
+
"authors": [
|
587 |
+
{
|
588 |
+
"name": "Jaap van Otterdijk",
|
589 |
+
"email": "opensource@ijaap.nl"
|
590 |
+
}
|
591 |
+
],
|
592 |
+
"description": "Common reflection classes used by phpdocumentor to reflect the code structure",
|
593 |
+
"homepage": "http://www.phpdoc.org",
|
594 |
+
"keywords": [
|
595 |
+
"FQSEN",
|
596 |
+
"phpDocumentor",
|
597 |
+
"phpdoc",
|
598 |
+
"reflection",
|
599 |
+
"static analysis"
|
600 |
+
],
|
601 |
+
"time": "2017-09-11T18:02:19+00:00"
|
602 |
+
},
|
603 |
+
{
|
604 |
+
"name": "phpdocumentor/reflection-docblock",
|
605 |
+
"version": "3.2.2",
|
606 |
+
"source": {
|
607 |
+
"type": "git",
|
608 |
+
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
|
609 |
+
"reference": "4aada1f93c72c35e22fb1383b47fee43b8f1d157"
|
610 |
+
},
|
611 |
+
"dist": {
|
612 |
+
"type": "zip",
|
613 |
+
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/4aada1f93c72c35e22fb1383b47fee43b8f1d157",
|
614 |
+
"reference": "4aada1f93c72c35e22fb1383b47fee43b8f1d157",
|
615 |
+
"shasum": ""
|
616 |
+
},
|
617 |
+
"require": {
|
618 |
+
"php": ">=5.5",
|
619 |
+
"phpdocumentor/reflection-common": "^1.0@dev",
|
620 |
+
"phpdocumentor/type-resolver": "^0.3.0",
|
621 |
+
"webmozart/assert": "^1.0"
|
622 |
+
},
|
623 |
+
"require-dev": {
|
624 |
+
"mockery/mockery": "^0.9.4",
|
625 |
+
"phpunit/phpunit": "^4.4"
|
626 |
+
},
|
627 |
+
"type": "library",
|
628 |
+
"autoload": {
|
629 |
+
"psr-4": {
|
630 |
+
"phpDocumentor\\Reflection\\": [
|
631 |
+
"src/"
|
632 |
+
]
|
633 |
+
}
|
634 |
+
},
|
635 |
+
"notification-url": "https://packagist.org/downloads/",
|
636 |
+
"license": [
|
637 |
+
"MIT"
|
638 |
+
],
|
639 |
+
"authors": [
|
640 |
+
{
|
641 |
+
"name": "Mike van Riel",
|
642 |
+
"email": "me@mikevanriel.com"
|
643 |
+
}
|
644 |
+
],
|
645 |
+
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
|
646 |
+
"time": "2017-08-08T06:39:58+00:00"
|
647 |
+
},
|
648 |
+
{
|
649 |
+
"name": "phpdocumentor/type-resolver",
|
650 |
+
"version": "0.3.0",
|
651 |
+
"source": {
|
652 |
+
"type": "git",
|
653 |
+
"url": "https://github.com/phpDocumentor/TypeResolver.git",
|
654 |
+
"reference": "fb3933512008d8162b3cdf9e18dba9309b7c3773"
|
655 |
+
},
|
656 |
+
"dist": {
|
657 |
+
"type": "zip",
|
658 |
+
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/fb3933512008d8162b3cdf9e18dba9309b7c3773",
|
659 |
+
"reference": "fb3933512008d8162b3cdf9e18dba9309b7c3773",
|
660 |
+
"shasum": ""
|
661 |
+
},
|
662 |
+
"require": {
|
663 |
+
"php": "^5.5 || ^7.0",
|
664 |
+
"phpdocumentor/reflection-common": "^1.0"
|
665 |
+
},
|
666 |
+
"require-dev": {
|
667 |
+
"mockery/mockery": "^0.9.4",
|
668 |
+
"phpunit/phpunit": "^5.2||^4.8.24"
|
669 |
+
},
|
670 |
+
"type": "library",
|
671 |
+
"extra": {
|
672 |
+
"branch-alias": {
|
673 |
+
"dev-master": "1.0.x-dev"
|
674 |
+
}
|
675 |
+
},
|
676 |
+
"autoload": {
|
677 |
+
"psr-4": {
|
678 |
+
"phpDocumentor\\Reflection\\": [
|
679 |
+
"src/"
|
680 |
+
]
|
681 |
+
}
|
682 |
+
},
|
683 |
+
"notification-url": "https://packagist.org/downloads/",
|
684 |
+
"license": [
|
685 |
+
"MIT"
|
686 |
+
],
|
687 |
+
"authors": [
|
688 |
+
{
|
689 |
+
"name": "Mike van Riel",
|
690 |
+
"email": "me@mikevanriel.com"
|
691 |
+
}
|
692 |
+
],
|
693 |
+
"time": "2017-06-03T08:32:36+00:00"
|
694 |
+
},
|
695 |
+
{
|
696 |
+
"name": "phpspec/prophecy",
|
697 |
+
"version": "1.7.5",
|
698 |
+
"source": {
|
699 |
+
"type": "git",
|
700 |
+
"url": "https://github.com/phpspec/prophecy.git",
|
701 |
+
"reference": "dfd6be44111a7c41c2e884a336cc4f461b3b2401"
|
702 |
+
},
|
703 |
+
"dist": {
|
704 |
+
"type": "zip",
|
705 |
+
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/dfd6be44111a7c41c2e884a336cc4f461b3b2401",
|
706 |
+
"reference": "dfd6be44111a7c41c2e884a336cc4f461b3b2401",
|
707 |
+
"shasum": ""
|
708 |
+
},
|
709 |
+
"require": {
|
710 |
+
"doctrine/instantiator": "^1.0.2",
|
711 |
+
"php": "^5.3|^7.0",
|
712 |
+
"phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0",
|
713 |
+
"sebastian/comparator": "^1.1|^2.0",
|
714 |
+
"sebastian/recursion-context": "^1.0|^2.0|^3.0"
|
715 |
+
},
|
716 |
+
"require-dev": {
|
717 |
+
"phpspec/phpspec": "^2.5|^3.2",
|
718 |
+
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5"
|
719 |
+
},
|
720 |
+
"type": "library",
|
721 |
+
"extra": {
|
722 |
+
"branch-alias": {
|
723 |
+
"dev-master": "1.7.x-dev"
|
724 |
+
}
|
725 |
+
},
|
726 |
+
"autoload": {
|
727 |
+
"psr-0": {
|
728 |
+
"Prophecy\\": "src/"
|
729 |
+
}
|
730 |
+
},
|
731 |
+
"notification-url": "https://packagist.org/downloads/",
|
732 |
+
"license": [
|
733 |
+
"MIT"
|
734 |
+
],
|
735 |
+
"authors": [
|
736 |
+
{
|
737 |
+
"name": "Konstantin Kudryashov",
|
738 |
+
"email": "ever.zet@gmail.com",
|
739 |
+
"homepage": "http://everzet.com"
|
740 |
+
},
|
741 |
+
{
|
742 |
+
"name": "Marcello Duarte",
|
743 |
+
"email": "marcello.duarte@gmail.com"
|
744 |
+
}
|
745 |
+
],
|
746 |
+
"description": "Highly opinionated mocking framework for PHP 5.3+",
|
747 |
+
"homepage": "https://github.com/phpspec/prophecy",
|
748 |
+
"keywords": [
|
749 |
+
"Double",
|
750 |
+
"Dummy",
|
751 |
+
"fake",
|
752 |
+
"mock",
|
753 |
+
"spy",
|
754 |
+
"stub"
|
755 |
+
],
|
756 |
+
"time": "2018-02-19T10:16:54+00:00"
|
757 |
+
},
|
758 |
+
{
|
759 |
+
"name": "phpunit/php-code-coverage",
|
760 |
+
"version": "2.2.4",
|
761 |
+
"source": {
|
762 |
+
"type": "git",
|
763 |
+
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
764 |
+
"reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
|
765 |
+
},
|
766 |
+
"dist": {
|
767 |
+
"type": "zip",
|
768 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979",
|
769 |
+
"reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
|
770 |
+
"shasum": ""
|
771 |
+
},
|
772 |
+
"require": {
|
773 |
+
"php": ">=5.3.3",
|
774 |
+
"phpunit/php-file-iterator": "~1.3",
|
775 |
+
"phpunit/php-text-template": "~1.2",
|
776 |
+
"phpunit/php-token-stream": "~1.3",
|
777 |
+
"sebastian/environment": "^1.3.2",
|
778 |
+
"sebastian/version": "~1.0"
|
779 |
+
},
|
780 |
+
"require-dev": {
|
781 |
+
"ext-xdebug": ">=2.1.4",
|
782 |
+
"phpunit/phpunit": "~4"
|
783 |
+
},
|
784 |
+
"suggest": {
|
785 |
+
"ext-dom": "*",
|
786 |
+
"ext-xdebug": ">=2.2.1",
|
787 |
+
"ext-xmlwriter": "*"
|
788 |
+
},
|
789 |
+
"type": "library",
|
790 |
+
"extra": {
|
791 |
+
"branch-alias": {
|
792 |
+
"dev-master": "2.2.x-dev"
|
793 |
+
}
|
794 |
+
},
|
795 |
+
"autoload": {
|
796 |
+
"classmap": [
|
797 |
+
"src/"
|
798 |
+
]
|
799 |
+
},
|
800 |
+
"notification-url": "https://packagist.org/downloads/",
|
801 |
+
"license": [
|
802 |
+
"BSD-3-Clause"
|
803 |
+
],
|
804 |
+
"authors": [
|
805 |
+
{
|
806 |
+
"name": "Sebastian Bergmann",
|
807 |
+
"email": "sb@sebastian-bergmann.de",
|
808 |
+
"role": "lead"
|
809 |
+
}
|
810 |
+
],
|
811 |
+
"description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
|
812 |
+
"homepage": "https://github.com/sebastianbergmann/php-code-coverage",
|
813 |
+
"keywords": [
|
814 |
+
"coverage",
|
815 |
+
"testing",
|
816 |
+
"xunit"
|
817 |
+
],
|
818 |
+
"time": "2015-10-06T15:47:00+00:00"
|
819 |
+
},
|
820 |
+
{
|
821 |
+
"name": "phpunit/php-file-iterator",
|
822 |
+
"version": "1.4.5",
|
823 |
+
"source": {
|
824 |
+
"type": "git",
|
825 |
+
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
|
826 |
+
"reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4"
|
827 |
+
},
|
828 |
+
"dist": {
|
829 |
+
"type": "zip",
|
830 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4",
|
831 |
+
"reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4",
|
832 |
+
"shasum": ""
|
833 |
+
},
|
834 |
+
"require": {
|
835 |
+
"php": ">=5.3.3"
|
836 |
+
},
|
837 |
+
"type": "library",
|
838 |
+
"extra": {
|
839 |
+
"branch-alias": {
|
840 |
+
"dev-master": "1.4.x-dev"
|
841 |
+
}
|
842 |
+
},
|
843 |
+
"autoload": {
|
844 |
+
"classmap": [
|
845 |
+
"src/"
|
846 |
+
]
|
847 |
+
},
|
848 |
+
"notification-url": "https://packagist.org/downloads/",
|
849 |
+
"license": [
|
850 |
+
"BSD-3-Clause"
|
851 |
+
],
|
852 |
+
"authors": [
|
853 |
+
{
|
854 |
+
"name": "Sebastian Bergmann",
|
855 |
+
"email": "sb@sebastian-bergmann.de",
|
856 |
+
"role": "lead"
|
857 |
+
}
|
858 |
+
],
|
859 |
+
"description": "FilterIterator implementation that filters files based on a list of suffixes.",
|
860 |
+
"homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
|
861 |
+
"keywords": [
|
862 |
+
"filesystem",
|
863 |
+
"iterator"
|
864 |
+
],
|
865 |
+
"time": "2017-11-27T13:52:08+00:00"
|
866 |
+
},
|
867 |
+
{
|
868 |
+
"name": "phpunit/php-text-template",
|
869 |
+
"version": "1.2.1",
|
870 |
+
"source": {
|
871 |
+
"type": "git",
|
872 |
+
"url": "https://github.com/sebastianbergmann/php-text-template.git",
|
873 |
+
"reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
|
874 |
+
},
|
875 |
+
"dist": {
|
876 |
+
"type": "zip",
|
877 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
|
878 |
+
"reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
|
879 |
+
"shasum": ""
|
880 |
+
},
|
881 |
+
"require": {
|
882 |
+
"php": ">=5.3.3"
|
883 |
+
},
|
884 |
+
"type": "library",
|
885 |
+
"autoload": {
|
886 |
+
"classmap": [
|
887 |
+
"src/"
|
888 |
+
]
|
889 |
+
},
|
890 |
+
"notification-url": "https://packagist.org/downloads/",
|
891 |
+
"license": [
|
892 |
+
"BSD-3-Clause"
|
893 |
+
],
|
894 |
+
"authors": [
|
895 |
+
{
|
896 |
+
"name": "Sebastian Bergmann",
|
897 |
+
"email": "sebastian@phpunit.de",
|
898 |
+
"role": "lead"
|
899 |
+
}
|
900 |
+
],
|
901 |
+
"description": "Simple template engine.",
|
902 |
+
"homepage": "https://github.com/sebastianbergmann/php-text-template/",
|
903 |
+
"keywords": [
|
904 |
+
"template"
|
905 |
+
],
|
906 |
+
"time": "2015-06-21T13:50:34+00:00"
|
907 |
+
},
|
908 |
+
{
|
909 |
+
"name": "phpunit/php-timer",
|
910 |
+
"version": "1.0.9",
|
911 |
+
"source": {
|
912 |
+
"type": "git",
|
913 |
+
"url": "https://github.com/sebastianbergmann/php-timer.git",
|
914 |
+
"reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f"
|
915 |
+
},
|
916 |
+
"dist": {
|
917 |
+
"type": "zip",
|
918 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
|
919 |
+
"reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
|
920 |
+
"shasum": ""
|
921 |
+
},
|
922 |
+
"require": {
|
923 |
+
"php": "^5.3.3 || ^7.0"
|
924 |
+
},
|
925 |
+
"require-dev": {
|
926 |
+
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
|
927 |
+
},
|
928 |
+
"type": "library",
|
929 |
+
"extra": {
|
930 |
+
"branch-alias": {
|
931 |
+
"dev-master": "1.0-dev"
|
932 |
+
}
|
933 |
+
},
|
934 |
+
"autoload": {
|
935 |
+
"classmap": [
|
936 |
+
"src/"
|
937 |
+
]
|
938 |
+
},
|
939 |
+
"notification-url": "https://packagist.org/downloads/",
|
940 |
+
"license": [
|
941 |
+
"BSD-3-Clause"
|
942 |
+
],
|
943 |
+
"authors": [
|
944 |
+
{
|
945 |
+
"name": "Sebastian Bergmann",
|
946 |
+
"email": "sb@sebastian-bergmann.de",
|
947 |
+
"role": "lead"
|
948 |
+
}
|
949 |
+
],
|
950 |
+
"description": "Utility class for timing",
|
951 |
+
"homepage": "https://github.com/sebastianbergmann/php-timer/",
|
952 |
+
"keywords": [
|
953 |
+
"timer"
|
954 |
+
],
|
955 |
+
"time": "2017-02-26T11:10:40+00:00"
|
956 |
+
},
|
957 |
+
{
|
958 |
+
"name": "phpunit/php-token-stream",
|
959 |
+
"version": "1.4.12",
|
960 |
+
"source": {
|
961 |
+
"type": "git",
|
962 |
+
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
|
963 |
+
"reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16"
|
964 |
+
},
|
965 |
+
"dist": {
|
966 |
+
"type": "zip",
|
967 |
+
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/1ce90ba27c42e4e44e6d8458241466380b51fa16",
|
968 |
+
"reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16",
|
969 |
+
"shasum": ""
|
970 |
+
},
|
971 |
+
"require": {
|
972 |
+
"ext-tokenizer": "*",
|
973 |
+
"php": ">=5.3.3"
|
974 |
+
},
|
975 |
+
"require-dev": {
|
976 |
+
"phpunit/phpunit": "~4.2"
|
977 |
+
},
|
978 |
+
"type": "library",
|
979 |
+
"extra": {
|
980 |
+
"branch-alias": {
|
981 |
+
"dev-master": "1.4-dev"
|
982 |
+
}
|
983 |
+
},
|
984 |
+
"autoload": {
|
985 |
+
"classmap": [
|
986 |
+
"src/"
|
987 |
+
]
|
988 |
+
},
|
989 |
+
"notification-url": "https://packagist.org/downloads/",
|
990 |
+
"license": [
|
991 |
+
"BSD-3-Clause"
|
992 |
+
],
|
993 |
+
"authors": [
|
994 |
+
{
|
995 |
+
"name": "Sebastian Bergmann",
|
996 |
+
"email": "sebastian@phpunit.de"
|
997 |
+
}
|
998 |
+
],
|
999 |
+
"description": "Wrapper around PHP's tokenizer extension.",
|
1000 |
+
"homepage": "https://github.com/sebastianbergmann/php-token-stream/",
|
1001 |
+
"keywords": [
|
1002 |
+
"tokenizer"
|
1003 |
+
],
|
1004 |
+
"time": "2017-12-04T08:55:13+00:00"
|
1005 |
+
},
|
1006 |
+
{
|
1007 |
+
"name": "phpunit/phpunit",
|
1008 |
+
"version": "4.8.36",
|
1009 |
+
"source": {
|
1010 |
+
"type": "git",
|
1011 |
+
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
1012 |
+
"reference": "46023de9a91eec7dfb06cc56cb4e260017298517"
|
1013 |
+
},
|
1014 |
+
"dist": {
|
1015 |
+
"type": "zip",
|
1016 |
+
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517",
|
1017 |
+
"reference": "46023de9a91eec7dfb06cc56cb4e260017298517",
|
1018 |
+
"shasum": ""
|
1019 |
+
},
|
1020 |
+
"require": {
|
1021 |
+
"ext-dom": "*",
|
1022 |
+
"ext-json": "*",
|
1023 |
+
"ext-pcre": "*",
|
1024 |
+
"ext-reflection": "*",
|
1025 |
+
"ext-spl": "*",
|
1026 |
+
"php": ">=5.3.3",
|
1027 |
+
"phpspec/prophecy": "^1.3.1",
|
1028 |
+
"phpunit/php-code-coverage": "~2.1",
|
1029 |
+
"phpunit/php-file-iterator": "~1.4",
|
1030 |
+
"phpunit/php-text-template": "~1.2",
|
1031 |
+
"phpunit/php-timer": "^1.0.6",
|
1032 |
+
"phpunit/phpunit-mock-objects": "~2.3",
|
1033 |
+
"sebastian/comparator": "~1.2.2",
|
1034 |
+
"sebastian/diff": "~1.2",
|
1035 |
+
"sebastian/environment": "~1.3",
|
1036 |
+
"sebastian/exporter": "~1.2",
|
1037 |
+
"sebastian/global-state": "~1.0",
|
1038 |
+
"sebastian/version": "~1.0",
|
1039 |
+
"symfony/yaml": "~2.1|~3.0"
|
1040 |
+
},
|
1041 |
+
"suggest": {
|
1042 |
+
"phpunit/php-invoker": "~1.1"
|
1043 |
+
},
|
1044 |
+
"bin": [
|
1045 |
+
"phpunit"
|
1046 |
+
],
|
1047 |
+
"type": "library",
|
1048 |
+
"extra": {
|
1049 |
+
"branch-alias": {
|
1050 |
+
"dev-master": "4.8.x-dev"
|
1051 |
+
}
|
1052 |
+
},
|
1053 |
+
"autoload": {
|
1054 |
+
"classmap": [
|
1055 |
+
"src/"
|
1056 |
+
]
|
1057 |
+
},
|
1058 |
+
"notification-url": "https://packagist.org/downloads/",
|
1059 |
+
"license": [
|
1060 |
+
"BSD-3-Clause"
|
1061 |
+
],
|
1062 |
+
"authors": [
|
1063 |
+
{
|
1064 |
+
"name": "Sebastian Bergmann",
|
1065 |
+
"email": "sebastian@phpunit.de",
|
1066 |
+
"role": "lead"
|
1067 |
+
}
|
1068 |
+
],
|
1069 |
+
"description": "The PHP Unit Testing framework.",
|
1070 |
+
"homepage": "https://phpunit.de/",
|
1071 |
+
"keywords": [
|
1072 |
+
"phpunit",
|
1073 |
+
"testing",
|
1074 |
+
"xunit"
|
1075 |
+
],
|
1076 |
+
"time": "2017-06-21T08:07:12+00:00"
|
1077 |
+
},
|
1078 |
+
{
|
1079 |
+
"name": "phpunit/phpunit-mock-objects",
|
1080 |
+
"version": "2.3.0",
|
1081 |
+
"source": {
|
1082 |
+
"type": "git",
|
1083 |
+
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
|
1084 |
+
"reference": "c63d2367247365f688544f0d500af90a11a44c65"
|
1085 |
+
},
|
1086 |
+
"dist": {
|
1087 |
+
"type": "zip",
|
1088 |
+
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/c63d2367247365f688544f0d500af90a11a44c65",
|
1089 |
+
"reference": "c63d2367247365f688544f0d500af90a11a44c65",
|
1090 |
+
"shasum": ""
|
1091 |
+
},
|
1092 |
+
"require": {
|
1093 |
+
"doctrine/instantiator": "~1.0,>=1.0.1",
|
1094 |
+
"php": ">=5.3.3",
|
1095 |
+
"phpunit/php-text-template": "~1.2"
|
1096 |
+
},
|
1097 |
+
"require-dev": {
|
1098 |
+
"phpunit/phpunit": "~4.3"
|
1099 |
+
},
|
1100 |
+
"suggest": {
|
1101 |
+
"ext-soap": "*"
|
1102 |
+
},
|
1103 |
+
"type": "library",
|
1104 |
+
"extra": {
|
1105 |
+
"branch-alias": {
|
1106 |
+
"dev-master": "2.3.x-dev"
|
1107 |
+
}
|
1108 |
+
},
|
1109 |
+
"autoload": {
|
1110 |
+
"classmap": [
|
1111 |
+
"src/"
|
1112 |
+
]
|
1113 |
+
},
|
1114 |
+
"notification-url": "https://packagist.org/downloads/",
|
1115 |
+
"license": [
|
1116 |
+
"BSD-3-Clause"
|
1117 |
+
],
|
1118 |
+
"authors": [
|
1119 |
+
{
|
1120 |
+
"name": "Sebastian Bergmann",
|
1121 |
+
"email": "sb@sebastian-bergmann.de",
|
1122 |
+
"role": "lead"
|
1123 |
+
}
|
1124 |
+
],
|
1125 |
+
"description": "Mock Object library for PHPUnit",
|
1126 |
+
"homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
|
1127 |
+
"keywords": [
|
1128 |
+
"mock",
|
1129 |
+
"xunit"
|
1130 |
+
],
|
1131 |
+
"time": "2014-10-03T05:12:11+00:00"
|
1132 |
+
},
|
1133 |
+
{
|
1134 |
+
"name": "ruflin/elastica",
|
1135 |
+
"version": "2.3.1",
|
1136 |
+
"source": {
|
1137 |
+
"type": "git",
|
1138 |
+
"url": "https://github.com/ruflin/Elastica.git",
|
1139 |
+
"reference": "0df1d7b513960ba11d3075652dcd71fcab8dd37a"
|
1140 |
+
},
|
1141 |
+
"dist": {
|
1142 |
+
"type": "zip",
|
1143 |
+
"url": "https://api.github.com/repos/ruflin/Elastica/zipball/0df1d7b513960ba11d3075652dcd71fcab8dd37a",
|
1144 |
+
"reference": "0df1d7b513960ba11d3075652dcd71fcab8dd37a",
|
1145 |
+
"shasum": ""
|
1146 |
+
},
|
1147 |
+
"require": {
|
1148 |
+
"php": ">=5.3.3",
|
1149 |
+
"psr/log": "~1.0"
|
1150 |
+
},
|
1151 |
+
"require-dev": {
|
1152 |
+
"guzzlehttp/guzzle": "5.3.*",
|
1153 |
+
"munkie/elasticsearch-thrift-php": "1.4.*"
|
1154 |
+
},
|
1155 |
+
"suggest": {
|
1156 |
+
"egeloen/http-adapter": "Allow using httpadapter transport",
|
1157 |
+
"guzzlehttp/guzzle": "Allow using guzzle 5.3.x as the http transport (Requires php 5.4)",
|
1158 |
+
"monolog/monolog": "Logging request",
|
1159 |
+
"munkie/elasticsearch-thrift-php": "Allow using thrift transport"
|
1160 |
+
},
|
1161 |
+
"type": "library",
|
1162 |
+
"extra": {
|
1163 |
+
"branch-alias": {
|
1164 |
+
"dev-master": "2.2.x-dev"
|
1165 |
+
}
|
1166 |
+
},
|
1167 |
+
"autoload": {
|
1168 |
+
"psr-4": {
|
1169 |
+
"Elastica\\": "lib/Elastica/"
|
1170 |
+
}
|
1171 |
+
},
|
1172 |
+
"notification-url": "https://packagist.org/downloads/",
|
1173 |
+
"license": [
|
1174 |
+
"MIT"
|
1175 |
+
],
|
1176 |
+
"authors": [
|
1177 |
+
{
|
1178 |
+
"name": "Nicolas Ruflin",
|
1179 |
+
"homepage": "http://ruflin.com/"
|
1180 |
+
}
|
1181 |
+
],
|
1182 |
+
"description": "Elasticsearch Client",
|
1183 |
+
"homepage": "http://elastica.io/",
|
1184 |
+
"keywords": [
|
1185 |
+
"client",
|
1186 |
+
"search"
|
1187 |
+
],
|
1188 |
+
"time": "2015-10-19T07:09:10+00:00"
|
1189 |
+
},
|
1190 |
+
{
|
1191 |
+
"name": "sebastian/comparator",
|
1192 |
+
"version": "1.2.4",
|
1193 |
+
"source": {
|
1194 |
+
"type": "git",
|
1195 |
+
"url": "https://github.com/sebastianbergmann/comparator.git",
|
1196 |
+
"reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"
|
1197 |
+
},
|
1198 |
+
"dist": {
|
1199 |
+
"type": "zip",
|
1200 |
+
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
|
1201 |
+
"reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
|
1202 |
+
"shasum": ""
|
1203 |
+
},
|
1204 |
+
"require": {
|
1205 |
+
"php": ">=5.3.3",
|
1206 |
+
"sebastian/diff": "~1.2",
|
1207 |
+
"sebastian/exporter": "~1.2 || ~2.0"
|
1208 |
+
},
|
1209 |
+
"require-dev": {
|
1210 |
+
"phpunit/phpunit": "~4.4"
|
1211 |
+
},
|
1212 |
+
"type": "library",
|
1213 |
+
"extra": {
|
1214 |
+
"branch-alias": {
|
1215 |
+
"dev-master": "1.2.x-dev"
|
1216 |
+
}
|
1217 |
+
},
|
1218 |
+
"autoload": {
|
1219 |
+
"classmap": [
|
1220 |
+
"src/"
|
1221 |
+
]
|
1222 |
+
},
|
1223 |
+
"notification-url": "https://packagist.org/downloads/",
|
1224 |
+
"license": [
|
1225 |
+
"BSD-3-Clause"
|
1226 |
+
],
|
1227 |
+
"authors": [
|
1228 |
+
{
|
1229 |
+
"name": "Jeff Welch",
|
1230 |
+
"email": "whatthejeff@gmail.com"
|
1231 |
+
},
|
1232 |
+
{
|
1233 |
+
"name": "Volker Dusch",
|
1234 |
+
"email": "github@wallbash.com"
|
1235 |
+
},
|
1236 |
+
{
|
1237 |
+
"name": "Bernhard Schussek",
|
1238 |
+
"email": "bschussek@2bepublished.at"
|
1239 |
+
},
|
1240 |
+
{
|
1241 |
+
"name": "Sebastian Bergmann",
|
1242 |
+
"email": "sebastian@phpunit.de"
|
1243 |
+
}
|
1244 |
+
],
|
1245 |
+
"description": "Provides the functionality to compare PHP values for equality",
|
1246 |
+
"homepage": "http://www.github.com/sebastianbergmann/comparator",
|
1247 |
+
"keywords": [
|
1248 |
+
"comparator",
|
1249 |
+
"compare",
|
1250 |
+
"equality"
|
1251 |
+
],
|
1252 |
+
"time": "2017-01-29T09:50:25+00:00"
|
1253 |
+
},
|
1254 |
+
{
|
1255 |
+
"name": "sebastian/diff",
|
1256 |
+
"version": "1.4.3",
|
1257 |
+
"source": {
|
1258 |
+
"type": "git",
|
1259 |
+
"url": "https://github.com/sebastianbergmann/diff.git",
|
1260 |
+
"reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4"
|
1261 |
+
},
|
1262 |
+
"dist": {
|
1263 |
+
"type": "zip",
|
1264 |
+
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4",
|
1265 |
+
"reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4",
|
1266 |
+
"shasum": ""
|
1267 |
+
},
|
1268 |
+
"require": {
|
1269 |
+
"php": "^5.3.3 || ^7.0"
|
1270 |
+
},
|
1271 |
+
"require-dev": {
|
1272 |
+
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
|
1273 |
+
},
|
1274 |
+
"type": "library",
|
1275 |
+
"extra": {
|
1276 |
+
"branch-alias": {
|
1277 |
+
"dev-master": "1.4-dev"
|
1278 |
+
}
|
1279 |
+
},
|
1280 |
+
"autoload": {
|
1281 |
+
"classmap": [
|
1282 |
+
"src/"
|
1283 |
+
]
|
1284 |
+
},
|
1285 |
+
"notification-url": "https://packagist.org/downloads/",
|
1286 |
+
"license": [
|
1287 |
+
"BSD-3-Clause"
|
1288 |
+
],
|
1289 |
+
"authors": [
|
1290 |
+
{
|
1291 |
+
"name": "Kore Nordmann",
|
1292 |
+
"email": "mail@kore-nordmann.de"
|
1293 |
+
},
|
1294 |
+
{
|
1295 |
+
"name": "Sebastian Bergmann",
|
1296 |
+
"email": "sebastian@phpunit.de"
|
1297 |
+
}
|
1298 |
+
],
|
1299 |
+
"description": "Diff implementation",
|
1300 |
+
"homepage": "https://github.com/sebastianbergmann/diff",
|
1301 |
+
"keywords": [
|
1302 |
+
"diff"
|
1303 |
+
],
|
1304 |
+
"time": "2017-05-22T07:24:03+00:00"
|
1305 |
+
},
|
1306 |
+
{
|
1307 |
+
"name": "sebastian/environment",
|
1308 |
+
"version": "1.3.8",
|
1309 |
+
"source": {
|
1310 |
+
"type": "git",
|
1311 |
+
"url": "https://github.com/sebastianbergmann/environment.git",
|
1312 |
+
"reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea"
|
1313 |
+
},
|
1314 |
+
"dist": {
|
1315 |
+
"type": "zip",
|
1316 |
+
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea",
|
1317 |
+
"reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea",
|
1318 |
+
"shasum": ""
|
1319 |
+
},
|
1320 |
+
"require": {
|
1321 |
+
"php": "^5.3.3 || ^7.0"
|
1322 |
+
},
|
1323 |
+
"require-dev": {
|
1324 |
+
"phpunit/phpunit": "^4.8 || ^5.0"
|
1325 |
+
},
|
1326 |
+
"type": "library",
|
1327 |
+
"extra": {
|
1328 |
+
"branch-alias": {
|
1329 |
+
"dev-master": "1.3.x-dev"
|
1330 |
+
}
|
1331 |
+
},
|
1332 |
+
"autoload": {
|
1333 |
+
"classmap": [
|
1334 |
+
"src/"
|
1335 |
+
]
|
1336 |
+
},
|
1337 |
+
"notification-url": "https://packagist.org/downloads/",
|
1338 |
+
"license": [
|
1339 |
+
"BSD-3-Clause"
|
1340 |
+
],
|
1341 |
+
"authors": [
|
1342 |
+
{
|
1343 |
+
"name": "Sebastian Bergmann",
|
1344 |
+
"email": "sebastian@phpunit.de"
|
1345 |
+
}
|
1346 |
+
],
|
1347 |
+
"description": "Provides functionality to handle HHVM/PHP environments",
|
1348 |
+
"homepage": "http://www.github.com/sebastianbergmann/environment",
|
1349 |
+
"keywords": [
|
1350 |
+
"Xdebug",
|
1351 |
+
"environment",
|
1352 |
+
"hhvm"
|
1353 |
+
],
|
1354 |
+
"time": "2016-08-18T05:49:44+00:00"
|
1355 |
+
},
|
1356 |
+
{
|
1357 |
+
"name": "sebastian/exporter",
|
1358 |
+
"version": "1.2.2",
|
1359 |
+
"source": {
|
1360 |
+
"type": "git",
|
1361 |
+
"url": "https://github.com/sebastianbergmann/exporter.git",
|
1362 |
+
"reference": "42c4c2eec485ee3e159ec9884f95b431287edde4"
|
1363 |
+
},
|
1364 |
+
"dist": {
|
1365 |
+
"type": "zip",
|
1366 |
+
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4",
|
1367 |
+
"reference": "42c4c2eec485ee3e159ec9884f95b431287edde4",
|
1368 |
+
"shasum": ""
|
1369 |
+
},
|
1370 |
+
"require": {
|
1371 |
+
"php": ">=5.3.3",
|
1372 |
+
"sebastian/recursion-context": "~1.0"
|
1373 |
+
},
|
1374 |
+
"require-dev": {
|
1375 |
+
"ext-mbstring": "*",
|
1376 |
+
"phpunit/phpunit": "~4.4"
|
1377 |
+
},
|
1378 |
+
"type": "library",
|
1379 |
+
"extra": {
|
1380 |
+
"branch-alias": {
|
1381 |
+
"dev-master": "1.3.x-dev"
|
1382 |
+
}
|
1383 |
+
},
|
1384 |
+
"autoload": {
|
1385 |
+
"classmap": [
|
1386 |
+
"src/"
|
1387 |
+
]
|
1388 |
+
},
|
1389 |
+
"notification-url": "https://packagist.org/downloads/",
|
1390 |
+
"license": [
|
1391 |
+
"BSD-3-Clause"
|
1392 |
+
],
|
1393 |
+
"authors": [
|
1394 |
+
{
|
1395 |
+
"name": "Jeff Welch",
|
1396 |
+
"email": "whatthejeff@gmail.com"
|
1397 |
+
},
|
1398 |
+
{
|
1399 |
+
"name": "Volker Dusch",
|
1400 |
+
"email": "github@wallbash.com"
|
1401 |
+
},
|
1402 |
+
{
|
1403 |
+
"name": "Bernhard Schussek",
|
1404 |
+
"email": "bschussek@2bepublished.at"
|
1405 |
+
},
|
1406 |
+
{
|
1407 |
+
"name": "Sebastian Bergmann",
|
1408 |
+
"email": "sebastian@phpunit.de"
|
1409 |
+
},
|
1410 |
+
{
|
1411 |
+
"name": "Adam Harvey",
|
1412 |
+
"email": "aharvey@php.net"
|
1413 |
+
}
|
1414 |
+
],
|
1415 |
+
"description": "Provides the functionality to export PHP variables for visualization",
|
1416 |
+
"homepage": "http://www.github.com/sebastianbergmann/exporter",
|
1417 |
+
"keywords": [
|
1418 |
+
"export",
|
1419 |
+
"exporter"
|
1420 |
+
],
|
1421 |
+
"time": "2016-06-17T09:04:28+00:00"
|
1422 |
+
},
|
1423 |
+
{
|
1424 |
+
"name": "sebastian/global-state",
|
1425 |
+
"version": "1.1.1",
|
1426 |
+
"source": {
|
1427 |
+
"type": "git",
|
1428 |
+
"url": "https://github.com/sebastianbergmann/global-state.git",
|
1429 |
+
"reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
|
1430 |
+
},
|
1431 |
+
"dist": {
|
1432 |
+
"type": "zip",
|
1433 |
+
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
|
1434 |
+
"reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
|
1435 |
+
"shasum": ""
|
1436 |
+
},
|
1437 |
+
"require": {
|
1438 |
+
"php": ">=5.3.3"
|
1439 |
+
},
|
1440 |
+
"require-dev": {
|
1441 |
+
"phpunit/phpunit": "~4.2"
|
1442 |
+
},
|
1443 |
+
"suggest": {
|
1444 |
+
"ext-uopz": "*"
|
1445 |
+
},
|
1446 |
+
"type": "library",
|
1447 |
+
"extra": {
|
1448 |
+
"branch-alias": {
|
1449 |
+
"dev-master": "1.0-dev"
|
1450 |
+
}
|
1451 |
+
},
|
1452 |
+
"autoload": {
|
1453 |
+
"classmap": [
|
1454 |
+
"src/"
|
1455 |
+
]
|
1456 |
+
},
|
1457 |
+
"notification-url": "https://packagist.org/downloads/",
|
1458 |
+
"license": [
|
1459 |
+
"BSD-3-Clause"
|
1460 |
+
],
|
1461 |
+
"authors": [
|
1462 |
+
{
|
1463 |
+
"name": "Sebastian Bergmann",
|
1464 |
+
"email": "sebastian@phpunit.de"
|
1465 |
+
}
|
1466 |
+
],
|
1467 |
+
"description": "Snapshotting of global state",
|
1468 |
+
"homepage": "http://www.github.com/sebastianbergmann/global-state",
|
1469 |
+
"keywords": [
|
1470 |
+
"global state"
|
1471 |
+
],
|
1472 |
+
"time": "2015-10-12T03:26:01+00:00"
|
1473 |
+
},
|
1474 |
+
{
|
1475 |
+
"name": "sebastian/recursion-context",
|
1476 |
+
"version": "1.0.5",
|
1477 |
+
"source": {
|
1478 |
+
"type": "git",
|
1479 |
+
"url": "https://github.com/sebastianbergmann/recursion-context.git",
|
1480 |
+
"reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7"
|
1481 |
+
},
|
1482 |
+
"dist": {
|
1483 |
+
"type": "zip",
|
1484 |
+
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
|
1485 |
+
"reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
|
1486 |
+
"shasum": ""
|
1487 |
+
},
|
1488 |
+
"require": {
|
1489 |
+
"php": ">=5.3.3"
|
1490 |
+
},
|
1491 |
+
"require-dev": {
|
1492 |
+
"phpunit/phpunit": "~4.4"
|
1493 |
+
},
|
1494 |
+
"type": "library",
|
1495 |
+
"extra": {
|
1496 |
+
"branch-alias": {
|
1497 |
+
"dev-master": "1.0.x-dev"
|
1498 |
+
}
|
1499 |
+
},
|
1500 |
+
"autoload": {
|
1501 |
+
"classmap": [
|
1502 |
+
"src/"
|
1503 |
+
]
|
1504 |
+
},
|
1505 |
+
"notification-url": "https://packagist.org/downloads/",
|
1506 |
+
"license": [
|
1507 |
+
"BSD-3-Clause"
|
1508 |
+
],
|
1509 |
+
"authors": [
|
1510 |
+
{
|
1511 |
+
"name": "Jeff Welch",
|
1512 |
+
"email": "whatthejeff@gmail.com"
|
1513 |
+
},
|
1514 |
+
{
|
1515 |
+
"name": "Sebastian Bergmann",
|
1516 |
+
"email": "sebastian@phpunit.de"
|
1517 |
+
},
|
1518 |
+
{
|
1519 |
+
"name": "Adam Harvey",
|
1520 |
+
"email": "aharvey@php.net"
|
1521 |
+
}
|
1522 |
+
],
|
1523 |
+
"description": "Provides functionality to recursively process PHP variables",
|
1524 |
+
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
|
1525 |
+
"time": "2016-10-03T07:41:43+00:00"
|
1526 |
+
},
|
1527 |
+
{
|
1528 |
+
"name": "sebastian/version",
|
1529 |
+
"version": "1.0.6",
|
1530 |
+
"source": {
|
1531 |
+
"type": "git",
|
1532 |
+
"url": "https://github.com/sebastianbergmann/version.git",
|
1533 |
+
"reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
|
1534 |
+
},
|
1535 |
+
"dist": {
|
1536 |
+
"type": "zip",
|
1537 |
+
"url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
|
1538 |
+
"reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
|
1539 |
+
"shasum": ""
|
1540 |
+
},
|
1541 |
+
"type": "library",
|
1542 |
+
"autoload": {
|
1543 |
+
"classmap": [
|
1544 |
+
"src/"
|
1545 |
+
]
|
1546 |
+
},
|
1547 |
+
"notification-url": "https://packagist.org/downloads/",
|
1548 |
+
"license": [
|
1549 |
+
"BSD-3-Clause"
|
1550 |
+
],
|
1551 |
+
"authors": [
|
1552 |
+
{
|
1553 |
+
"name": "Sebastian Bergmann",
|
1554 |
+
"email": "sebastian@phpunit.de",
|
1555 |
+
"role": "lead"
|
1556 |
+
}
|
1557 |
+
],
|
1558 |
+
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
|
1559 |
+
"homepage": "https://github.com/sebastianbergmann/version",
|
1560 |
+
"time": "2015-06-21T13:59:46+00:00"
|
1561 |
+
},
|
1562 |
+
{
|
1563 |
+
"name": "sentry/sentry",
|
1564 |
+
"version": "0.13.0",
|
1565 |
+
"source": {
|
1566 |
+
"type": "git",
|
1567 |
+
"url": "https://github.com/getsentry/sentry-php.git",
|
1568 |
+
"reference": "1d5be07afc001df98a3528d1f928eeb2241afce6"
|
1569 |
+
},
|
1570 |
+
"dist": {
|
1571 |
+
"type": "zip",
|
1572 |
+
"url": "https://api.github.com/repos/getsentry/sentry-php/zipball/1d5be07afc001df98a3528d1f928eeb2241afce6",
|
1573 |
+
"reference": "1d5be07afc001df98a3528d1f928eeb2241afce6",
|
1574 |
+
"shasum": ""
|
1575 |
+
},
|
1576 |
+
"require": {
|
1577 |
+
"ext-curl": "*",
|
1578 |
+
"php": ">=5.2.4"
|
1579 |
+
},
|
1580 |
+
"require-dev": {
|
1581 |
+
"fabpot/php-cs-fixer": "^1.8.0",
|
1582 |
+
"phpunit/phpunit": "^4.6.6"
|
1583 |
+
},
|
1584 |
+
"bin": [
|
1585 |
+
"bin/raven"
|
1586 |
+
],
|
1587 |
+
"type": "library",
|
1588 |
+
"extra": {
|
1589 |
+
"branch-alias": {
|
1590 |
+
"dev-master": "0.13.x-dev"
|
1591 |
+
}
|
1592 |
+
},
|
1593 |
+
"autoload": {
|
1594 |
+
"psr-0": {
|
1595 |
+
"Raven_": "lib/"
|
1596 |
+
}
|
1597 |
+
},
|
1598 |
+
"notification-url": "https://packagist.org/downloads/",
|
1599 |
+
"license": [
|
1600 |
+
"BSD"
|
1601 |
+
],
|
1602 |
+
"authors": [
|
1603 |
+
{
|
1604 |
+
"name": "David Cramer",
|
1605 |
+
"email": "dcramer@gmail.com"
|
1606 |
+
}
|
1607 |
+
],
|
1608 |
+
"description": "A PHP client for Sentry (http://getsentry.com)",
|
1609 |
+
"homepage": "http://getsentry.com",
|
1610 |
+
"keywords": [
|
1611 |
+
"log",
|
1612 |
+
"logging"
|
1613 |
+
],
|
1614 |
+
"time": "2015-09-09T18:12:58+00:00"
|
1615 |
+
},
|
1616 |
+
{
|
1617 |
+
"name": "swiftmailer/swiftmailer",
|
1618 |
+
"version": "v5.4.9",
|
1619 |
+
"source": {
|
1620 |
+
"type": "git",
|
1621 |
+
"url": "https://github.com/swiftmailer/swiftmailer.git",
|
1622 |
+
"reference": "7ffc1ea296ed14bf8260b6ef11b80208dbadba91"
|
1623 |
+
},
|
1624 |
+
"dist": {
|
1625 |
+
"type": "zip",
|
1626 |
+
"url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/7ffc1ea296ed14bf8260b6ef11b80208dbadba91",
|
1627 |
+
"reference": "7ffc1ea296ed14bf8260b6ef11b80208dbadba91",
|
1628 |
+
"shasum": ""
|
1629 |
+
},
|
1630 |
+
"require": {
|
1631 |
+
"php": ">=5.3.3"
|
1632 |
+
},
|
1633 |
+
"require-dev": {
|
1634 |
+
"mockery/mockery": "~0.9.1",
|
1635 |
+
"symfony/phpunit-bridge": "~3.2"
|
1636 |
+
},
|
1637 |
+
"type": "library",
|
1638 |
+
"extra": {
|
1639 |
+
"branch-alias": {
|
1640 |
+
"dev-master": "5.4-dev"
|
1641 |
+
}
|
1642 |
+
},
|
1643 |
+
"autoload": {
|
1644 |
+
"files": [
|
1645 |
+
"lib/swift_required.php"
|
1646 |
+
]
|
1647 |
+
},
|
1648 |
+
"notification-url": "https://packagist.org/downloads/",
|
1649 |
+
"license": [
|
1650 |
+
"MIT"
|
1651 |
+
],
|
1652 |
+
"authors": [
|
1653 |
+
{
|
1654 |
+
"name": "Chris Corbyn"
|
1655 |
+
},
|
1656 |
+
{
|
1657 |
+
"name": "Fabien Potencier",
|
1658 |
+
"email": "fabien@symfony.com"
|
1659 |
+
}
|
1660 |
+
],
|
1661 |
+
"description": "Swiftmailer, free feature-rich PHP mailer",
|
1662 |
+
"homepage": "https://swiftmailer.symfony.com",
|
1663 |
+
"keywords": [
|
1664 |
+
"email",
|
1665 |
+
"mail",
|
1666 |
+
"mailer"
|
1667 |
+
],
|
1668 |
+
"time": "2018-01-23T07:37:21+00:00"
|
1669 |
+
},
|
1670 |
+
{
|
1671 |
+
"name": "symfony/event-dispatcher",
|
1672 |
+
"version": "v2.8.36",
|
1673 |
+
"source": {
|
1674 |
+
"type": "git",
|
1675 |
+
"url": "https://github.com/symfony/event-dispatcher.git",
|
1676 |
+
"reference": "f5d2d7dcc33b89e20c2696ea9afcbddf6540081c"
|
1677 |
+
},
|
1678 |
+
"dist": {
|
1679 |
+
"type": "zip",
|
1680 |
+
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/f5d2d7dcc33b89e20c2696ea9afcbddf6540081c",
|
1681 |
+
"reference": "f5d2d7dcc33b89e20c2696ea9afcbddf6540081c",
|
1682 |
+
"shasum": ""
|
1683 |
+
},
|
1684 |
+
"require": {
|
1685 |
+
"php": ">=5.3.9"
|
1686 |
+
},
|
1687 |
+
"require-dev": {
|
1688 |
+
"psr/log": "~1.0",
|
1689 |
+
"symfony/config": "^2.0.5|~3.0.0",
|
1690 |
+
"symfony/dependency-injection": "~2.6|~3.0.0",
|
1691 |
+
"symfony/expression-language": "~2.6|~3.0.0",
|
1692 |
+
"symfony/stopwatch": "~2.3|~3.0.0"
|
1693 |
+
},
|
1694 |
+
"suggest": {
|
1695 |
+
"symfony/dependency-injection": "",
|
1696 |
+
"symfony/http-kernel": ""
|
1697 |
+
},
|
1698 |
+
"type": "library",
|
1699 |
+
"extra": {
|
1700 |
+
"branch-alias": {
|
1701 |
+
"dev-master": "2.8-dev"
|
1702 |
+
}
|
1703 |
+
},
|
1704 |
+
"autoload": {
|
1705 |
+
"psr-4": {
|
1706 |
+
"Symfony\\Component\\EventDispatcher\\": ""
|
1707 |
+
},
|
1708 |
+
"exclude-from-classmap": [
|
1709 |
+
"/Tests/"
|
1710 |
+
]
|
1711 |
+
},
|
1712 |
+
"notification-url": "https://packagist.org/downloads/",
|
1713 |
+
"license": [
|
1714 |
+
"MIT"
|
1715 |
+
],
|
1716 |
+
"authors": [
|
1717 |
+
{
|
1718 |
+
"name": "Fabien Potencier",
|
1719 |
+
"email": "fabien@symfony.com"
|
1720 |
+
},
|
1721 |
+
{
|
1722 |
+
"name": "Symfony Community",
|
1723 |
+
"homepage": "https://symfony.com/contributors"
|
1724 |
+
}
|
1725 |
+
],
|
1726 |
+
"description": "Symfony EventDispatcher Component",
|
1727 |
+
"homepage": "https://symfony.com",
|
1728 |
+
"time": "2018-02-11T16:53:59+00:00"
|
1729 |
+
},
|
1730 |
+
{
|
1731 |
+
"name": "symfony/yaml",
|
1732 |
+
"version": "v3.4.6",
|
1733 |
+
"source": {
|
1734 |
+
"type": "git",
|
1735 |
+
"url": "https://github.com/symfony/yaml.git",
|
1736 |
+
"reference": "6af42631dcf89e9c616242c900d6c52bd53bd1bb"
|
1737 |
+
},
|
1738 |
+
"dist": {
|
1739 |
+
"type": "zip",
|
1740 |
+
"url": "https://api.github.com/repos/symfony/yaml/zipball/6af42631dcf89e9c616242c900d6c52bd53bd1bb",
|
1741 |
+
"reference": "6af42631dcf89e9c616242c900d6c52bd53bd1bb",
|
1742 |
+
"shasum": ""
|
1743 |
+
},
|
1744 |
+
"require": {
|
1745 |
+
"php": "^5.5.9|>=7.0.8"
|
1746 |
+
},
|
1747 |
+
"conflict": {
|
1748 |
+
"symfony/console": "<3.4"
|
1749 |
+
},
|
1750 |
+
"require-dev": {
|
1751 |
+
"symfony/console": "~3.4|~4.0"
|
1752 |
+
},
|
1753 |
+
"suggest": {
|
1754 |
+
"symfony/console": "For validating YAML files using the lint command"
|
1755 |
+
},
|
1756 |
+
"type": "library",
|
1757 |
+
"extra": {
|
1758 |
+
"branch-alias": {
|
1759 |
+
"dev-master": "3.4-dev"
|
1760 |
+
}
|
1761 |
+
},
|
1762 |
+
"autoload": {
|
1763 |
+
"psr-4": {
|
1764 |
+
"Symfony\\Component\\Yaml\\": ""
|
1765 |
+
},
|
1766 |
+
"exclude-from-classmap": [
|
1767 |
+
"/Tests/"
|
1768 |
+
]
|
1769 |
+
},
|
1770 |
+
"notification-url": "https://packagist.org/downloads/",
|
1771 |
+
"license": [
|
1772 |
+
"MIT"
|
1773 |
+
],
|
1774 |
+
"authors": [
|
1775 |
+
{
|
1776 |
+
"name": "Fabien Potencier",
|
1777 |
+
"email": "fabien@symfony.com"
|
1778 |
+
},
|
1779 |
+
{
|
1780 |
+
"name": "Symfony Community",
|
1781 |
+
"homepage": "https://symfony.com/contributors"
|
1782 |
+
}
|
1783 |
+
],
|
1784 |
+
"description": "Symfony Yaml Component",
|
1785 |
+
"homepage": "https://symfony.com",
|
1786 |
+
"time": "2018-02-16T09:50:28+00:00"
|
1787 |
+
},
|
1788 |
+
{
|
1789 |
+
"name": "webmozart/assert",
|
1790 |
+
"version": "1.3.0",
|
1791 |
+
"source": {
|
1792 |
+
"type": "git",
|
1793 |
+
"url": "https://github.com/webmozart/assert.git",
|
1794 |
+
"reference": "0df1908962e7a3071564e857d86874dad1ef204a"
|
1795 |
+
},
|
1796 |
+
"dist": {
|
1797 |
+
"type": "zip",
|
1798 |
+
"url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a",
|
1799 |
+
"reference": "0df1908962e7a3071564e857d86874dad1ef204a",
|
1800 |
+
"shasum": ""
|
1801 |
+
},
|
1802 |
+
"require": {
|
1803 |
+
"php": "^5.3.3 || ^7.0"
|
1804 |
+
},
|
1805 |
+
"require-dev": {
|
1806 |
+
"phpunit/phpunit": "^4.6",
|
1807 |
+
"sebastian/version": "^1.0.1"
|
1808 |
+
},
|
1809 |
+
"type": "library",
|
1810 |
+
"extra": {
|
1811 |
+
"branch-alias": {
|
1812 |
+
"dev-master": "1.3-dev"
|
1813 |
+
}
|
1814 |
+
},
|
1815 |
+
"autoload": {
|
1816 |
+
"psr-4": {
|
1817 |
+
"Webmozart\\Assert\\": "src/"
|
1818 |
+
}
|
1819 |
+
},
|
1820 |
+
"notification-url": "https://packagist.org/downloads/",
|
1821 |
+
"license": [
|
1822 |
+
"MIT"
|
1823 |
+
],
|
1824 |
+
"authors": [
|
1825 |
+
{
|
1826 |
+
"name": "Bernhard Schussek",
|
1827 |
+
"email": "bschussek@gmail.com"
|
1828 |
+
}
|
1829 |
+
],
|
1830 |
+
"description": "Assertions to validate method input/output with nice error messages.",
|
1831 |
+
"keywords": [
|
1832 |
+
"assert",
|
1833 |
+
"check",
|
1834 |
+
"validate"
|
1835 |
+
],
|
1836 |
+
"time": "2018-01-29T19:49:41+00:00"
|
1837 |
+
}
|
1838 |
+
],
|
1839 |
+
"aliases": [],
|
1840 |
+
"minimum-stability": "stable",
|
1841 |
+
"stability-flags": {
|
1842 |
+
"doctrine/couchdb": 20
|
1843 |
+
},
|
1844 |
+
"prefer-stable": false,
|
1845 |
+
"prefer-lowest": false,
|
1846 |
+
"platform": {
|
1847 |
+
"php": ">=5.3.0"
|
1848 |
+
},
|
1849 |
+
"platform-dev": []
|
1850 |
+
}
|
vendor/monolog/monolog/doc/01-usage.md
ADDED
@@ -0,0 +1,231 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Using Monolog
|
2 |
+
|
3 |
+
- [Installation](#installation)
|
4 |
+
- [Core Concepts](#core-concepts)
|
5 |
+
- [Log Levels](#log-levels)
|
6 |
+
- [Configuring a logger](#configuring-a-logger)
|
7 |
+
- [Adding extra data in the records](#adding-extra-data-in-the-records)
|
8 |
+
- [Leveraging channels](#leveraging-channels)
|
9 |
+
- [Customizing the log format](#customizing-the-log-format)
|
10 |
+
|
11 |
+
## Installation
|
12 |
+
|
13 |
+
Monolog is available on Packagist ([monolog/monolog](http://packagist.org/packages/monolog/monolog))
|
14 |
+
and as such installable via [Composer](http://getcomposer.org/).
|
15 |
+
|
16 |
+
```bash
|
17 |
+
composer require monolog/monolog
|
18 |
+
```
|
19 |
+
|
20 |
+
If you do not use Composer, you can grab the code from GitHub, and use any
|
21 |
+
PSR-0 compatible autoloader (e.g. the [Symfony2 ClassLoader component](https://github.com/symfony/ClassLoader))
|
22 |
+
to load Monolog classes.
|
23 |
+
|
24 |
+
## Core Concepts
|
25 |
+
|
26 |
+
Every `Logger` instance has a channel (name) and a stack of handlers. Whenever
|
27 |
+
you add a record to the logger, it traverses the handler stack. Each handler
|
28 |
+
decides whether it fully handled the record, and if so, the propagation of the
|
29 |
+
record ends there.
|
30 |
+
|
31 |
+
This allows for flexible logging setups, for example having a `StreamHandler` at
|
32 |
+
the bottom of the stack that will log anything to disk, and on top of that add
|
33 |
+
a `MailHandler` that will send emails only when an error message is logged.
|
34 |
+
Handlers also have a `$bubble` property which defines whether they block the
|
35 |
+
record or not if they handled it. In this example, setting the `MailHandler`'s
|
36 |
+
`$bubble` argument to false means that records handled by the `MailHandler` will
|
37 |
+
not propagate to the `StreamHandler` anymore.
|
38 |
+
|
39 |
+
You can create many `Logger`s, each defining a channel (e.g.: db, request,
|
40 |
+
router, ..) and each of them combining various handlers, which can be shared
|
41 |
+
or not. The channel is reflected in the logs and allows you to easily see or
|
42 |
+
filter records.
|
43 |
+
|
44 |
+
Each Handler also has a Formatter, a default one with settings that make sense
|
45 |
+
will be created if you don't set one. The formatters normalize and format
|
46 |
+
incoming records so that they can be used by the handlers to output useful
|
47 |
+
information.
|
48 |
+
|
49 |
+
Custom severity levels are not available. Only the eight
|
50 |
+
[RFC 5424](http://tools.ietf.org/html/rfc5424) levels (debug, info, notice,
|
51 |
+
warning, error, critical, alert, emergency) are present for basic filtering
|
52 |
+
purposes, but for sorting and other use cases that would require
|
53 |
+
flexibility, you should add Processors to the Logger that can add extra
|
54 |
+
information (tags, user ip, ..) to the records bef
|