Changeset 3044845
- Timestamp:
- 03/04/2024 08:59:40 AM (23 months ago)
- Location:
- control-block-patterns
- Files:
-
- 558 added
- 4 edited
-
tags/1.3.5.5 (added)
-
tags/1.3.5.5/assets (added)
-
tags/1.3.5.5/assets/about (added)
-
tags/1.3.5.5/assets/about/css (added)
-
tags/1.3.5.5/assets/about/css/about.css (added)
-
tags/1.3.5.5/assets/about/images (added)
-
tags/1.3.5.5/assets/about/images/control-block-patterns.svg (added)
-
tags/1.3.5.5/assets/about/js (added)
-
tags/1.3.5.5/assets/about/js/about.js (added)
-
tags/1.3.5.5/assets/css (added)
-
tags/1.3.5.5/assets/css/admin-theme.css (added)
-
tags/1.3.5.5/assets/css/admin-theme.css.map (added)
-
tags/1.3.5.5/assets/css/admin-theme.min.css (added)
-
tags/1.3.5.5/assets/css/admin-theme.min.css.map (added)
-
tags/1.3.5.5/assets/css/blocks.css (added)
-
tags/1.3.5.5/assets/css/control-block-patterns.css (added)
-
tags/1.3.5.5/assets/css/ctrlbp-admin-rtl.css (added)
-
tags/1.3.5.5/assets/css/ctrlbp-admin-rtl.css.map (added)
-
tags/1.3.5.5/assets/css/ctrlbp-admin-rtl.min.css (added)
-
tags/1.3.5.5/assets/css/ctrlbp-admin-rtl.min.css.map (added)
-
tags/1.3.5.5/assets/css/ctrlbp-admin.css (added)
-
tags/1.3.5.5/assets/css/ctrlbp-admin.css.map (added)
-
tags/1.3.5.5/assets/css/ctrlbp-admin.min.css (added)
-
tags/1.3.5.5/assets/css/ctrlbp-admin.min.css.map (added)
-
tags/1.3.5.5/assets/css/customizer.css (added)
-
tags/1.3.5.5/assets/css/directory.css (added)
-
tags/1.3.5.5/assets/css/google-fonts (added)
-
tags/1.3.5.5/assets/css/google-fonts/jquery.fontselect.css (added)
-
tags/1.3.5.5/assets/css/icon-picker (added)
-
tags/1.3.5.5/assets/css/icon-picker/all.min.css (added)
-
tags/1.3.5.5/assets/css/icon-picker/bootstrap-iconpicker.min.css (added)
-
tags/1.3.5.5/assets/css/jqueryui (added)
-
tags/1.3.5.5/assets/css/jqueryui/core.css (added)
-
tags/1.3.5.5/assets/css/jqueryui/datepicker.css (added)
-
tags/1.3.5.5/assets/css/jqueryui/jquery-ui-timepicker-addon.min.css (added)
-
tags/1.3.5.5/assets/css/jqueryui/slider.css (added)
-
tags/1.3.5.5/assets/css/jqueryui/theme.css (added)
-
tags/1.3.5.5/assets/css/list.css (added)
-
tags/1.3.5.5/assets/css/select2 (added)
-
tags/1.3.5.5/assets/css/select2/select2.css (added)
-
tags/1.3.5.5/assets/css/settings.css (added)
-
tags/1.3.5.5/assets/css/term-meta.css (added)
-
tags/1.3.5.5/assets/css/webfonts (added)
-
tags/1.3.5.5/assets/css/webfonts/fa-brands-400.eot (added)
-
tags/1.3.5.5/assets/css/webfonts/fa-brands-400.svg (added)
-
tags/1.3.5.5/assets/css/webfonts/fa-brands-400.ttf (added)
-
tags/1.3.5.5/assets/css/webfonts/fa-brands-400.woff (added)
-
tags/1.3.5.5/assets/css/webfonts/fa-brands-400.woff2 (added)
-
tags/1.3.5.5/assets/css/webfonts/fa-regular-400.eot (added)
-
tags/1.3.5.5/assets/css/webfonts/fa-regular-400.svg (added)
-
tags/1.3.5.5/assets/css/webfonts/fa-regular-400.ttf (added)
-
tags/1.3.5.5/assets/css/webfonts/fa-regular-400.woff (added)
-
tags/1.3.5.5/assets/css/webfonts/fa-regular-400.woff2 (added)
-
tags/1.3.5.5/assets/css/webfonts/fa-solid-900.eot (added)
-
tags/1.3.5.5/assets/css/webfonts/fa-solid-900.svg (added)
-
tags/1.3.5.5/assets/css/webfonts/fa-solid-900.ttf (added)
-
tags/1.3.5.5/assets/css/webfonts/fa-solid-900.woff (added)
-
tags/1.3.5.5/assets/css/webfonts/fa-solid-900.woff2 (added)
-
tags/1.3.5.5/assets/img (added)
-
tags/1.3.5.5/assets/img/cbp-logo-white.png (added)
-
tags/1.3.5.5/assets/img/cbp-logo-white.svg (added)
-
tags/1.3.5.5/assets/img/cbp-logo.svg (added)
-
tags/1.3.5.5/assets/img/drag_icon.gif (added)
-
tags/1.3.5.5/assets/img/jqueryui (added)
-
tags/1.3.5.5/assets/img/jqueryui/ui-bg_flat_0_aaaaaa_40x100.png (added)
-
tags/1.3.5.5/assets/img/jqueryui/ui-bg_flat_75_ffffff_40x100.png (added)
-
tags/1.3.5.5/assets/img/jqueryui/ui-bg_glass_55_fbf9ee_1x400.png (added)
-
tags/1.3.5.5/assets/img/jqueryui/ui-bg_glass_65_ffffff_1x400.png (added)
-
tags/1.3.5.5/assets/img/jqueryui/ui-bg_glass_75_dadada_1x400.png (added)
-
tags/1.3.5.5/assets/img/jqueryui/ui-bg_glass_75_e6e6e6_1x400.png (added)
-
tags/1.3.5.5/assets/img/jqueryui/ui-bg_glass_95_fef1ec_1x400.png (added)
-
tags/1.3.5.5/assets/img/jqueryui/ui-bg_highlight-soft_75_cccccc_1x100.png (added)
-
tags/1.3.5.5/assets/img/jqueryui/ui-icons_222222_256x240.png (added)
-
tags/1.3.5.5/assets/img/jqueryui/ui-icons_2e83ff_256x240.png (added)
-
tags/1.3.5.5/assets/img/jqueryui/ui-icons_454545_256x240.png (added)
-
tags/1.3.5.5/assets/img/jqueryui/ui-icons_888888_256x240.png (added)
-
tags/1.3.5.5/assets/img/jqueryui/ui-icons_cd0a0a_256x240.png (added)
-
tags/1.3.5.5/assets/img/layout (added)
-
tags/1.3.5.5/assets/img/layout/dual-sidebar.png (added)
-
tags/1.3.5.5/assets/img/layout/full-width.png (added)
-
tags/1.3.5.5/assets/img/layout/left-dual-sidebar.png (added)
-
tags/1.3.5.5/assets/img/layout/left-sidebar.png (added)
-
tags/1.3.5.5/assets/img/layout/right-dual-sidebar.png (added)
-
tags/1.3.5.5/assets/img/layout/right-sidebar.png (added)
-
tags/1.3.5.5/assets/img/preloader.svg (added)
-
tags/1.3.5.5/assets/js (added)
-
tags/1.3.5.5/assets/js/autocomplete.js (added)
-
tags/1.3.5.5/assets/js/autosave.js (added)
-
tags/1.3.5.5/assets/js/blocks.js (added)
-
tags/1.3.5.5/assets/js/button-group.js (added)
-
tags/1.3.5.5/assets/js/clone.js (added)
-
tags/1.3.5.5/assets/js/color.js (added)
-
tags/1.3.5.5/assets/js/conditional.js (added)
-
tags/1.3.5.5/assets/js/ctrlbp-import.js (added)
-
tags/1.3.5.5/assets/js/customizer.js (added)
-
tags/1.3.5.5/assets/js/date.js (added)
-
tags/1.3.5.5/assets/js/datetime.js (added)
-
tags/1.3.5.5/assets/js/directory.js (added)
-
tags/1.3.5.5/assets/js/editor.js (added)
-
tags/1.3.5.5/assets/js/file-input.js (added)
-
tags/1.3.5.5/assets/js/file-upload.js (added)
-
tags/1.3.5.5/assets/js/file.js (added)
-
tags/1.3.5.5/assets/js/google-fonts (added)
-
tags/1.3.5.5/assets/js/google-fonts/jquery.fontselect.js (added)
-
tags/1.3.5.5/assets/js/google-fonts/jquery.slim.min.js (added)
-
tags/1.3.5.5/assets/js/group.js (added)
-
tags/1.3.5.5/assets/js/icon-picker (added)
-
tags/1.3.5.5/assets/js/icon-picker/bootstrap-iconpicker.bundle.min.js (added)
-
tags/1.3.5.5/assets/js/icon-picker/bootstrap-iconpicker.js (added)
-
tags/1.3.5.5/assets/js/icon-picker/bootstrap-iconpicker.min.js (added)
-
tags/1.3.5.5/assets/js/icon-picker/bootstrap.bundle.min.js (added)
-
tags/1.3.5.5/assets/js/image-advanced.js (added)
-
tags/1.3.5.5/assets/js/image-input.js (added)
-
tags/1.3.5.5/assets/js/image-select.js (added)
-
tags/1.3.5.5/assets/js/image-upload.js (added)
-
tags/1.3.5.5/assets/js/input-list.js (added)
-
tags/1.3.5.5/assets/js/jquery.serialize-object.js (added)
-
tags/1.3.5.5/assets/js/jqueryui (added)
-
tags/1.3.5.5/assets/js/jqueryui/jquery-ui-sliderAccess.js (added)
-
tags/1.3.5.5/assets/js/jqueryui/jquery-ui-timepicker-addon-i18n.min.js (added)
-
tags/1.3.5.5/assets/js/jqueryui/jquery-ui-timepicker-addon.min.js (added)
-
tags/1.3.5.5/assets/js/list.js (added)
-
tags/1.3.5.5/assets/js/map-frontend.js (added)
-
tags/1.3.5.5/assets/js/map.js (added)
-
tags/1.3.5.5/assets/js/media.js (added)
-
tags/1.3.5.5/assets/js/notification.js (added)
-
tags/1.3.5.5/assets/js/oembed.js (added)
-
tags/1.3.5.5/assets/js/osm-frontend.js (added)
-
tags/1.3.5.5/assets/js/osm.js (added)
-
tags/1.3.5.5/assets/js/range.js (added)
-
tags/1.3.5.5/assets/js/script.js (added)
-
tags/1.3.5.5/assets/js/select-advanced.js (added)
-
tags/1.3.5.5/assets/js/select-tree.js (added)
-
tags/1.3.5.5/assets/js/select.js (added)
-
tags/1.3.5.5/assets/js/select2 (added)
-
tags/1.3.5.5/assets/js/select2/i18n (added)
-
tags/1.3.5.5/assets/js/select2/i18n/af.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/ar.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/az.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/bg.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/bn.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/bs.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/ca.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/cs.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/da.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/de.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/dsb.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/el.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/en.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/es.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/et.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/eu.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/fa.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/fi.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/fr.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/gl.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/he.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/hi.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/hr.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/hsb.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/hu.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/hy.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/id.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/is.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/it.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/ja.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/ka.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/km.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/ko.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/lt.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/lv.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/mk.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/ms.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/nb.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/ne.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/nl.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/pl.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/ps.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/pt-BR.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/pt.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/ro.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/ru.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/sk.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/sl.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/sq.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/sr-Cyrl.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/sr.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/sv.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/th.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/tk.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/tr.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/uk.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/vi.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/zh-CN.js (added)
-
tags/1.3.5.5/assets/js/select2/i18n/zh-TW.js (added)
-
tags/1.3.5.5/assets/js/select2/select2.min.js (added)
-
tags/1.3.5.5/assets/js/settings.js (added)
-
tags/1.3.5.5/assets/js/slider.js (added)
-
tags/1.3.5.5/assets/js/tabs.js (added)
-
tags/1.3.5.5/assets/js/taxonomy.js (added)
-
tags/1.3.5.5/assets/js/term-meta.js (added)
-
tags/1.3.5.5/assets/js/time.js (added)
-
tags/1.3.5.5/assets/js/updates.js (added)
-
tags/1.3.5.5/assets/js/validation.min.js (added)
-
tags/1.3.5.5/assets/js/vendor (added)
-
tags/1.3.5.5/assets/js/vendor/ace (added)
-
tags/1.3.5.5/assets/js/vendor/ace/ace.js (added)
-
tags/1.3.5.5/assets/js/vendor/ace/mode-css.js (added)
-
tags/1.3.5.5/assets/js/vendor/ace/mode-html.js (added)
-
tags/1.3.5.5/assets/js/vendor/ace/mode-javascript.js (added)
-
tags/1.3.5.5/assets/js/vendor/ace/theme-chrome.js (added)
-
tags/1.3.5.5/assets/js/vendor/ace/theme-github.js (added)
-
tags/1.3.5.5/assets/js/vendor/ace/theme-monokai.js (added)
-
tags/1.3.5.5/assets/js/vendor/ace/theme-tomorrow.js (added)
-
tags/1.3.5.5/assets/js/vendor/ace/theme-twilight.js (added)
-
tags/1.3.5.5/assets/js/vendor/ace/worker-css.js (added)
-
tags/1.3.5.5/assets/js/vendor/ace/worker-html.js (added)
-
tags/1.3.5.5/assets/js/vendor/ace/worker-javascript.js (added)
-
tags/1.3.5.5/assets/js/video.js (added)
-
tags/1.3.5.5/assets/js/wp-color-picker-alpha (added)
-
tags/1.3.5.5/assets/js/wp-color-picker-alpha/wp-color-picker-alpha.min.js (added)
-
tags/1.3.5.5/assets/js/wysiwyg.js (added)
-
tags/1.3.5.5/assets/languages (added)
-
tags/1.3.5.5/assets/languages/control-block-patterns.pot (added)
-
tags/1.3.5.5/assets/sass (added)
-
tags/1.3.5.5/assets/sass/00-grid (added)
-
tags/1.3.5.5/assets/sass/00-grid/_containers.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/_functions.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/_grid.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/_maps.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/_root.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/_utilities.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/_variables.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_alert.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_backdrop.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_border-radius.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_box-shadow.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_breakpoints.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_buttons.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_caret.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_clearfix.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_color-scheme.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_container.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_deprecate.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_forms.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_gradients.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_grid.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_image.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_list-group.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_lists.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_pagination.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_reset-text.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_resize.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_table-variants.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_text-truncate.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_transition.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_utilities.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/mixins/_visually-hidden.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/utilities (added)
-
tags/1.3.5.5/assets/sass/00-grid/utilities/_api.scss (added)
-
tags/1.3.5.5/assets/sass/00-grid/vendor (added)
-
tags/1.3.5.5/assets/sass/00-grid/vendor/_rfs.scss (added)
-
tags/1.3.5.5/assets/sass/01-settings (added)
-
tags/1.3.5.5/assets/sass/01-settings/_file-header.scss (added)
-
tags/1.3.5.5/assets/sass/01-settings/_fonts.scss (added)
-
tags/1.3.5.5/assets/sass/01-settings/_global.scss (added)
-
tags/1.3.5.5/assets/sass/02-tools (added)
-
tags/1.3.5.5/assets/sass/02-tools/functions.css (added)
-
tags/1.3.5.5/assets/sass/02-tools/functions.css.map (added)
-
tags/1.3.5.5/assets/sass/02-tools/functions.scss (added)
-
tags/1.3.5.5/assets/sass/02-tools/mixins.css (added)
-
tags/1.3.5.5/assets/sass/02-tools/mixins.css.map (added)
-
tags/1.3.5.5/assets/sass/02-tools/mixins.scss (added)
-
tags/1.3.5.5/assets/sass/03-types (added)
-
tags/1.3.5.5/assets/sass/03-types/_autocomplete.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_background.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_button-group.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_color.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_date.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_divider.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_fieldset-text.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_file-input.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_file.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_group.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_heading.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_image-select.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_image.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_input-list.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_input.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_key-value.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_map.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_media.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_oembed.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_osm.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_range.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_select-advanced.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_select-tree.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_select.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_select2.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_slider.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_style-rtl.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_style.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_switch.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_tabs.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_taxonomy.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_text-list.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_upload.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_video.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/_wysiwyg.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/select2 (added)
-
tags/1.3.5.5/assets/sass/03-types/select2/_dropdown.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/select2/_multiple.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/select2/_single.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/select2/mixins (added)
-
tags/1.3.5.5/assets/sass/03-types/select2/mixins/_gradients.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/select2/theme (added)
-
tags/1.3.5.5/assets/sass/03-types/select2/theme/classic (added)
-
tags/1.3.5.5/assets/sass/03-types/select2/theme/classic/_defaults.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/select2/theme/classic/_multiple.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/select2/theme/classic/_single.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/select2/theme/classic/layout.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/select2/theme/default (added)
-
tags/1.3.5.5/assets/sass/03-types/select2/theme/default/_multiple.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/select2/theme/default/_single.scss (added)
-
tags/1.3.5.5/assets/sass/03-types/select2/theme/default/layout.scss (added)
-
tags/1.3.5.5/assets/sass/04-addons (added)
-
tags/1.3.5.5/assets/sass/04-addons/_accordion.scss (added)
-
tags/1.3.5.5/assets/sass/04-addons/_button-group.scss (added)
-
tags/1.3.5.5/assets/sass/04-addons/_buttons.scss (added)
-
tags/1.3.5.5/assets/sass/04-addons/_directory.scss (added)
-
tags/1.3.5.5/assets/sass/04-addons/_list.scss (added)
-
tags/1.3.5.5/assets/sass/04-addons/_popover.scss (added)
-
tags/1.3.5.5/assets/sass/_ctrlbp-grid.scss (added)
-
tags/1.3.5.5/assets/sass/admin-theme.scss (added)
-
tags/1.3.5.5/assets/sass/ctrlbp-admin-rtl.scss (added)
-
tags/1.3.5.5/assets/sass/ctrlbp-admin.scss (added)
-
tags/1.3.5.5/assets/sass/customizer.scss (added)
-
tags/1.3.5.5/assets/sass/settings.scss (added)
-
tags/1.3.5.5/assets/sass/user-meta.scss (added)
-
tags/1.3.5.5/classes (added)
-
tags/1.3.5.5/classes/About.php (added)
-
tags/1.3.5.5/classes/Autoloader.php (added)
-
tags/1.3.5.5/classes/Blocks (added)
-
tags/1.3.5.5/classes/Blocks/ActiveBlock.php (added)
-
tags/1.3.5.5/classes/Blocks/Block.php (added)
-
tags/1.3.5.5/classes/Blocks/BlockPostMeta.php (added)
-
tags/1.3.5.5/classes/Blocks/Loader.php (added)
-
tags/1.3.5.5/classes/Blocks/Storages (added)
-
tags/1.3.5.5/classes/Blocks/Storages/Attributes.php (added)
-
tags/1.3.5.5/classes/Blocks/Storages/PostMeta.php (added)
-
tags/1.3.5.5/classes/Cloner.php (added)
-
tags/1.3.5.5/classes/Columns (added)
-
tags/1.3.5.5/classes/Columns/Base.php (added)
-
tags/1.3.5.5/classes/Columns/Loader.php (added)
-
tags/1.3.5.5/classes/Columns/Model.php (added)
-
tags/1.3.5.5/classes/Columns/Post.php (added)
-
tags/1.3.5.5/classes/Columns/Processor.php (added)
-
tags/1.3.5.5/classes/Columns/Row.php (added)
-
tags/1.3.5.5/classes/Columns/Taxonomy.php (added)
-
tags/1.3.5.5/classes/Columns/User.php (added)
-
tags/1.3.5.5/classes/Conditional.php (added)
-
tags/1.3.5.5/classes/Core.php (added)
-
tags/1.3.5.5/classes/Dashboard.php (added)
-
tags/1.3.5.5/classes/Field.php (added)
-
tags/1.3.5.5/classes/Field_Registry.php (added)
-
tags/1.3.5.5/classes/Fields (added)
-
tags/1.3.5.5/classes/Fields/Autocomplete.php (added)
-
tags/1.3.5.5/classes/Fields/Background.php (added)
-
tags/1.3.5.5/classes/Fields/Backup.php (added)
-
tags/1.3.5.5/classes/Fields/Button.php (added)
-
tags/1.3.5.5/classes/Fields/Button_Group.php (added)
-
tags/1.3.5.5/classes/Fields/Checkbox.php (added)
-
tags/1.3.5.5/classes/Fields/Checkbox_List.php (added)
-
tags/1.3.5.5/classes/Fields/Choice.php (added)
-
tags/1.3.5.5/classes/Fields/Color.php (added)
-
tags/1.3.5.5/classes/Fields/Custom_Html.php (added)
-
tags/1.3.5.5/classes/Fields/Date.php (added)
-
tags/1.3.5.5/classes/Fields/Datetime.php (added)
-
tags/1.3.5.5/classes/Fields/Divider.php (added)
-
tags/1.3.5.5/classes/Fields/Editor.php (added)
-
tags/1.3.5.5/classes/Fields/Fieldset_Text.php (added)
-
tags/1.3.5.5/classes/Fields/File.php (added)
-
tags/1.3.5.5/classes/Fields/File_Input.php (added)
-
tags/1.3.5.5/classes/Fields/File_Upload.php (added)
-
tags/1.3.5.5/classes/Fields/Google_Fonts.php (added)
-
tags/1.3.5.5/classes/Fields/Group.php (added)
-
tags/1.3.5.5/classes/Fields/Heading.php (added)
-
tags/1.3.5.5/classes/Fields/Icon_Picker.php (added)
-
tags/1.3.5.5/classes/Fields/Icon_Picker_Input.php (added)
-
tags/1.3.5.5/classes/Fields/Image.php (added)
-
tags/1.3.5.5/classes/Fields/Image_Advanced.php (added)
-
tags/1.3.5.5/classes/Fields/Image_Input.php (added)
-
tags/1.3.5.5/classes/Fields/Image_Select.php (added)
-
tags/1.3.5.5/classes/Fields/Image_Upload.php (added)
-
tags/1.3.5.5/classes/Fields/Import.php (added)
-
tags/1.3.5.5/classes/Fields/Input.php (added)
-
tags/1.3.5.5/classes/Fields/Input_List.php (added)
-
tags/1.3.5.5/classes/Fields/Key_Value.php (added)
-
tags/1.3.5.5/classes/Fields/Link.php (added)
-
tags/1.3.5.5/classes/Fields/Map.php (added)
-
tags/1.3.5.5/classes/Fields/Measurement.php (added)
-
tags/1.3.5.5/classes/Fields/Media.php (added)
-
tags/1.3.5.5/classes/Fields/Multiple_Values.php (added)
-
tags/1.3.5.5/classes/Fields/Number.php (added)
-
tags/1.3.5.5/classes/Fields/OEmbed.php (added)
-
tags/1.3.5.5/classes/Fields/OSM.php (added)
-
tags/1.3.5.5/classes/Fields/Object_Choice.php (added)
-
tags/1.3.5.5/classes/Fields/On_Off.php (added)
-
tags/1.3.5.5/classes/Fields/Password.php (added)
-
tags/1.3.5.5/classes/Fields/Post.php (added)
-
tags/1.3.5.5/classes/Fields/Radio.php (added)
-
tags/1.3.5.5/classes/Fields/Range.php (added)
-
tags/1.3.5.5/classes/Fields/Select.php (added)
-
tags/1.3.5.5/classes/Fields/Select_Advanced.php (added)
-
tags/1.3.5.5/classes/Fields/Select_Tree.php (added)
-
tags/1.3.5.5/classes/Fields/Sidebar.php (added)
-
tags/1.3.5.5/classes/Fields/Single_Image.php (added)
-
tags/1.3.5.5/classes/Fields/Slider.php (added)
-
tags/1.3.5.5/classes/Fields/Spacing.php (added)
-
tags/1.3.5.5/classes/Fields/Switcher.php (added)
-
tags/1.3.5.5/classes/Fields/Taxonomy.php (added)
-
tags/1.3.5.5/classes/Fields/Taxonomy_Advanced.php (added)
-
tags/1.3.5.5/classes/Fields/Text_List.php (added)
-
tags/1.3.5.5/classes/Fields/Textarea.php (added)
-
tags/1.3.5.5/classes/Fields/Time.php (added)
-
tags/1.3.5.5/classes/Fields/Typography.php (added)
-
tags/1.3.5.5/classes/Fields/User.php (added)
-
tags/1.3.5.5/classes/Fields/Video.php (added)
-
tags/1.3.5.5/classes/Fields/Wysiwyg.php (added)
-
tags/1.3.5.5/classes/Helpers (added)
-
tags/1.3.5.5/classes/Helpers/Array_Type.php (added)
-
tags/1.3.5.5/classes/Helpers/Field_Type.php (added)
-
tags/1.3.5.5/classes/Helpers/String_Type.php (added)
-
tags/1.3.5.5/classes/Helpers/Value_Type.php (added)
-
tags/1.3.5.5/classes/Interfaces (added)
-
tags/1.3.5.5/classes/Interfaces/Storage.php (added)
-
tags/1.3.5.5/classes/Loader.php (added)
-
tags/1.3.5.5/classes/Media_Modal.php (added)
-
tags/1.3.5.5/classes/Meta_Box.php (added)
-
tags/1.3.5.5/classes/Meta_Box_Registry.php (added)
-
tags/1.3.5.5/classes/Meta_Group.php (added)
-
tags/1.3.5.5/classes/Patterns (added)
-
tags/1.3.5.5/classes/Patterns.php (added)
-
tags/1.3.5.5/classes/Patterns/AjaxAction.php (added)
-
tags/1.3.5.5/classes/Patterns/Attributes.php (added)
-
tags/1.3.5.5/classes/Patterns/Core.php (added)
-
tags/1.3.5.5/classes/Patterns/Directory.php (added)
-
tags/1.3.5.5/classes/Patterns/Helper.php (added)
-
tags/1.3.5.5/classes/Patterns/PostType.php (added)
-
tags/1.3.5.5/classes/Patterns/Shortcode.php (added)
-
tags/1.3.5.5/classes/Patterns/Templates.php (added)
-
tags/1.3.5.5/classes/Patterns/Tools.php (added)
-
tags/1.3.5.5/classes/Patterns/Widget.php (added)
-
tags/1.3.5.5/classes/Patterns/directory (added)
-
tags/1.3.5.5/classes/Patterns/directory/includes (added)
-
tags/1.3.5.5/classes/Patterns/directory/includes/class-wp-pattern-install-list-table.php (added)
-
tags/1.3.5.5/classes/Patterns/directory/includes/pattern-install.php (added)
-
tags/1.3.5.5/classes/Patterns/directory/includes/pattern.php (added)
-
tags/1.3.5.5/classes/Patterns/directory/includes/tmpl.patterns.php (added)
-
tags/1.3.5.5/classes/Patterns/directory/pattern-install.php (added)
-
tags/1.3.5.5/classes/Patterns/directory/preview.php (added)
-
tags/1.3.5.5/classes/Patterns/functions.php (added)
-
tags/1.3.5.5/classes/Request.php (added)
-
tags/1.3.5.5/classes/Responsive.php (added)
-
tags/1.3.5.5/classes/Sanitizer.php (added)
-
tags/1.3.5.5/classes/Settings (added)
-
tags/1.3.5.5/classes/Settings/Customizer (added)
-
tags/1.3.5.5/classes/Settings/Customizer/Control.php (added)
-
tags/1.3.5.5/classes/Settings/Customizer/Manager.php (added)
-
tags/1.3.5.5/classes/Settings/Customizer/NormalSection.php (added)
-
tags/1.3.5.5/classes/Settings/Customizer/Panel.php (added)
-
tags/1.3.5.5/classes/Settings/Customizer/Setting.php (added)
-
tags/1.3.5.5/classes/Settings/Customizer/SettingsSection.php (added)
-
tags/1.3.5.5/classes/Settings/Factory.php (added)
-
tags/1.3.5.5/classes/Settings/Loader.php (added)
-
tags/1.3.5.5/classes/Settings/MetaBox.php (added)
-
tags/1.3.5.5/classes/Settings/Network (added)
-
tags/1.3.5.5/classes/Settings/Network/MetaBox.php (added)
-
tags/1.3.5.5/classes/Settings/Network/SettingsPage.php (added)
-
tags/1.3.5.5/classes/Settings/Network/Storage.php (added)
-
tags/1.3.5.5/classes/Settings/SettingsPage.php (added)
-
tags/1.3.5.5/classes/Settings/Storage.php (added)
-
tags/1.3.5.5/classes/Settings_Pages.php (added)
-
tags/1.3.5.5/classes/Shortcode.php (added)
-
tags/1.3.5.5/classes/Storage_Registry.php (added)
-
tags/1.3.5.5/classes/Storages (added)
-
tags/1.3.5.5/classes/Storages/Base.php (added)
-
tags/1.3.5.5/classes/Storages/Post.php (added)
-
tags/1.3.5.5/classes/Tabs.php (added)
-
tags/1.3.5.5/classes/Term (added)
-
tags/1.3.5.5/classes/Term/Loader.php (added)
-
tags/1.3.5.5/classes/Term/MetaBox.php (added)
-
tags/1.3.5.5/classes/Term/Storage.php (added)
-
tags/1.3.5.5/classes/Update (added)
-
tags/1.3.5.5/classes/Update/Checker.php (added)
-
tags/1.3.5.5/classes/Update/Notification.php (added)
-
tags/1.3.5.5/classes/Update/Option.php (added)
-
tags/1.3.5.5/classes/Update/Settings.php (added)
-
tags/1.3.5.5/classes/User (added)
-
tags/1.3.5.5/classes/User/DuplicatedFields.php (added)
-
tags/1.3.5.5/classes/User/Meta.php (added)
-
tags/1.3.5.5/classes/User/MetaBox.php (added)
-
tags/1.3.5.5/classes/User/Storage.php (added)
-
tags/1.3.5.5/classes/Validation.php (added)
-
tags/1.3.5.5/classes/WPML.php (added)
-
tags/1.3.5.5/classes/Walkers (added)
-
tags/1.3.5.5/classes/Walkers/Base.php (added)
-
tags/1.3.5.5/classes/Walkers/Input_List.php (added)
-
tags/1.3.5.5/classes/Walkers/Select.php (added)
-
tags/1.3.5.5/classes/Walkers/Select_Tree.php (added)
-
tags/1.3.5.5/classes/sections (added)
-
tags/1.3.5.5/classes/sections/getting-started.php (added)
-
tags/1.3.5.5/classes/sections/products.php (added)
-
tags/1.3.5.5/classes/sections/support.php (added)
-
tags/1.3.5.5/classes/sections/tabs.php (added)
-
tags/1.3.5.5/classes/sections/welcome.php (added)
-
tags/1.3.5.5/control-block-patterns.php (added)
-
tags/1.3.5.5/includes (added)
-
tags/1.3.5.5/includes/functions.php (added)
-
tags/1.3.5.5/includes/meta (added)
-
tags/1.3.5.5/includes/meta-boxes (added)
-
tags/1.3.5.5/includes/meta-boxes.php (added)
-
tags/1.3.5.5/includes/meta-boxes/page-meta-box.php (added)
-
tags/1.3.5.5/includes/meta-boxes/post-meta-box.php (added)
-
tags/1.3.5.5/includes/meta/embed.php (added)
-
tags/1.3.5.5/includes/meta/settings.php (added)
-
tags/1.3.5.5/includes/settings (added)
-
tags/1.3.5.5/includes/settings.php (added)
-
tags/1.3.5.5/includes/settings/01-control-patterns.php (added)
-
tags/1.3.5.5/includes/settings/02-control-post-types.php (added)
-
tags/1.3.5.5/includes/settings/03-control-css.php (added)
-
tags/1.3.5.5/includes/settings/04-control-scripts.php (added)
-
tags/1.3.5.5/includes/settings/05-backup-restore.php (added)
-
tags/1.3.5.5/includes/template-canvas.php (added)
-
tags/1.3.5.5/includes/templates (added)
-
tags/1.3.5.5/includes/templates/audio.php (added)
-
tags/1.3.5.5/includes/templates/image-advanced.php (added)
-
tags/1.3.5.5/includes/templates/image-input.php (added)
-
tags/1.3.5.5/includes/templates/media.php (added)
-
tags/1.3.5.5/includes/templates/upload.php (added)
-
tags/1.3.5.5/includes/templates/video.php (added)
-
tags/1.3.5.5/readme.txt (added)
-
tags/1.3.5.5/vendor (added)
-
tags/1.3.5.5/vendor/autoload.php (added)
-
tags/1.3.5.5/vendor/composer (added)
-
tags/1.3.5.5/vendor/composer/ClassLoader.php (added)
-
tags/1.3.5.5/vendor/composer/InstalledVersions.php (added)
-
tags/1.3.5.5/vendor/composer/LICENSE (added)
-
tags/1.3.5.5/vendor/composer/autoload_classmap.php (added)
-
tags/1.3.5.5/vendor/composer/autoload_files.php (added)
-
tags/1.3.5.5/vendor/composer/autoload_namespaces.php (added)
-
tags/1.3.5.5/vendor/composer/autoload_psr4.php (added)
-
tags/1.3.5.5/vendor/composer/autoload_real.php (added)
-
tags/1.3.5.5/vendor/composer/autoload_static.php (added)
-
tags/1.3.5.5/vendor/composer/installed.json (added)
-
tags/1.3.5.5/vendor/composer/installed.php (added)
-
tags/1.3.5.5/vendor/composer/platform_check.php (added)
-
trunk/classes/Patterns/Tools.php (modified) (2 diffs)
-
trunk/classes/Settings/SettingsPage.php (modified) (11 diffs)
-
trunk/control-block-patterns.php (modified) (1 diff)
-
trunk/readme.txt (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
control-block-patterns/trunk/classes/Patterns/Tools.php
r2719787 r3044845 50 50 public function add_export_link( $actions, $post ) { 51 51 if ( 'ctrl_block_patterns' === $post->post_type ) { 52 $actions['export'] = '<a href="' . add_query_arg( ['action' => 'cbp-export', 'post[]' => $post->ID ] ) . '">' . esc_html__( 'Export', 'control-block-patterns' ) . '</a>';52 $actions['export'] = '<a href="' . add_query_arg( ['action' => 'cbp-export', 'post[]' => $post->ID,'_nonce' => wp_create_nonce( 'ctrlbp-export')] ) . '">' . esc_html__( 'Export', 'control-block-patterns' ) . '</a>'; 53 53 } 54 54 return $actions; … … 62 62 return; 63 63 } 64 64 if(empty($_REQUEST['_nonce']) || !wp_verify_nonce(esc_attr($_REQUEST['_nonce']), 'ctrlbp-export')){ 65 wp_die(esc_attr('Invalid request', 'control-block-patterns')); 66 } 65 67 $post_ids = $_REQUEST['post']; 66 68 -
control-block-patterns/trunk/classes/Settings/SettingsPage.php
r2719787 r3044845 1 1 <?php 2 2 3 namespace ControlPatterns\Settings; 3 4 4 class SettingsPage { 5 class SettingsPage 6 { 5 7 private $args; 6 8 public $page_hook; 7 9 protected $type; 8 10 9 public function __construct( $args = [] ) { 11 public function __construct($args = []) 12 { 10 13 $this->args = $args; 11 14 $this->register_hooks(); 12 15 } 13 16 14 protected function register_hooks() { 15 add_action( 'admin_menu', array( $this, 'register_admin_menu' ) ); 16 add_action( 'admin_init', array( $this, 'settings_export' ) ); 17 add_action( 'admin_init', array( $this, 'reset_action' ) ); 18 add_action( 'wp_ajax_import_settings_data', [ $this, 'import_settings_data' ] ); 19 add_action( 'wp_ajax_ctrlbp_reset_settings_page', [ $this, 'reset_settings_page' ] ); 20 21 } 22 23 public function register_admin_menu() { 17 protected function register_hooks() 18 { 19 add_action('admin_menu', array($this, 'register_admin_menu')); 20 add_action('admin_init', array($this, 'settings_export')); 21 add_action('admin_init', array($this, 'reset_action')); 22 add_action('wp_ajax_import_settings_data', [$this, 'import_settings_data']); 23 add_action('wp_ajax_ctrlbp_reset_settings_page', [$this, 'reset_settings_page']); 24 } 25 26 public function register_admin_menu() 27 { 24 28 // Add top level menu. 25 if ( ! $this->parent) {29 if (!$this->parent) { 26 30 $this->page_hook = add_menu_page( 27 31 $this->page_title, … … 29 33 $this->capability, 30 34 $this->id, 31 array( $this, 'show'),35 array($this, 'show'), 32 36 $this->icon_url, 33 37 $this->position … … 35 39 36 40 // If this menu has a default sub-menu. 37 if ( $this->submenu_title) {41 if ($this->submenu_title) { 38 42 add_submenu_page( 39 43 $this->id, … … 42 46 $this->capability, 43 47 $this->id, 44 array( $this, 'show')48 array($this, 'show') 45 49 ); 46 50 } … … 53 57 $this->capability, 54 58 $this->id, 55 array( $this, 'show')59 array($this, 'show') 56 60 ); 57 61 } 58 62 59 63 // Enqueue scripts and styles. 60 add_action( "admin_print_styles-{$this->page_hook}", array( $this, 'enqueue' ));64 add_action("admin_print_styles-{$this->page_hook}", array($this, 'enqueue')); 61 65 62 66 // Load action. 63 add_action( "load-{$this->page_hook}", array( $this, 'load' ) ); 64 add_action( "load-{$this->page_hook}", array( $this, 'add_help_tabs' ) ); 65 add_action( "load-{$this->page_hook}", array( $this, 'add_admin_notice_hook' ) ); 66 } 67 68 public function show() { 69 ?> 70 <div class="<?php echo esc_attr( $this->settings_class() ) ?>"> 71 <h1><?= esc_html( get_admin_page_title() ) ?></h1> 67 add_action("load-{$this->page_hook}", array($this, 'load')); 68 add_action("load-{$this->page_hook}", array($this, 'add_help_tabs')); 69 add_action("load-{$this->page_hook}", array($this, 'add_admin_notice_hook')); 70 } 71 72 public function show() 73 { 74 ?> 75 <div class="<?php echo esc_attr($this->settings_class()) ?>"> 76 <h1><?= esc_html(get_admin_page_title()) ?></h1> 72 77 <form method="post" action="" enctype="multipart/form-data" id="post" class="ctrlbp-settings-form"> 73 <?php74 if ( $this->header ){75 $this->output_header(); 78 <?php 79 if ($this->header) { 80 $this->output_header(); 76 81 } 77 ?>78 <div class="ctrlbp-settings-wrap">79 80 <?php $this->output_tab_nav() ?>81 82 <div class="ctrlbp-settings-form-wrap">83 82 ?> 83 <div class="ctrlbp-settings-wrap"> 84 85 <?php $this->output_tab_nav() ?> 86 87 <div class="ctrlbp-settings-form-wrap"> 88 84 89 <div id="poststuff"> 85 90 <?php 86 91 // Nonce for saving meta boxes status (collapsed/expanded) and order. 87 wp_nonce_field( 'closedpostboxes', 'closedpostboxesnonce', false);88 wp_nonce_field( 'meta-box-order', 'meta-box-order-nonce', false);92 wp_nonce_field('closedpostboxes', 'closedpostboxesnonce', false); 93 wp_nonce_field('meta-box-order', 'meta-box-order-nonce', false); 89 94 ?> 90 <div id="post-body" class="metabox-holder columns-<?= intval( $this->columns); ?>">91 <?php if ( $this->columns > 1) : ?>95 <div id="post-body" class="metabox-holder columns-<?= intval($this->columns); ?>"> 96 <?php if ($this->columns > 1) : ?> 92 97 <div id="postbox-container-1" class="postbox-container"> 93 <?php do_meta_boxes( null, 'side', null); ?>98 <?php do_meta_boxes(null, 'side', null); ?> 94 99 </div> 95 100 <?php endif; ?> 96 101 <div id="postbox-container-2" class="postbox-container"> 97 <?php do_meta_boxes( null, 'normal', null); ?>98 <?php do_meta_boxes( null, 'advanced', null); ?>102 <?php do_meta_boxes(null, 'normal', null); ?> 103 <?php do_meta_boxes(null, 'advanced', null); ?> 99 104 </div> 100 105 </div> 101 106 <br class="clear"> 102 107 103 108 </div> 104 109 110 </div> 105 111 </div> 106 </div> 107 108 <?php $this->output_buttons(); ?> 109 112 113 <?php $this->output_buttons(); ?> 114 110 115 </form> 111 116 </div> 112 <?php 113 114 } 115 116 private function settings_class(){ 117 <?php 118 119 } 120 121 private function settings_class() 122 { 117 123 $class = [ 118 124 'wrap', … … 120 126 $this->class, 121 127 ]; 122 123 if ( $this->tabs) {128 129 if ($this->tabs) { 124 130 $class[] = "ctrlbp-settings-tabs-{$this->tab_style}"; 125 131 } 126 if ( $this->header ){132 if ($this->header) { 127 133 $class[] = "ctrlbp-admin-custom-header"; 128 134 } 129 if ( $this->theme ){135 if ($this->theme) { 130 136 $class[] = 'ctrlbp-admin-theme'; 131 $class[] = !is_bool($this->theme) ? "ctrlbp-admin-theme-".esc_attr($this->theme) : '';137 $class[] = !is_bool($this->theme) ? "ctrlbp-admin-theme-" . esc_attr($this->theme) : ''; 132 138 } 133 139 $class = array_unique(array_filter($class)); … … 135 141 } 136 142 137 private function output_buttons(){ 138 $reset_url = add_query_arg( [ 143 private function output_buttons() 144 { 145 $reset_url = add_query_arg([ 139 146 'reset' => 'all', 140 '_nonce' => wp_create_nonce( 'ctrlbp-reset')141 ] );142 143 ?>147 '_nonce' => wp_create_nonce('ctrlbp-reset') 148 ]); 149 150 ?> 144 151 <div class="submit-buttons py-3"> 145 <?php submit_button( esc_html( $this->submit_button ), 'primary', 'submit', false); ?>152 <?php submit_button(esc_html($this->submit_button), 'primary', 'submit', false); ?> 146 153 <button type="button" class="button button-danger ctrlbp-reset-settings"><?php echo esc_attr('Reset Settings', 'control-block-patterns') ?></button> 147 <?php do_action( 'ctrlbp_settings_page_submit_buttons'); ?>154 <?php do_action('ctrlbp_settings_page_submit_buttons'); ?> 148 155 </div> 149 <?php 150 151 } 152 153 public function reset_action(){ 154 if( empty($_REQUEST['reset']) || empty($_REQUEST['_nonce']) ) return; 155 156 <?php 157 158 } 159 160 public function reset_action() 161 { 162 if (empty($_REQUEST['reset']) || empty($_REQUEST['_nonce'])) return; 163 156 164 $nonce = $_REQUEST['_nonce']; 157 if (($_REQUEST['reset'] == 'all') && wp_verify_nonce( $nonce, 'ctrlbp-reset' )){165 if (($_REQUEST['reset'] == 'all') && wp_verify_nonce($nonce, 'ctrlbp-reset')) { 158 166 update_option($this->args['option_name'], $this->get_std($this->args['option_name'])); 159 remove_query_arg( ['reset', '_nonce'] );160 if ( wp_safe_redirect( htmlspecialchars_decode(menu_page_url($this->id, false)) )) {167 remove_query_arg(['reset', '_nonce']); 168 if (wp_safe_redirect(htmlspecialchars_decode(menu_page_url($this->id, false)))) { 161 169 exit; 162 } 163 } 164 } 165 166 public function settings_export(){ 167 $action = isset( $_REQUEST['action'] ) && 'ctrlbp-settings-export' === $_REQUEST['action']; 168 if ( ! $action) { 170 } 171 } 172 } 173 174 public function settings_export() 175 { 176 $action = isset($_REQUEST['action']) && 'ctrlbp-settings-export' === $_REQUEST['action']; 177 if (!$action || empty($_REQUEST['nonce'])) { 169 178 return; 170 179 } 171 $file_name = $_REQUEST['id']; 172 173 174 $func = false !== $this->network ? 'get_site_option' : 'get_option'; 175 $options = $func( $_REQUEST['id'] ); 176 $data = json_encode( $options, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT ); 177 178 header( 'Content-Type: application/octet-stream' ); 179 header( "Content-Disposition: attachment; filename=$file_name.json" ); 180 header( 'Expires: 0' ); 181 header( 'Cache-Control: must-revalidate' ); 182 header( 'Pragma: public' ); 183 header( 'Content-Length: ' . strlen( $data ) ); 184 echo $data; 180 $nonce = $_REQUEST['nonce']; 181 if (wp_verify_nonce($nonce, 'ctrlbp-export')) { 182 $file_name = $_REQUEST['id']; 183 184 185 $func = false !== $this->network ? 'get_site_option' : 'get_option'; 186 $options = $func($_REQUEST['id']); 187 $data = json_encode($options, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT); 188 189 header('Content-Type: application/octet-stream'); 190 header("Content-Disposition: attachment; filename=$file_name.json"); 191 header('Expires: 0'); 192 header('Cache-Control: must-revalidate'); 193 header('Pragma: public'); 194 header('Content-Length: ' . strlen($data)); 195 echo $data; 196 } else { 197 wp_die(esc_attr('Invalid request', 'control-block-patterns')); 198 } 185 199 die; 186 200 } 187 201 188 private function output_header(){ 202 private function output_header() 203 { 189 204 $default = array( 190 205 'icon' => '', 191 'title' => 'Control block Patterns',192 'subtitle' => '',193 'version' => CTRLBP_VER,194 'buttons' => false206 'title' => 'Control block Patterns', 207 'subtitle' => '', 208 'version' => CTRLBP_VER, 209 'buttons' => false 195 210 ); 196 extract(wp_parse_args( $this->header, $default));197 ?>211 extract(wp_parse_args($this->header, $default)); 212 ?> 198 213 <header class="py-3 px-5 rounded-top bg-dark text-white"> 199 214 <div class="ctrlbp-row d-flex"> … … 204 219 </div> 205 220 <p><?php echo esc_attr($subtitle) ?></p> 206 </div> 207 </div> 221 </div> 222 </div> 208 223 </header> 209 <?php if ( $buttons ): ?>210 <div class="header-buttons text-end bg-white border px-3 my-1"> 224 <?php if ($buttons) : ?> 225 <div class="header-buttons text-end bg-white border px-3 my-1"> 211 226 <?php $this->output_buttons(); ?> 212 </div> 213 <?php endif; ?> 214 <?php 215 do_action( 'control-block-patterns/settings/header/'.$this->id ); 216 } 217 218 private function output_tab_nav() { 219 if ( ! $this->tabs ) { 227 </div> 228 <?php endif; ?> 229 <?php 230 do_action('control-block-patterns/settings/header/' . $this->id); 231 } 232 233 private function output_tab_nav() 234 { 235 if (!$this->tabs) { 220 236 return; 221 237 } 222 238 echo '<h2 class="nav-tab-wrapper">'; 223 foreach ( $this->tabs as $id => $tab) {224 if ( is_string( $tab )) {239 foreach ($this->tabs as $id => $tab) { 240 if (is_string($tab)) { 225 241 $tab = ['label' => $tab]; 226 242 } 227 $tab = wp_parse_args( $tab, [243 $tab = wp_parse_args($tab, [ 228 244 'icon' => '', 229 245 'label' => '', 230 ] );231 232 if ( filter_var( $tab['icon'], FILTER_VALIDATE_URL )) { // If icon is an URL.233 $icon = '<img src="' . esc_url( $tab['icon']) . '">';246 ]); 247 248 if (filter_var($tab['icon'], FILTER_VALIDATE_URL)) { // If icon is an URL. 249 $icon = '<img src="' . esc_url($tab['icon']) . '">'; 234 250 } else { // If icon is icon font. 235 251 // If icon is dashicons, auto add class 'dashicons' for users. 236 if ( false !== strpos( $tab['icon'], 'dashicons' )) {252 if (false !== strpos($tab['icon'], 'dashicons')) { 237 253 $tab['icon'] .= ' dashicons'; 238 254 } 239 255 // Remove duplicate classes. 240 $tab['icon'] = array_filter( array_map( 'trim', explode( ' ', $tab['icon'] ) ));241 $tab['icon'] = implode( ' ', array_unique( $tab['icon'] ));242 243 $icon = $tab['icon'] ? '<i class="' . esc_attr( $tab['icon']) . '"></i>' : '';244 } 245 246 printf( '<a href="#tab-%s" class="nav-tab">%s%s</a>', esc_attr( $id ), $icon, esc_html( $tab['label'] ));256 $tab['icon'] = array_filter(array_map('trim', explode(' ', $tab['icon']))); 257 $tab['icon'] = implode(' ', array_unique($tab['icon'])); 258 259 $icon = $tab['icon'] ? '<i class="' . esc_attr($tab['icon']) . '"></i>' : ''; 260 } 261 262 printf('<a href="#tab-%s" class="nav-tab">%s%s</a>', esc_attr($id), $icon, esc_html($tab['label'])); 247 263 } 248 264 echo '</h2>'; 249 265 } 250 266 251 public function enqueue() { 252 253 $version = WP_DEBUG? time() : CTRLBP_VER; 254 wp_enqueue_style( 'control-block-patterns', CTRLBP_CSS_URI . 'settings.css', '', $version ); 255 if( $this->theme ){ 256 wp_enqueue_style( 'ctrlbp-admin-theme', CTRLBP_CSS_URI . 'admin-theme.css', '', $version ); 267 public function enqueue() 268 { 269 270 $version = WP_DEBUG ? time() : CTRLBP_VER; 271 wp_enqueue_style('control-block-patterns', CTRLBP_CSS_URI . 'settings.css', '', $version); 272 if ($this->theme) { 273 wp_enqueue_style('ctrlbp-admin-theme', CTRLBP_CSS_URI . 'admin-theme.css', '', $version); 257 274 } 258 275 259 276 // For meta boxes. 260 wp_enqueue_script( 'common');261 wp_enqueue_script( 'wp-lists');262 wp_enqueue_script( 'postbox');277 wp_enqueue_script('common'); 278 wp_enqueue_script('wp-lists'); 279 wp_enqueue_script('postbox'); 263 280 264 281 // Enqueue settings page script and style. 265 wp_enqueue_script( 'control-block-patterns-settings', CTRLBP_JS_URI . 'settings.js', array( 'jquery' ), $version, true);266 wp_localize_script( 'control-block-patterns-settings', 'CTRLBPSettingsPage', array(267 'tabs' => array_keys( $this->tabs),268 'nonce' => wp_create_nonce( 'ctrlbp-settings-page'),269 'ajax_url' => admin_url( 'admin-ajax.php'),282 wp_enqueue_script('control-block-patterns-settings', CTRLBP_JS_URI . 'settings.js', array('jquery'), $version, true); 283 wp_localize_script('control-block-patterns-settings', 'CTRLBPSettingsPage', array( 284 'tabs' => array_keys($this->tabs), 285 'nonce' => wp_create_nonce('ctrlbp-settings-page'), 286 'ajax_url' => admin_url('admin-ajax.php'), 270 287 'option_name' => $this->option_name, 271 288 'option_id' => $this->id, 272 'confirm_text' => esc_attr__( 'Are you sure want to reset all?', 'control-block-patterns'),289 'confirm_text' => esc_attr__('Are you sure want to reset all?', 'control-block-patterns'), 273 290 )); 274 291 } 275 292 276 public function load() { 293 public function load() 294 { 277 295 $this->args['is_imported'] = $this->import(); 278 296 … … 282 300 * @param array $page_args The page arguments 283 301 */ 284 do_action( 'ctrlbp_settings_page_load', $this->args ); 285 } 286 287 public function add_admin_notice_hook() { 288 if ( ! $this->parent || 'options-general.php' !== $this->parent ) { 289 add_action( 'admin_notices', 'settings_errors' ); 290 } 291 } 292 293 public function add_help_tabs() { 294 if ( ! $this->help_tabs || ! is_array( $this->help_tabs ) ) { 302 do_action('ctrlbp_settings_page_load', $this->args); 303 } 304 305 public function add_admin_notice_hook() 306 { 307 if (!$this->parent || 'options-general.php' !== $this->parent) { 308 add_action('admin_notices', 'settings_errors'); 309 } 310 } 311 312 public function add_help_tabs() 313 { 314 if (!$this->help_tabs || !is_array($this->help_tabs)) { 295 315 return; 296 316 } 297 317 $screen = get_current_screen(); 298 foreach ( $this->help_tabs as $k => $help_tab) {318 foreach ($this->help_tabs as $k => $help_tab) { 299 319 // Auto generate help tab ID if missed. 300 if ( empty( $help_tab['id'] )) {320 if (empty($help_tab['id'])) { 301 321 $help_tab['id'] = "{$this->id}-help-tab-$k"; 302 322 } 303 $screen->add_help_tab( $help_tab ); 304 } 305 } 306 307 protected function import() { 323 $screen->add_help_tab($help_tab); 324 } 325 } 326 327 protected function import() 328 { 308 329 $get_func = 'get_option'; 309 330 $update_func = 'update_option'; … … 311 332 $option_name = $this->args['option_name']; 312 333 313 $new = ctrlbp_request()->post( "{$option_name}_backup");314 $new = wp_unslash( $new);315 $old = $get_func( $option_name);316 $old = json_encode( $old);317 if ( ! $new || $old === $new) {334 $new = ctrlbp_request()->post("{$option_name}_backup"); 335 $new = wp_unslash($new); 336 $old = $get_func($option_name); 337 $old = json_encode($old); 338 if (!$new || $old === $new) { 318 339 return false; 319 340 } 320 $option = json_decode( $new, true);321 if ( json_last_error() === JSON_ERROR_NONE) {322 $update_func( $option_name, $option);341 $option = json_decode($new, true); 342 if (json_last_error() === JSON_ERROR_NONE) { 343 $update_func($option_name, $option); 323 344 } 324 345 return true; 325 346 } 326 347 327 public function __get( $name ) { 328 return isset( $this->args[ $name ] ) ? $this->args[ $name ] : null; 329 } 330 331 private function get_std( $option_name ){ 332 $field_registry = ctrlbp_get_registry( 'field' ); 333 $fields = $field_registry->get_by_object_type( 'setting' ); 348 public function __get($name) 349 { 350 return isset($this->args[$name]) ? $this->args[$name] : null; 351 } 352 353 private function get_std($option_name) 354 { 355 $field_registry = ctrlbp_get_registry('field'); 356 $fields = $field_registry->get_by_object_type('setting'); 334 357 $option_fields = $fields[$option_name]; 335 358 … … 337 360 338 361 $std = []; 339 foreach ( $setting_ids as $setting_id ){340 if (isset($option_fields[$setting_id]['std'])){362 foreach ($setting_ids as $setting_id) { 363 if (isset($option_fields[$setting_id]['std'])) { 341 364 $std[$setting_id] = $option_fields[$setting_id]['std']; 342 } 343 else{ 365 } else { 344 366 $std[$setting_id] = null; 345 367 } 346 368 } 347 return $std; 348 } 349 350 public function reset_settings_page(){ 351 if( !wp_verify_nonce( $_POST['nonce'], 'ctrlbp-settings-page' ) ){ 369 return $std; 370 } 371 372 public function reset_settings_page() 373 { 374 if (!wp_verify_nonce($_POST['nonce'], 'ctrlbp-settings-page')) { 352 375 wp_die(false); 353 376 } 354 377 $option_name = $_POST['option_name']; 355 378 $options = $this->get_std($option_name); 356 update_option( $option_name, $options, true);379 update_option($option_name, $options, true); 357 380 358 381 wp_die(esc_attr__('Settings options reset successfully', 'control-block-patterns')); 359 382 } 360 383 361 public function import_settings_data(){ 362 if(isset($_POST)){ 384 public function import_settings_data() 385 { 386 if (isset($_POST)) { 363 387 $get_func = 'network' === $this->type ? 'get_site_option' : 'get_option'; 364 388 $update_func = 'network' === $this->type ? 'update_site_option' : 'update_option'; 365 366 367 389 390 391 368 392 $option_name = $_POST['option_name']; 369 393 $nonce = $_POST['nonce']; 370 if ( !wp_verify_nonce( $nonce, 'ctrlbp-import' ) ){394 if (!wp_verify_nonce($nonce, 'ctrlbp-import')) { 371 395 wp_die(esc_attr__('Nothing to update', 'control-block-patterns')); 372 396 } 373 397 374 398 $new = wp_unslash($_POST['import_data']); 375 $old = $get_func( $option_name);376 $old = json_encode( $old, JSON_PRETTY_PRINT );377 378 379 380 if ( ! $new || $old === $new) {399 $old = $get_func($option_name); 400 $old = json_encode($old, JSON_PRETTY_PRINT); 401 402 403 404 if (!$new || $old === $new) { 381 405 wp_die(esc_attr__('Nothing to update', 'control-block-patterns')); 382 406 } 383 $options = array_filter(json_decode( $new, true));384 407 $options = array_filter(json_decode($new, true)); 408 385 409 $similar_ids = count(array_intersect_key($this->get_std($option_name), $options)); 386 if ( $similar_ids <= 0){410 if ($similar_ids <= 0) { 387 411 wp_die(esc_attr__('Nothing to update.', 'control-block-patterns')); 388 } 389 390 391 if ( json_last_error() === JSON_ERROR_NONE) {392 $update_func( $option_name, $options);412 } 413 414 415 if (json_last_error() === JSON_ERROR_NONE) { 416 $update_func($option_name, $options); 393 417 wp_die(esc_attr__('Settings options imported successfully', 'control-block-patterns')); 394 418 } -
control-block-patterns/trunk/control-block-patterns.php
r2957854 r3044845 2 2 /** 3 3 * Plugin Name: Control Block Patterns 4 * Plugin URI: https:// controlpatterns.net4 * Plugin URI: https://themeperch.net 5 5 * Description: Save & control your site Block Patterns in an organized way. 1400+ Predefined Blocks are ready to use. You can Register new Pattern Category, Block Patterns, You can also unregister Default Block Patterns & Pattern Categories. 6 * Version: 1.3.5. 47 * Author: SenseFlame8 * Author URI: https:// controlpatterns.net6 * Version: 1.3.5.5 7 * Author: Themeperch 8 * Author URI: https://themeperch.net 9 9 * License: GPL2+ 10 10 * Text Domain: control-block-patterns -
control-block-patterns/trunk/readme.txt
r2957857 r3044845 1 1 === Build & Control Block Patterns - Boost up Gutenberg Editor === 2 Contributors: razib_, senseflame, themeperch2 Contributors: razib_, themeperch, upamahin, senseflame 3 3 Tags: block, pattern, block patterns, Gutenberg, patterns builder, reusable blocks, blocks builder, Pattern builder, register Pattern, Register Pattern Category, Pattern Directory 4 4 Requires at least: 5.5.0 5 Tested up to: 6. 35 Tested up to: 6.4 6 6 Requires PHP: 5.6 7 Stable tag: 1.3.5. 47 Stable tag: 1.3.5.5 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 62 62 **Control Block Patterns** is the easiest way to design your layout with beautiful patterns and to insert code or script in your WordPress headers and footers. 63 63 64 Our goal is to make using WordPress easy, both with our WordPress plugins and resources like ** SenseFlame**, the largest WordPress resource site for beginners.64 Our goal is to make using WordPress easy, both with our WordPress plugins and resources like **Themeperch**, the largest WordPress resource site for beginners. 65 65 66 66 We feel that we have done that here. I hope Control Block Patterns are useful to insert patterns and scripts on your site. … … 159 159 160 160 == Changelog == 161 = 1.3.5.5 = 162 * Fixed: Vulnerability issue 163 161 164 = 1.3.5.4 = 162 165 * Fixed: PHP 8+ cpmpatibilty … … 285 288 ## Upgrade Notice ## 286 289 287 ### 1.3.5. 4###288 * Fixed: PHP 8+ cpmpatibilty290 ### 1.3.5.5 ### 291 * Fixed: Vulnerability issue
Note: See TracChangeset
for help on using the changeset viewer.