Custom Sidebars – Dynamic Widget Area Manager - Version 3.2.4

Version Description

  • Added deprecation notice
Download this release

Release Info

Developer vanyukov
Plugin Icon 128x128 Custom Sidebars – Dynamic Widget Area Manager
Version 3.2.4
Comparing to
See all releases

Code changes from version 3.2.3 to 3.2.4

assets/css/cs.css CHANGED
@@ -175,7 +175,6 @@
175
  background: #e4e4e4;
176
  /* https://app.asana.com/0/11388810124414/15066782299785 */
177
  -webkit-user-select: none;
178
- -moz-user-select: none;
179
  -ms-user-select: none;
180
  user-select: none;
181
  }
175
  background: #e4e4e4;
176
  /* https://app.asana.com/0/11388810124414/15066782299785 */
177
  -webkit-user-select: none;
 
178
  -ms-user-select: none;
179
  user-select: none;
180
  }
assets/css/cs.min.css CHANGED
@@ -1 +1 @@
1
- .module-export .pro-layer{position:absolute;left:0;top:0;right:0;bottom:0;z-index:99999;background:rgba(255,255,255,.8);text-align:center;font-size:26px;font-weight:100;padding-top:120px;line-height:1.5}.module-export .pro-layer a{margin-top:20px;display:inline-block;background:#2ea2cc;color:#fafafa;text-decoration:none;padding:10px 20px;font-size:18px;font-weight:700}.module-export .pro-layer a:active,.module-export .pro-layer a:focus,.module-export .pro-layer a:hover{background:#1e8cbe;color:#fff}.frm-location .pro-layer{padding:10px;text-align:center;font-size:26px;font-weight:100;line-height:1.5}.frm-location .pro-layer a{margin-top:20px;display:inline-block;background:#2ea2cc;color:#fafafa;text-decoration:none;padding:10px 20px;font-size:18px;font-weight:700}.frm-location .pro-layer a:active,.frm-location .pro-layer a:focus,.frm-location .pro-layer a:hover{background:#1e8cbe;color:#fff}.frm-location table.form-table{margin-bottom:10px}.frm-location table.form-table td,.frm-location table.form-table th{padding:5px}.frm-location table.form-table td.num .dashicons-trash{cursor:pointer;color:#a00}.frm-location table.form-table .num{width:3em;text-align:center}.csb-pro-layer{float:left;position:relative;opacity:.5;margin-right:10px}.csb-pro-layer .pro-info{position:absolute;left:0;top:0;right:0;bottom:0;opacity:0;background:rgba(96,96,96,.75);z-index:99999;text-align:center;text-decoration:none;line-height:28px;font-size:16px;font-weight:100;color:#fff;text-decoration:underline;padding:0;margin:0;overflow:hidden}.csb-pro-layer:hover{opacity:1}.csb-pro-layer:hover .pro-info,.csb-pro-layer:hover .pro-info:active,.csb-pro-layer:hover .pro-info:focus,.csb-pro-layer:hover .pro-info:hover{line-height:48px;left:-10px;top:-10px;right:-5px;bottom:-10px;opacity:1}.csb-pro-layer .button{margin:0 5px 0 0;float:left}.csb-pro-layer .button .dashicons{line-height:26px;height:26px;float:left;margin-right:6px}#defaultsidebarspage p.submit{padding:0 0 10px;clear:both}#poststuff.defaultsdetailscontainer h2{border-bottom:0;margin-bottom:5px}#defaultsforpages,#defaultsforposts{padding:0 10px;background:#fcfcfc;overflow:hidden}.defaultsSelector{margin-bottom:30px}.cscolright{clear:right;float:right;margin:0;overflow:hidden;padding:0;width:49%}.cscolleft{margin:0;overflow:hidden;padding:0;width:49%}.widgets-php .widget-liquid-left{width:100%}.widgets-php .cs-wrap .widget-liquid-right .widget.open{z-index:9999!important}.widgets-php .widget-liquid-right{padding:0 0 75px 0;margin:-10px -214% 0 0;width:210%;background:#e4e4e4;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@media screen and (max-width:480px){.widgets-php .widget-liquid-right{width:100%}}.widgets-php .widget-liquid-right #widgets-right{margin:20px}.widgets-php .widget-liquid-right .overview{list-style:none;position:absolute;left:0;top:0;width:auto;right:0;padding-left:20px;border-left:1px solid #ddd}.widgets-php #wpcontent{position:relative}.widgets-php #wpcontent .wrap .cs-wrap{margin-right:68%;padding-top:1em;position:relative}@media screen and (max-width:480px){.widgets-php #wpcontent .wrap .cs-wrap{position:static;margin:0}}.widgets-php #wpcontent #screen-meta-links{position:relative;z-index:10}.widgets-php #wpcontent #screen-meta{position:relative;z-index:10}.widgets-php #widgets-left{margin-right:0!important}.widgets-php #footer{background:#fff;margin-right:0;padding-right:20px}.widgets-php .sidebars-column-1 .custom-sidebars-add-new{background-color:#fff;padding:15px}.widgets-php .sidebars-column-1 .custom-sidebars-add-new p{border-radius:4px;border:3px dashed #ddd;color:#777;cursor:pointer;font-weight:700;margin:0;padding:90px 10px;text-align:center}.widgets-php .sidebars-column-1 .inner .custom-sidebars-box{border-radius:4px;margin:55px 0 16px 0}.widgets-php .sidebars-column-1 .inner .custom-sidebars-upfront{background-color:#f9c200}.widgets-php .sidebars-column-1 .inner .custom-sidebars-upfront .cs-inner{min-height:145px;margin-right:-16px;background:url(../img/devman.png) no-repeat 100% 50%;padding:50px 120px 45px 20px}.widgets-php .sidebars-column-1 .inner .custom-sidebars-upfront .cs-inner p{font-size:1.4em;color:#000;margin-top:0}.widgets-php .sidebars-column-1 .inner .custom-sidebars-upfront .cs-inner p:last-of-type{margin-bottom:0}.widgets-php .sidebars-column-1 .inner .custom-sidebars-upfront .cs-inner .button{background-color:#00a7e6;color:#fff;font-weight:700;height:auto;padding:15px 16px;text-transform:uppercase}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup{background-color:#fff}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner{background:url(../img/hand-with-heart.png) no-repeat 100% 100%;font-size:1.2em;min-height:227px;padding-bottom:10px}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner h4,.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner p{margin:0;padding:0 120px 0 30px;font-size:1.1em}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner h4{color:#222;font-size:1.2em;padding-top:50px}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner p{color:#c1272c;padding-top:16px}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner form{border-radius:4px;background-color:#fafafa;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:justify;justify-content:space-between;margin:24px 30px 0 30px;padding:0}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner form input{background-color:transparent;border:0;font-size:1em;margin:0;padding:10px 15px;text-align:center}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner form input[type=submit]{border-radius:0 4px 4px 0;background-color:#00a7e6;color:#fff;min-width:3em;text-transform:uppercase}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner form input[type=text]{color:#aaa;-ms-flex-positive:1;flex-grow:1}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner form input[type=text]:active{box-shadow:none}@media screen and (max-width:590px){.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner form{background-color:transparent;display:block}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner form input[type=text]{background-color:#fafafa}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner form input[type=submit]{border-radius:4px;display:block;margin:10px 0 0 auto;width:auto}}#cs-options .cs-action{line-height:26px;margin-right:20px}#cs-options .cs-action.btn-export{white-space:nowrap}#cs-options .cs-filter{float:right}@media screen and (max-width:700px){#cs-options .cs-filter{float:none;margin-top:5px}}.sidebar-form{margin:0 15px}.sidebar-form label{display:block}.sidebar-form .submit{text-align:right;margin:0;padding:1em 0}.sidebar-form .description{margin-top:5px;text-align:right}.sidebar_description,.sidebar_name{width:100%}div#widgets-right .sidebar-name>h3{padding:15px}div#widgets-right .widgets-sortables .sidebar-name>h3{padding:15px 7px}.widgets-holder-wrap.closed>div:nth-child(2){display:none}#defaultsidebarspage .hndle{cursor:pointer}#customsidebarspage #col-right{width:62%}.widgets_access .widget-liquid-right{position:static}#oldbrowsererror{display:none}#defaultsidebarspage .postbox{position:static}#defaultsidebarspage .inside{position:static}body.appearance_page_customsidebars .wrap h2{float:none}body.appearance_page_customsidebars #poststuff h2{margin-top:0}.widget.ui-draggable-dragging{z-index:10001!important}.csb-more-content{display:none}.csb-has-more .csb-more-content{display:block}#cs-widgets-extra{display:none}#cs-title-options{zoom:1;background:#e8e8e8;margin:-20px -20px 0 -20px;padding:10px 20px 20px;border-bottom:1px solid #ddd}.cs-title h3{font-weight:100}.cs-title h3 .cs-icon{margin-left:10px;color:#999}.replaceable{position:relative}.replaceable .replace-marker{position:absolute;left:0;top:0;bottom:0;width:5px;margin:0 5px 0 0;border-left:2px solid #05c944;z-index:10}.replaceable .replace-marker:hover:before{content:attr(data-label);background:#333;color:#eee;font-size:13px;white-space:nowrap;padding:5px;position:absolute;top:7px;right:13px;line-height:20px}.replaceable .replace-marker:hover:after{content:'';position:absolute;top:16px;right:3px;border:6px solid transparent;border-left-color:#333}.cs-message{margin:.5em 0;padding:10px;position:absolute;left:0;right:0;box-shadow:0 1px 10px rgba(0,0,0,.2);z-index:100}.cs-message .close{position:absolute;top:.5em;right:.5em;opacity:.3;color:#000;cursor:pointer;text-decoration:none;font-size:14px;line-height:26px;width:26px;text-align:center;background:rgba(0,0,0,.1)}.cs-message .close:active,.cs-message .close:focus,.cs-message .close:hover{opacity:1}.cs-update{background:#ffffe0;border:1px solid #e6db55}.cs-error{background:#ffebe8;border:1px solid #c00}.cs-toolbar{color:#333;padding:0;background:#fcfcfc;border-top:1px solid #e5e5e5}.cs-toolbar:after{display:table;content:'';clear:both}.closed .cs-toolbar{display:none}.cs-toolbar .cs-tool{text-decoration:none;line-height:40px;height:40px;padding:0 10px;white-space:nowrap;background:#fff;position:relative;overflow:hidden}.cs-toolbar .dashicons{line-height:40px}.cs-toolbar .cs-separator{border-left:1px solid #e5e5e5;width:1px;padding:0;margin:0;height:40px;overflow:hidden;display:inline-block;color:#ddd}.cs-custom-sidebar .cs-separator,.cs-custom-sidebar .cs-tool{float:right}.cs-theme-sidebar .cs-separator,.cs-theme-sidebar .cs-tool{float:left}.cs-toolbar .delete-sidebar{color:#a00}.cs-toolbar .delete-sidebar:active,.cs-toolbar .delete-sidebar:focus,.cs-toolbar .delete-sidebar:hover{color:red}.cs-toolbar .cs-tool.btn-replaceable{color:#555}.cs-toolbar .cs-tool.btn-replaceable:hover{color:#333!important}.replaceable .cs-toolbar .cs-tool.btn-replaceable{background:#edfff3;color:#333}.replace-tip-box{float:left}.replace-tip{width:200px}.csb .button{outline:0}.csb .button-primary>.dashicons,.csb .button-secondary>.dashicons,.csb .button>.dashicons{opacity:.75;line-height:26px;margin-right:5px;transition:opacity .2s}.csb .button-primary:hover>.dashicons,.csb .button-secondary:hover>.dashicons,.csb .button:hover>.dashicons{opacity:1}.rtl div.widget-liquid-right{float:left;right:auto;left:0}.rtl.widgets-php #wpcontent .wrap .cs-wrap{margin-right:2px;margin-left:68%}.rtl.widgets-php .widget-liquid-right{margin:-10px 0 0 -214%}.rtl.widgets-php #widgets-left{margin-left:0!important}.rtl.widgets-php.folded #wpcontent,.rtl.widgets-php.folded #wpfooter{margin-left:325px;margin-right:52px}.rtl #cs-title-options h2{margin-right:5px}.rtl #cs-options .cs-filter{float:left}.rtl #cs-options .cs-action{margin-right:0;margin-left:20px}.rtl .sidebar-form .submit{text-align:left}.rtl #TB_ajaxWindowTitle{float:right}.rtl #TB_closeAjaxWindow{float:left}.csb-export-head{min-width:450px}.csb-export-head th{vertical-align:top;text-align:right;color:#679;width:150px}.csb-export-head tr:hover{background:#fafafa}.csb-export-head ul{margin:0}.csb-export-head .dashicons.hint{font-size:12px;line-height:22px}.csb-form{padding-left:15px}#poststuff .csb-form .form-buttons,#poststuff .csb-form h2,#poststuff .csb-form h3,.csb-form .form-buttons,.csb-form h2,.csb-form h3{padding-left:0;margin-left:-15px}.form-buttons{clear:both}.show-infos{position:relative;display:inline-block;margin:0 5px}h2 .show-infos{top:4px}.show-infos .export-infos{position:absolute;top:-5px;left:30px;font-size:13px;line-height:1.4em;font-weight:400;background:#fff;box-shadow:0 1px 8px rgba(0,0,0,.2);border:3px solid #fafafa;padding:5px;z-index:10}.show-infos .export-infos:after,.show-infos .export-infos:before{content:'';position:absolute;left:-17px;top:5px;border:7px solid transparent;border-right-color:#fafafa;z-index:1}.show-infos .export-infos:after{left:-18px;top:5px;border-right-color:rgba(0,0,0,.15);z-index:0}.show-infos:hover .export-infos{display:block!important}.export-infos .section{font-weight:700;margin:10px 0 5px -2px;color:#666}.cs-half{float:left;width:49%;margin-right:1%}.cs-replaceable{margin-bottom:5px}.cs-replaceable>.details{display:none;margin:5px 0}.cs-replaceable.open>.details{display:block}.popup-content .message.no-sidebars{font-size:1.4em}@media screen and (max-width:480px){.wpmui-popup .buttons{height:80px;text-align:left}.wpmui-popup .buttons label{float:none;display:block;margin-bottom:.5em}.wpmui-popup .buttons .btn-save{float:right}}@media screen and (max-width:782px){#wpbody-content .wp-list-table.fixed .column-cs_replacement{display:none}}#wpbody-content .wp-list-table .column-cs_replacement{width:10%}#wpbody-content .wp-list-table .column-cs_replacement dt{opacity:.8;color:#666}#wpbody-content .wp-list-table .column-cs_replacement dd{margin-left:10px}#wpbody-content .wp-list-table .inline-edit-row fieldset.cs-quickedit{border-top:1px solid #eee;margin-top:10px;padding-top:10px}#wpbody-content .wp-list-table .inline-edit-row fieldset.cs-quickedit label span.title{display:block;float:left;min-width:5em;white-space:nowrap;padding-right:10px;width:auto}#wpbody-content .wp-list-table .inline-edit-row-page .inline-edit-col-right{float:right}
1
+ .module-export .pro-layer{position:absolute;left:0;top:0;right:0;bottom:0;z-index:99999;background:rgba(255,255,255,.8);text-align:center;font-size:26px;font-weight:100;padding-top:120px;line-height:1.5}.module-export .pro-layer a{margin-top:20px;display:inline-block;background:#2ea2cc;color:#fafafa;text-decoration:none;padding:10px 20px;font-size:18px;font-weight:700}.module-export .pro-layer a:active,.module-export .pro-layer a:focus,.module-export .pro-layer a:hover{background:#1e8cbe;color:#fff}.frm-location .pro-layer{padding:10px;text-align:center;font-size:26px;font-weight:100;line-height:1.5}.frm-location .pro-layer a{margin-top:20px;display:inline-block;background:#2ea2cc;color:#fafafa;text-decoration:none;padding:10px 20px;font-size:18px;font-weight:700}.frm-location .pro-layer a:active,.frm-location .pro-layer a:focus,.frm-location .pro-layer a:hover{background:#1e8cbe;color:#fff}.frm-location table.form-table{margin-bottom:10px}.frm-location table.form-table td,.frm-location table.form-table th{padding:5px}.frm-location table.form-table td.num .dashicons-trash{cursor:pointer;color:#a00}.frm-location table.form-table .num{width:3em;text-align:center}.csb-pro-layer{float:left;position:relative;opacity:.5;margin-right:10px}.csb-pro-layer .pro-info{position:absolute;left:0;top:0;right:0;bottom:0;opacity:0;background:rgba(96,96,96,.75);z-index:99999;text-align:center;text-decoration:none;line-height:28px;font-size:16px;font-weight:100;color:#fff;text-decoration:underline;padding:0;margin:0;overflow:hidden}.csb-pro-layer:hover{opacity:1}.csb-pro-layer:hover .pro-info,.csb-pro-layer:hover .pro-info:active,.csb-pro-layer:hover .pro-info:focus,.csb-pro-layer:hover .pro-info:hover{line-height:48px;left:-10px;top:-10px;right:-5px;bottom:-10px;opacity:1}.csb-pro-layer .button{margin:0 5px 0 0;float:left}.csb-pro-layer .button .dashicons{line-height:26px;height:26px;float:left;margin-right:6px}#defaultsidebarspage p.submit{padding:0 0 10px;clear:both}#poststuff.defaultsdetailscontainer h2{border-bottom:0;margin-bottom:5px}#defaultsforpages,#defaultsforposts{padding:0 10px;background:#fcfcfc;overflow:hidden}.defaultsSelector{margin-bottom:30px}.cscolright{clear:right;float:right;margin:0;overflow:hidden;padding:0;width:49%}.cscolleft{margin:0;overflow:hidden;padding:0;width:49%}.widgets-php .widget-liquid-left{width:100%}.widgets-php .cs-wrap .widget-liquid-right .widget.open{z-index:9999!important}.widgets-php .widget-liquid-right{padding:0 0 75px 0;margin:-10px -214% 0 0;width:210%;background:#e4e4e4;-webkit-user-select:none;-ms-user-select:none;user-select:none}@media screen and (max-width:480px){.widgets-php .widget-liquid-right{width:100%}}.widgets-php .widget-liquid-right #widgets-right{margin:20px}.widgets-php .widget-liquid-right .overview{list-style:none;position:absolute;left:0;top:0;width:auto;right:0;padding-left:20px;border-left:1px solid #ddd}.widgets-php #wpcontent{position:relative}.widgets-php #wpcontent .wrap .cs-wrap{margin-right:68%;padding-top:1em;position:relative}@media screen and (max-width:480px){.widgets-php #wpcontent .wrap .cs-wrap{position:static;margin:0}}.widgets-php #wpcontent #screen-meta-links{position:relative;z-index:10}.widgets-php #wpcontent #screen-meta{position:relative;z-index:10}.widgets-php #widgets-left{margin-right:0!important}.widgets-php #footer{background:#fff;margin-right:0;padding-right:20px}.widgets-php .sidebars-column-1 .custom-sidebars-add-new{background-color:#fff;padding:15px}.widgets-php .sidebars-column-1 .custom-sidebars-add-new p{border-radius:4px;border:3px dashed #ddd;color:#777;cursor:pointer;font-weight:700;margin:0;padding:90px 10px;text-align:center}.widgets-php .sidebars-column-1 .inner .custom-sidebars-box{border-radius:4px;margin:55px 0 16px 0}.widgets-php .sidebars-column-1 .inner .custom-sidebars-upfront{background-color:#f9c200}.widgets-php .sidebars-column-1 .inner .custom-sidebars-upfront .cs-inner{min-height:145px;margin-right:-16px;background:url(../img/devman.png) no-repeat 100% 50%;padding:50px 120px 45px 20px}.widgets-php .sidebars-column-1 .inner .custom-sidebars-upfront .cs-inner p{font-size:1.4em;color:#000;margin-top:0}.widgets-php .sidebars-column-1 .inner .custom-sidebars-upfront .cs-inner p:last-of-type{margin-bottom:0}.widgets-php .sidebars-column-1 .inner .custom-sidebars-upfront .cs-inner .button{background-color:#00a7e6;color:#fff;font-weight:700;height:auto;padding:15px 16px;text-transform:uppercase}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup{background-color:#fff}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner{background:url(../img/hand-with-heart.png) no-repeat 100% 100%;font-size:1.2em;min-height:227px;padding-bottom:10px}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner h4,.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner p{margin:0;padding:0 120px 0 30px;font-size:1.1em}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner h4{color:#222;font-size:1.2em;padding-top:50px}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner p{color:#c1272c;padding-top:16px}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner form{border-radius:4px;background-color:#fafafa;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-ms-flex-pack:justify;justify-content:space-between;margin:24px 30px 0 30px;padding:0}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner form input{background-color:transparent;border:0;font-size:1em;margin:0;padding:10px 15px;text-align:center}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner form input[type=submit]{border-radius:0 4px 4px 0;background-color:#00a7e6;color:#fff;min-width:3em;text-transform:uppercase}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner form input[type=text]{color:#aaa;-ms-flex-positive:1;flex-grow:1}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner form input[type=text]:active{box-shadow:none}@media screen and (max-width:590px){.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner form{background-color:transparent;display:block}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner form input[type=text]{background-color:#fafafa}.widgets-php .sidebars-column-1 .inner .custom-sidebars-checkup .cs-inner form input[type=submit]{border-radius:4px;display:block;margin:10px 0 0 auto;width:auto}}#cs-options .cs-action{line-height:26px;margin-right:20px}#cs-options .cs-action.btn-export{white-space:nowrap}#cs-options .cs-filter{float:right}@media screen and (max-width:700px){#cs-options .cs-filter{float:none;margin-top:5px}}.sidebar-form{margin:0 15px}.sidebar-form label{display:block}.sidebar-form .submit{text-align:right;margin:0;padding:1em 0}.sidebar-form .description{margin-top:5px;text-align:right}.sidebar_description,.sidebar_name{width:100%}div#widgets-right .sidebar-name>h3{padding:15px}div#widgets-right .widgets-sortables .sidebar-name>h3{padding:15px 7px}.widgets-holder-wrap.closed>div:nth-child(2){display:none}#defaultsidebarspage .hndle{cursor:pointer}#customsidebarspage #col-right{width:62%}.widgets_access .widget-liquid-right{position:static}#oldbrowsererror{display:none}#defaultsidebarspage .postbox{position:static}#defaultsidebarspage .inside{position:static}body.appearance_page_customsidebars .wrap h2{float:none}body.appearance_page_customsidebars #poststuff h2{margin-top:0}.widget.ui-draggable-dragging{z-index:10001!important}.csb-more-content{display:none}.csb-has-more .csb-more-content{display:block}#cs-widgets-extra{display:none}#cs-title-options{zoom:1;background:#e8e8e8;margin:-20px -20px 0 -20px;padding:10px 20px 20px;border-bottom:1px solid #ddd}.cs-title h3{font-weight:100}.cs-title h3 .cs-icon{margin-left:10px;color:#999}.replaceable{position:relative}.replaceable .replace-marker{position:absolute;left:0;top:0;bottom:0;width:5px;margin:0 5px 0 0;border-left:2px solid #05c944;z-index:10}.replaceable .replace-marker:hover:before{content:attr(data-label);background:#333;color:#eee;font-size:13px;white-space:nowrap;padding:5px;position:absolute;top:7px;right:13px;line-height:20px}.replaceable .replace-marker:hover:after{content:'';position:absolute;top:16px;right:3px;border:6px solid transparent;border-left-color:#333}.cs-message{margin:.5em 0;padding:10px;position:absolute;left:0;right:0;box-shadow:0 1px 10px rgba(0,0,0,.2);z-index:100}.cs-message .close{position:absolute;top:.5em;right:.5em;opacity:.3;color:#000;cursor:pointer;text-decoration:none;font-size:14px;line-height:26px;width:26px;text-align:center;background:rgba(0,0,0,.1)}.cs-message .close:active,.cs-message .close:focus,.cs-message .close:hover{opacity:1}.cs-update{background:#ffffe0;border:1px solid #e6db55}.cs-error{background:#ffebe8;border:1px solid #c00}.cs-toolbar{color:#333;padding:0;background:#fcfcfc;border-top:1px solid #e5e5e5}.cs-toolbar:after{display:table;content:'';clear:both}.closed .cs-toolbar{display:none}.cs-toolbar .cs-tool{text-decoration:none;line-height:40px;height:40px;padding:0 10px;white-space:nowrap;background:#fff;position:relative;overflow:hidden}.cs-toolbar .dashicons{line-height:40px}.cs-toolbar .cs-separator{border-left:1px solid #e5e5e5;width:1px;padding:0;margin:0;height:40px;overflow:hidden;display:inline-block;color:#ddd}.cs-custom-sidebar .cs-separator,.cs-custom-sidebar .cs-tool{float:right}.cs-theme-sidebar .cs-separator,.cs-theme-sidebar .cs-tool{float:left}.cs-toolbar .delete-sidebar{color:#a00}.cs-toolbar .delete-sidebar:active,.cs-toolbar .delete-sidebar:focus,.cs-toolbar .delete-sidebar:hover{color:red}.cs-toolbar .cs-tool.btn-replaceable{color:#555}.cs-toolbar .cs-tool.btn-replaceable:hover{color:#333!important}.replaceable .cs-toolbar .cs-tool.btn-replaceable{background:#edfff3;color:#333}.replace-tip-box{float:left}.replace-tip{width:200px}.csb .button{outline:0}.csb .button-primary>.dashicons,.csb .button-secondary>.dashicons,.csb .button>.dashicons{opacity:.75;line-height:26px;margin-right:5px;transition:opacity .2s}.csb .button-primary:hover>.dashicons,.csb .button-secondary:hover>.dashicons,.csb .button:hover>.dashicons{opacity:1}.rtl div.widget-liquid-right{float:left;right:auto;left:0}.rtl.widgets-php #wpcontent .wrap .cs-wrap{margin-right:2px;margin-left:68%}.rtl.widgets-php .widget-liquid-right{margin:-10px 0 0 -214%}.rtl.widgets-php #widgets-left{margin-left:0!important}.rtl.widgets-php.folded #wpcontent,.rtl.widgets-php.folded #wpfooter{margin-left:325px;margin-right:52px}.rtl #cs-title-options h2{margin-right:5px}.rtl #cs-options .cs-filter{float:left}.rtl #cs-options .cs-action{margin-right:0;margin-left:20px}.rtl .sidebar-form .submit{text-align:left}.rtl #TB_ajaxWindowTitle{float:right}.rtl #TB_closeAjaxWindow{float:left}.csb-export-head{min-width:450px}.csb-export-head th{vertical-align:top;text-align:right;color:#679;width:150px}.csb-export-head tr:hover{background:#fafafa}.csb-export-head ul{margin:0}.csb-export-head .dashicons.hint{font-size:12px;line-height:22px}.csb-form{padding-left:15px}#poststuff .csb-form .form-buttons,#poststuff .csb-form h2,#poststuff .csb-form h3,.csb-form .form-buttons,.csb-form h2,.csb-form h3{padding-left:0;margin-left:-15px}.form-buttons{clear:both}.show-infos{position:relative;display:inline-block;margin:0 5px}h2 .show-infos{top:4px}.show-infos .export-infos{position:absolute;top:-5px;left:30px;font-size:13px;line-height:1.4em;font-weight:400;background:#fff;box-shadow:0 1px 8px rgba(0,0,0,.2);border:3px solid #fafafa;padding:5px;z-index:10}.show-infos .export-infos:after,.show-infos .export-infos:before{content:'';position:absolute;left:-17px;top:5px;border:7px solid transparent;border-right-color:#fafafa;z-index:1}.show-infos .export-infos:after{left:-18px;top:5px;border-right-color:rgba(0,0,0,.15);z-index:0}.show-infos:hover .export-infos{display:block!important}.export-infos .section{font-weight:700;margin:10px 0 5px -2px;color:#666}.cs-half{float:left;width:49%;margin-right:1%}.cs-replaceable{margin-bottom:5px}.cs-replaceable>.details{display:none;margin:5px 0}.cs-replaceable.open>.details{display:block}.popup-content .message.no-sidebars{font-size:1.4em}@media screen and (max-width:480px){.wpmui-popup .buttons{height:80px;text-align:left}.wpmui-popup .buttons label{float:none;display:block;margin-bottom:.5em}.wpmui-popup .buttons .btn-save{float:right}}@media screen and (max-width:782px){#wpbody-content .wp-list-table.fixed .column-cs_replacement{display:none}}#wpbody-content .wp-list-table .column-cs_replacement{width:10%}#wpbody-content .wp-list-table .column-cs_replacement dt{opacity:.8;color:#666}#wpbody-content .wp-list-table .column-cs_replacement dd{margin-left:10px}#wpbody-content .wp-list-table .inline-edit-row fieldset.cs-quickedit{border-top:1px solid #eee;margin-top:10px;padding-top:10px}#wpbody-content .wp-list-table .inline-edit-row fieldset.cs-quickedit label span.title{display:block;float:left;min-width:5em;white-space:nowrap;padding-right:10px;width:auto}#wpbody-content .wp-list-table .inline-edit-row-page .inline-edit-col-right{float:right}
assets/js/cs-cloning.js CHANGED
@@ -1,6 +1,6 @@
1
  /*! Custom Sidebars - v3.2.3
2
  * https://premium.wpmudev.org/project/custom-sidebars-pro/
3
- * Copyright (c) 2019; * Licensed GPLv2+ */
4
  /*global jQuery:false */
5
  /*global window:false */
6
  /*global document:false */
1
  /*! Custom Sidebars - v3.2.3
2
  * https://premium.wpmudev.org/project/custom-sidebars-pro/
3
+ * Copyright (c) 2020; * Licensed GPLv2+ */
4
  /*global jQuery:false */
5
  /*global window:false */
6
  /*global document:false */
assets/js/cs-cloning.min.js CHANGED
@@ -1,5 +1,5 @@
1
  /*! Custom Sidebars - v3.2.3
2
  * https://premium.wpmudev.org/project/custom-sidebars-pro/
3
- * Copyright (c) 2019; * Licensed GPLv2+ */
4
 
5
  jQuery(function(){var a=jQuery(document),b=jQuery("#widgets-right"),c=!1,d=function(){for(var a=jQuery("#widgets-left input.csb-clone-group"),c=parseInt(a.first().val());b.find('input.csb-clone-group[value="'+c+'"]').length;)c+=1;a.val(c)},e=function(a){var b=jQuery(this).closest(".widget"),e=jQuery("#widgets-left"),f=jQuery(".widgets-chooser"),g=jQuery("#wpbody-content");a.preventDefault(),c=!0,"new"===b.find("input.csb-clone-state").val()&&window.wpWidgets.save(b,0,0,0),window.wpWidgets.clearWidgetSelection(),f.slideUp(200,function(){f.hide(),g.append(this)});var h=b.find("input.id_base").val(),i=e.find('input.id_base[value="'+h+'"]'),j=i.closest(".widget");j.addClass("widget-in-question");var k=b.find("input.csb-clone-group").val(),l=(j.find(".widget-control-actions"),j.find("input.csb-clone-group")),m=j.find("input.csb-clone-state");l.val(k),m.val("empty");var n=b.closest(".widgets-sortables"),o=n.attr("id");return f.find(".widgets-chooser-selected").removeClass("widgets-chooser-selected"),f.find("li").each(function(){var a=jQuery(this);o===a.data("sidebarId")&&a.addClass("widgets-chooser-selected").focus()}),window.wpWidgets.addWidget(f),window.wpWidgets.clearWidgetSelection(),d(),c=!1,!1},f=function(a){var c=jQuery(this).closest(".widget"),d=c.find("input.csb-clone-group").val();b.find('input.csb-clone-group[value="'+d+'"]').closest(".widget").not(c).each(function(){var a=jQuery(this);a.find("input.csb-clone-state"),a.addClass("wpmui-loading").attr("data-reload",!0)})},g=function(a,b){var c=jQuery(b).closest(".widget"),d=c.find(".csb-clone-button"),g=c.find(".widget-control-actions .widget-control-save"),h=c.find(".widget-control-actions .spinner"),i=c.find(".widget-control-save");c.data("_csb_cloning")||(h.insertBefore(g).css({float:"left"}),d.insertBefore(g).click(e),i.click(f),c.data("_csb_cloning",!0))},h=function(a,e){if(c)return!1;for(var f=jQuery(e).closest(".widget"),g=f.find("input.csb-clone-group"),h=parseInt(g.val()),i=null;;){if(i=b.find('input.csb-clone-group[value="'+h+'"]'),!i.length||1===i.length&&i[0]===g[0])break;h+=1}g.val(h),d()},i=function(a){var c=jQuery(this).closest(".widget"),d=c.find("input.csb-clone-group").val(),e=b.find('input.csb-clone-group[value="'+d+'"]').closest(".widget");isNaN(d)||d<1||(e.addClass("csb-marker"),c.removeClass("csb-marker"))},j=function(a){jQuery(".widget.csb-marker").removeClass("csb-marker")},k=function(a){var b=jQuery(this).closest(".widget"),c=b.find(".widget-title h4"),d=c.find(".btn-clone-group"),e=b.find("input.csb-clone-group");return a.preventDefault(),a.stopPropagation(),c.hasClass("group-active")?(c.removeClass("group-active"),d.removeClass("dashicons-admin-links").addClass("dashicons-editor-unlink"),e.data("group",e.val()),e.val(0),j()):(c.addClass("group-active"),d.addClass("dashicons-admin-links").removeClass("dashicons-editor-unlink"),e.val(e.data("group")),i.call(this,[a])),!1},l=function(){b.find("input.csb-clone-group").each(function(){var a=jQuery(this).val(),c=b.find('input.csb-clone-group[value="'+a+'"]').closest(".widget"),d=c.find(".widget-title h4, .widget-title h3"),e="add";(isNaN(a)||a<1)&&(e="remove"),c.length<2&&(e="remove"),d.removeClass("csb-group group-active").find(".btn-clone-group").remove(),c.removeAttr("data-csb-icon"),"add"===e&&(d.addClass("csb-group group-active").prepend('<i class="dashicons dashicons-admin-links btn-clone-group"></i> '),d.find(".btn-clone-group").hover(i,j).click(k))})},m=function(a){"empty"===a.find("input.csb-clone-state").val()&&(a.addClass("wpmui-loading"),window.wpWidgets.save(a,0,1,0))},n=function(a){b.find(".widget[data-reload]").each(function(){var a=jQuery(this);a.find("input.csb-clone-state").val("empty"),a.removeAttr("data-reload"),window.wpWidgets.save(a,0,0,0)})},o=function(a,b,c,d){var e="string"==typeof c.data?c.data:"",f=e.match(/^.*&action=([^&]+).*$/),g=e.match(/^.*&widget-id=([^&]+).*$/),h=f&&2===f.length?f[1]:"",i=g&&2===g.length?g[1]:"";if(i.length){var j=jQuery('.widget input.widget-id[value="'+i+'"]'),k=j.closest(".widget");switch(h){case"save-widget":k.removeClass("wpmui-loading"),d.length?d.match(/^deleted:/)?window.setTimeout(l,400):(l(),n()):m(k)}}};b.find(".widget").each(g),a.on("widget-added",g),a.on("widget-added",h),a.ajaxSuccess(o),l(),d()});
1
  /*! Custom Sidebars - v3.2.3
2
  * https://premium.wpmudev.org/project/custom-sidebars-pro/
3
+ * Copyright (c) 2020; * Licensed GPLv2+ */
4
 
5
  jQuery(function(){var a=jQuery(document),b=jQuery("#widgets-right"),c=!1,d=function(){for(var a=jQuery("#widgets-left input.csb-clone-group"),c=parseInt(a.first().val());b.find('input.csb-clone-group[value="'+c+'"]').length;)c+=1;a.val(c)},e=function(a){var b=jQuery(this).closest(".widget"),e=jQuery("#widgets-left"),f=jQuery(".widgets-chooser"),g=jQuery("#wpbody-content");a.preventDefault(),c=!0,"new"===b.find("input.csb-clone-state").val()&&window.wpWidgets.save(b,0,0,0),window.wpWidgets.clearWidgetSelection(),f.slideUp(200,function(){f.hide(),g.append(this)});var h=b.find("input.id_base").val(),i=e.find('input.id_base[value="'+h+'"]'),j=i.closest(".widget");j.addClass("widget-in-question");var k=b.find("input.csb-clone-group").val(),l=(j.find(".widget-control-actions"),j.find("input.csb-clone-group")),m=j.find("input.csb-clone-state");l.val(k),m.val("empty");var n=b.closest(".widgets-sortables"),o=n.attr("id");return f.find(".widgets-chooser-selected").removeClass("widgets-chooser-selected"),f.find("li").each(function(){var a=jQuery(this);o===a.data("sidebarId")&&a.addClass("widgets-chooser-selected").focus()}),window.wpWidgets.addWidget(f),window.wpWidgets.clearWidgetSelection(),d(),c=!1,!1},f=function(a){var c=jQuery(this).closest(".widget"),d=c.find("input.csb-clone-group").val();b.find('input.csb-clone-group[value="'+d+'"]').closest(".widget").not(c).each(function(){var a=jQuery(this);a.find("input.csb-clone-state"),a.addClass("wpmui-loading").attr("data-reload",!0)})},g=function(a,b){var c=jQuery(b).closest(".widget"),d=c.find(".csb-clone-button"),g=c.find(".widget-control-actions .widget-control-save"),h=c.find(".widget-control-actions .spinner"),i=c.find(".widget-control-save");c.data("_csb_cloning")||(h.insertBefore(g).css({float:"left"}),d.insertBefore(g).click(e),i.click(f),c.data("_csb_cloning",!0))},h=function(a,e){if(c)return!1;for(var f=jQuery(e).closest(".widget"),g=f.find("input.csb-clone-group"),h=parseInt(g.val()),i=null;;){if(i=b.find('input.csb-clone-group[value="'+h+'"]'),!i.length||1===i.length&&i[0]===g[0])break;h+=1}g.val(h),d()},i=function(a){var c=jQuery(this).closest(".widget"),d=c.find("input.csb-clone-group").val(),e=b.find('input.csb-clone-group[value="'+d+'"]').closest(".widget");isNaN(d)||d<1||(e.addClass("csb-marker"),c.removeClass("csb-marker"))},j=function(a){jQuery(".widget.csb-marker").removeClass("csb-marker")},k=function(a){var b=jQuery(this).closest(".widget"),c=b.find(".widget-title h4"),d=c.find(".btn-clone-group"),e=b.find("input.csb-clone-group");return a.preventDefault(),a.stopPropagation(),c.hasClass("group-active")?(c.removeClass("group-active"),d.removeClass("dashicons-admin-links").addClass("dashicons-editor-unlink"),e.data("group",e.val()),e.val(0),j()):(c.addClass("group-active"),d.addClass("dashicons-admin-links").removeClass("dashicons-editor-unlink"),e.val(e.data("group")),i.call(this,[a])),!1},l=function(){b.find("input.csb-clone-group").each(function(){var a=jQuery(this).val(),c=b.find('input.csb-clone-group[value="'+a+'"]').closest(".widget"),d=c.find(".widget-title h4, .widget-title h3"),e="add";(isNaN(a)||a<1)&&(e="remove"),c.length<2&&(e="remove"),d.removeClass("csb-group group-active").find(".btn-clone-group").remove(),c.removeAttr("data-csb-icon"),"add"===e&&(d.addClass("csb-group group-active").prepend('<i class="dashicons dashicons-admin-links btn-clone-group"></i> '),d.find(".btn-clone-group").hover(i,j).click(k))})},m=function(a){"empty"===a.find("input.csb-clone-state").val()&&(a.addClass("wpmui-loading"),window.wpWidgets.save(a,0,1,0))},n=function(a){b.find(".widget[data-reload]").each(function(){var a=jQuery(this);a.find("input.csb-clone-state").val("empty"),a.removeAttr("data-reload"),window.wpWidgets.save(a,0,0,0)})},o=function(a,b,c,d){var e="string"==typeof c.data?c.data:"",f=e.match(/^.*&action=([^&]+).*$/),g=e.match(/^.*&widget-id=([^&]+).*$/),h=f&&2===f.length?f[1]:"",i=g&&2===g.length?g[1]:"";if(i.length){var j=jQuery('.widget input.widget-id[value="'+i+'"]'),k=j.closest(".widget");switch(h){case"save-widget":k.removeClass("wpmui-loading"),d.length?d.match(/^deleted:/)?window.setTimeout(l,400):(l(),n()):m(k)}}};b.find(".widget").each(g),a.on("widget-added",g),a.on("widget-added",h),a.ajaxSuccess(o),l(),d()});
assets/js/cs-visibility.js CHANGED
@@ -1,6 +1,6 @@
1
  /*! Custom Sidebars - v3.2.3
2
  * https://premium.wpmudev.org/project/custom-sidebars-pro/
3
- * Copyright (c) 2019; * Licensed GPLv2+ */
4
  /*global jQuery:false */
5
  /*global window:false */
6
  /*global document:false */
1
  /*! Custom Sidebars - v3.2.3
2
  * https://premium.wpmudev.org/project/custom-sidebars-pro/
3
+ * Copyright (c) 2020; * Licensed GPLv2+ */
4
  /*global jQuery:false */
5
  /*global window:false */
6
  /*global document:false */
assets/js/cs-visibility.min.js CHANGED
@@ -1,5 +1,5 @@
1
  /*! Custom Sidebars - v3.2.3
2
  * https://premium.wpmudev.org/project/custom-sidebars-pro/
3
- * Copyright (c) 2019; * Licensed GPLv2+ */
4
 
5
  jQuery(function(){var a=jQuery(document),b=function(a){var b=jQuery(this),c=b.closest(".csb-option-row"),d=b.closest(".widget"),e="."+jQuery.trim(c.attr("class").replace("csb-option-row","")),f=d.find('[data-for="'+e+'"]'),g=c.find("input, select, textarea");return a.preventDefault(),f.show(),c.fadeOut(400,function(){g.val("").trigger("change.select2"),d.trigger("csb:update")}),!1},c=function(a){jQuery(".csb-action .dropdown:visible").hide()},d=function(a){var b=jQuery(this),d=b.data("for"),e=b.closest(".widget"),f=e.find(".csb-always"),g=e.find(d);return a.preventDefault(),g.show(),b.hide(),f.hide(),c(),e.trigger("csb:update"),!1},e=function(){var a=jQuery(this).closest(".widget"),b=a.find(".csb-always"),c=a.find(".csb-option-row:visible:not(.csb-action,.csb-always)");0===c.length?b.show():(b.hide(),c.find(".csb-and").show(),c.first().find(".csb-and").hide()),wpmUi.upgrade_multiselect(a)},f=function(b){var d=jQuery(this),e=d.closest(".csb-option-row"),f=e.find(".dropdown");return b.preventDefault(),f.show(),a.one("click",c),!1},g=function(a){var b=jQuery(this),c=b.closest(".widget"),d=c.find(".csb-visibility-inner"),e=d.find(".csb-visible-flag");return a.preventDefault(),"0"===e.val()?(e.val("1"),d.show(),c.trigger("csb:update")):(e.val("0"),d.hide()),!1},h=function(a){var b=jQuery(this).closest("label"),c=b.closest(".widget"),d="#"+b.attr("for"),e=c.find(d),f=e.val(),g=c.find(".lbl-show-if"),h=c.find(".lbl-hide-if");return a.preventDefault(),"show"!==f?(g.show(),h.hide(),e.val("show")):(g.hide(),h.show(),e.val("hide")),!1},i=function(a){var b=jQuery(this).closest("label"),c=b.closest(".csb-detail-row"),d=b.find("input[type=checkbox]"),e=b.find(".lbl"),f=c.find(".detail"),g=f.find("input,select,textarea");d.prop("checked")?(e.text(d.data("lbl-single")),f.show()):(e.text(d.data("lbl-all")),f.hide(),g.val("").trigger("change.select2"))},j=function(a){var b,c=jQuery(this),d=c.closest(".csb-option-row"),e=d.find(".csb-detail-row"),f=c.val();if(e.addClass("csb-hide"),f)for(b=0;b<f.length;b+=1)e.filter(".csb-pt-"+f[b]).removeClass("csb-hide ");e.each(function(){var a=jQuery(this),b=a.find("input[type=checkbox]");a.hasClass("csb-hide")?(a.hide(),b.prop("checked",!1),i.call(b)):a.show()})},k=function(a,c){var k=jQuery(c).closest(".widget"),l=k.find(".csb-visibility-button"),m=k.find(".widget-control-actions .widget-control-save"),n=k.find(".widget-control-actions .spinner");k.data("_csb_visibility")||(n.insertBefore(m).css({float:"left"}),l.insertBefore(m).click(g),k.on("click",".toggle-action b",h),k.on("csb:update",e),k.on("click",".clear-filter",b),k.on("click",".choose-filters",f),k.on("click",".add-filter",d),k.on("change","input[data-lbl-all][data-lbl-single]",i),k.on("change","select.posttype",j),k.data("_csb_visibility",!0))};jQuery("#widgets-right .widget").each(k),a.on("widget-added",k)});
1
  /*! Custom Sidebars - v3.2.3
2
  * https://premium.wpmudev.org/project/custom-sidebars-pro/
3
+ * Copyright (c) 2020; * Licensed GPLv2+ */
4
 
5
  jQuery(function(){var a=jQuery(document),b=function(a){var b=jQuery(this),c=b.closest(".csb-option-row"),d=b.closest(".widget"),e="."+jQuery.trim(c.attr("class").replace("csb-option-row","")),f=d.find('[data-for="'+e+'"]'),g=c.find("input, select, textarea");return a.preventDefault(),f.show(),c.fadeOut(400,function(){g.val("").trigger("change.select2"),d.trigger("csb:update")}),!1},c=function(a){jQuery(".csb-action .dropdown:visible").hide()},d=function(a){var b=jQuery(this),d=b.data("for"),e=b.closest(".widget"),f=e.find(".csb-always"),g=e.find(d);return a.preventDefault(),g.show(),b.hide(),f.hide(),c(),e.trigger("csb:update"),!1},e=function(){var a=jQuery(this).closest(".widget"),b=a.find(".csb-always"),c=a.find(".csb-option-row:visible:not(.csb-action,.csb-always)");0===c.length?b.show():(b.hide(),c.find(".csb-and").show(),c.first().find(".csb-and").hide()),wpmUi.upgrade_multiselect(a)},f=function(b){var d=jQuery(this),e=d.closest(".csb-option-row"),f=e.find(".dropdown");return b.preventDefault(),f.show(),a.one("click",c),!1},g=function(a){var b=jQuery(this),c=b.closest(".widget"),d=c.find(".csb-visibility-inner"),e=d.find(".csb-visible-flag");return a.preventDefault(),"0"===e.val()?(e.val("1"),d.show(),c.trigger("csb:update")):(e.val("0"),d.hide()),!1},h=function(a){var b=jQuery(this).closest("label"),c=b.closest(".widget"),d="#"+b.attr("for"),e=c.find(d),f=e.val(),g=c.find(".lbl-show-if"),h=c.find(".lbl-hide-if");return a.preventDefault(),"show"!==f?(g.show(),h.hide(),e.val("show")):(g.hide(),h.show(),e.val("hide")),!1},i=function(a){var b=jQuery(this).closest("label"),c=b.closest(".csb-detail-row"),d=b.find("input[type=checkbox]"),e=b.find(".lbl"),f=c.find(".detail"),g=f.find("input,select,textarea");d.prop("checked")?(e.text(d.data("lbl-single")),f.show()):(e.text(d.data("lbl-all")),f.hide(),g.val("").trigger("change.select2"))},j=function(a){var b,c=jQuery(this),d=c.closest(".csb-option-row"),e=d.find(".csb-detail-row"),f=c.val();if(e.addClass("csb-hide"),f)for(b=0;b<f.length;b+=1)e.filter(".csb-pt-"+f[b]).removeClass("csb-hide ");e.each(function(){var a=jQuery(this),b=a.find("input[type=checkbox]");a.hasClass("csb-hide")?(a.hide(),b.prop("checked",!1),i.call(b)):a.show()})},k=function(a,c){var k=jQuery(c).closest(".widget"),l=k.find(".csb-visibility-button"),m=k.find(".widget-control-actions .widget-control-save"),n=k.find(".widget-control-actions .spinner");k.data("_csb_visibility")||(n.insertBefore(m).css({float:"left"}),l.insertBefore(m).click(g),k.on("click",".toggle-action b",h),k.on("csb:update",e),k.on("click",".clear-filter",b),k.on("click",".choose-filters",f),k.on("click",".add-filter",d),k.on("change","input[data-lbl-all][data-lbl-single]",i),k.on("change","select.posttype",j),k.data("_csb_visibility",!0))};jQuery("#widgets-right .widget").each(k),a.on("widget-added",k)});
assets/js/cs.js CHANGED
@@ -1,6 +1,6 @@
1
  /*! Custom Sidebars - v3.2.3
2
  * https://premium.wpmudev.org/project/custom-sidebars-pro/
3
- * Copyright (c) 2019; * Licensed GPLv2+ */
4
  /*global window:false */
5
  /*global console:false */
6
  /*global document:false */
1
  /*! Custom Sidebars - v3.2.3
2
  * https://premium.wpmudev.org/project/custom-sidebars-pro/
3
+ * Copyright (c) 2020; * Licensed GPLv2+ */
4
  /*global window:false */
5
  /*global console:false */
6
  /*global document:false */
assets/js/cs.min.js CHANGED
@@ -1,5 +1,5 @@
1
  /*! Custom Sidebars - v3.2.3
2
  * https://premium.wpmudev.org/project/custom-sidebars-pro/
3
- * Copyright (c) 2019; * Licensed GPLv2+ */
4
 
5
  function trim(a){a=a.replace(/^\s\s*/,"");for(var b=a.length-1;b>=0;b--)if(/\S/.test(a.charAt(b))){a=a.substring(0,b+1);break}return a}function CsSidebar(a,b){var c;this.id=a.split("%").join("\\%"),this.type=b,this.sb=jQuery("#"+this.id),this.widgets="",this.name=trim(this.sb.find(".sidebar-name h2").text()),this.description=trim(this.sb.find(".sidebar-description").text()),c="custom"===b?window.csSidebars.extras.find(".cs-custom-sidebar").clone():window.csSidebars.extras.find(".cs-theme-sidebar").clone(),this.sb.parent().append(c),c.find("label").each(function(){var b=jQuery(this);window.csSidebars.addIdToLabel(b,a)})}CsSidebar.prototype.getID=function(){return this.id.split("\\").join("")},window.csSidebars=null,function(a){window.csSidebars={sidebars:[],sidebar_prefix:"cs-",edit_form:null,delete_form:null,export_form:null,location_form:null,right:null,extras:null,action_handlers:{},init:function(){"undefined"!=typeof csSidebarsData&&csSidebars.initControls().initTopTools().initSidebars().initToolbars().initColumns()},initControls:function(){return csSidebars.right=jQuery("#widgets-right"),csSidebars.extras=jQuery("#cs-widgets-extra"),null===csSidebars.edit_form&&(csSidebars.edit_form=csSidebars.extras.find(".cs-editor").clone(),csSidebars.extras.find(".cs-editor").remove()),null===csSidebars.delete_form&&(csSidebars.delete_form=csSidebars.extras.find(".cs-delete").clone(),csSidebars.extras.find(".cs-delete").remove()),null===csSidebars.export_form&&(csSidebars.export_form=csSidebars.extras.find(".cs-export").clone(),csSidebars.extras.find(".cs-export").remove()),null===csSidebars.location_form&&(csSidebars.location_form=csSidebars.extras.find(".cs-location").clone(),csSidebars.extras.find(".cs-location").remove()),jQuery("#cs-title-options").detach().prependTo(csSidebars.right),csSidebars},initColumns:function(){function a(){var a=jQuery(this),b=a.closest(".sidebars-column-1, .sidebars-column-2"),c=b.data("sort-dir");c="asc"===c?"desc":"asc",csSidebars.sort_sidebars(b,c)}var b=csSidebars.right.find(".sidebars-column-1"),c=csSidebars.right.find(".sidebars-column-2"),d=jQuery('<div class="cs-title"><h2></h2></div>'),e=csSidebars.right.find(".widgets-holder-wrap");c.length||(c=jQuery('<div class="sidebars-column-2"></div>'),c.appendTo(csSidebars.right)),d.find("h2").append('<span class="cs-title-val"></span><i class="cs-icon dashicons dashicons-sort"></i>').css({cursor:"pointer"}),d.clone().prependTo(b).click(a).find(".cs-title-val").text(csSidebarsData.custom_sidebars),d.clone().prependTo(c).click(a).find(".cs-title-val").text(csSidebarsData.theme_sidebars),b=jQuery('<div class="inner"></div>').appendTo(b),c=jQuery('<div class="inner"></div>').appendTo(c),e.each(function(){var a=jQuery(this),d=a.find(".widgets-sortables");csSidebars.isCustomSidebar(d)?a.appendTo(b):a.appendTo(c)})},initSidebars:function(){return csSidebars.right.find(".widgets-sortables").each(function(){var a,b,c=!1,d=jQuery(this),e=d.attr("id");if(!0!==d.data("cs-init"))if(d.data("cs-init",!0),csSidebars.isCustomSidebar(this))b=csSidebars.add(e,"custom");else{b=csSidebars.add(e,"theme");for(a in csSidebarsData.replaceable)if(csSidebarsData.replaceable.hasOwnProperty(a)&&csSidebarsData.replaceable[a]===e){c=!0;break}csSidebars.setReplaceable(b,c,!1)}}),csSidebars},initTopTools:function(){var a=jQuery(".btn-create-sidebar"),b=jQuery(".btn-export"),c=jQuery(".cs-options"),d=jQuery('<input type="search" class="cs-filter" />'),e={};return a.click(function(){e.id="",e.title=csSidebarsData.title_new,e.button=csSidebarsData.btn_new,e.description="",e.name="",csSidebars.showEditor(e)}),b.click(csSidebars.showExport),d.appendTo(c).attr("placeholder",csSidebarsData.filter).keyup(csSidebars.filter_sidebars).on("search",csSidebars.filter_sidebars),csSidebars},initToolbars:function(){function a(a){var b=jQuery(a.target).closest(".cs-tool"),c=b.data("action"),d=csSidebars.getIdFromEditbar(b),e=csSidebars.find(d);return!csSidebars.handleAction(c,e)}return csSidebars.registerAction("edit",csSidebars.showEditor),csSidebars.registerAction("location",csSidebars.showLocations),csSidebars.registerAction("delete",csSidebars.showRemove),csSidebars.registerAction("replaceable",csSidebars.setReplaceable),csSidebars.right.on("click",".cs-tool",a),csSidebars},handleAction:function(a,b){return"function"==typeof csSidebars.action_handlers[a]&&!!csSidebars.action_handlers[a](b)},registerAction:function(a,b){csSidebars.action_handlers[a]=b},showAjaxError:function(a){var b={};b.message=csSidebarsData.ajax_error,b.details=a,b.parent="#widgets-right",b.insert_after="#cs-title-options",b.id="editor",b.type="err",wpmUi.message(b)},sort_sidebars:function(a,b){var c=a.find(".widgets-holder-wrap"),d=a.find(".cs-title .cs-icon");c.sortElements(function(a,c){var d=jQuery(a).find(".sidebar-name h2").text(),e=jQuery(c).find(".sidebar-name h2").text();return"asc"===b?d>e?1:-1:d<e?1:-1}),a.data("sort-dir",b),"asc"===b?d.removeClass("dashicons-arrow-down dashicons-sort").addClass("dashicons-arrow-up"):d.removeClass("dashicons-arrow-up dashicons-sort").addClass("dashicons-arrow-down")},filter_sidebars:function(a){var b=jQuery("input.cs-filter").val().toLowerCase();csSidebars.right.find(".widgets-holder-wrap").each(function(){var a=jQuery(this);-1!==a.find(".sidebar-name h2").text().toLowerCase().indexOf(b)?a.show():a.hide()}),jQuery(window).trigger("cs-resize")},showEditor:function(b){function c(){i.$().removeClass("csb-has-more"),i.size(782,215)}function d(){i.$().addClass("csb-has-more"),i.size(782,545)}function e(){jQuery(this).prop("checked")?d():c()}function f(a,b,c){return i.loading(!1),!!a&&(b?(a.sidebar&&(a=a.sidebar),a.id&&i.$().find("#csb-id").val(a.id),a.name&&i.$().find("#csb-name").val(a.name),a.description&&i.$().find("#csb-description").val(a.description),a.before_title&&i.$().find("#csb-before-title").val(a.before_title),a.after_title&&i.$().find("#csb-after-title").val(a.after_title),a.before_widget&&i.$().find("#csb-before-widget").val(a.before_widget),a.after_widget&&i.$().find("#csb-after-widget").val(a.after_widget),a.button&&i.$().find(".btn-save").text(a.button),void(a.advance&&(i.$().find("#csb-more").prop("checked",!0),d()))):(i.destroy(),csSidebars.showAjaxError(a),!1))}function g(b,c,d){var e,f={};i.loading(!1),i.destroy(),f.message=b.message,f.parent="#widgets-right",f.insert_after="#cs-title-options",f.id="editor",c?"update"===b.action?(e=csSidebars.find(b.data.id),csSidebars.updateSidebar(e,b.data)):"insert"===b.action&&(csSidebars.insertSidebar(b.data),a(".cs-wrap .custom-sidebars-add-new").detach()):f.type="err",wpmUi.message(f)}function h(){var a=i.$().find("form");return 0<i.$("#csb-more:checked").length&&jQuery("<input>").attr({type:"hidden",value:"show",name:"advance"}).appendTo(a),i.loading(!0),j.reset().data(a).ondone(g).load_json(),!1}var i=null,j=null;return b instanceof CsSidebar&&(b={id:b.getID(),title:csSidebarsData.title_edit.replace("[Sidebar]",b.name),button:csSidebarsData.btn_edit}),i=wpmUi.popup().modal(!0).title(b.title).onshow(c).content(csSidebars.edit_form),c(),f(b,!0,null),j=wpmUi.ajax(null,"cs-ajax"),b.id&&(i.loading(!0),j.reset().data({do:"get",sb:b.id,_wpnonce:csSidebarsData._wpnonce_get}).ondone(f).load_json()),i.show(),i.$().find("#csb-name").focus(),i.$().on("keypress","#csb-name",function(b){13===b.keyCode&&0<a(this).val().length&&a("#csb-description").focus()}),i.$().on("keypress","#csb-description",function(a){13===a.keyCode&&i.$(".btn-save").click()}),i.$().on("click","#csb-more",e),i.$().on("click",".btn-save",h),i.$().on("click",".btn-cancel",i.destroy),!0},updateSidebar:function(a,b){return a.sb.find(".sidebar-name h2").text(b.name),a.sb.find(".sidebar-description").html('<p class="description"></p>').find(".description").text(b.description),csSidebars},insertSidebar:function(a){var b=jQuery('<div class="widgets-holder-wrap"></div>'),c=jQuery('<div class="widgets-sortables ui-sortable"></div>'),d=jQuery('<div class="sidebar-name"><div class="sidebar-name-arrow"><br></div><h2></h2></div>'),e=jQuery('<div class="sidebar-description"></div>'),f=csSidebars.right.find(".sidebars-column-1 > .inner:first");return c.attr("id",a.id),d.find("h2").text(a.name),e.html('<p class="description"></p>').find(".description").text(a.description),d.appendTo(c),e.appendTo(c),c.appendTo(b),b.prependTo(f),jQuery("#widgets-right .sidebar-name").unbind("click"),jQuery("#widgets-left .sidebar-name").unbind("click"),jQuery(document.body).unbind("click.widgets-toggle"),jQuery(".widgets-chooser").off("click.widgets-chooser").off("keyup.widgets-chooser"),jQuery("#available-widgets .widget .widget-title").off("click.widgets-chooser"),jQuery(".widgets-chooser-sidebars").empty(),window.wpWidgets.init(),csSidebars.initSidebars(),csSidebars},showExport:function(){function a(a){var b=jQuery(this).closest("form");return h.reset().data(b).load_http(),g.destroy(),a.preventDefault(),!1}function b(a,b,c){var d={};g.loading(!1),b?g.size(900,600).content(a.html):(d.message=a.message,d.parent=g.$().find(".wpmui-wnd-content"),d.insert_after=!1,d.id="export",d.class="wpmui-wnd-err",d.type="err",wpmUi.message(d))}function c(a){var c=jQuery(this).closest("form");return g.loading(!0),h.reset().data(c).ondone(b).load_json("cs-ajax"),a.preventDefault(),!1}function d(){var a=jQuery(this),b=a.prop("checked"),c=g.$().find(".column-widgets, .import-widgets");b?c.show():c.hide()}function e(){g.size(782,480),g.content(csSidebars.export_form)}function f(){var a=g.$().find(".frm-import");g.loading(!0),h.reset().data(a).load_http("_self")}var g=null,h=null;return g=wpmUi.popup().modal(!0).size(782,480).title(csSidebarsData.title_export).content(csSidebars.export_form).show(),h=wpmUi.ajax(null,"cs-ajax"),g.$().on("submit",".frm-export",a),g.$().on("submit",".frm-preview-import",c),g.$().on("change","#import-widgets",d),g.$().on("click",".btn-cancel",e),g.$().on("click",".btn-import",f),!0},showRemove:function(b){function c(a){a.find(".name").text(j)}function d(){g.loading(!1),g.destroy()}function e(a,b,c){var d={};g.loading(!1),g.destroy(),d.message=a.message,d.parent="#widgets-right",d.insert_after="#cs-title-options",d.id="editor",b?(csSidebars.right.find("#"+i).closest(".widgets-holder-wrap").remove(),csSidebars.remove(i),"delete"===a.action&&window.csSidebars.showGetStartedBox()):d.type="err",wpmUi.message(d)}function f(){g.loading(!0),h.reset().data({do:"delete",sb:i,_wpnonce:a("#_wp_nonce_cs_delete_sidebar").val()}).ondone(e).load_json()}var g=null,h=null,i=b.getID(),j=b.name;return g=wpmUi.popup().modal(!0).size(560,160).title(csSidebarsData.title_delete).content(csSidebars.delete_form).onshow(c).show(),h=wpmUi.ajax(null,"cs-ajax"),g.$().on("click",".btn-cancel",d),g.$().on("click",".btn-delete",f),!0},showLocations:function(b){function c(b,c){var d=wp.template("custom-sidebars-new-rule-row");return a("tbody",c).append(d(b)),a("tfoot",c).hide(),a("tbody .dashicons-trash",c).on("click",function(){a(this).closest("tr").detach(),0===a("tbody tr",c).length&&a("tfoot",c).show()}),!1}function d(b,d,e){function f(a,b,c){var d=jQuery("<option></option>");d.attr("value",c).text(a.name),b.append(d)}function g(a,b,c,d){var e=d.closest(".cs-replaceable").filter("."+b),f=e.find('option[value="'+c+'"]'),g=e.find("optgroup.used"),h=e.find(".detail-toggle");a===l?(f.prop("selected",!0),!0!==h.prop("checked")&&(h.prop("checked",!0),e.addClass("open"),wpmUi.upgrade_multiselect(e))):(g.length||(g=jQuery('<optgroup class="used">').attr("label",e.data("lbl-used")).appendTo(e.find(".details select"))),f.detach().appendTo(g))}var h,j,k;if(i.loading(!1),!d)return i.destroy(),void csSidebars.showAjaxError(b);i.$().find(".sb-name").text(b.sidebar.name);var l=b.sidebar.id;i.$().find(".message.no-sidebars").hide();var m=0,n=i.$().find(".cs-replaceable");n.hide(),b.replaceable=wpmUi.obj(b.replaceable);for(var o in b.replaceable)b.replaceable.hasOwnProperty(o)&&(n.filter("."+b.replaceable[o]).show(),m++);0===m&&(i.$().find(".wpmui-box, .message, .button-primary").hide(),i.$().find(".message.no-sidebars").show().parent().addClass("notice notice-error").removeClass("hidden"));var p=i.$().find(".cs-datalist.cs-cat"),q=i.$().find(".cs-datalist.cs-arc-cat"),r=b.categories;q.empty(),p.empty();for(var s in r)f(r[s],q,s),f(r[s],p,s);for(var t in r){if(r[t].single)for(h in r[t].single)g(r[t].single[h],h,t,p);if(r[t].archive)for(h in r[t].archive)g(r[t].archive[h],h,t,q)}var u=i.$().find(".cs-datalist.cs-pt"),v=b.posttypes;u.empty();for(var w in v)j=jQuery("<option></option>"),k=v[w].name,j.attr("value",w).text(k),u.append(j);for(var x in v)if(v[x].single)for(h in v[x].single)g(v[x].single[h],h,x,u);var y=i.$().find(".cs-datalist.cs-arc"),z=b.archives;y.empty();for(var A in z)j=jQuery("<option></option>"),k=z[A].name,j.attr("value",A).text(k),y.append(j);for(var B in z)if(z[B].archive)for(h in z[B].archive)g(z[B].archive[h],h,B,y);var C=i.$().find(".cs-datalist.cs-arc-aut"),D=b.authors;C.empty();for(var E in D)j=jQuery("<option></option>"),k=D[E].name,j.attr("value",E).text(k),C.append(j);for(var F in D)if(D[F].archive)for(h in D[F].archive)g(D[F].archive[h],h,F,C);i.$().find(".cs-3rd-part .cs-datalist").each(function(){var c=b[a(this).data("id")];a(this).empty();for(var d in c)j=jQuery("<option></option>"),k=c[d].name,j.attr("value",d).text(k),a(this).append(j);for(var e in c)if(c[e].archive)for(h in c[e].archive)g(c[e].archive[h],h,e,a(this))}),i.$().find(".cf-custom-taxonomies .cs-datalist").each(function(){var c=b[a(this).data("id")];a(this).empty();for(var d in c)j=jQuery("<option></option>"),k=c[d].name,j.attr("value",d).text(k),a(this).append(j);for(var e in c)if(c[e].single)for(h in c[e].single)g(c[e].single[h],h,e,a(this))});var G=i.$().find(".csb-media-screen-width table");a.each(b.screen,function(b,d){a.each(d,function(a,d){c({minmax:a,mode:d,size:b},G)})})}function e(a){var b=jQuery(this),c=b.closest(".cs-replaceable"),d=c.find("select");b.prop("checked")?(c.addClass("open"),wpmUi.upgrade_multiselect(c),d.trigger("change.select2")):(c.removeClass("open"),d.val([]))}function f(a,b,c){var d={};i.loading(!1),i.destroy(),d.message=a.message,d.parent="#widgets-right",d.insert_after="#cs-title-options",d.id="editor",b||(d.type="err"),wpmUi.message(d)}function g(){i.loading(!0),j.reset().data(k).ondone(f).load_json()}function h(){return c({minmax:"max",mode:"hide",size:0},a("table",a(this).parent())),!1}var i=null,j=null,k=null,l=b.getID();return i=wpmUi.popup().modal(!0).size(782,560).title(csSidebarsData.title_location).content(csSidebars.location_form).show(),i.loading(!0),k=i.$().find(".frm-location"),k.find(".sb-id").val(l),j=wpmUi.ajax(null,"cs-ajax"),j.reset().data({do:"get-location",sb:l}).ondone(d).load_json(),i.$().on("click",".detail-toggle",e),i.$().on("click",".btn-save",g),i.$().on("click",".btn-cancel",i.destroy),i.$().on("click",".btn-add-rule",h),!0},setReplaceable:function(a,b,c){function d(a,b,c){a instanceof Object&&"object"==typeof a.replaceable&&(csSidebarsData.replaceable=wpmUi.obj(a.replaceable),f.find(".widgets-sortables").each(function(){var a=!1,b=jQuery(this),c=b.attr("id"),d=csSidebars.find(c);for(var e in csSidebarsData.replaceable)if(csSidebarsData.replaceable.hasOwnProperty(e)&&csSidebarsData.replaceable[e]===c){a=!0;break}csSidebars.setReplaceable(d,a,!1)})),f.find(".cs-toolbar .chk-replaceable").prop("disabled",!1),f.find(".cs-toolbar .btn-replaceable").removeClass("wpmui-loading")}var e,f=csSidebars.right.find(".sidebars-column-2 .widgets-holder-wrap"),g=jQuery(a.sb).closest(".widgets-holder-wrap"),h=g.find(".cs-toolbar .chk-replaceable"),i=g.find(".replace-marker");g.find(".cs-toolbar .btn-replaceable");return void 0===b&&(b=h.prop("checked")),void 0===c&&(c=!0),h.data("active")!==b&&(h.data("active",b),h.prop("checked",b),b?(i.length||jQuery("<div></div>").appendTo(g).attr("data-label",csSidebarsData.lbl_replaceable).addClass("replace-marker"),g.addClass("replaceable")):(i.remove(),g.removeClass("replaceable")),c&&(f.find(".cs-toolbar .chk-replaceable").prop("disabled",!0),f.find(".cs-toolbar .btn-replaceable").addClass("wpmui-loading"),e=wpmUi.ajax(null,"cs-ajax"),e.reset().data({do:"replaceable",state:b,sb:a.getID()}).ondone(d).load_json()),!1)},find:function(a){return csSidebars.sidebars[a]},add:function(a,b){return csSidebars.sidebars[a]=new CsSidebar(a,b),csSidebars.sidebars[a]},remove:function(a){delete csSidebars.sidebars[a]},isCustomSidebar:function(a){return jQuery(a).attr("id").substr(0,csSidebars.sidebar_prefix.length)===csSidebars.sidebar_prefix},addIdToLabel:function(a,b){if(!0!==a.data("label-done")){var c=a.attr("for");a.attr("for",c+b),a.find(".has-label").attr("id",c+b),a.data("label-done",!0)}},getIdFromEditbar:function(a){return a.closest(".widgets-holder-wrap").find(".widgets-sortables:first").attr("id")},showGetStartedBox:function(){if(0===a(".sidebars-column-1 .inner .widgets-holder-wrap").length){var b=wp.template("custom-sidebars-new");a(".sidebars-column-1 .inner").before(b()),a(".custom-sidebars-add-new").on("click",function(){a("button.btn-create-sidebar").click()})}}},jQuery(function(a){a("#csfooter").hide(),a("#widgets-right").length>0&&csSidebars.init(),a(".defaultsContainer").hide(),a("#widgets-right .widgets-sortables").on("sort",function(b,c){a("#widgets-right").top;c.position.top=-a("#widgets-right").css("top")})}),jQuery(document).ready(function(a){window.setTimeout(function(){window.csSidebars.showGetStartedBox()},1e3)})}(jQuery),jQuery.fn.sortElements=function(){var a=[].sort;return function(b,c){c=c||function(){return this};var d=this.map(function(){var a=c.call(this),b=a.parentNode,d=b.insertBefore(document.createTextNode(""),a.nextSibling);return function(){if(b===this)throw new Error("You can't sort elements if any one is a descendant of another.");b.insertBefore(this,d),b.removeChild(d)}});return a.call(this,b).each(function(a){d[a].call(c.call(this))})}}(),function(a){jQuery(document).ready(function(a){a("#screen-options-wrap .cs-allow-author input[type=checkbox]").on("change",function(){var b={action:"custom_sidebars_allow_author",_wpnonce:a("#custom_sidebars_allow_author").val(),value:this.checked};a.post(ajaxurl,b)})})}(jQuery),function(a){jQuery(document).ready(function(a){a("#screen-options-wrap .cs-custom-taxonomies input[type=checkbox]").on("change",function(){var b={action:"custom_sidebars_metabox_custom_taxonomies",_wpnonce:a("#custom_sidebars_custom_taxonomies").val(),fields:{}};a("#screen-options-wrap .cs-custom-taxonomies input[type=checkbox]").each(function(){b.fields[a(this).val()]=this.checked}),a.post(ajaxurl,b)})})}(jQuery),function(a){jQuery(document).ready(function(a){a("#screen-options-wrap .cs-roles input[type=checkbox]").on("change",function(){var b={action:"custom_sidebars_metabox_roles",_wpnonce:a("#custom_sidebars_metabox_roles").val(),fields:{}};a("#screen-options-wrap .cs-roles input[type=checkbox]").each(function(){b.fields[a(this).val()]=this.checked}),a.post(ajaxurl,b)})})}(jQuery);
1
  /*! Custom Sidebars - v3.2.3
2
  * https://premium.wpmudev.org/project/custom-sidebars-pro/
3
+ * Copyright (c) 2020; * Licensed GPLv2+ */
4
 
5
  function trim(a){a=a.replace(/^\s\s*/,"");for(var b=a.length-1;b>=0;b--)if(/\S/.test(a.charAt(b))){a=a.substring(0,b+1);break}return a}function CsSidebar(a,b){var c;this.id=a.split("%").join("\\%"),this.type=b,this.sb=jQuery("#"+this.id),this.widgets="",this.name=trim(this.sb.find(".sidebar-name h2").text()),this.description=trim(this.sb.find(".sidebar-description").text()),c="custom"===b?window.csSidebars.extras.find(".cs-custom-sidebar").clone():window.csSidebars.extras.find(".cs-theme-sidebar").clone(),this.sb.parent().append(c),c.find("label").each(function(){var b=jQuery(this);window.csSidebars.addIdToLabel(b,a)})}CsSidebar.prototype.getID=function(){return this.id.split("\\").join("")},window.csSidebars=null,function(a){window.csSidebars={sidebars:[],sidebar_prefix:"cs-",edit_form:null,delete_form:null,export_form:null,location_form:null,right:null,extras:null,action_handlers:{},init:function(){"undefined"!=typeof csSidebarsData&&csSidebars.initControls().initTopTools().initSidebars().initToolbars().initColumns()},initControls:function(){return csSidebars.right=jQuery("#widgets-right"),csSidebars.extras=jQuery("#cs-widgets-extra"),null===csSidebars.edit_form&&(csSidebars.edit_form=csSidebars.extras.find(".cs-editor").clone(),csSidebars.extras.find(".cs-editor").remove()),null===csSidebars.delete_form&&(csSidebars.delete_form=csSidebars.extras.find(".cs-delete").clone(),csSidebars.extras.find(".cs-delete").remove()),null===csSidebars.export_form&&(csSidebars.export_form=csSidebars.extras.find(".cs-export").clone(),csSidebars.extras.find(".cs-export").remove()),null===csSidebars.location_form&&(csSidebars.location_form=csSidebars.extras.find(".cs-location").clone(),csSidebars.extras.find(".cs-location").remove()),jQuery("#cs-title-options").detach().prependTo(csSidebars.right),csSidebars},initColumns:function(){function a(){var a=jQuery(this),b=a.closest(".sidebars-column-1, .sidebars-column-2"),c=b.data("sort-dir");c="asc"===c?"desc":"asc",csSidebars.sort_sidebars(b,c)}var b=csSidebars.right.find(".sidebars-column-1"),c=csSidebars.right.find(".sidebars-column-2"),d=jQuery('<div class="cs-title"><h2></h2></div>'),e=csSidebars.right.find(".widgets-holder-wrap");c.length||(c=jQuery('<div class="sidebars-column-2"></div>'),c.appendTo(csSidebars.right)),d.find("h2").append('<span class="cs-title-val"></span><i class="cs-icon dashicons dashicons-sort"></i>').css({cursor:"pointer"}),d.clone().prependTo(b).click(a).find(".cs-title-val").text(csSidebarsData.custom_sidebars),d.clone().prependTo(c).click(a).find(".cs-title-val").text(csSidebarsData.theme_sidebars),b=jQuery('<div class="inner"></div>').appendTo(b),c=jQuery('<div class="inner"></div>').appendTo(c),e.each(function(){var a=jQuery(this),d=a.find(".widgets-sortables");csSidebars.isCustomSidebar(d)?a.appendTo(b):a.appendTo(c)})},initSidebars:function(){return csSidebars.right.find(".widgets-sortables").each(function(){var a,b,c=!1,d=jQuery(this),e=d.attr("id");if(!0!==d.data("cs-init"))if(d.data("cs-init",!0),csSidebars.isCustomSidebar(this))b=csSidebars.add(e,"custom");else{b=csSidebars.add(e,"theme");for(a in csSidebarsData.replaceable)if(csSidebarsData.replaceable.hasOwnProperty(a)&&csSidebarsData.replaceable[a]===e){c=!0;break}csSidebars.setReplaceable(b,c,!1)}}),csSidebars},initTopTools:function(){var a=jQuery(".btn-create-sidebar"),b=jQuery(".btn-export"),c=jQuery(".cs-options"),d=jQuery('<input type="search" class="cs-filter" />'),e={};return a.click(function(){e.id="",e.title=csSidebarsData.title_new,e.button=csSidebarsData.btn_new,e.description="",e.name="",csSidebars.showEditor(e)}),b.click(csSidebars.showExport),d.appendTo(c).attr("placeholder",csSidebarsData.filter).keyup(csSidebars.filter_sidebars).on("search",csSidebars.filter_sidebars),csSidebars},initToolbars:function(){function a(a){var b=jQuery(a.target).closest(".cs-tool"),c=b.data("action"),d=csSidebars.getIdFromEditbar(b),e=csSidebars.find(d);return!csSidebars.handleAction(c,e)}return csSidebars.registerAction("edit",csSidebars.showEditor),csSidebars.registerAction("location",csSidebars.showLocations),csSidebars.registerAction("delete",csSidebars.showRemove),csSidebars.registerAction("replaceable",csSidebars.setReplaceable),csSidebars.right.on("click",".cs-tool",a),csSidebars},handleAction:function(a,b){return"function"==typeof csSidebars.action_handlers[a]&&!!csSidebars.action_handlers[a](b)},registerAction:function(a,b){csSidebars.action_handlers[a]=b},showAjaxError:function(a){var b={};b.message=csSidebarsData.ajax_error,b.details=a,b.parent="#widgets-right",b.insert_after="#cs-title-options",b.id="editor",b.type="err",wpmUi.message(b)},sort_sidebars:function(a,b){var c=a.find(".widgets-holder-wrap"),d=a.find(".cs-title .cs-icon");c.sortElements(function(a,c){var d=jQuery(a).find(".sidebar-name h2").text(),e=jQuery(c).find(".sidebar-name h2").text();return"asc"===b?d>e?1:-1:d<e?1:-1}),a.data("sort-dir",b),"asc"===b?d.removeClass("dashicons-arrow-down dashicons-sort").addClass("dashicons-arrow-up"):d.removeClass("dashicons-arrow-up dashicons-sort").addClass("dashicons-arrow-down")},filter_sidebars:function(a){var b=jQuery("input.cs-filter").val().toLowerCase();csSidebars.right.find(".widgets-holder-wrap").each(function(){var a=jQuery(this);-1!==a.find(".sidebar-name h2").text().toLowerCase().indexOf(b)?a.show():a.hide()}),jQuery(window).trigger("cs-resize")},showEditor:function(b){function c(){i.$().removeClass("csb-has-more"),i.size(782,215)}function d(){i.$().addClass("csb-has-more"),i.size(782,545)}function e(){jQuery(this).prop("checked")?d():c()}function f(a,b,c){return i.loading(!1),!!a&&(b?(a.sidebar&&(a=a.sidebar),a.id&&i.$().find("#csb-id").val(a.id),a.name&&i.$().find("#csb-name").val(a.name),a.description&&i.$().find("#csb-description").val(a.description),a.before_title&&i.$().find("#csb-before-title").val(a.before_title),a.after_title&&i.$().find("#csb-after-title").val(a.after_title),a.before_widget&&i.$().find("#csb-before-widget").val(a.before_widget),a.after_widget&&i.$().find("#csb-after-widget").val(a.after_widget),a.button&&i.$().find(".btn-save").text(a.button),void(a.advance&&(i.$().find("#csb-more").prop("checked",!0),d()))):(i.destroy(),csSidebars.showAjaxError(a),!1))}function g(b,c,d){var e,f={};i.loading(!1),i.destroy(),f.message=b.message,f.parent="#widgets-right",f.insert_after="#cs-title-options",f.id="editor",c?"update"===b.action?(e=csSidebars.find(b.data.id),csSidebars.updateSidebar(e,b.data)):"insert"===b.action&&(csSidebars.insertSidebar(b.data),a(".cs-wrap .custom-sidebars-add-new").detach()):f.type="err",wpmUi.message(f)}function h(){var a=i.$().find("form");return 0<i.$("#csb-more:checked").length&&jQuery("<input>").attr({type:"hidden",value:"show",name:"advance"}).appendTo(a),i.loading(!0),j.reset().data(a).ondone(g).load_json(),!1}var i=null,j=null;return b instanceof CsSidebar&&(b={id:b.getID(),title:csSidebarsData.title_edit.replace("[Sidebar]",b.name),button:csSidebarsData.btn_edit}),i=wpmUi.popup().modal(!0).title(b.title).onshow(c).content(csSidebars.edit_form),c(),f(b,!0,null),j=wpmUi.ajax(null,"cs-ajax"),b.id&&(i.loading(!0),j.reset().data({do:"get",sb:b.id,_wpnonce:csSidebarsData._wpnonce_get}).ondone(f).load_json()),i.show(),i.$().find("#csb-name").focus(),i.$().on("keypress","#csb-name",function(b){13===b.keyCode&&0<a(this).val().length&&a("#csb-description").focus()}),i.$().on("keypress","#csb-description",function(a){13===a.keyCode&&i.$(".btn-save").click()}),i.$().on("click","#csb-more",e),i.$().on("click",".btn-save",h),i.$().on("click",".btn-cancel",i.destroy),!0},updateSidebar:function(a,b){return a.sb.find(".sidebar-name h2").text(b.name),a.sb.find(".sidebar-description").html('<p class="description"></p>').find(".description").text(b.description),csSidebars},insertSidebar:function(a){var b=jQuery('<div class="widgets-holder-wrap"></div>'),c=jQuery('<div class="widgets-sortables ui-sortable"></div>'),d=jQuery('<div class="sidebar-name"><div class="sidebar-name-arrow"><br></div><h2></h2></div>'),e=jQuery('<div class="sidebar-description"></div>'),f=csSidebars.right.find(".sidebars-column-1 > .inner:first");return c.attr("id",a.id),d.find("h2").text(a.name),e.html('<p class="description"></p>').find(".description").text(a.description),d.appendTo(c),e.appendTo(c),c.appendTo(b),b.prependTo(f),jQuery("#widgets-right .sidebar-name").unbind("click"),jQuery("#widgets-left .sidebar-name").unbind("click"),jQuery(document.body).unbind("click.widgets-toggle"),jQuery(".widgets-chooser").off("click.widgets-chooser").off("keyup.widgets-chooser"),jQuery("#available-widgets .widget .widget-title").off("click.widgets-chooser"),jQuery(".widgets-chooser-sidebars").empty(),window.wpWidgets.init(),csSidebars.initSidebars(),csSidebars},showExport:function(){function a(a){var b=jQuery(this).closest("form");return h.reset().data(b).load_http(),g.destroy(),a.preventDefault(),!1}function b(a,b,c){var d={};g.loading(!1),b?g.size(900,600).content(a.html):(d.message=a.message,d.parent=g.$().find(".wpmui-wnd-content"),d.insert_after=!1,d.id="export",d.class="wpmui-wnd-err",d.type="err",wpmUi.message(d))}function c(a){var c=jQuery(this).closest("form");return g.loading(!0),h.reset().data(c).ondone(b).load_json("cs-ajax"),a.preventDefault(),!1}function d(){var a=jQuery(this),b=a.prop("checked"),c=g.$().find(".column-widgets, .import-widgets");b?c.show():c.hide()}function e(){g.size(782,480),g.content(csSidebars.export_form)}function f(){var a=g.$().find(".frm-import");g.loading(!0),h.reset().data(a).load_http("_self")}var g=null,h=null;return g=wpmUi.popup().modal(!0).size(782,480).title(csSidebarsData.title_export).content(csSidebars.export_form).show(),h=wpmUi.ajax(null,"cs-ajax"),g.$().on("submit",".frm-export",a),g.$().on("submit",".frm-preview-import",c),g.$().on("change","#import-widgets",d),g.$().on("click",".btn-cancel",e),g.$().on("click",".btn-import",f),!0},showRemove:function(b){function c(a){a.find(".name").text(j)}function d(){g.loading(!1),g.destroy()}function e(a,b,c){var d={};g.loading(!1),g.destroy(),d.message=a.message,d.parent="#widgets-right",d.insert_after="#cs-title-options",d.id="editor",b?(csSidebars.right.find("#"+i).closest(".widgets-holder-wrap").remove(),csSidebars.remove(i),"delete"===a.action&&window.csSidebars.showGetStartedBox()):d.type="err",wpmUi.message(d)}function f(){g.loading(!0),h.reset().data({do:"delete",sb:i,_wpnonce:a("#_wp_nonce_cs_delete_sidebar").val()}).ondone(e).load_json()}var g=null,h=null,i=b.getID(),j=b.name;return g=wpmUi.popup().modal(!0).size(560,160).title(csSidebarsData.title_delete).content(csSidebars.delete_form).onshow(c).show(),h=wpmUi.ajax(null,"cs-ajax"),g.$().on("click",".btn-cancel",d),g.$().on("click",".btn-delete",f),!0},showLocations:function(b){function c(b,c){var d=wp.template("custom-sidebars-new-rule-row");return a("tbody",c).append(d(b)),a("tfoot",c).hide(),a("tbody .dashicons-trash",c).on("click",function(){a(this).closest("tr").detach(),0===a("tbody tr",c).length&&a("tfoot",c).show()}),!1}function d(b,d,e){function f(a,b,c){var d=jQuery("<option></option>");d.attr("value",c).text(a.name),b.append(d)}function g(a,b,c,d){var e=d.closest(".cs-replaceable").filter("."+b),f=e.find('option[value="'+c+'"]'),g=e.find("optgroup.used"),h=e.find(".detail-toggle");a===l?(f.prop("selected",!0),!0!==h.prop("checked")&&(h.prop("checked",!0),e.addClass("open"),wpmUi.upgrade_multiselect(e))):(g.length||(g=jQuery('<optgroup class="used">').attr("label",e.data("lbl-used")).appendTo(e.find(".details select"))),f.detach().appendTo(g))}var h,j,k;if(i.loading(!1),!d)return i.destroy(),void csSidebars.showAjaxError(b);i.$().find(".sb-name").text(b.sidebar.name);var l=b.sidebar.id;i.$().find(".message.no-sidebars").hide();var m=0,n=i.$().find(".cs-replaceable");n.hide(),b.replaceable=wpmUi.obj(b.replaceable);for(var o in b.replaceable)b.replaceable.hasOwnProperty(o)&&(n.filter("."+b.replaceable[o]).show(),m++);0===m&&(i.$().find(".wpmui-box, .message, .button-primary").hide(),i.$().find(".message.no-sidebars").show().parent().addClass("notice notice-error").removeClass("hidden"));var p=i.$().find(".cs-datalist.cs-cat"),q=i.$().find(".cs-datalist.cs-arc-cat"),r=b.categories;q.empty(),p.empty();for(var s in r)f(r[s],q,s),f(r[s],p,s);for(var t in r){if(r[t].single)for(h in r[t].single)g(r[t].single[h],h,t,p);if(r[t].archive)for(h in r[t].archive)g(r[t].archive[h],h,t,q)}var u=i.$().find(".cs-datalist.cs-pt"),v=b.posttypes;u.empty();for(var w in v)j=jQuery("<option></option>"),k=v[w].name,j.attr("value",w).text(k),u.append(j);for(var x in v)if(v[x].single)for(h in v[x].single)g(v[x].single[h],h,x,u);var y=i.$().find(".cs-datalist.cs-arc"),z=b.archives;y.empty();for(var A in z)j=jQuery("<option></option>"),k=z[A].name,j.attr("value",A).text(k),y.append(j);for(var B in z)if(z[B].archive)for(h in z[B].archive)g(z[B].archive[h],h,B,y);var C=i.$().find(".cs-datalist.cs-arc-aut"),D=b.authors;C.empty();for(var E in D)j=jQuery("<option></option>"),k=D[E].name,j.attr("value",E).text(k),C.append(j);for(var F in D)if(D[F].archive)for(h in D[F].archive)g(D[F].archive[h],h,F,C);i.$().find(".cs-3rd-part .cs-datalist").each(function(){var c=b[a(this).data("id")];a(this).empty();for(var d in c)j=jQuery("<option></option>"),k=c[d].name,j.attr("value",d).text(k),a(this).append(j);for(var e in c)if(c[e].archive)for(h in c[e].archive)g(c[e].archive[h],h,e,a(this))}),i.$().find(".cf-custom-taxonomies .cs-datalist").each(function(){var c=b[a(this).data("id")];a(this).empty();for(var d in c)j=jQuery("<option></option>"),k=c[d].name,j.attr("value",d).text(k),a(this).append(j);for(var e in c)if(c[e].single)for(h in c[e].single)g(c[e].single[h],h,e,a(this))});var G=i.$().find(".csb-media-screen-width table");a.each(b.screen,function(b,d){a.each(d,function(a,d){c({minmax:a,mode:d,size:b},G)})})}function e(a){var b=jQuery(this),c=b.closest(".cs-replaceable"),d=c.find("select");b.prop("checked")?(c.addClass("open"),wpmUi.upgrade_multiselect(c),d.trigger("change.select2")):(c.removeClass("open"),d.val([]))}function f(a,b,c){var d={};i.loading(!1),i.destroy(),d.message=a.message,d.parent="#widgets-right",d.insert_after="#cs-title-options",d.id="editor",b||(d.type="err"),wpmUi.message(d)}function g(){i.loading(!0),j.reset().data(k).ondone(f).load_json()}function h(){return c({minmax:"max",mode:"hide",size:0},a("table",a(this).parent())),!1}var i=null,j=null,k=null,l=b.getID();return i=wpmUi.popup().modal(!0).size(782,560).title(csSidebarsData.title_location).content(csSidebars.location_form).show(),i.loading(!0),k=i.$().find(".frm-location"),k.find(".sb-id").val(l),j=wpmUi.ajax(null,"cs-ajax"),j.reset().data({do:"get-location",sb:l}).ondone(d).load_json(),i.$().on("click",".detail-toggle",e),i.$().on("click",".btn-save",g),i.$().on("click",".btn-cancel",i.destroy),i.$().on("click",".btn-add-rule",h),!0},setReplaceable:function(a,b,c){function d(a,b,c){a instanceof Object&&"object"==typeof a.replaceable&&(csSidebarsData.replaceable=wpmUi.obj(a.replaceable),f.find(".widgets-sortables").each(function(){var a=!1,b=jQuery(this),c=b.attr("id"),d=csSidebars.find(c);for(var e in csSidebarsData.replaceable)if(csSidebarsData.replaceable.hasOwnProperty(e)&&csSidebarsData.replaceable[e]===c){a=!0;break}csSidebars.setReplaceable(d,a,!1)})),f.find(".cs-toolbar .chk-replaceable").prop("disabled",!1),f.find(".cs-toolbar .btn-replaceable").removeClass("wpmui-loading")}var e,f=csSidebars.right.find(".sidebars-column-2 .widgets-holder-wrap"),g=jQuery(a.sb).closest(".widgets-holder-wrap"),h=g.find(".cs-toolbar .chk-replaceable"),i=g.find(".replace-marker");g.find(".cs-toolbar .btn-replaceable");return void 0===b&&(b=h.prop("checked")),void 0===c&&(c=!0),h.data("active")!==b&&(h.data("active",b),h.prop("checked",b),b?(i.length||jQuery("<div></div>").appendTo(g).attr("data-label",csSidebarsData.lbl_replaceable).addClass("replace-marker"),g.addClass("replaceable")):(i.remove(),g.removeClass("replaceable")),c&&(f.find(".cs-toolbar .chk-replaceable").prop("disabled",!0),f.find(".cs-toolbar .btn-replaceable").addClass("wpmui-loading"),e=wpmUi.ajax(null,"cs-ajax"),e.reset().data({do:"replaceable",state:b,sb:a.getID()}).ondone(d).load_json()),!1)},find:function(a){return csSidebars.sidebars[a]},add:function(a,b){return csSidebars.sidebars[a]=new CsSidebar(a,b),csSidebars.sidebars[a]},remove:function(a){delete csSidebars.sidebars[a]},isCustomSidebar:function(a){return jQuery(a).attr("id").substr(0,csSidebars.sidebar_prefix.length)===csSidebars.sidebar_prefix},addIdToLabel:function(a,b){if(!0!==a.data("label-done")){var c=a.attr("for");a.attr("for",c+b),a.find(".has-label").attr("id",c+b),a.data("label-done",!0)}},getIdFromEditbar:function(a){return a.closest(".widgets-holder-wrap").find(".widgets-sortables:first").attr("id")},showGetStartedBox:function(){if(0===a(".sidebars-column-1 .inner .widgets-holder-wrap").length){var b=wp.template("custom-sidebars-new");a(".sidebars-column-1 .inner").before(b()),a(".custom-sidebars-add-new").on("click",function(){a("button.btn-create-sidebar").click()})}}},jQuery(function(a){a("#csfooter").hide(),a("#widgets-right").length>0&&csSidebars.init(),a(".defaultsContainer").hide(),a("#widgets-right .widgets-sortables").on("sort",function(b,c){a("#widgets-right").top;c.position.top=-a("#widgets-right").css("top")})}),jQuery(document).ready(function(a){window.setTimeout(function(){window.csSidebars.showGetStartedBox()},1e3)})}(jQuery),jQuery.fn.sortElements=function(){var a=[].sort;return function(b,c){c=c||function(){return this};var d=this.map(function(){var a=c.call(this),b=a.parentNode,d=b.insertBefore(document.createTextNode(""),a.nextSibling);return function(){if(b===this)throw new Error("You can't sort elements if any one is a descendant of another.");b.insertBefore(this,d),b.removeChild(d)}});return a.call(this,b).each(function(a){d[a].call(c.call(this))})}}(),function(a){jQuery(document).ready(function(a){a("#screen-options-wrap .cs-allow-author input[type=checkbox]").on("change",function(){var b={action:"custom_sidebars_allow_author",_wpnonce:a("#custom_sidebars_allow_author").val(),value:this.checked};a.post(ajaxurl,b)})})}(jQuery),function(a){jQuery(document).ready(function(a){a("#screen-options-wrap .cs-custom-taxonomies input[type=checkbox]").on("change",function(){var b={action:"custom_sidebars_metabox_custom_taxonomies",_wpnonce:a("#custom_sidebars_custom_taxonomies").val(),fields:{}};a("#screen-options-wrap .cs-custom-taxonomies input[type=checkbox]").each(function(){b.fields[a(this).val()]=this.checked}),a.post(ajaxurl,b)})})}(jQuery),function(a){jQuery(document).ready(function(a){a("#screen-options-wrap .cs-roles input[type=checkbox]").on("change",function(){var b={action:"custom_sidebars_metabox_roles",_wpnonce:a("#custom_sidebars_metabox_roles").val(),fields:{}};a("#screen-options-wrap .cs-roles input[type=checkbox]").each(function(){b.fields[a(this).val()]=this.checked}),a.post(ajaxurl,b)})})}(jQuery);
assets/js/retirement-admin-notice.js ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! Custom Sidebars - v3.2.3
2
+ * https://premium.wpmudev.org/project/custom-sidebars-pro/
3
+ * Copyright (c) 2020; * Licensed GPLv2+ */
4
+ /*! Custom Sidebars - v3.2.3
5
+ * https://premium.wpmudev.org/project/custom-sidebars-pro/
6
+ * Copyright (c) 2020; * Licensed GPLv2+ */
7
+ ;(function ($) {
8
+ if ( window.WPMUDEV_CS_AdminNotification ) {
9
+ return;
10
+ }
11
+
12
+ window.WPMUDEV_CS_AdminNotification = {
13
+ ajax_action: 'custom_sidebars_retirement_notice_dismiss',
14
+
15
+ init () {
16
+ document.addEventListener( 'click', function( event ) {
17
+ if ( ! event.target.matches( '#wpmudev-cs-retirement-notice button.notice-dismiss' ) ) {
18
+ return;
19
+ }
20
+
21
+ let _self = WPMUDEV_CS_AdminNotification;
22
+ event.preventDefault();
23
+ _self.mark_dismissed();
24
+ });
25
+ },
26
+
27
+ mark_dismissed() {
28
+ let _self = WPMUDEV_CS_AdminNotification,
29
+ data = {
30
+ action : _self.ajax_action,
31
+ user_id : CS_Notice.user_id,
32
+ nonce : CS_Notice.nonce
33
+ } ;
34
+
35
+ $.post( ajaxurl, data, function( response ) {
36
+ if( response.success ){
37
+ document.querySelector( '#wpmudev-cs-retirement-notice' ).style.display = 'none';
38
+ }
39
+ });
40
+ }
41
+ }
42
+
43
+ document.addEventListener( 'DOMContentLoaded', function() {
44
+ WPMUDEV_CS_AdminNotification.init();
45
+ });
46
+ })(jQuery);
customsidebars.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Custom Sidebars
4
  * Plugin URI: https://wordpress.org/plugins/custom-sidebars/
5
  * Description: Allows you to create widgetized areas and custom sidebars. Replace whole sidebars or single widgets for specific posts and pages.
6
- * Version: 3.2.3
7
  * Author: WPMU DEV
8
  * Author URI: http://premium.wpmudev.org/
9
  * Textdomain: custom-sidebars
3
  * Plugin Name: Custom Sidebars
4
  * Plugin URI: https://wordpress.org/plugins/custom-sidebars/
5
  * Description: Allows you to create widgetized areas and custom sidebars. Replace whole sidebars or single widgets for specific posts and pages.
6
+ * Version: 3.2.4
7
  * Author: WPMU DEV
8
  * Author URI: http://premium.wpmudev.org/
9
  * Textdomain: custom-sidebars
inc/class-custom-sidebars.php CHANGED
@@ -20,37 +20,49 @@ class CustomSidebars {
20
  /**
21
  * Prefix used for the sidebar-ID of custom sidebars. This is also used to
22
  * distinguish theme sidebars from custom sidebars.
 
23
  * @var string
24
  */
25
- static protected $sidebar_prefix = 'cs-';
26
 
27
  /**
28
  * Capability required to use *any* of the plugin features. If user does not
29
  * have this capability then he will not see any change on admin dashboard.
 
30
  * @var string
31
  */
32
- static protected $cap_required = 'edit_theme_options';
33
 
34
  /**
35
  * URL to the documentation/info page of the pro plugin
 
36
  * @var string
37
  */
38
- static public $pro_url = 'https://premium.wpmudev.org/project/custom-sidebars-pro/';
39
 
40
  /**
41
  * Flag that specifies if the page is loaded in accessibility mode.
42
  * This plugin does not support accessibility mode!
 
43
  * @var bool
44
  * @since 2.0.9
45
  */
46
- static protected $accessibility_mode = false;
 
 
 
 
 
 
 
 
47
 
48
  /**
49
  * Returns the singleton instance of the custom sidebars class.
50
  *
51
  * @since 2.0
52
  */
53
- static public function instance() {
54
  static $Inst = null;
55
 
56
  // We can initialize the plugin once we know the current user:
@@ -81,6 +93,128 @@ class CustomSidebars {
81
  */
82
  add_filter( 'wpmu_style_version', array( $this, 'wp_enqueue_add_version' ), 10, 2 );
83
  add_filter( 'wpmu_script_version', array( $this, 'wp_enqueue_add_version' ), 10, 2 );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
84
  }
85
 
86
  /**
@@ -90,7 +224,7 @@ class CustomSidebars {
90
  */
91
  public function wp_enqueue_add_version( $version, $handle ) {
92
  if ( preg_match( '/^wpmu\-cs\-/', $handle ) ) {
93
- return '3.2.3';
94
  }
95
  return $version;
96
  }
@@ -101,7 +235,8 @@ class CustomSidebars {
101
  * @since 3.0.5
102
  */
103
  public function admin_init() {
104
- $plugin_title = 'Custom Sidebars';
 
105
 
106
  /**
107
  * ID of the WP-Pointer used to introduce the plugin upon activation
@@ -114,7 +249,7 @@ class CustomSidebars {
114
  * -------------------------------------------------------------------------
115
  */
116
 
117
- $user_id = get_current_user_id();
118
  $dismissed_wp_pointers = get_user_meta( $user_id, 'dismissed_wp_pointers', true );
119
  $dismissed_wp_pointers = explode( ',', $dismissed_wp_pointers );
120
 
@@ -123,21 +258,22 @@ class CustomSidebars {
123
  } else {
124
  lib3()->ui->add( 'core' );
125
  lib3()->html->pointer(
126
- 'wpmudcs1', // Internal Pointer-ID
127
- '#menu-appearance', // Point at
128
  $plugin_title,
129
  sprintf(
130
  __(
131
  'Now you can create and edit custom sidebars in your ' .
132
- '<a href="%1$s">Widgets screen</a>!', 'custom-sidebars'
 
133
  ),
134
  admin_url( 'widgets.php' )
135
- ) // Body
136
  );
137
  }
138
 
139
  // Find out if the page is loaded in accessibility mode.
140
- $flag = isset( $_GET['widgets-access'] ) ? $_GET['widgets-access'] : get_user_setting( 'widgets_access' );
141
  self::$accessibility_mode = ( 'on' == $flag );
142
 
143
  // We don't support accessibility mode. Display a note to the user.
@@ -152,7 +288,7 @@ class CustomSidebars {
152
  'custom-sidebars'
153
  ),
154
  $plugin_title,
155
- admin_url( 'widgets.php?widgets-access=off&_wpnonce='.urlencode( $nonce ) )
156
  ),
157
  'err',
158
  'widgets'
@@ -180,13 +316,13 @@ class CustomSidebars {
180
 
181
  // Prevent XSS attacks...
182
  $kses_args = array(
183
- 'br' => array(),
184
- 'b' => array(),
185
  'strong' => array(),
186
- 'i' => array(),
187
- 'em' => array(),
188
  );
189
- $msg = wp_kses( $msg, $kses_args );
190
 
191
  if ( ! empty( $msg ) ) {
192
  lib3()->ui->admin_message( $msg );
@@ -294,7 +430,7 @@ class CustomSidebars {
294
  * @param mixed $val2 Optional, Second value that maybe is an array.
295
  * @return array
296
  */
297
- static public function get_array( $val1, $val2 = array() ) {
298
  if ( is_array( $val1 ) ) {
299
  return $val1;
300
  } elseif ( is_array( $val2 ) ) {
@@ -310,9 +446,9 @@ class CustomSidebars {
310
  *
311
  * Option-Key: 'cs_modifiable' (1)
312
  */
313
- static public function get_options( $key = null ) {
314
  static $Options = null;
315
- $need_update = false;
316
 
317
  if ( null === $Options ) {
318
  $Options = get_option( 'cs_modifiable', array() );
@@ -323,9 +459,9 @@ class CustomSidebars {
323
  // List of modifiable sidebars.
324
  if ( ! isset( $Options['modifiable'] ) || ! is_array( $Options['modifiable'] ) ) {
325
  // By default we make ALL theme sidebars replaceable:
326
- $all = self::get_sidebars( 'theme' );
327
  $Options['modifiable'] = array_keys( $all );
328
- $need_update = true;
329
  }
330
 
331
  /**
@@ -361,7 +497,7 @@ class CustomSidebars {
361
  }
362
 
363
  // Single/Archive pages - new names
364
- $Options['post_type_single'] = self::get_array(
365
  $Options['post_type_single'], // new name
366
  $Options['defaults'] // old name
367
  );
@@ -369,11 +505,11 @@ class CustomSidebars {
369
  $Options['post_type_archive'], // new name
370
  $Options['post_type_pages'] // old name
371
  );
372
- $Options['category_single'] = self::get_array(
373
  $Options['category_single'], // new name
374
  $Options['category_posts'] // old name
375
  );
376
- $Options['category_archive'] = self::get_array(
377
  $Options['category_archive'], // new name
378
  $Options['category_pages'] // old name
379
  );
@@ -412,7 +548,7 @@ class CustomSidebars {
412
  }
413
  }
414
  if ( ! empty( $key ) ) {
415
- return isset( $Options[ $key ] )? $Options[ $key ] : null;
416
  } else {
417
  return $Options;
418
  }
@@ -422,10 +558,11 @@ class CustomSidebars {
422
  * Saves the sidebar options to DB.
423
  *
424
  * Option-Key: 'cs_modifiable' (1)
 
425
  * @since 2.0
426
  * @param array $value The options array.
427
  */
428
- static public function set_options( $value ) {
429
  // Permission check.
430
  if ( ! current_user_can( self::$cap_required ) ) {
431
  return;
@@ -441,18 +578,18 @@ class CustomSidebars {
441
  * @param array $data This array will be validated and returned.
442
  * @return array
443
  */
444
- static public function validate_options( $data = null ) {
445
- $data = (is_object( $data ) ? (array) $data : $data );
446
  if ( ! is_array( $data ) ) {
447
  return array();
448
  }
449
- $valid = array_keys( self::get_sidebars( 'theme' ) );
450
  $current = array();
451
  if ( isset( $data['modifiable'] ) ) {
452
  $current = self::get_array( $data['modifiable'] );
453
  }
454
  // Get all the sidebars that are modifiable AND exist.
455
- $modifiable = array_intersect( $valid, $current );
456
  $data['modifiable'] = $modifiable;
457
  return $data;
458
  }
@@ -463,7 +600,7 @@ class CustomSidebars {
463
  *
464
  * Option-Key: 'cs_sidebars' (3)
465
  */
466
- static public function get_custom_sidebars() {
467
  $sidebars = get_option( 'cs_sidebars', array() );
468
  if ( ! is_array( $sidebars ) ) {
469
  $sidebars = array();
@@ -481,9 +618,10 @@ class CustomSidebars {
481
  * Saves the custom sidebars to DB.
482
  *
483
  * Option-Key: 'cs_sidebars' (3)
 
484
  * @since 2.0
485
  */
486
- static public function set_custom_sidebars( $value ) {
487
  // Permission check.
488
  if ( ! current_user_can( self::$cap_required ) ) {
489
  return;
@@ -497,9 +635,10 @@ class CustomSidebars {
497
  * widgets (this is stored inside a WordPress core option).
498
  *
499
  * Option-Key: 'sidebars_widgets' (4)
 
500
  * @since 2.0
501
  */
502
- static public function get_sidebar_widgets() {
503
  return get_option( 'sidebars_widgets', array() );
504
  }
505
 
@@ -510,11 +649,11 @@ class CustomSidebars {
510
  *
511
  * Option-Key: 'sidebars_widgets' (4)
512
  */
513
- static public function refresh_sidebar_widgets() {
514
  // Contains an array of all sidebars and widgets inside each sidebar.
515
  $widgetized_sidebars = self::get_sidebar_widgets();
516
 
517
- $cs_sidebars = self::get_custom_sidebars();
518
  $delete_widgetized_sidebars = array();
519
 
520
  foreach ( $widgetized_sidebars as $id => $bar ) {
@@ -550,9 +689,10 @@ class CustomSidebars {
550
  * Returns the custom sidebar metadata of a single post.
551
  *
552
  * Meta-Key: '_cs_replacements' (2)
 
553
  * @since 2.0
554
  */
555
- static public function get_post_meta( $post_id ) {
556
  $data = get_post_meta( $post_id, '_cs_replacements', true );
557
  if ( ! is_array( $data ) ) {
558
  $data = array();
@@ -564,11 +704,12 @@ class CustomSidebars {
564
  * Saves custom sidebar metadata to a single post.
565
  *
566
  * Meta-Key: '_cs_replacements' (2)
 
567
  * @since 2.0
568
- * @param int $post_id
569
  * @param array $data When array is empty the meta data will be deleted.
570
  */
571
- static public function set_post_meta( $post_id, $data ) {
572
  if ( ! empty( $data ) ) {
573
  update_post_meta( $post_id, '_cs_replacements', $data );
574
  } else {
@@ -583,10 +724,10 @@ class CustomSidebars {
583
  *
584
  * @param string $type [all|cust|theme] What kind of sidebars to return.
585
  */
586
- static public function get_sidebars( $type = 'theme' ) {
587
  global $wp_registered_sidebars;
588
- $allsidebars = CustomSidebars::sort_sidebars_by_name( $wp_registered_sidebars );
589
- $result = array();
590
 
591
  // Remove inactive sidebars.
592
  foreach ( $allsidebars as $sb_id => $sidebar ) {
@@ -624,8 +765,9 @@ class CustomSidebars {
624
  * @param string $id Sidebar-ID.
625
  * @param string $type [all|cust|theme] What kind of sidebars to check.
626
  */
627
- static public function get_sidebar( $id, $type = 'all' ) {
628
- if ( empty( $id ) ) { return false; }
 
629
 
630
  // Get all sidebars
631
  $sidebars = self::get_sidebars( $type );
@@ -640,7 +782,7 @@ class CustomSidebars {
640
  /**
641
  * Get sidebar replacement information for a single post.
642
  */
643
- static public function get_replacements( $postid ) {
644
  $replacements = self::get_post_meta( $postid );
645
  if ( ! is_array( $replacements ) ) {
646
  $replacements = array();
@@ -658,12 +800,12 @@ class CustomSidebars {
658
  * posttype name or the full posttype object.
659
  * @return bool
660
  */
661
- static public function supported_post_type( $posttype ) {
662
  $Ignored_types = null;
663
- $Response = array();
664
 
665
  if ( null === $Ignored_types ) {
666
- $Ignored_types = get_post_types(
667
  array( 'public' => false ),
668
  'names'
669
  );
@@ -686,7 +828,7 @@ class CustomSidebars {
686
  * @param bool $response Flag if the posttype is supported.
687
  * @param string $posttype Name of the posttype that is checked.
688
  */
689
- $response = apply_filters( 'cs_support_posttype', $response, $posttype );
690
  $Response[ $posttype ] = $response;
691
  }
692
  return $Response[ $posttype ];
@@ -699,17 +841,17 @@ class CustomSidebars {
699
  * @param string $type [names|objects] Defines details of return data.
700
  * @return array List of posttype names or objects, depending on the param.
701
  */
702
- static public function get_post_types( $type = 'names' ) {
703
  $Valid = array();
704
  if ( 'objects' != $type ) {
705
  $type = 'names';
706
  }
707
  if ( ! isset( $Valid[ $type ] ) ) {
708
- $all = get_post_types( array(), $type );
709
  $Valid[ $type ] = array();
710
  foreach ( $all as $post_type ) {
711
  $suports = self::supported_post_type( $post_type );
712
- if ( $suports ) {
713
  $Valid[ $type ][] = $post_type;
714
  }
715
  }
@@ -726,13 +868,19 @@ class CustomSidebars {
726
  * @param string $type [names|objects] Defines details of return data.
727
  * @return array List of posttype names or objects, depending on the param.
728
  */
729
- static public function get_taxonomies( $type = 'names', $_builtin = true ) {
730
  $Valid = array();
731
  if ( 'objects' != $type ) {
732
  $type = 'names';
733
  }
734
  if ( ! isset( $Valid[ $type ] ) ) {
735
- $all = get_taxonomies( array( 'public' => true, '_builtin' => $_builtin ), $type );
 
 
 
 
 
 
736
  $Valid[ $type ] = array();
737
  foreach ( $all as $one ) {
738
  $Valid[ $type ][] = $one;
@@ -747,10 +895,10 @@ class CustomSidebars {
747
  * @since 2.0
748
  * @return array List of categories, including empty ones.
749
  */
750
- static public function get_all_categories() {
751
  $args = array(
752
  'hide_empty' => 0,
753
- 'taxonomy' => 'category',
754
  );
755
 
756
  return get_categories( $args );
@@ -762,7 +910,7 @@ class CustomSidebars {
762
  *
763
  * @uses self::cmp_cat_level()
764
  */
765
- static public function get_sorted_categories( $post_id = null ) {
766
  static $Sorted = array();
767
 
768
  // Return categories of current post when no post_id is specified.
@@ -780,7 +928,7 @@ class CustomSidebars {
780
  *
781
  * @uses self::get_category_level()
782
  */
783
- static public function cmp_cat_level( $cat1, $cat2 ) {
784
  $l1 = self::get_category_level( $cat1->cat_ID );
785
  $l2 = self::get_category_level( $cat2->cat_ID );
786
  if ( $l1 == $l2 ) {
@@ -793,7 +941,7 @@ class CustomSidebars {
793
  /**
794
  * Helper function used to sort categories.
795
  */
796
- static public function get_category_level( $catid ) {
797
  if ( ! $catid ) {
798
  return 0;
799
  }
@@ -811,9 +959,10 @@ class CustomSidebars {
811
  *
812
  * @since 1.0.0
813
  */
814
- static protected function json_response( $obj ) {
815
  // Flush any output that was made prior to this function call
816
- while ( 0 < ob_get_level() ) { ob_end_clean(); }
 
817
 
818
  header( 'Content-Type: application/json' );
819
  echo json_encode( (object) $obj );
@@ -825,9 +974,10 @@ class CustomSidebars {
825
  *
826
  * @since 2.0
827
  */
828
- static protected function plain_response( $data ) {
829
  // Flush any output that was made prior to this function call
830
- while ( 0 < ob_get_level() ) { ob_end_clean(); }
 
831
 
832
  header( 'Content-Type: text/plain' );
833
  echo '' . $data;
@@ -842,8 +992,8 @@ class CustomSidebars {
842
  * @param string $message Error message or reason; already translated.
843
  * @return object Updated response object.
844
  */
845
- static protected function req_err( $req, $message ) {
846
- $req->status = 'ERR';
847
  $req->message = $message;
848
  return $req;
849
  }
@@ -879,8 +1029,8 @@ class CustomSidebars {
879
  // Catch any unexpected output via output buffering.
880
  ob_start();
881
 
882
- $action = isset( $_POST['do'] )? $_POST['do']:null;
883
- $get_action = isset( $_GET['do'] )? $_GET['do']:null;
884
 
885
  /**
886
  * Notify all extensions about the ajax call.
@@ -922,7 +1072,7 @@ class CustomSidebars {
922
  if ( $a_name == $b_name ) {
923
  return 0;
924
  }
925
- return ($a_name < $b_name ) ? -1 : 1;
926
  }
927
 
928
  /**
@@ -952,7 +1102,6 @@ class CustomSidebars {
952
  * Add "support" and (configure) "widgets" on plugin list page
953
  *
954
  * @since 2.1.1.8
955
- *
956
  */
957
  public function add_action_links( $actions, $plugin_file, $plugin_data, $context ) {
958
  if ( current_user_can( 'edit_theme_options' ) ) {
@@ -982,31 +1131,31 @@ class CustomSidebars {
982
  return;
983
  }
984
  wp_enqueue_script( 'wp-util' );
985
- ?>
986
  <script type="text/html" id="tmpl-custom-sidebars-new">
987
  <div class="custom-sidebars-add-new">
988
  <p><?php esc_html_e( 'Create a custom sidebar to get started.', 'custom-sidebars' ); ?></p>
989
  </div>
990
  </script>
991
- <script type="text/html" id="tmpl-custom-sidebars-new-rule-row">
992
- <tr>
993
- <td>
994
- <select name="cs-screen[minmax][]">
995
- <option value="max"<# if( 'max' == data.minmax ) { #> selected="selected"<# } #>><?php esc_html_e( 'max', 'custom-sidebars' ); ?></option>
996
- <option value="min"<# if( 'min' == data.minmax ) { #> ' selected="selected"<# } #>><?php esc_html_e( 'min', 'custom-sidebars' ); ?></option>
997
- </select>
998
- </td>
999
- <td>
1000
- <select name="cs-screen[mode][]">
1001
- <option value="hide"<# if( 'hide' == data.mode ) { #> selected="selected"<# } #>><?php esc_html_e( 'Hide', 'custom-sidebars' ); ?></option>
1002
- <option value="show"<# if( 'show' == data.mode ) { #> selected="selected"<# } #>><?php esc_html_e( 'Show', 'custom-sidebars' ); ?></option>
1003
- </select>
1004
- </td>
1005
- <td><input type="number" name="cs-screen[size][]" min="0" value="{{{data.size}}}" class="textright" /></td>
1006
- <td class="num"><span class="dashicons dashicons-trash"></span></td>
1007
- </tr>
1008
  </script>
1009
- <?php
1010
  }
1011
 
1012
  /**
@@ -1058,7 +1207,7 @@ class CustomSidebars {
1058
  * @returns array Array of object of custom, public taxonomies
1059
  */
1060
  public static function get_custom_taxonomies( $state = 'all' ) {
1061
- $args = array(
1062
  'public' => true,
1063
  '_builtin' => false,
1064
  );
@@ -1071,7 +1220,7 @@ class CustomSidebars {
1071
  * $taxonomies array
1072
  */
1073
  if ( 'allowed' === $state ) {
1074
- $editor = CustomSidebarsEditor::instance();
1075
  $allowed = $editor->get_allowed_custom_taxonmies();
1076
  if ( empty( $allowed ) ) {
1077
  return array();
20
  /**
21
  * Prefix used for the sidebar-ID of custom sidebars. This is also used to
22
  * distinguish theme sidebars from custom sidebars.
23
+ *
24
  * @var string
25
  */
26
+ protected static $sidebar_prefix = 'cs-';
27
 
28
  /**
29
  * Capability required to use *any* of the plugin features. If user does not
30
  * have this capability then he will not see any change on admin dashboard.
31
+ *
32
  * @var string
33
  */
34
+ protected static $cap_required = 'edit_theme_options';
35
 
36
  /**
37
  * URL to the documentation/info page of the pro plugin
38
+ *
39
  * @var string
40
  */
41
+ public static $pro_url = 'https://premium.wpmudev.org/project/custom-sidebars-pro/';
42
 
43
  /**
44
  * Flag that specifies if the page is loaded in accessibility mode.
45
  * This plugin does not support accessibility mode!
46
+ *
47
  * @var bool
48
  * @since 2.0.9
49
  */
50
+ protected static $accessibility_mode = false;
51
+
52
+ /**
53
+ * Flag that specifies if the current user can see the retirement notice.
54
+ *
55
+ * @var bool
56
+ * @since 3.2.4
57
+ */
58
+ private $user_can_see_notice = null;
59
 
60
  /**
61
  * Returns the singleton instance of the custom sidebars class.
62
  *
63
  * @since 2.0
64
  */
65
+ public static function instance() {
66
  static $Inst = null;
67
 
68
  // We can initialize the plugin once we know the current user:
93
  */
94
  add_filter( 'wpmu_style_version', array( $this, 'wp_enqueue_add_version' ), 10, 2 );
95
  add_filter( 'wpmu_script_version', array( $this, 'wp_enqueue_add_version' ), 10, 2 );
96
+
97
+ /**
98
+ * Add retirement notice for Block Based Widget Screen
99
+ */
100
+ add_action( 'admin_notices', array( $this, 'retirement_admin_notice' ) );
101
+ add_action( 'wp_ajax_custom_sidebars_retirement_notice_dismiss', array( $this, 'dismiss_retirement_notice' ) );
102
+ add_action( 'admin_enqueue_scripts', array( $this, 'dismiss_retirement_notice_js' ) );
103
+ }
104
+
105
+ /**
106
+ * Add retirement admin notice
107
+ *
108
+ * @since 3.2.4
109
+ */
110
+ public function retirement_admin_notice() {
111
+ if ( ! $this->can_user_see_notice() ) {
112
+ return;
113
+ }
114
+
115
+ $post_link = 'https://premium.wpmudev.org/blog/retiring-custom-sidebars/';
116
+ ?>
117
+ <div id="wpmudev-cs-retirement-notice" class="notice notice-warning is-dismissible">
118
+ <p>
119
+ <?php
120
+ printf(
121
+ esc_html__(
122
+ '%1$sCustom Sidebars Notice %2$sStarting from version 5.7, WordPress will be using Gutenberg\'s block-based Widget Screen. Custom Sidebars is not compatible due to the fact that once Full Site Editing is in place, such plugins will not be required anymore. Therefore Custom Sidebars has been discontinued. If you have existing sidebars that you need to modify, you can switch back to a legacy Widgets screen by adding %3$s in your theme\'s functions.php file. You can read more about this %4$shere%5$s.',
123
+ 'custom-sidebars'
124
+ ),
125
+ '<strong>',
126
+ '</strong><br />',
127
+ "<code>remove_theme_support( 'widgets-block-editor' );</code>",
128
+ "<a href=\"$post_link\" target=\"_blank\">",
129
+ '</a>'
130
+ );
131
+ ?>
132
+ </p>
133
+ </div>
134
+ <?php
135
+ }
136
+
137
+ /**
138
+ * Dismiss the retirement notice per user
139
+ *
140
+ * @since 3.2.4
141
+ */
142
+ public function dismiss_retirement_notice() {
143
+ $user_id = filter_input( INPUT_POST, 'user_id', FILTER_VALIDATE_INT );
144
+
145
+ if (
146
+ ! isset( $_POST['nonce'] ) || ! wp_verify_nonce( $_POST['nonce'], 'wpmudev_sc_dismissed_notice' ) ||
147
+ $user_id !== get_current_user_id()
148
+ ) {
149
+
150
+ wp_send_json(
151
+ array(
152
+ 'success' => false,
153
+ 'message' => __( 'Unauthorized', 'custom-sidebars' ),
154
+ )
155
+ );
156
+ }
157
+
158
+ update_user_meta( $user_id, 'wpmudev_sc_dismissed_notice', true );
159
+
160
+ $return = array(
161
+ 'success' => true,
162
+ 'message' => sprintf( esc_html__( 'Notice dismissed for user %d', 'custom-sidebars' ), $user_id ),
163
+ );
164
+
165
+ wp_send_json( $return );
166
+ }
167
+
168
+ /**
169
+ * Enqueue js to dismiss the retirement notice
170
+ *
171
+ * @since 3.2.4
172
+ */
173
+ public function dismiss_retirement_notice_js() {
174
+ if ( ! $this->can_user_see_notice() ) {
175
+ return;
176
+ }
177
+
178
+ $file = 'retirement-admin-notice.js';
179
+ $csb_info = get_plugin_data( CSB_PLUGIN );
180
+ $version = $csb_info['Version'];
181
+ $script_vars = array(
182
+ 'nonce' => wp_create_nonce( "wpmudev_sc_dismissed_notice" ),
183
+ 'user_id' => get_current_user_id(),
184
+ );
185
+
186
+ if ( defined( 'WDEV_UNMINIFIED' ) && WDEV_UNMINIFIED ){
187
+ $file = str_replace( '.min.js', '.js', $file );
188
+ $version = time();
189
+ }
190
+ wp_enqueue_script(
191
+ 'customsidebars-retirement-notice',
192
+ CSB_JS_URL . $file,
193
+ array(),
194
+ $version,
195
+ true
196
+ );
197
+
198
+ wp_localize_script( 'customsidebars-retirement-notice', 'CS_Notice', $script_vars );
199
+ }
200
+
201
+ /**
202
+ * Should the notice be visible or not
203
+ *
204
+ * @since 3.2.4
205
+ */
206
+ public function can_user_see_notice() {
207
+ if ( is_null( $this->user_can_see_notice ) ) {
208
+ $this->user_can_see_notice = true;
209
+
210
+ if (
211
+ ! current_user_can( 'edit_theme_options' ) ||
212
+ get_user_meta( get_current_user_id(), 'wpmudev_sc_dismissed_notice', true ) )
213
+ {
214
+ $this->user_can_see_notice = false;
215
+ }
216
+ }
217
+ return $this->user_can_see_notice;
218
  }
219
 
220
  /**
224
  */
225
  public function wp_enqueue_add_version( $version, $handle ) {
226
  if ( preg_match( '/^wpmu\-cs\-/', $handle ) ) {
227
+ return '3.2.4';
228
  }
229
  return $version;
230
  }
235
  * @since 3.0.5
236
  */
237
  public function admin_init() {
238
+ $plugin_title = 'Custom Sidebars';/*
239
+ end:free */
240
 
241
  /**
242
  * ID of the WP-Pointer used to introduce the plugin upon activation
249
  * -------------------------------------------------------------------------
250
  */
251
 
252
+ $user_id = get_current_user_id();
253
  $dismissed_wp_pointers = get_user_meta( $user_id, 'dismissed_wp_pointers', true );
254
  $dismissed_wp_pointers = explode( ',', $dismissed_wp_pointers );
255
 
258
  } else {
259
  lib3()->ui->add( 'core' );
260
  lib3()->html->pointer(
261
+ 'wpmudcs1', // Internal Pointer-ID
262
+ '#menu-appearance', // Point at
263
  $plugin_title,
264
  sprintf(
265
  __(
266
  'Now you can create and edit custom sidebars in your ' .
267
+ '<a href="%1$s">Widgets screen</a>!',
268
+ 'custom-sidebars'
269
  ),
270
  admin_url( 'widgets.php' )
271
+ ) // Body
272
  );
273
  }
274
 
275
  // Find out if the page is loaded in accessibility mode.
276
+ $flag = isset( $_GET['widgets-access'] ) ? $_GET['widgets-access'] : get_user_setting( 'widgets_access' );
277
  self::$accessibility_mode = ( 'on' == $flag );
278
 
279
  // We don't support accessibility mode. Display a note to the user.
288
  'custom-sidebars'
289
  ),
290
  $plugin_title,
291
+ admin_url( 'widgets.php?widgets-access=off&_wpnonce=' . urlencode( $nonce ) )
292
  ),
293
  'err',
294
  'widgets'
316
 
317
  // Prevent XSS attacks...
318
  $kses_args = array(
319
+ 'br' => array(),
320
+ 'b' => array(),
321
  'strong' => array(),
322
+ 'i' => array(),
323
+ 'em' => array(),
324
  );
325
+ $msg = wp_kses( $msg, $kses_args );
326
 
327
  if ( ! empty( $msg ) ) {
328
  lib3()->ui->admin_message( $msg );
430
  * @param mixed $val2 Optional, Second value that maybe is an array.
431
  * @return array
432
  */
433
+ public static function get_array( $val1, $val2 = array() ) {
434
  if ( is_array( $val1 ) ) {
435
  return $val1;
436
  } elseif ( is_array( $val2 ) ) {
446
  *
447
  * Option-Key: 'cs_modifiable' (1)
448
  */
449
+ public static function get_options( $key = null ) {
450
  static $Options = null;
451
+ $need_update = false;
452
 
453
  if ( null === $Options ) {
454
  $Options = get_option( 'cs_modifiable', array() );
459
  // List of modifiable sidebars.
460
  if ( ! isset( $Options['modifiable'] ) || ! is_array( $Options['modifiable'] ) ) {
461
  // By default we make ALL theme sidebars replaceable:
462
+ $all = self::get_sidebars( 'theme' );
463
  $Options['modifiable'] = array_keys( $all );
464
+ $need_update = true;
465
  }
466
 
467
  /**
497
  }
498
 
499
  // Single/Archive pages - new names
500
+ $Options['post_type_single'] = self::get_array(
501
  $Options['post_type_single'], // new name
502
  $Options['defaults'] // old name
503
  );
505
  $Options['post_type_archive'], // new name
506
  $Options['post_type_pages'] // old name
507
  );
508
+ $Options['category_single'] = self::get_array(
509
  $Options['category_single'], // new name
510
  $Options['category_posts'] // old name
511
  );
512
+ $Options['category_archive'] = self::get_array(
513
  $Options['category_archive'], // new name
514
  $Options['category_pages'] // old name
515
  );
548
  }
549
  }
550
  if ( ! empty( $key ) ) {
551
+ return isset( $Options[ $key ] ) ? $Options[ $key ] : null;
552
  } else {
553
  return $Options;
554
  }
558
  * Saves the sidebar options to DB.
559
  *
560
  * Option-Key: 'cs_modifiable' (1)
561
+ *
562
  * @since 2.0
563
  * @param array $value The options array.
564
  */
565
+ public static function set_options( $value ) {
566
  // Permission check.
567
  if ( ! current_user_can( self::$cap_required ) ) {
568
  return;
578
  * @param array $data This array will be validated and returned.
579
  * @return array
580
  */
581
+ public static function validate_options( $data = null ) {
582
+ $data = ( is_object( $data ) ? (array) $data : $data );
583
  if ( ! is_array( $data ) ) {
584
  return array();
585
  }
586
+ $valid = array_keys( self::get_sidebars( 'theme' ) );
587
  $current = array();
588
  if ( isset( $data['modifiable'] ) ) {
589
  $current = self::get_array( $data['modifiable'] );
590
  }
591
  // Get all the sidebars that are modifiable AND exist.
592
+ $modifiable = array_intersect( $valid, $current );
593
  $data['modifiable'] = $modifiable;
594
  return $data;
595
  }
600
  *
601
  * Option-Key: 'cs_sidebars' (3)
602
  */
603
+ public static function get_custom_sidebars() {
604
  $sidebars = get_option( 'cs_sidebars', array() );
605
  if ( ! is_array( $sidebars ) ) {
606
  $sidebars = array();
618
  * Saves the custom sidebars to DB.
619
  *
620
  * Option-Key: 'cs_sidebars' (3)
621
+ *
622
  * @since 2.0
623
  */
624
+ public static function set_custom_sidebars( $value ) {
625
  // Permission check.
626
  if ( ! current_user_can( self::$cap_required ) ) {
627
  return;
635
  * widgets (this is stored inside a WordPress core option).
636
  *
637
  * Option-Key: 'sidebars_widgets' (4)
638
+ *
639
  * @since 2.0
640
  */
641
+ public static function get_sidebar_widgets() {
642
  return get_option( 'sidebars_widgets', array() );
643
  }
644
 
649
  *
650
  * Option-Key: 'sidebars_widgets' (4)
651
  */
652
+ public static function refresh_sidebar_widgets() {
653
  // Contains an array of all sidebars and widgets inside each sidebar.
654
  $widgetized_sidebars = self::get_sidebar_widgets();
655
 
656
+ $cs_sidebars = self::get_custom_sidebars();
657
  $delete_widgetized_sidebars = array();
658
 
659
  foreach ( $widgetized_sidebars as $id => $bar ) {
689
  * Returns the custom sidebar metadata of a single post.
690
  *
691
  * Meta-Key: '_cs_replacements' (2)
692
+ *
693
  * @since 2.0
694
  */
695
+ public static function get_post_meta( $post_id ) {
696
  $data = get_post_meta( $post_id, '_cs_replacements', true );
697
  if ( ! is_array( $data ) ) {
698
  $data = array();
704
  * Saves custom sidebar metadata to a single post.
705
  *
706
  * Meta-Key: '_cs_replacements' (2)
707
+ *
708
  * @since 2.0
709
+ * @param int $post_id
710
  * @param array $data When array is empty the meta data will be deleted.
711
  */
712
+ public static function set_post_meta( $post_id, $data ) {
713
  if ( ! empty( $data ) ) {
714
  update_post_meta( $post_id, '_cs_replacements', $data );
715
  } else {
724
  *
725
  * @param string $type [all|cust|theme] What kind of sidebars to return.
726
  */
727
+ public static function get_sidebars( $type = 'theme' ) {
728
  global $wp_registered_sidebars;
729
+ $allsidebars = self::sort_sidebars_by_name( $wp_registered_sidebars );
730
+ $result = array();
731
 
732
  // Remove inactive sidebars.
733
  foreach ( $allsidebars as $sb_id => $sidebar ) {
765
  * @param string $id Sidebar-ID.
766
  * @param string $type [all|cust|theme] What kind of sidebars to check.
767
  */
768
+ public static function get_sidebar( $id, $type = 'all' ) {
769
+ if ( empty( $id ) ) {
770
+ return false; }
771
 
772
  // Get all sidebars
773
  $sidebars = self::get_sidebars( $type );
782
  /**
783
  * Get sidebar replacement information for a single post.
784
  */
785
+ public static function get_replacements( $postid ) {
786
  $replacements = self::get_post_meta( $postid );
787
  if ( ! is_array( $replacements ) ) {
788
  $replacements = array();
800
  * posttype name or the full posttype object.
801
  * @return bool
802
  */
803
+ public static function supported_post_type( $posttype ) {
804
  $Ignored_types = null;
805
+ $Response = array();
806
 
807
  if ( null === $Ignored_types ) {
808
+ $Ignored_types = get_post_types(
809
  array( 'public' => false ),
810
  'names'
811
  );
828
  * @param bool $response Flag if the posttype is supported.
829
  * @param string $posttype Name of the posttype that is checked.
830
  */
831
+ $response = apply_filters( 'cs_support_posttype', $response, $posttype );
832
  $Response[ $posttype ] = $response;
833
  }
834
  return $Response[ $posttype ];
841
  * @param string $type [names|objects] Defines details of return data.
842
  * @return array List of posttype names or objects, depending on the param.
843
  */
844
+ public static function get_post_types( $type = 'names' ) {
845
  $Valid = array();
846
  if ( 'objects' != $type ) {
847
  $type = 'names';
848
  }
849
  if ( ! isset( $Valid[ $type ] ) ) {
850
+ $all = get_post_types( array(), $type );
851
  $Valid[ $type ] = array();
852
  foreach ( $all as $post_type ) {
853
  $suports = self::supported_post_type( $post_type );
854
+ if ( $suports ) {
855
  $Valid[ $type ][] = $post_type;
856
  }
857
  }
868
  * @param string $type [names|objects] Defines details of return data.
869
  * @return array List of posttype names or objects, depending on the param.
870
  */
871
+ public static function get_taxonomies( $type = 'names', $_builtin = true ) {
872
  $Valid = array();
873
  if ( 'objects' != $type ) {
874
  $type = 'names';
875
  }
876
  if ( ! isset( $Valid[ $type ] ) ) {
877
+ $all = get_taxonomies(
878
+ array(
879
+ 'public' => true,
880
+ '_builtin' => $_builtin,
881
+ ),
882
+ $type
883
+ );
884
  $Valid[ $type ] = array();
885
  foreach ( $all as $one ) {
886
  $Valid[ $type ][] = $one;
895
  * @since 2.0
896
  * @return array List of categories, including empty ones.
897
  */
898
+ public static function get_all_categories() {
899
  $args = array(
900
  'hide_empty' => 0,
901
+ 'taxonomy' => 'category',
902
  );
903
 
904
  return get_categories( $args );
910
  *
911
  * @uses self::cmp_cat_level()
912
  */
913
+ public static function get_sorted_categories( $post_id = null ) {
914
  static $Sorted = array();
915
 
916
  // Return categories of current post when no post_id is specified.
928
  *
929
  * @uses self::get_category_level()
930
  */
931
+ public static function cmp_cat_level( $cat1, $cat2 ) {
932
  $l1 = self::get_category_level( $cat1->cat_ID );
933
  $l2 = self::get_category_level( $cat2->cat_ID );
934
  if ( $l1 == $l2 ) {
941
  /**
942
  * Helper function used to sort categories.
943
  */
944
+ public static function get_category_level( $catid ) {
945
  if ( ! $catid ) {
946
  return 0;
947
  }
959
  *
960
  * @since 1.0.0
961
  */
962
+ protected static function json_response( $obj ) {
963
  // Flush any output that was made prior to this function call
964
+ while ( 0 < ob_get_level() ) {
965
+ ob_end_clean(); }
966
 
967
  header( 'Content-Type: application/json' );
968
  echo json_encode( (object) $obj );
974
  *
975
  * @since 2.0
976
  */
977
+ protected static function plain_response( $data ) {
978
  // Flush any output that was made prior to this function call
979
+ while ( 0 < ob_get_level() ) {
980
+ ob_end_clean(); }
981
 
982
  header( 'Content-Type: text/plain' );
983
  echo '' . $data;
992
  * @param string $message Error message or reason; already translated.
993
  * @return object Updated response object.
994
  */
995
+ protected static function req_err( $req, $message ) {
996
+ $req->status = 'ERR';
997
  $req->message = $message;
998
  return $req;
999
  }
1029
  // Catch any unexpected output via output buffering.
1030
  ob_start();
1031
 
1032
+ $action = isset( $_POST['do'] ) ? $_POST['do'] : null;
1033
+ $get_action = isset( $_GET['do'] ) ? $_GET['do'] : null;
1034
 
1035
  /**
1036
  * Notify all extensions about the ajax call.
1072
  if ( $a_name == $b_name ) {
1073
  return 0;
1074
  }
1075
+ return ( $a_name < $b_name ) ? -1 : 1;
1076
  }
1077
 
1078
  /**
1102
  * Add "support" and (configure) "widgets" on plugin list page
1103
  *
1104
  * @since 2.1.1.8
 
1105
  */
1106
  public function add_action_links( $actions, $plugin_file, $plugin_data, $context ) {
1107
  if ( current_user_can( 'edit_theme_options' ) ) {
1131
  return;
1132
  }
1133
  wp_enqueue_script( 'wp-util' );
1134
+ ?>
1135
  <script type="text/html" id="tmpl-custom-sidebars-new">
1136
  <div class="custom-sidebars-add-new">
1137
  <p><?php esc_html_e( 'Create a custom sidebar to get started.', 'custom-sidebars' ); ?></p>
1138
  </div>
1139
  </script>
1140
+ <script type="text/html" id="tmpl-custom-sidebars-new-rule-row">
1141
+ <tr>
1142
+ <td>
1143
+ <select name="cs-screen[minmax][]">
1144
+ <option value="max"<# if( 'max' == data.minmax ) { #> selected="selected"<# } #>><?php esc_html_e( 'max', 'custom-sidebars' ); ?></option>
1145
+ <option value="min"<# if( 'min' == data.minmax ) { #> ' selected="selected"<# } #>><?php esc_html_e( 'min', 'custom-sidebars' ); ?></option>
1146
+ </select>
1147
+ </td>
1148
+ <td>
1149
+ <select name="cs-screen[mode][]">
1150
+ <option value="hide"<# if( 'hide' == data.mode ) { #> selected="selected"<# } #>><?php esc_html_e( 'Hide', 'custom-sidebars' ); ?></option>
1151
+ <option value="show"<# if( 'show' == data.mode ) { #> selected="selected"<# } #>><?php esc_html_e( 'Show', 'custom-sidebars' ); ?></option>
1152
+ </select>
1153
+ </td>
1154
+ <td><input type="number" name="cs-screen[size][]" min="0" value="{{{data.size}}}" class="textright" /></td>
1155
+ <td class="num"><span class="dashicons dashicons-trash"></span></td>
1156
+ </tr>
1157
  </script>
1158
+ <?php
1159
  }
1160
 
1161
  /**
1207
  * @returns array Array of object of custom, public taxonomies
1208
  */
1209
  public static function get_custom_taxonomies( $state = 'all' ) {
1210
+ $args = array(
1211
  'public' => true,
1212
  '_builtin' => false,
1213
  );
1220
  * $taxonomies array
1221
  */
1222
  if ( 'allowed' === $state ) {
1223
+ $editor = CustomSidebarsEditor::instance();
1224
  $allowed = $editor->get_allowed_custom_taxonmies();
1225
  if ( empty( $allowed ) ) {
1226
  return array();
languages/custom-sidebars.pot CHANGED
@@ -1,15 +1,15 @@
1
- # Copyright (C) 2019 WPMU DEV
2
  # This file is distributed under the same license as the Custom Sidebars Pro package.
3
  msgid ""
4
  msgstr ""
5
  "Project-Id-Version: Custom Sidebars Pro PLUGIN_VERSION\n"
6
  "Report-Msgid-Bugs-To: "
7
  "https://wordpress.org/support/plugin/custom-sidebars-pro\n"
8
- "POT-Creation-Date: 2019-03-29 07:49:07+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "PO-Revision-Date: 2019-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
  "Language: en\n"
@@ -23,7 +23,7 @@ msgstr ""
23
  "X-Poedit-SearchPath-0: .\n"
24
  "X-Poedit-Bookmarks: \n"
25
  "X-Textdomain-Support: yes\n"
26
- "X-Generator: grunt-wp-i18n1.0.2\n"
27
 
28
  #: inc/class-custom-sidebars-checkup-notification.php:114
29
  msgid ""
@@ -357,38 +357,49 @@ msgstr ""
357
  msgid "Only these %s:"
358
  msgstr ""
359
 
360
- #: inc/class-custom-sidebars.php:148
 
 
 
 
 
 
 
 
 
 
 
361
  msgid ""
362
  "<strong>Accessibility mode is not supported by the\n"
363
  "\t\t\t\t\t\t%1$s plugin.</strong><br /><a href=\"%2$s\">Click here</a>\n"
364
  "\t\t\t\t\t\tto disable accessibility mode and use the %1$s plugin!"
365
  msgstr ""
366
 
367
- #: inc/class-custom-sidebars.php:962 views/import.php:146
368
  msgid "Widgets"
369
  msgstr ""
370
 
371
- #: inc/class-custom-sidebars.php:972
372
  msgid "Support"
373
  msgstr ""
374
 
375
- #: inc/class-custom-sidebars.php:990
376
  msgid "Create a custom sidebar to get started."
377
  msgstr ""
378
 
379
- #: inc/class-custom-sidebars.php:997
380
  msgid "max"
381
  msgstr ""
382
 
383
- #: inc/class-custom-sidebars.php:998
384
  msgid "min"
385
  msgstr ""
386
 
387
- #: inc/class-custom-sidebars.php:1003
388
  msgid "Hide"
389
  msgstr ""
390
 
391
- #: inc/class-custom-sidebars.php:1004
392
  msgid "Show"
393
  msgstr ""
394
 
1
+ # Copyright (C) 2020 WPMU DEV
2
  # This file is distributed under the same license as the Custom Sidebars Pro package.
3
  msgid ""
4
  msgstr ""
5
  "Project-Id-Version: Custom Sidebars Pro PLUGIN_VERSION\n"
6
  "Report-Msgid-Bugs-To: "
7
  "https://wordpress.org/support/plugin/custom-sidebars-pro\n"
8
+ "POT-Creation-Date: 2020-11-18 19:30:58+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "PO-Revision-Date: 2020-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
  "Language: en\n"
23
  "X-Poedit-SearchPath-0: .\n"
24
  "X-Poedit-Bookmarks: \n"
25
  "X-Textdomain-Support: yes\n"
26
+ "X-Generator: grunt-wp-i18n 1.0.3\n"
27
 
28
  #: inc/class-custom-sidebars-checkup-notification.php:114
29
  msgid ""
357
  msgid "Only these %s:"
358
  msgstr ""
359
 
360
+ #: inc/class-custom-sidebars.php:115
361
+ msgid ""
362
+ "%1$sCustom Sidebars Notice%2$sSince version 5.6, WordPress will be using "
363
+ "Gutenberg's block-based Widget Screen. Custom Sidebars is not compatible "
364
+ "and due to the fact that once Full Site Editing is in place, such plugins "
365
+ "will not be required anymore. Therefore Custom Sidebars has been "
366
+ "discontinued. If you have existing sidebars that you need to modify, you "
367
+ "can switch back to legacy Widgets screen by adding %3$s in your theme's "
368
+ "functions.php file"
369
+ msgstr ""
370
+
371
+ #: inc/class-custom-sidebars.php:279
372
  msgid ""
373
  "<strong>Accessibility mode is not supported by the\n"
374
  "\t\t\t\t\t\t%1$s plugin.</strong><br /><a href=\"%2$s\">Click here</a>\n"
375
  "\t\t\t\t\t\tto disable accessibility mode and use the %1$s plugin!"
376
  msgstr ""
377
 
378
+ #: inc/class-custom-sidebars.php:1106 views/import.php:146
379
  msgid "Widgets"
380
  msgstr ""
381
 
382
+ #: inc/class-custom-sidebars.php:1116
383
  msgid "Support"
384
  msgstr ""
385
 
386
+ #: inc/class-custom-sidebars.php:1134
387
  msgid "Create a custom sidebar to get started."
388
  msgstr ""
389
 
390
+ #: inc/class-custom-sidebars.php:1141
391
  msgid "max"
392
  msgstr ""
393
 
394
+ #: inc/class-custom-sidebars.php:1142
395
  msgid "min"
396
  msgstr ""
397
 
398
+ #: inc/class-custom-sidebars.php:1147
399
  msgid "Hide"
400
  msgstr ""
401
 
402
+ #: inc/class-custom-sidebars.php:1148
403
  msgid "Show"
404
  msgstr ""
405
 
license.txt ADDED
@@ -0,0 +1,339 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ GNU GENERAL PUBLIC LICENSE
2
+ Version 2, June 1991
3
+
4
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
5
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6
+ Everyone is permitted to copy and distribute verbatim copies
7
+ of this license document, but changing it is not allowed.
8
+
9
+ Preamble
10
+
11
+ The licenses for most software are designed to take away your
12
+ freedom to share and change it. By contrast, the GNU General Public
13
+ License is intended to guarantee your freedom to share and change free
14
+ software--to make sure the software is free for all its users. This
15
+ General Public License applies to most of the Free Software
16
+ Foundation's software and to any other program whose authors commit to
17
+ using it. (Some other Free Software Foundation software is covered by
18
+ the GNU Lesser General Public License instead.) You can apply it to
19
+ your programs, too.
20
+
21
+ When we speak of free software, we are referring to freedom, not
22
+ price. Our General Public Licenses are designed to make sure that you
23
+ have the freedom to distribute copies of free software (and charge for
24
+ this service if you wish), that you receive source code or can get it
25
+ if you want it, that you can change the software or use pieces of it
26
+ in new free programs; and that you know you can do these things.
27
+
28
+ To protect your rights, we need to make restrictions that forbid
29
+ anyone to deny you these rights or to ask you to surrender the rights.
30
+ These restrictions translate to certain responsibilities for you if you
31
+ distribute copies of the software, or if you modify it.
32
+
33
+ For example, if you distribute copies of such a program, whether
34
+ gratis or for a fee, you must give the recipients all the rights that
35
+ you have. You must make sure that they, too, receive or can get the
36
+ source code. And you must show them these terms so they know their
37
+ rights.
38
+
39
+ We protect your rights with two steps: (1) copyright the software, and
40
+ (2) offer you this license which gives you legal permission to copy,
41
+ distribute and/or modify the software.
42
+
43
+ Also, for each author's protection and ours, we want to make certain
44
+ that everyone understands that there is no warranty for this free
45
+ software. If the software is modified by someone else and passed on, we
46
+ want its recipients to know that what they have is not the original, so
47
+ that any problems introduced by others will not reflect on the original
48
+ authors' reputations.
49
+
50
+ Finally, any free program is threatened constantly by software
51
+ patents. We wish to avoid the danger that redistributors of a free
52
+ program will individually obtain patent licenses, in effect making the
53
+ program proprietary. To prevent this, we have made it clear that any
54
+ patent must be licensed for everyone's free use or not licensed at all.
55
+
56
+ The precise terms and conditions for copying, distribution and
57
+ modification follow.
58
+
59
+ GNU GENERAL PUBLIC LICENSE
60
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61
+
62
+ 0. This License applies to any program or other work which contains
63
+ a notice placed by the copyright holder saying it may be distributed
64
+ under the terms of this General Public License. The "Program", below,
65
+ refers to any such program or work, and a "work based on the Program"
66
+ means either the Program or any derivative work under copyright law:
67
+ that is to say, a work containing the Program or a portion of it,
68
+ either verbatim or with modifications and/or translated into another
69
+ language. (Hereinafter, translation is included without limitation in
70
+ the term "modification".) Each licensee is addressed as "you".
71
+
72
+ Activities other than copying, distribution and modification are not
73
+ covered by this License; they are outside its scope. The act of
74
+ running the Program is not restricted, and the output from the Program
75
+ is covered only if its contents constitute a work based on the
76
+ Program (independent of having been made by running the Program).
77
+ Whether that is true depends on what the Program does.
78
+
79
+ 1. You may copy and distribute verbatim copies of the Program's
80
+ source code as you receive it, in any medium, provided that you
81
+ conspicuously and appropriately publish on each copy an appropriate
82
+ copyright notice and disclaimer of warranty; keep intact all the
83
+ notices that refer to this License and to the absence of any warranty;
84
+ and give any other recipients of the Program a copy of this License
85
+ along with the Program.
86
+
87
+ You may charge a fee for the physical act of transferring a copy, and
88
+ you may at your option offer warranty protection in exchange for a fee.
89
+
90
+ 2. You may modify your copy or copies of the Program or any portion
91
+ of it, thus forming a work based on the Program, and copy and
92
+ distribute such modifications or work under the terms of Section 1
93
+ above, provided that you also meet all of these conditions:
94
+
95
+ a) You must cause the modified files to carry prominent notices
96
+ stating that you changed the files and the date of any change.
97
+
98
+ b) You must cause any work that you distribute or publish, that in
99
+ whole or in part contains or is derived from the Program or any
100
+ part thereof, to be licensed as a whole at no charge to all third
101
+ parties under the terms of this License.
102
+
103
+ c) If the modified program normally reads commands interactively
104
+ when run, you must cause it, when started running for such
105
+ interactive use in the most ordinary way, to print or display an
106
+ announcement including an appropriate copyright notice and a
107
+ notice that there is no warranty (or else, saying that you provide
108
+ a warranty) and that users may redistribute the program under
109
+ these conditions, and telling the user how to view a copy of this
110
+ License. (Exception: if the Program itself is interactive but
111
+ does not normally print such an announcement, your work based on
112
+ the Program is not required to print an announcement.)
113
+
114
+ These requirements apply to the modified work as a whole. If
115
+ identifiable sections of that work are not derived from the Program,
116
+ and can be reasonably considered independent and separate works in
117
+ themselves, then this License, and its terms, do not apply to those
118
+ sections when you distribute them as separate works. But when you
119
+ distribute the same sections as part of a whole which is a work based
120
+ on the Program, the distribution of the whole must be on the terms of
121
+ this License, whose permissions for other licensees extend to the
122
+ entire whole, and thus to each and every part regardless of who wrote it.
123
+
124
+ Thus, it is not the intent of this section to claim rights or contest
125
+ your rights to work written entirely by you; rather, the intent is to
126
+ exercise the right to control the distribution of derivative or
127
+ collective works based on the Program.
128
+
129
+ In addition, mere aggregation of another work not based on the Program
130
+ with the Program (or with a work based on the Program) on a volume of
131
+ a storage or distribution medium does not bring the other work under
132
+ the scope of this License.
133
+
134
+ 3. You may copy and distribute the Program (or a work based on it,
135
+ under Section 2) in object code or executable form under the terms of
136
+ Sections 1 and 2 above provided that you also do one of the following:
137
+
138
+ a) Accompany it with the complete corresponding machine-readable
139
+ source code, which must be distributed under the terms of Sections
140
+ 1 and 2 above on a medium customarily used for software interchange; or,
141
+
142
+ b) Accompany it with a written offer, valid for at least three
143
+ years, to give any third party, for a charge no more than your
144
+ cost of physically performing source distribution, a complete
145
+ machine-readable copy of the corresponding source code, to be
146
+ distributed under the terms of Sections 1 and 2 above on a medium
147
+ customarily used for software interchange; or,
148
+
149
+ c) Accompany it with the information you received as to the offer
150
+ to distribute corresponding source code. (This alternative is
151
+ allowed only for noncommercial distribution and only if you
152
+ received the program in object code or executable form with such
153
+ an offer, in accord with Subsection b above.)
154
+
155
+ The source code for a work means the preferred form of the work for
156
+ making modifications to it. For an executable work, complete source
157
+ code means all the source code for all modules it contains, plus any
158
+ associated interface definition files, plus the scripts used to
159
+ control compilation and installation of the executable. However, as a
160
+ special exception, the source code distributed need not include
161
+ anything that is normally distributed (in either source or binary
162
+ form) with the major components (compiler, kernel, and so on) of the
163
+ operating system on which the executable runs, unless that component
164
+ itself accompanies the executable.
165
+
166
+ If distribution of executable or object code is made by offering
167
+ access to copy from a designated place, then offering equivalent
168
+ access to copy the source code from the same place counts as
169
+ distribution of the source code, even though third parties are not
170
+ compelled to copy the source along with the object code.
171
+
172
+ 4. You may not copy, modify, sublicense, or distribute the Program
173
+ except as expressly provided under this License. Any attempt
174
+ otherwise to copy, modify, sublicense or distribute the Program is
175
+ void, and will automatically terminate your rights under this License.
176
+ However, parties who have received copies, or rights, from you under
177
+ this License will not have their licenses terminated so long as such
178
+ parties remain in full compliance.
179
+
180
+ 5. You are not required to accept this License, since you have not
181
+ signed it. However, nothing else grants you permission to modify or
182
+ distribute the Program or its derivative works. These actions are
183
+ prohibited by law if you do not accept this License. Therefore, by
184
+ modifying or distributing the Program (or any work based on the
185
+ Program), you indicate your acceptance of this License to do so, and
186
+ all its terms and conditions for copying, distributing or modifying
187
+ the Program or works based on it.
188
+
189
+ 6. Each time you redistribute the Program (or any work based on the
190
+ Program), the recipient automatically receives a license from the
191
+ original licensor to copy, distribute or modify the Program subject to
192
+ these terms and conditions. You may not impose any further
193
+ restrictions on the recipients' exercise of the rights granted herein.
194
+ You are not responsible for enforcing compliance by third parties to
195
+ this License.
196
+
197
+ 7. If, as a consequence of a court judgment or allegation of patent
198
+ infringement or for any other reason (not limited to patent issues),
199
+ conditions are imposed on you (whether by court order, agreement or
200
+ otherwise) that contradict the conditions of this License, they do not
201
+ excuse you from the conditions of this License. If you cannot
202
+ distribute so as to satisfy simultaneously your obligations under this
203
+ License and any other pertinent obligations, then as a consequence you
204
+ may not distribute the Program at all. For example, if a patent
205
+ license would not permit royalty-free redistribution of the Program by
206
+ all those who receive copies directly or indirectly through you, then
207
+ the only way you could satisfy both it and this License would be to
208
+ refrain entirely from distribution of the Program.
209
+
210
+ If any portion of this section is held invalid or unenforceable under
211
+ any particular circumstance, the balance of the section is intended to
212
+ apply and the section as a whole is intended to apply in other
213
+ circumstances.
214
+
215
+ It is not the purpose of this section to induce you to infringe any
216
+ patents or other property right claims or to contest validity of any
217
+ such claims; this section has the sole purpose of protecting the
218
+ integrity of the free software distribution system, which is
219
+ implemented by public license practices. Many people have made
220
+ generous contributions to the wide range of software distributed
221
+ through that system in reliance on consistent application of that
222
+ system; it is up to the author/donor to decide if he or she is willing
223
+ to distribute software through any other system and a licensee cannot
224
+ impose that choice.
225
+
226
+ This section is intended to make thoroughly clear what is believed to
227
+ be a consequence of the rest of this License.
228
+
229
+ 8. If the distribution and/or use of the Program is restricted in
230
+ certain countries either by patents or by copyrighted interfaces, the
231
+ original copyright holder who places the Program under this License
232
+ may add an explicit geographical distribution limitation excluding
233
+ those countries, so that distribution is permitted only in or among
234
+ countries not thus excluded. In such case, this License incorporates
235
+ the limitation as if written in the body of this License.
236
+
237
+ 9. The Free Software Foundation may publish revised and/or new versions
238
+ of the General Public License from time to time. Such new versions will
239
+ be similar in spirit to the present version, but may differ in detail to
240
+ address new problems or concerns.
241
+
242
+ Each version is given a distinguishing version number. If the Program
243
+ specifies a version number of this License which applies to it and "any
244
+ later version", you have the option of following the terms and conditions
245
+ either of that version or of any later version published by the Free
246
+ Software Foundation. If the Program does not specify a version number of
247
+ this License, you may choose any version ever published by the Free Software
248
+ Foundation.
249
+
250
+ 10. If you wish to incorporate parts of the Program into other free
251
+ programs whose distribution conditions are different, write to the author
252
+ to ask for permission. For software which is copyrighted by the Free
253
+ Software Foundation, write to the Free Software Foundation; we sometimes
254
+ make exceptions for this. Our decision will be guided by the two goals
255
+ of preserving the free status of all derivatives of our free software and
256
+ of promoting the sharing and reuse of software generally.
257
+
258
+ NO WARRANTY
259
+
260
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261
+ FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
262
+ OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263
+ PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264
+ OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265
+ MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
266
+ TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
267
+ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268
+ REPAIR OR CORRECTION.
269
+
270
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272
+ REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273
+ INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274
+ OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275
+ TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276
+ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277
+ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278
+ POSSIBILITY OF SUCH DAMAGES.
279
+
280
+ END OF TERMS AND CONDITIONS
281
+
282
+ How to Apply These Terms to Your New Programs
283
+
284
+ If you develop a new program, and you want it to be of the greatest
285
+ possible use to the public, the best way to achieve this is to make it
286
+ free software which everyone can redistribute and change under these terms.
287
+
288
+ To do so, attach the following notices to the program. It is safest
289
+ to attach them to the start of each source file to most effectively
290
+ convey the exclusion of warranty; and each file should have at least
291
+ the "copyright" line and a pointer to where the full notice is found.
292
+
293
+ <one line to give the program's name and a brief idea of what it does.>
294
+ Copyright (C) <year> <name of author>
295
+
296
+ This program is free software; you can redistribute it and/or modify
297
+ it under the terms of the GNU General Public License as published by
298
+ the Free Software Foundation; either version 2 of the License, or
299
+ (at your option) any later version.
300
+
301
+ This program is distributed in the hope that it will be useful,
302
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
303
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
304
+ GNU General Public License for more details.
305
+
306
+ You should have received a copy of the GNU General Public License along
307
+ with this program; if not, write to the Free Software Foundation, Inc.,
308
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
309
+
310
+ Also add information on how to contact you by electronic and paper mail.
311
+
312
+ If the program is interactive, make it output a short notice like this
313
+ when it starts in an interactive mode:
314
+
315
+ Gnomovision version 69, Copyright (C) year name of author
316
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
317
+ This is free software, and you are welcome to redistribute it
318
+ under certain conditions; type `show c' for details.
319
+
320
+ The hypothetical commands `show w' and `show c' should show the appropriate
321
+ parts of the General Public License. Of course, the commands you use may
322
+ be called something other than `show w' and `show c'; they could even be
323
+ mouse-clicks or menu items--whatever suits your program.
324
+
325
+ You should also get your employer (if you work as a programmer) or your
326
+ school, if any, to sign a "copyright disclaimer" for the program, if
327
+ necessary. Here is a sample; alter the names:
328
+
329
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
330
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
331
+
332
+ <signature of Ty Coon>, 1 April 1989
333
+ Ty Coon, President of Vice
334
+
335
+ This General Public License does not permit incorporating your program into
336
+ proprietary programs. If your program is a subroutine library, you may
337
+ consider it more useful to permit linking proprietary applications with the
338
+ library. If this is what you want to do, use the GNU Lesser General
339
+ Public License instead of this License.
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: WPMUDEV, marquex, WPMUDEV-Support2, WPMUDEV-Support1, WPMUDEV-Supp
3
  Tags: sidebar, widget, footer, custom, flexible layout, dynamic widgets, manage sidebars, replace widgets, custom widget area
4
  Requires at least: 4.6
5
  Tested up to: 5.1.1
6
- Stable tag: 3.2.3
7
 
8
  Flexible sidebars for custom widget configurations on every page, post and custom post type on your site.
9
 
@@ -44,17 +44,13 @@ Every part of Custom Sidebars integrates seamlessly with the Widgets menu for si
44
 
45
  #### Custom Sidebars Is Fully-Loaded
46
 
47
- If you manage multiple WordPress sites, run an agency, or offer WordPress managment services, Custom Sidebars is developed and supported by the team at WPMU DEV. Get the same quality and support for all your WordPress needs when you become a member:
48
 
49
- * [24/7 support](https://premium.wpmudev.org/get-support/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=custom_sidebars_readme&utm_content=24_7_support) for all things WordPress
50
- * [Hummingbird Pro](https://premium.wpmudev.org/project/wp-hummingbird/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=custom_sidebars_readme&utm_content=hummingbird_pro) site performance optimization for unlimited sites
51
- * [Smush Pro](https://premium.wpmudev.org/project/wp-smush-pro/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=custom_sidebars_readme&utm_content=smush_pro) for all your sites! (Not heard of her yet? She's our award winning image optimization plugin)
52
- * [Defender Pro](https://premium.wpmudev.org/project/wp-defender/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=custom_sidebars_readme&utm_content=defender_pro) security hardening
53
- * [Snapshot](https://premium.wpmudev.org/project/snapshot/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=custom_sidebars_readme&utm_content=snapshot) backups including 10GB cloud backups
54
- * [The Hub](https://premium.wpmudev.org/hub-welcome/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=custom_sidebars_readme&utm_content=the_hub) site manager
55
- * and [3 Hosted WordPress Sites](https://premium.wpmudev.org/hosting/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=custom_sidebars_readme&utm_content=3_hosted_wordpress) with dedicated resources
56
 
57
- Get Custom Sidebars for targeted marketing, better widgets for each level of your membership site, or just to clean up bloated content on each page... then try all our other [services completely free](https://premium.wpmudev.org/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=custom_sidebars_readme&utm_content=services_completely_free#trial).
58
 
59
  == Screenshots ==
60
 
@@ -79,10 +75,16 @@ There are two ways of installing the plugin:
79
 
80
  Once you have the plugin activated you will find all new features inside your "Widgets" screen! There you will be able to create and manage your own sidebars.
81
 
 
 
82
  [youtube https://www.youtube.com/watch?v=q05O9OFEYHM]
83
 
84
  == Frequently Asked Questions ==
85
 
 
 
 
 
86
  = Why can't I see a widget menu? =
87
 
88
  This plugin requires your theme to have widget areas enabled, if you don't have widget areas enabled you probably need to use a different theme that does!
@@ -109,6 +111,9 @@ Custom Sidebars has the same license as WordPress, so you can use it wherever yo
109
 
110
  == Changelog ==
111
 
 
 
 
112
  = 3.2.3 =
113
  * Added "custom_sidebars_allowed_pages_array" filter to allow pages where Custom Sidebars can be loaded.
114
  * Fixed problem with double function declaration when Gutenberg is in use.
@@ -479,7 +484,7 @@ This version adds several options for customize the sidebars by categories and r
479
 
480
  == Contact and Credits ==
481
 
482
- Custom sidebars is maintained and developed by [WPMU DEV](https://premium.wpmudev.org/?utm_source=wordpress.org&utm_medium=readme&utm_campaign=custom_sidebars_readme&utm_content=wpmudev).
483
 
484
  Original development completed by [Javier Marquez](http://marquex.es/).
485
 
3
  Tags: sidebar, widget, footer, custom, flexible layout, dynamic widgets, manage sidebars, replace widgets, custom widget area
4
  Requires at least: 4.6
5
  Tested up to: 5.1.1
6
+ Stable tag: 3.2.4
7
 
8
  Flexible sidebars for custom widget configurations on every page, post and custom post type on your site.
9
 
44
 
45
  #### Custom Sidebars Is Fully-Loaded
46
 
47
+ If you run a design agency, or just want to get rid of the ads, checkout [Custom Sidebars Pro](https://premium.wpmudev.org/project/custom-sidebars-pro):
48
 
49
+ * Ad free
50
+ * [24/7 support](https://premium.wpmudev.org/support/) for all things WordPress
51
+ * [Upfront themes, 100+ premium plugins and WPMU DEV services](http://premium.wpmudev.org/join/) Including speed optimization, managed backups with 10GB cloud storage and security hardening
 
 
 
 
52
 
53
+ Get [Custom Sidebars Pro](https://premium.wpmudev.org/project/custom-sidebars-pro/) for targeted marketing, better widgets for each level of your membership site, or just to clean up bloated content on each page. Download and try it for free!
54
 
55
  == Screenshots ==
56
 
75
 
76
  Once you have the plugin activated you will find all new features inside your "Widgets" screen! There you will be able to create and manage your own sidebars.
77
 
78
+ Find more usage information on the [Custom Sidebars Pro page](https://premium.wpmudev.org/project/custom-sidebars-pro/).
79
+
80
  [youtube https://www.youtube.com/watch?v=q05O9OFEYHM]
81
 
82
  == Frequently Asked Questions ==
83
 
84
+ = How do I begin working with this plugin? =
85
+
86
+ Please refer to [the usage section of Custom Sidebars Pro](https://premium.wpmudev.org/project/custom-sidebars-pro/#usage).
87
+
88
  = Why can't I see a widget menu? =
89
 
90
  This plugin requires your theme to have widget areas enabled, if you don't have widget areas enabled you probably need to use a different theme that does!
111
 
112
  == Changelog ==
113
 
114
+ = 3.2.4 =
115
+ * Added deprecation notice
116
+
117
  = 3.2.3 =
118
  * Added "custom_sidebars_allowed_pages_array" filter to allow pages where Custom Sidebars can be loaded.
119
  * Fixed problem with double function declaration when Gutenberg is in use.
484
 
485
  == Contact and Credits ==
486
 
487
+ Custom sidebars is maintained and developed by [WPMU DEV](http://premium.wpmudev.org).
488
 
489
  Original development completed by [Javier Marquez](http://marquex.es/).
490
 
views/metabox.php CHANGED
@@ -61,7 +61,7 @@ if ( ! function_exists( 'custom_sidebars_replace_not_allowed' ) ) {
61
  );
62
  echo '</ul>';
63
  echo '</p>';
64
- $url = esc_url( CSB_IMG_URL . 'metabox/' . $img . '?version=3.2.3' );
65
  printf(
66
  '<a href="%s" target="_blank"><img src="%s" style="width:100%%" /></a>',
67
  esc_url( $url ),
61
  );
62
  echo '</ul>';
63
  echo '</p>';
64
+ $url = esc_url( CSB_IMG_URL . 'metabox/' . $img . '?version=3.2.4' );
65
  printf(
66
  '<a href="%s" target="_blank"><img src="%s" style="width:100%%" /></a>',
67
  esc_url( $url ),