Version 5.0.0 beta 5
This commit is contained in:
1 parent
2f24f9de48
commit
57d9db6ce2
218 files changed
+5331
-7416
No files matched your search
@@ -1 +1 @@
|
||||
.cCalendar{width:100%;table-layout:fixed;}@media (min-width:767px){.cCalendar{width:calc(100% + 2px);margin:-1px;margin-top:0;}}.cCalendar th{background:var(--i-background_4);border:1px solid var(--i-background_5);padding:.8em;font-weight:500;}.cCalendarIcon{display:inline-block;width:18px;height:18px;border-radius:5px;margin-inline-end:5px;vertical-align:middle;}.cCalendar td{width:14.285%;min-height:100px;border:1px solid var(--i-background_4);vertical-align:top;padding:.5em;}.cCalendar td > div{height:100%;min-height:100px;position:relative;}.cCalendar td.cCalendar_nonDate{background:var(--i-background_2);}.cCalendar td.cCalendar_today{background:var(--i-background_dark);color:var(--i-color_background-dark-contrast);}.cCalendar_dayNumber{color:inherit;font-size:1.1em;font-weight:600;display:inline-block;}.cCalendar_miniAddEvent{padding:.2em .4em;background:var(--i-background_4);color:inherit;display:inline-block;border-radius:5px;opacity:0;transition:0.2s all ease-in-out;margin-inline-start:.5em;}.cCalendar td:hover .cCalendar_miniAddEvent{opacity:.5;}.cCalendar td .cCalendar_miniAddEvent:hover{opacity:1;}.cCalendar_today .cCalendar_miniAddEvent{background:none;}a.cEvents_event, .cEvents_event a, .cEvents_event.cEvents_empty span{display:block;line-height:28px;height:28px;font-size:var(--i-font-size_-1);padding:0 1em;color:#fff;border-radius:20px;white-space:nowrap;overflow:hidden;background:var(--i-background_dark);}a.cEvents_style_blank, .cEvents_style_blank a, .cCalendarIcon.cEvents_style_blank{background-color:transparent;border:1px solid var(--i-background_5);}a.cEvents_event.cEvents_eventSmall, .cEvents_event.cEvents_eventSmall a, .cEvents_event.cEvents_eventSmall.cEvents_empty span{font-size:var(--i-font-size_-2);display:inline-block;}.cEvents_time{font-size:max(10px, .7em);text-transform:uppercase;opacity:0.7;}.cEvents_event.cEvents_empty span{background:transparent;}.cEvents_single .cEvents_event a{border-radius:20px;}.cEvents_ranged .cEvents_event a{border-radius:0;}.cEvents_ranged .cEvents_event:not(.cEvents_first) a{margin-inline-start:-7px;padding-inline-start:8px;}.cEvents_ranged .cEvents_event:not(.cEvents_last) a{margin-inline-end:-8px;}.cEvents_ranged .cEvents_event.cEvents_first a{border-start-start-radius:20px;border-end-start-radius:20px;}.cEvents_ranged .cEvents_event.cEvents_last a{border-start-end-radius:20px;border-end-end-radius:20px;}tr td:not(:first-child):not(.cCalendar_firstDay) .cEvents_ranged .cEvents_event:not(.cEvents_first) a, tr td:not(:first-child):not(.cCalendar_firstDay) .cEvents_ranged .cEvents_event:not(.cEvents_first) a span{font-size:0;}tr td:not(:first-child):not(.cCalendar_firstDay) .cEvents_ranged .cEvents_event:not(.cEvents_first) a img{display:none;}.cEvents__sidebarOnlineLogo{display:flex;align-items:center;justify-content:center;color:var(--i-color_soft);}.cEvents__sidebarOnlineLogo svg{height:.8em;width:auto;margin:0 .4em;}.cCalendarBlock_map{text-align:center;margin:1em auto;}.cCalendar_shortInput{width:auto;}.cCalendarSubmit_field{display:inline-block;position:relative;}.cCalendarSubmit_field input{padding-inline-start:35px !important;}.cCalendarSubmit_field i[class*=" fa-"]{position:absolute;color:var(--i-color_soft);top:50%;inset-inline-start:1em;transform:translateY(-50%);font-size:1em;opacity:.5;pointer-events:none;}#event_remind_me [type="number"]{max-width:60px;}.eventStreamDate .cCalendarEmbed_calendar{background:var(--i-background_2);}.eventStreamDate .ipsCalendarDate{width:80px;}.cEvents__overview-header{display:grid;gap:var(--i-sp_block);}@media (min-width:767px){.cEvents__overview-header:has(.cEvents__overview-featured){grid-template-columns:1fr max(340px, 30%);}}.ipsData--events-featured{--i-data--max:1;--i-data--gap:0px;--i-data--radius:0 0 var(--i-box--bo-ra) var(--i-box--bo-ra);--i-data--desc-truncate:2;--i-data--display-desc:initial;}.ipsData--events-featured .ipsData__content{padding-inline-start:6em;}.ipsData--events-featured .ipsCalendarDate{width:3.3em;position:absolute;top:6em;inset-inline-start:1.5em;}[data-ips-scheme="light"] .ipsData--events-featured .ipsCalendarDate__date{color:hsl(0 0% 30%);}.cEvents__search{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1em;}.cEvents__search > *{flex:1 1 100%;}.cEvents__search__field--date{flex-basis:280px;}.cEvents__search__field--date input{max-width:none;}.cEvents__search__label{color:var(--i-color_hard);font-size:11px;text-transform:uppercase;display:block;font-weight:500;margin-bottom:0.4em;}.cEvents__search__searchWrap :is([type="text"], [type="search"]){flex:1 1 auto;}@media (max-width:767px){.ipsEventSearch__searchLocation span{display:none;}}.ipsEventSearch .ipsField_loading{background-image:url('"../resources/core_cf5a1e7fc191338071d07df134b620d0_tiny_loading@2x.gif"') !important;background-size:14px 14px;background-repeat:no-repeat;background-position:right 5px center;}.cEvents__searchMap{height:350px;background:var(--i-background_3);}.cEvents__searchMap--loading > *{displayLine truncated
|
||||
.cCalendar{width:100%;table-layout:fixed;}@media (min-width:767px){.cCalendar{width:calc(100% + 2px);margin:-1px;margin-top:0;}}.cCalendar th{background:var(--i-background_4);border:1px solid var(--i-background_5);padding:.8em;font-weight:500;}.cCalendarIcon{display:inline-block;width:18px;height:18px;border-radius:5px;margin-inline-end:5px;vertical-align:middle;}.cCalendar td{width:14.285%;min-height:100px;border:1px solid var(--i-background_4);vertical-align:top;padding:.5em;}.cCalendar td > div{height:100%;min-height:100px;position:relative;}.cCalendar td.cCalendar_nonDate{background:var(--i-background_2);}.cCalendar td.cCalendar_today{background:var(--i-background_dark);color:var(--i-color_background-dark-contrast);}.cCalendar_dayNumber{color:inherit;font-size:1.1em;font-weight:600;display:inline-block;}.cCalendar_miniAddEvent{padding:.2em .4em;background:var(--i-background_4);color:inherit;display:inline-block;border-radius:5px;opacity:0;transition:0.2s all ease-in-out;margin-inline-start:.5em;}.cCalendar td:hover .cCalendar_miniAddEvent{opacity:.5;}.cCalendar td .cCalendar_miniAddEvent:hover{opacity:1;}.cCalendar_today .cCalendar_miniAddEvent{background:none;}a.cEvents_event, .cEvents_event a, .cEvents_event.cEvents_empty span{display:block;line-height:28px;height:28px;font-size:var(--i-font-size_-1);padding:0 1em;color:#fff;border-radius:20px;white-space:nowrap;overflow:hidden;background:var(--i-background_dark);}a.cEvents_style_blank, .cEvents_style_blank a, .cCalendarIcon.cEvents_style_blank{background-color:transparent;border:1px solid var(--i-background_5);}a.cEvents_event.cEvents_eventSmall, .cEvents_event.cEvents_eventSmall a, .cEvents_event.cEvents_eventSmall.cEvents_empty span{font-size:var(--i-font-size_-2);display:inline-block;}.cEvents_time{font-size:max(10px, .7em);text-transform:uppercase;opacity:0.7;}.cEvents_event.cEvents_empty span{background:transparent;}.cEvents_single .cEvents_event a{border-radius:20px;}.cEvents_ranged .cEvents_event a{border-radius:0;}.cEvents_ranged .cEvents_event:not(.cEvents_first) a{margin-inline-start:-7px;padding-inline-start:8px;}.cEvents_ranged .cEvents_event:not(.cEvents_last) a{margin-inline-end:-8px;}.cEvents_ranged .cEvents_event.cEvents_first a{border-start-start-radius:20px;border-end-start-radius:20px;}.cEvents_ranged .cEvents_event.cEvents_last a{border-start-end-radius:20px;border-end-end-radius:20px;}tr td:not(:first-child):not(.cCalendar_firstDay) .cEvents_ranged .cEvents_event:not(.cEvents_first) a, tr td:not(:first-child):not(.cCalendar_firstDay) .cEvents_ranged .cEvents_event:not(.cEvents_first) a span{font-size:0;}tr td:not(:first-child):not(.cCalendar_firstDay) .cEvents_ranged .cEvents_event:not(.cEvents_first) a img{display:none;}.cEvents__sidebarOnlineLogo{display:flex;align-items:center;justify-content:center;color:var(--i-color_soft);}.cEvents__sidebarOnlineLogo svg{height:.8em;width:auto;margin:0 .4em;}.cCalendarBlock_map{text-align:center;margin:1em auto;}.cCalendar_shortInput{width:auto;}.cCalendarSubmit_field{display:inline-block;position:relative;}.cCalendarSubmit_field input{padding-inline-start:35px !important;}.cCalendarSubmit_field i[class*=" fa-"]{position:absolute;color:var(--i-color_soft);top:50%;inset-inline-start:1em;transform:translateY(-50%);font-size:1em;opacity:.5;pointer-events:none;}#event_remind_me [type="number"]{max-width:60px;}.eventStreamDate .cCalendarEmbed_calendar{background:var(--i-background_2);}.eventStreamDate .ipsCalendarDate{width:80px;}.cEvents__overview-header{display:grid;gap:var(--i-sp_block);}@media (min-width:767px){.cEvents__overview-header:has(.cEvents__overview-featured){grid-template-columns:1fr max(340px, 30%);}}.ipsData--events-featured{--i-data--max:1;--i-data--gap:0px;--i-data--radius:0 0 var(--i-box--bo-ra) var(--i-box--bo-ra);--i-data--desc-truncate:2;--i-data--display-desc:initial;}.ipsData--events-featured .ipsData__content{padding-inline-start:6em;}.ipsData--events-featured .ipsCalendarDate{width:3.3em;position:absolute;inset-inline-start:1.5em;}[data-ips-scheme="light"] .ipsData--events-featured .ipsCalendarDate__date{color:hsl(0 0% 30%);}.cEvents__search{display:flex;flex-wrap:wrap;gap:1.8em 1em;}.cEvents__search > *{flex:1 1 100%;}.ipsEventSearch__searchLocation{flex:0 0 auto;font-weight:600;font-size:.9em;align-self:start;}.ipsEventSearch__searchLocation:hover{text-decoration:underline;}.cEvents__search__field--date{flex-basis:150px;}.cEvents__search__field--date input{width:100%;}.cEvents__search__label{color:var(--i-color_hard);display:block;font-weight:600;margin-bottom:.5em;}.cEvents__search__searchWrap :is([type="text"], [type="search"]){flex:1 1 auto;}@media (max-width:767px){.ipsEventSearch__searchLocation span{display:none;}}.ipsEventSearch .ipsField_loading{background-image:url('"../resources/core_cf5a1e7fc191338071d07df134b620d0_tiny_loading@2x.gif"') !important;background-size:14px 14px;background-repeat:no-repeat;background-position:right 5px center;}.cEvents__searcLine truncated
|
||||
@@ -1 +1 @@
|
||||
.ipsTemplateEditor{overflow:hidden;}.ipsTemplateEditor__columns{display:grid;grid-template-columns:280px 1fr;height:calc(100vh - 200px);min-height:570px;}.ipsTemplateEditor__listColumn, .ipsTemplateEditor__codeColumn{display:flex;flex-direction:column;}:where(:is(.ipsTemplateEditor__listColumn, .ipsTemplateEditor__codeColumn) > *){flex:0 0 auto;}.ipsTemplateEditor__listColumn{border-inline-end:1px solid var(--i-background_4);}.cTemplateControls{padding:.5em;background:var(--i-background_2);min-height:60px;align-content:center;}.cTemplateControls__input{display:flex;background:var(--i-background_1);border:1px solid var(--i-background_5);border-radius:8px;}.cTemplateControls__input:has([type="text"]:focus){border-color:currentColor;}.cTemplateControls__input [type="text"]{flex:1 1 100%;outline-width:0;padding:.8em 1em;}.cTemplateControls__filter{flex:0 0 auto;display:flex;align-items:center;gap:.4em;padding:0 .7em;color:var(--i-color_soft);}.cTemplateControls__filter:hover{color:var(--i-color_hard);}.cTemplateControls__filter .fa-caret-down{font-size:10px;opacity:.5;}#elTemplateEditor_info{display:flex;justify-content:space-evenly;font-size:.8em;background:var(--i-background_1);padding:1em 0;border-top:1px solid var(--i-background_3);}#elTemplateEditor_newButton{background:var(--i-background_2);padding:.8em;}.ipsTemplateEditor__editorToolbar{display:flex;justify-content:end;gap:10px;}#elTemplateEditor .ipsTabs{background:var(--i-background_2);display:block;}#elTemplateEditor_tabbar.ipsTabs [role="tablist"]{flex-wrap:wrap;}#elTemplateEditor .ipsTabs:not(:has(li)){display:none;}#elTemplateEditor [data-action="closeTab"]{font-size:12px;color:var(--i-color_soft);display:inline-grid;width:1.6em;height:1.6em;line-height:1;place-content:center;border-radius:3px;margin:-1em -.7em;margin-inline-start:.5em;}#elTemplateEditor [data-action="closeTab"]:hover{color:var(--i-color_hard);background:color-mix(in srgb, var(--i-color_hard) 30%, transparent);}#elTemplateEditor_panels{flex:1 1 100%;display:flex;flex-direction:column;}#elTemplateEditor .CodeMirror{height:100%;}#elTemplateEditor [data-role="editor"], #elTemplateEditor .CodeMirror{border-width:0;border-radius:0;padding-bottom:1em;}#elTemplateEditor [data-role="editor"]{font-family:monospace;}#elTemplateEditor [data-role="templatePanelWrap"] textarea{height:550px;}.ipsTabs__panel:has(.cTemplateMergeHeaders){display:flex;flex-direction:column;}.cTemplateMergeHeaders{border:1px solid var(--i-background_4);border-bottom:0;flex:0 0 auto;display:flex;justify-content:space-between;}.cTemplateMergeHeader, .CodeMirror-merge-2pane .CodeMirror-merge-pane{width:calc(50% - 40px);}.CodeMirror-merge-2pane .CodeMirror-merge-gap{width:80px;}.CodeMirror-merge{height:100%;border-width:0;display:flex;}.CodeMirror-merge-pane{height:100%;}#elTemplateEditor_fileList{flex:1 1 auto;overflow:auto;}.cTemplateList{padding:8px;}.cTemplateList a:not(.ipsCms_templateOptions){padding:5px 0;display:block;position:relative;color:var(--i-color_soft);border-radius:6px;}.cTemplateList a[href*="location=database"]:not(.ipsCms_templateOptions){}.cTemplateList li{position:relative;}.cTemplateList > li > details > summary{font-weight:600;}.cTemplateList summary{padding:.7em 1em;border-radius:6px;display:flex;}.cTemplateList summary:hover{background:var(--i-background_3);}.cTemplateList summary::before{flex:0 0 auto;content:"+";display:inline-block;width:1.5em;opacity:.3;}.cTemplateList [open] > summary::before{content:"-";}.cTemplateList i-details-content{padding-inline-start:1em;}a.ipsCms_templateOptions{float:inline-end;position:relative;padding:.7em 8px;color:var(--i-color_hard);opacity:.1;border-radius:6px;}li:hover > a.ipsCms_templateOptions{opacity:.8;}.cTemplateList li.cTemplateList_inactiveBranch > a:not(.ipsCms_templateOptions)::before, .cTemplateList li.cTemplateList_activeBranch > a:not(.ipsCms_templateOptions)::before{font-family:var(--i-font-awesome);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;font-weight:900;display:inline-block;line-height:7px;font-size:14px;}.cTemplateList li.cTemplateList_inactiveBranch > a:not(.ipsCms_templateOptions)::before, .cTemplateList li.cTemplateList_activeBranch > a:not(.ipsCms_templateOptions)::before{content:'\f0da';margin-inline-end:7px;}[dir="rtl"] .cTemplateList li.cTemplateList_inactiveBranch > a:not(.ipsCms_templateOptions)::before, [dir="rtl"] .cTemplateList li.cTemplateList_activeBranch > a:not(.ipsCms_templateOptions)::before{content:'\f0d9';}[dir="ltr"] .cTemplateList li.cTemplateList_activeBranch > a:not(.ipsCms_templateOptions)::before, [dir="rtl"] .cTemplateList li.cTemplateList_activeBranch > a:not(.ipsCms_templateOptions)::before{content:'\f0d7';}.cTemplateList li.cTemplateList_inactiveBranch > ul{display:none;}.cTemplateList li a:not(.ipsCms_templateOptions){padding-inline-start:15px;}.cTemplateList li li a:not(.ipsCms_templateOptions){padding-inline-start:30px;}.cTemplateList li li li a{padding-inlinLine truncated
|
||||
.ipsTemplateEditor{overflow:hidden;}.ipsTemplateEditor__columns{display:grid;grid-template-columns:280px 1fr;height:calc(100vh - 200px);min-height:570px;}.ipsTemplateEditor__listColumn, .ipsTemplateEditor__codeColumn{display:flex;flex-direction:column;}:where(:is(.ipsTemplateEditor__listColumn, .ipsTemplateEditor__codeColumn) > *){flex:0 0 auto;}.ipsTemplateEditor__listColumn{border-inline-end:1px solid var(--i-background_4);}.cTemplateControls{padding:.5em;background:var(--i-background_2);min-height:60px;align-content:center;}.cTemplateControls__input{display:flex;background:var(--i-background_1);border:1px solid var(--i-background_5);border-radius:8px;}.cTemplateControls__input:has([type="text"]:focus){border-color:currentColor;}.cTemplateControls__input [type="text"]{flex:1 1 100%;outline-width:0;padding:.8em 1em;}.cTemplateControls__filter{flex:0 0 auto;display:flex;align-items:center;gap:.4em;padding:0 .7em;color:var(--i-color_soft);}.cTemplateControls__filter:hover{color:var(--i-color_hard);}.cTemplateControls__filter .fa-caret-down{font-size:10px;opacity:.5;}#elTemplateEditor_info{display:flex;justify-content:space-evenly;font-size:.8em;background:var(--i-background_1);padding:1em 0;border-top:1px solid var(--i-background_3);}#elTemplateEditor_newButton{background:var(--i-background_2);padding:.8em;}.ipsTemplateEditor__editorToolbar{display:flex;justify-content:end;gap:10px;}#elTemplateEditor .ipsTabs{background:var(--i-background_2);display:block;}#elTemplateEditor_tabbar.ipsTabs [role="tablist"]{flex-wrap:wrap;}#elTemplateEditor .ipsTabs:not(:has([role="tab"])){display:none;}#elTemplateEditor [data-action="closeTab"]{font-size:12px;opacity:.5;display:inline-grid;width:1.6em;height:1.6em;line-height:1;place-content:center;border-radius:3px;margin:-1em -.7em;margin-inline-start:.5em;}#elTemplateEditor [data-action="closeTab"]:hover{opacity:1;background:color-mix(in srgb, currentColor 10%, transparent);}#elTemplateEditor_panels{flex:1 1 100%;display:flex;flex-direction:column;}#elTemplateEditor .CodeMirror{height:100%;}#elTemplateEditor [data-role="editor"], #elTemplateEditor .CodeMirror{border-width:0;border-radius:0;padding-bottom:1em;}#elTemplateEditor [data-role="editor"]{font-family:monospace;}#elTemplateEditor [data-role="templatePanelWrap"] textarea{height:550px;}.ipsTabs__panel:has(.cTemplateMergeHeaders){display:flex;flex-direction:column;}.cTemplateMergeHeaders{border:1px solid var(--i-background_4);border-bottom:0;flex:0 0 auto;display:flex;justify-content:space-between;}.cTemplateMergeHeader, .CodeMirror-merge-2pane .CodeMirror-merge-pane{width:calc(50% - 40px);}.CodeMirror-merge-2pane .CodeMirror-merge-gap{width:80px;}.CodeMirror-merge{height:100%;border-width:0;display:flex;}.CodeMirror-merge-pane{height:100%;}#elTemplateEditor_fileList{flex:1 1 auto;overflow:auto;}.cTemplateList{padding:8px;}.cTemplateList a:not(.ipsCms_templateOptions){padding:5px 0;display:block;position:relative;color:var(--i-color_soft);border-radius:6px;}.cTemplateList a[href*="location=database"]:not(.ipsCms_templateOptions){}.cTemplateList li{position:relative;}.cTemplateList > li > details > summary{font-weight:600;}.cTemplateList summary{padding:.7em 1em;border-radius:6px;display:flex;}.cTemplateList summary:hover{background:var(--i-background_3);}.cTemplateList summary::before{flex:0 0 auto;content:"+";display:inline-block;width:1.5em;opacity:.3;}.cTemplateList [open] > summary::before{content:"-";}.cTemplateList i-details-content{padding-inline-start:1em;}a.ipsCms_templateOptions{float:inline-end;position:relative;padding:.7em 8px;color:var(--i-color_hard);opacity:.1;border-radius:6px;}li:hover > a.ipsCms_templateOptions{opacity:.8;}.cTemplateList li.cTemplateList_inactiveBranch > a:not(.ipsCms_templateOptions)::before, .cTemplateList li.cTemplateList_activeBranch > a:not(.ipsCms_templateOptions)::before{font-family:var(--i-font-awesome);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;font-weight:900;display:inline-block;line-height:7px;font-size:14px;}.cTemplateList li.cTemplateList_inactiveBranch > a:not(.ipsCms_templateOptions)::before, .cTemplateList li.cTemplateList_activeBranch > a:not(.ipsCms_templateOptions)::before{content:'\f0da';margin-inline-end:7px;}[dir="rtl"] .cTemplateList li.cTemplateList_inactiveBranch > a:not(.ipsCms_templateOptions)::before, [dir="rtl"] .cTemplateList li.cTemplateList_activeBranch > a:not(.ipsCms_templateOptions)::before{content:'\f0d9';}[dir="ltr"] .cTemplateList li.cTemplateList_activeBranch > a:not(.ipsCms_templateOptions)::before, [dir="rtl"] .cTemplateList li.cTemplateList_activeBranch > a:not(.ipsCms_templateOptions)::before{content:'\f0d7';}.cTemplateList li.cTemplateList_inactiveBranch > ul{display:none;}.cTemplateList li a:not(.ipsCms_templateOptions){padding-inline-start:15px;}.cTemplateList li li a:not(.ipsCms_templateOptions){padding-inline-start:30px;}.cTemplateList li li li a{padding-inline-start:45px;}.cTemplateListLine truncated
|
||||
@@ -1 +1 @@
|
||||
#elTemplateEditor{margin:0 -15px -5px -15px;border-top:1px solid rgba(0,0,0,0.1);}.cTemplateControls, #elTemplateEditor .ipsTabs{background:var(--i-background_2);}#elTemplateEditor > .ipsColumns > .ipsColumn_wide{border-inline-end:4px solid var(--i-background_2);}.cTemplateControls{height:66px;padding-top:15px;}.cTemplateControls .ipsButton.ipsButton--disabled{opacity:0.2;}#elTemplateEditor_fileListControls{padding-left:15px;padding-right:15px;}#elTemplateEditor_fileListControls > div:first-child{display:flex;}#elTemplateEditor_fileListControls > div:first-child input[type="text"]{flex-grow:1;padding:0 7px;border-right-width:0px;line-height:34px;border-start-start-radius:3px;border-end-start-radius:3px;box-shadow:none;}#elTemplateEditor_panelToolbar{padding-inline-end:15px;}#elTemplateEditor > .ipsColumns > .ipsColumn{padding:0;}#elTemplateEditor_info{position:fixed;bottom:0;inset-inline-start:270px;inset-inline-end:0;background:var(--i-background_1);text-align:center;padding:7px;border-top:1px solid rgba(0,0,0,0.2);border-color:var(--i-background_3);}#elTemplateEditor .ipsTabs{padding:0;}#elTemplateEditor .ipsTabs__tab{text-overflow:clip !important;margin-inline-end:0;color:inherit;border-radius:0;}#elTemplateEditor .ipsTabs__tab.ipsTabs__tab--active{background:var(--i-background_1);font-weight:bold;}#elTemplateEditor [data-role="editor"], #elTemplateEditor .CodeMirror{border-width:0px !important;border-radius:0px !important;padding-bottom:10px;}#elTemplateEditor [data-role="editor"]{font-family:monospace;font-size:13px;}#elTemplateEditor [data-role="templateToolbar"]{margin-bottom:15px;}#elTemplateEditor_panelWrap{position:absolute;inset:0;}#elTemplateEditor_outerPanelWrap{position:relative;}#elTemplateEditor [data-role="templatePanelWrap"]{width:100%;background-color:var(--i-background_1);position:absolute;top:49px;left:0;right:0;bottom:0;}#elTemplateEditor [data-role="templatePanelWrap"] textarea{height:550px;}#elTemplateEditor [data-action="closeTab"]{font-size:12px;color:var(--i-color_soft);margin-inline-start:3px;}#elTemplateEditor [data-action="closeTab"]:hover, #elTemplateEditor [data-state="unsaved"] [data-action="closeTab"]{color:var(--i-color_hard);}#elTemplateEditor input[data-role="templateSearch"]{background-clip:padding-box;width:75%;max-width:350px;padding:7px;}#elTemplateFilterMenu{line-height:34px;border-start-end-radius:3px;border-end-end-radius:3px;}#elTemplateEditor_fileList{height:550px;overflow:auto;}.cTemplateList a{padding:5px 0;display:block;position:relative;color:var(--i-color_root);}.cTemplateList li.cTemplateList_inactiveBranch > a::before, .cTemplateList li.cTemplateList_activeBranch > a::before{font-family:var(--i-font-awesome);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;font-weight:900;display:inline-block;line-height:6px;font-size:14px;}.cTemplateList li.cTemplateList_inactiveBranch > a::before, .cTemplateList li.cTemplateList_activeBranch > a::before{content:'\f0da';margin-inline-end:7px;}[dir="rtl"] .cTemplateList li.cTemplateList_inactiveBranch > a::before, [dir="rtl"] .cTemplateList li.cTemplateList_activeBranch > a::before{content:'\f0d9';}[dir="ltr"] .cTemplateList li.cTemplateList_activeBranch > a::before, [dir="rtl"] .cTemplateList li.cTemplateList_activeBranch > a::before{content:'\f0d7';}.cTemplateList li.cTemplateList_inactiveBranch > ul{display:none;}.cTemplateList_highlight{background:var(--i-background_2);}.cTemplateList li a{padding-inline-start:15px;}.cTemplateList li li a{padding-inline-start:30px;}.cTemplateList li li li a{padding-inline-start:45px;}.cTemplateList li li li li a{padding-inline-start:70px;}.cTemplateList li.cTemplateList_activeNode > a{background:var(--i-primary);color:#fff;}.cTemplateList li:not( .cTemplateList_activeNode ) > a:hover{background:var(--i-background_3);}a[data-inherited-value]:after{position:absolute;margin-top:2px;inset-inline-end:5px;}li[class^="cTemplateState_"]:before{display:inline-block;color:#fff !important;}a[data-inherited-value]:after, li[class^="cTemplateState_"]:before{font-size:9px;font-weight:bold;text-transform:uppercase;font-family:monospace;padding:0 5px;color:#b3b3b3;line-height:14px;border-radius:10px;opacity:0.1;transition:0.4s all linear;}a[data-inherited-value="original"]:after{display:none;}.cTemplateList:hover a[data-inherited-value]:after, li[class^="cTemplateState_"]:before{opacity:1;}.cTemplateList a[data-inherited-value="custom"]:after, .cTemplateState_custom:before{content:'C';background:#c9c030;color:#fff;}.cTemplateList a[data-inherited-value="inherit"]:after, .cTemplateState_inherit:before{content:'I';background:#83b256;color:#fff;}.cTemplateList a[data-inherited-value="changed"]:after, .cTemplateState_changed:before{content:'M';background:#eb841d;color:#fff;}.cTemplateList a[data-inherited-value="outofdate"]:after, .cTemplateState_outofdate:before{content:'M';background:#c93054;color:#fff;}.cTemplateMergeHeaders{border:1px solid var(--i-backgroundLine truncated
|
||||
#elTemplateEditor{margin:0 -15px -5px -15px;border-top:1px solid rgba(0,0,0,0.1);}.cTemplateControls, #elTemplateEditor .ipsTabs{background:var(--i-background_2);}#elTemplateEditor > .ipsColumns > .ipsColumn_wide{border-inline-end:4px solid var(--i-background_2);}.cTemplateControls{height:66px;padding-top:15px;}.cTemplateControls .ipsButton.ipsButton--disabled{opacity:0.2;}#elTemplateEditor_fileListControls{padding-left:15px;padding-right:15px;}#elTemplateEditor_fileListControls > div:first-child{display:flex;}#elTemplateEditor_fileListControls > div:first-child input[type="text"]{flex-grow:1;padding:0 7px;border-right-width:0px;line-height:34px;border-start-start-radius:3px;border-end-start-radius:3px;box-shadow:none;}#elTemplateEditor_panelToolbar{padding-inline-end:15px;}#elTemplateEditor > .ipsColumns > .ipsColumn{padding:0;}#elTemplateEditor_info{position:fixed;bottom:0;inset-inline-start:270px;inset-inline-end:0;background:var(--i-background_1);text-align:center;padding:7px;border-top:1px solid rgba(0,0,0,0.2);border-color:var(--i-background_3);}#elTemplateEditor .ipsTabs{padding:0;}#elTemplateEditor .ipsTabs__tab{text-overflow:clip !important;margin-inline-end:0;color:inherit;border-radius:0;}#elTemplateEditor .ipsTabs__tab[aria-selected="true"]{background:var(--i-background_1);font-weight:bold;}#elTemplateEditor [data-role="editor"], #elTemplateEditor .CodeMirror{border-width:0px !important;border-radius:0px !important;padding-bottom:10px;}#elTemplateEditor [data-role="editor"]{font-family:monospace;font-size:13px;}#elTemplateEditor [data-role="templateToolbar"]{margin-bottom:15px;}#elTemplateEditor_panelWrap{position:absolute;inset:0;}#elTemplateEditor_outerPanelWrap{position:relative;}#elTemplateEditor [data-role="templatePanelWrap"]{width:100%;background-color:var(--i-background_1);position:absolute;top:49px;left:0;right:0;bottom:0;}#elTemplateEditor [data-role="templatePanelWrap"] textarea{height:550px;}#elTemplateEditor [data-action="closeTab"]{font-size:12px;color:var(--i-color_soft);margin-inline-start:3px;}#elTemplateEditor [data-action="closeTab"]:hover, #elTemplateEditor [data-state="unsaved"] [data-action="closeTab"]{color:var(--i-color_hard);}#elTemplateEditor input[data-role="templateSearch"]{background-clip:padding-box;width:75%;max-width:350px;padding:7px;}#elTemplateFilterMenu{line-height:34px;border-start-end-radius:3px;border-end-end-radius:3px;}#elTemplateEditor_fileList{height:550px;overflow:auto;}.cTemplateList a{padding:5px 0;display:block;position:relative;color:var(--i-color_root);}.cTemplateList li.cTemplateList_inactiveBranch > a::before, .cTemplateList li.cTemplateList_activeBranch > a::before{font-family:var(--i-font-awesome);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;font-weight:900;display:inline-block;line-height:6px;font-size:14px;}.cTemplateList li.cTemplateList_inactiveBranch > a::before, .cTemplateList li.cTemplateList_activeBranch > a::before{content:'\f0da';margin-inline-end:7px;}[dir="rtl"] .cTemplateList li.cTemplateList_inactiveBranch > a::before, [dir="rtl"] .cTemplateList li.cTemplateList_activeBranch > a::before{content:'\f0d9';}[dir="ltr"] .cTemplateList li.cTemplateList_activeBranch > a::before, [dir="rtl"] .cTemplateList li.cTemplateList_activeBranch > a::before{content:'\f0d7';}.cTemplateList li.cTemplateList_inactiveBranch > ul{display:none;}.cTemplateList_highlight{background:var(--i-background_2);}.cTemplateList li a{padding-inline-start:15px;}.cTemplateList li li a{padding-inline-start:30px;}.cTemplateList li li li a{padding-inline-start:45px;}.cTemplateList li li li li a{padding-inline-start:70px;}.cTemplateList li.cTemplateList_activeNode > a{background:var(--i-primary);color:#fff;}.cTemplateList li:not( .cTemplateList_activeNode ) > a:hover{background:var(--i-background_3);}a[data-inherited-value]:after{position:absolute;margin-top:2px;inset-inline-end:5px;}li[class^="cTemplateState_"]:before{display:inline-block;color:#fff !important;}a[data-inherited-value]:after, li[class^="cTemplateState_"]:before{font-size:9px;font-weight:bold;text-transform:uppercase;font-family:monospace;padding:0 5px;color:#b3b3b3;line-height:14px;border-radius:10px;opacity:0.1;transition:0.4s all linear;}a[data-inherited-value="original"]:after{display:none;}.cTemplateList:hover a[data-inherited-value]:after, li[class^="cTemplateState_"]:before{opacity:1;}.cTemplateList a[data-inherited-value="custom"]:after, .cTemplateState_custom:before{content:'C';background:#c9c030;color:#fff;}.cTemplateList a[data-inherited-value="inherit"]:after, .cTemplateState_inherit:before{content:'I';background:#83b256;color:#fff;}.cTemplateList a[data-inherited-value="changed"]:after, .cTemplateState_changed:before{content:'M';background:#eb841d;color:#fff;}.cTemplateList a[data-inherited-value="outofdate"]:after, .cTemplateState_outofdate:before{content:'M';background:#c93054;color:#fff;}.cTemplateMergeHeaders{border:1px solid var(--i-backgrounLine truncated
|
||||
@@ -1 +1 @@
|
||||
.ipsAcpProfile{display:flex;flex-wrap:wrap;padding:2em;gap:1em;align-items:start;}.ipsAcpProfile__aside{flex:1 1 360px;display:grid;gap:inherit;}.ipsAcpProfile__main{flex:999 1 50%;display:flex;flex-wrap:wrap;gap:inherit;}.ipsAcpProfile__main > *{flex:1 1 100%;}.ipsAcpProfile__half{flex-basis:max(300px, 26%);}.acpMemberView_tabBar{background:var(--i-background_1);}.acpMemberView_tabBarPanel{background:transparent;}.acpMemberView_layoutMain .ipsTabs.ipsTabs_small .ipsTabs__tab{border-top:0;}.acpMemberView_layoutWrap{display:grid;grid-template-columns:[main] auto [history] 350px [end];}.acpMemberView_layoutMain{grid-column-start:main;grid-column-end:history;}.acpMemberView_layoutHistory{grid-column-start:history;grid-column-end:end;}.acpMemberView_coverPhoto{position:relative;min-height:90px;}.acpMemberView_coverPhoto .ipsCoverPhoto__container{min-height:90px;}.acpMemberView_coverPhoto .acpMemberView_editButton{position:absolute;top:10px;inset-inline-end:10px;}.acpMemberView_groups img{max-width:100%;}.acpMemberView_photo{position:relative;text-align:center;margin:-45px auto 0;max-width:120px;}.acpMemberView_photo .acpMemberView_editButton{position:absolute;bottom:0;inset-inline-end:0;white-space:nowrap;}.acpMemberView_username{font-size:30px;}.acpMemberView_username, .acpMemberView_email{display:flex;align-items:stretch;flex-direction:row;}.acpMemberView_username > span:last-child, .acpMemberView_email > span:last-child{margin-inline-start:5px;display:flex;flex-direction:column;justify-content:center;}.acpMemberView_username > span:first-child, .acpMemberView_email > span:first-child{flex-grow:1;}.acpMemberView_map{background:#EEE5C9;opacity:0.3;height:100px;}.acpMemberView_integrations_icon{font-size:28px;line-height:34px;}.acpMemberView_countStat{padding:10px 45px 10px 10px;border-radius:4px;display:block;position:relative;background:var(--i-background_5);color:var(--i-color_hard) !important;}.acpMemberView_countStat .ipsMinorTitle{color:inherit;opacity:0.8;}a.acpMemberView_countStat:before{content:'';position:absolute;inset-inline-end:40px;top:10px;bottom:10px;border-inline-start:1px solid currentColor;opacity:.2;}a.acpMemberView_countStat:after{content:'\f0d7';font-family:var(--i-font-awesome);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;font-weight:900;position:absolute;inset-inline-end:18px;top:22px;}.acpMemberView_progress{width:100%;height:14px;}.acpMemberView_quotaNumber{font-size:18px;font-weight:600;}.acpMemberView_percentage{font-size:22px;margin-top:14px;}.acpMemberView_editButton{background:#edf0f5;color:#1e3343 !important;border-radius:3px;padding:1px 5px 2px;font-size:14px;height:21px;line-height:17px;text-align:center;}.acpMemberView_requestUnblockButton{background:var(--i-background_negative-soft);color:var(--i-color_negative) !important;height:100%;display:inline-block;}.acpMemberView_editButton:active, .acpMemberView_editButton_active{background:#1e3343;color:#fff !important;}.acpMemberView_editButton .fa{font-size:11px;margin-top:-1px;position:relative;}.acpMemberView_editButton .fa-caret-down{margin-inline-start:4px;}.acpMemberView_message{border-radius:5px;}.acpMemberView_message a.ipsButton{margin-top:0;}.acpMemberView_message{padding:20px;padding-inline-start:85px;}.acpMemberView_message:before{font-size:47px;inset-inline-start:25px;}#elMemberHistory{height:100%;}.cMemberHistory{border-inline-start:3px solid #2E3D49;margin-inline-start:10px;}#elMemberHistory .cMemberHistory{border-inline-start-color:var(--i-background_5);}.cMemberHistory li{margin-bottom:20px;margin-inline-start:-24px;}.cMemberHistory_date{background:#2E3D49;color:#fff;display:inline-block;font-size:inherit;width:100%;font-weight:bold;margin-bottom:10px !important;margin-inline-start:0 !important;padding:10px 15px;padding-inline-start:7px;border-start-end-radius:20px;border-end-end-radius:20px;}#elMemberHistory .cMemberHistory_date{background:var(--i-background_5);color:inherit;padding:6px 15px;padding-inline-start:7px;}.cMemberHistory_info{position:relative;margin-inline-start:45px;padding-top:3px;}.cMemberHistory_info:before{width:11px;height:11px;border-radius:15px;content:'';display:block;background:#2E3D49;position:absolute;top:7px;inset-inline-start:-28px;}#elMemberHistory .cMemberHistory_info:before{background:var(--i-background_5);}[data-role="historyDisplay"]{min-height:400px;}.ipsApp .cMemberNotifications .ipsDataItem_main{display:flex !important;justify-content:space-between;flex-wrap:wrap;align-items:center;}@media screen and (min-width:768px){.acpMemberView_layoutMain .ipsColumn_veryWide > .ipsPad{padding-inline-end:0;}.acpMemberView_layoutMain .ipsColumn_fluid > .ipsPad{padding-inline-start:0;}}@media screen and (min-width:768px) and (max-width:1550px){.acpMemberView_layoutWrap{grid-template-columns:[main] auto [history] 300px [end];}.acpMemberView_layoutMain .ipsColumn_veryWide{width:300px;}}@media screen and (max-width:1250px){.acpMemberView_layoutWrap{disLine truncated
|
||||
.ipsAcpProfile{display:flex;flex-wrap:wrap;gap:1em;align-items:start;}.ipsAcpProfile__aside{flex:1 1 360px;display:grid;gap:inherit;}.ipsAcpProfile__main{flex:999 1 50%;display:flex;flex-wrap:wrap;gap:inherit;}.ipsAcpProfile__main > *{flex:1 1 100%;}.ipsAcpProfile__half{flex-basis:max(300px, 26%);}.acpMemberView_info{padding:5px;}.acpMemberView_stats .ipsTable{display:none;}.acpMemberView_tabBar{background:var(--i-background_1);}.acpMemberView_tabBarPanel{background:transparent;}.acpMemberView_layoutWrap{display:grid;gap:1em;padding:1em;}@media screen and (min-width:768px){.acpMemberView_layoutWrap{grid-template-columns:[main] auto [history] 350px [end];padding:2em;}.acpMemberView_layoutMain{grid-column-start:main;grid-column-end:history;}.acpMemberView_layoutHistory{grid-column-start:history;grid-column-end:end;}}.acpMemberView_coverPhoto{position:relative;min-height:90px;}.acpMemberView_coverPhoto .ipsCoverPhoto__container{min-height:90px;}.acpMemberView_coverPhoto .acpMemberView_editButton{position:absolute;top:10px;inset-inline-end:10px;}.acpMemberView_photo{position:relative;text-align:center;margin:-45px auto 0;max-width:120px;}.acpMemberView_photo .acpMemberView_editButton{position:absolute;bottom:0;inset-inline-end:0;white-space:nowrap;}.acpMemberView_map{background:#EEE5C9;opacity:.3;height:200px;}.acpMemberView_countStat{padding:10px 45px 10px 10px;border-radius:4px;display:block;position:relative;background:var(--i-background_5);color:var(--i-color_hard) !important;}.acpMemberView_countStat .ipsMinorTitle{color:inherit;opacity:0.8;}a.acpMemberView_countStat:before{content:'';position:absolute;inset-inline-end:40px;top:10px;bottom:10px;border-inline-start:1px solid currentColor;opacity:.2;}a.acpMemberView_countStat:after{content:'\f0d7';font-family:var(--i-font-awesome);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:auto;font-weight:900;position:absolute;inset-inline-end:18px;top:22px;}.acpMemberView_quotaNumber{font-size:18px;font-weight:600;}.acpMemberView_percentage{font-size:22px;margin-top:14px;}.acpMemberView_editButton{background:var(--i-background_4);color:var(--i-color_hard);border-radius:5px;padding:2px 5px;font-size:14px;}.acpMemberView_requestUnblockButton{background:var(--i-background_negative-soft);color:var(--i-color_negative);}.acpMemberView_editButton .fa-caret-down{margin-inline-start:4px;}.acpMemberView_message{border-radius:5px;}.acpMemberView_message a.ipsButton{margin-top:0;}.acpMemberView_message{padding:20px;padding-inline-start:85px;}.acpMemberView_message:before{font-size:47px;inset-inline-start:25px;}#elMemberHistory{height:100%;}.cMemberHistory > li{padding:1.2em;border-top:1px solid var(--i-background_4);}.cMemberHistory_date{color:var(--i-color_hard);font-size:1.2em;font-weight:600;background-color:var(--i-background_2);}[data-role="historyDisplay"]{min-height:400px;}
|
||||
@@ -1 +1 @@
|
||||
#elErrorMessage{max-width:800px;margin-left:auto;margin-right:auto;}.ipsHovercard[data-role="advicePopup"]{width:300px;}.ipsHovercard[data-role="advicePopup"] > div{min-height:60px;}.ipsHovercard[data-role="advicePopup"].cStem_ltr .ipsHovercard_stem{right:100%;top:15px;}.ipsHovercard[data-role="advicePopup"].cStem_ltr .ipsHovercard_stem:before{right:1px;border-right-color:inherit;}.ipsHovercard[data-role="advicePopup"].cStem_ltr .ipsHovercard_stem:after{border-right-color:currentColor;}.ipsHovercard[data-role="advicePopup"].cStem_rtl .ipsHovercard_stem{left:100%;top:15px;}.ipsHovercard[data-role="advicePopup"].cStem_rtl .ipsHovercard_stem:before{left:1px;border-left-color:inherit;}.ipsHovercard[data-role="advicePopup"].cStem_rtl .ipsHovercard_stem:after{border-left-color:currentColor;}.ipsHovercard[data-role="advicePopup"].cStem_above .ipsHovercard_stem{left:50%;margin-left:-1em;top:100%;}.ipsHovercard[data-role="advicePopup"].cStem_above .ipsHovercard_stem:before{border-top-color:inherit;top:1px;}.ipsHovercard[data-role="advicePopup"].cStem_above .ipsHovercard_stem:after{border-top-color:currentColor;}.ipsShareLinks{display:flex;flex-wrap:wrap;gap:.4em;}.ipsShareLink{width:2.4em;height:2.4em;border-radius:min(var(--i-design-radius), 6px);display:inline-grid;place-content:center;color:#fff !important;font-size:max(15px, 1em);}.ipsShareLink--internal{background:#008b00;}.ipsShareLink--deviantart{background:#00e59b;}.ipsShareLink--email{background:#444;}.ipsShareLink--facebook{background:#1778F2;}.ipsShareLink--linkedin{background:#0a66c2;}.ipsShareLink--reddit{background:#FF4500;}.ipsShareLink--vk{background:#507299;}.ipsShareLink--weibo{background:#D32F2F;}.ipsShareLink--youtube{background:#ff0000;}.ipsShareLink--foursquare{background:#2D5BE3;}.ipsShareLink--etsy{background:#F56400;}.ipsShareLink--flickr{background:#ff0084;}.ipsShareLink--github{background:#24292f;}.ipsShareLink--instagram{background:#E13D62;}.ipsShareLink--pinterest{background:#BD081C;}.ipsShareLink--slack{background:#42C299;}.ipsShareLink--xing{background:#B0D400;}.ipsShareLink--tumblr{background:#36465D;}.ipsShareLink--twitch{background:#772ce8;}.ipsShareLink--discord{background:#5865f2;}.ipsShareLink--x{background:#000000;}.ipsWidget .cStatusUpdateWidget .ipsComposeArea_dummy{padding:7px 10px;font-size:var(--i-font-size_-1);}.ipsWidget .cStatusUpdateWidget .ipsComposeArea_dummy i[class*=" fa-"]{margin-inline-end:5px;}.ipsWidget .cStatusUpdateWidget [data-role="attachmentArea"]{display:none !important;}.cTagPopup .ipsTags{margin-top:10px;}#elGuestTerms{background:var(--i-background_1);border-top:1px solid color-mix(in srgb, var(--i-color_root) 10%, transparent);background-clip:var(--if-light,padding-box) var(--if-dark,border-box);position:sticky;bottom:0;padding:1.3em 0;z-index:4000;}:where([data-ips-scheme="dark"]) #elGuestTerms{background:var(--i-background_3);}@media (max-width:979px){#elGuestTerms{bottom:var(--i-mobileFooter--he);}}.cGuestTeaser .ipsButton.ipsButton--primary{width:100%;max-width:350px;}.cGuestTeaser_social{width:250px;margin-bottom:5px;}.grecaptcha-badge{z-index:10;}@media (max-width:979px){body:not(:has(.ipsEditor:focus-within)) .grecaptcha-badge{bottom:calc(var(--i-mobileFooter--he) + 10px) !important;}}@media (min-width:980px){body:has(#elGuestTerms[style*="block"]) .grecaptcha-badge{bottom:120px !important;}}.cColorChoices li{position:relative;}.cColorChoice_chooser{background-color:var(--_ba-co);width:42px;height:36px;display:block;position:relative;border-radius:4px;}.cColorChoices [type="radio"]{position:absolute;width:100%;height:100%;z-index:1;appearance:none;cursor:pointer;}.cColorChoices [type="radio"]:checked + .cColorChoice_chooser{outline:2px solid currentColor;outline-offset:1px;}.cClubEmbedHeader{position:relative;height:180px;}.cClubEmbedHeader.cClubEmbedHeaderNoPhoto, .cClubEmbedHeader.cClubEmbedHeaderNoPhoto span{height:120px;}.cClubEmbedHeader .ipsUserPhoto{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);border:2px solid #fff;}.cNotifcationPrompt{position:relative;background:var(--i-background_dark);color:#fff;}.cNotifcationPrompt_title{color:inherit;}.cNotifcationPrompt_text{opacity:0.7;}.cNotifcationPrompt_icon{display:block;background-image:url('../resources/core_d0e70b4cbb9ab8afb1bc1065a3f8487a_notification.svg');background-repeat:no-repeat;background-size:cover;aspect-ratio:1;}.cNotifcationPrompt_dismiss{background:hsl(0 0% 0% / .6);width:16px;height:16px;border-radius:16px;line-height:16px;text-align:center;color:#fff;font-size:12px;position:absolute;top:9px;inset-inline-end:9px;}.cContentMessageEditor.cContentMessageEditor--private .ipsEditor{border-color:var(--i-color_negative);--bo-sh:color-mix(in srgb, var(--i-color_negative) 15%, transparent);box-shadow:var(--bo-sh) 0px 0px 0px 6px;}.cContentMessageEditor.cContentMessageEditor--public .ipsEditor{border-color:var(--i-color_positive);--bo-sh:color-mix(in srgb, var(--i-color_positive) 15%, transparent);box-shadow:var(-Line truncated
|
||||
#elErrorMessage{max-width:800px;margin-left:auto;margin-right:auto;}.ipsHovercard[data-role="advicePopup"]{width:300px;}.ipsHovercard[data-role="advicePopup"] > div{min-height:60px;}.ipsHovercard[data-role="advicePopup"].cStem_ltr .ipsHovercard_stem{right:100%;top:15px;}.ipsHovercard[data-role="advicePopup"].cStem_ltr .ipsHovercard_stem:before{right:1px;border-right-color:inherit;}.ipsHovercard[data-role="advicePopup"].cStem_ltr .ipsHovercard_stem:after{border-right-color:currentColor;}.ipsHovercard[data-role="advicePopup"].cStem_rtl .ipsHovercard_stem{left:100%;top:15px;}.ipsHovercard[data-role="advicePopup"].cStem_rtl .ipsHovercard_stem:before{left:1px;border-left-color:inherit;}.ipsHovercard[data-role="advicePopup"].cStem_rtl .ipsHovercard_stem:after{border-left-color:currentColor;}.ipsHovercard[data-role="advicePopup"].cStem_above .ipsHovercard_stem{left:50%;margin-left:-1em;top:100%;}.ipsHovercard[data-role="advicePopup"].cStem_above .ipsHovercard_stem:before{border-top-color:inherit;top:1px;}.ipsHovercard[data-role="advicePopup"].cStem_above .ipsHovercard_stem:after{border-top-color:currentColor;}.ipsShareLinks{display:flex;flex-wrap:wrap;gap:.4em;}.ipsShareLink{width:2.4em;height:2.4em;border-radius:min(var(--i-design-radius), 6px);display:inline-grid;place-content:center;color:#fff !important;font-size:max(15px, 1em);}.ipsShareLink--internal{background:#008b00;}.ipsShareLink--deviantart{background:#00e59b;}.ipsShareLink--email{background:#444;}.ipsShareLink--facebook{background:#1778F2;}.ipsShareLink--linkedin{background:#0a66c2;}.ipsShareLink--reddit{background:#FF4500;}.ipsShareLink--vk{background:#507299;}.ipsShareLink--weibo{background:#D32F2F;}.ipsShareLink--youtube{background:#ff0000;}.ipsShareLink--foursquare{background:#2D5BE3;}.ipsShareLink--etsy{background:#F56400;}.ipsShareLink--flickr{background:#ff0084;}.ipsShareLink--github{background:#24292f;}.ipsShareLink--instagram{background:#E13D62;}.ipsShareLink--pinterest{background:#BD081C;}.ipsShareLink--slack{background:#42C299;}.ipsShareLink--xing{background:#B0D400;}.ipsShareLink--tumblr{background:#36465D;}.ipsShareLink--twitch{background:#772ce8;}.ipsShareLink--discord{background:#5865f2;}.ipsShareLink--x{background:#000000;}.ipsWidget .cStatusUpdateWidget .ipsComposeArea_dummy{padding:7px 10px;font-size:var(--i-font-size_-1);}.ipsWidget .cStatusUpdateWidget .ipsComposeArea_dummy i[class*=" fa-"]{margin-inline-end:5px;}.ipsWidget .cStatusUpdateWidget [data-role="attachmentArea"]{display:none !important;}.cTagPopup .ipsTags{margin-top:10px;}#elGuestTerms{background:var(--i-background_1);border-top:1px solid color-mix(in srgb, var(--i-color_root) 10%, transparent);background-clip:var(--if-light,padding-box) var(--if-dark,border-box);position:sticky;bottom:0;padding:1.3em 0;z-index:4000;}:where([data-ips-scheme="dark"]) #elGuestTerms{background:var(--i-background_3);}@media (max-width:979px){#elGuestTerms{bottom:var(--i-mobileFooter--he);}}.cGuestTeaser .ipsButton.ipsButton--primary{width:100%;max-width:350px;}.cGuestTeaser_social{width:250px;margin-bottom:5px;}.grecaptcha-badge{z-index:10;}@media (max-width:979px){body:not(:has(.ipsEditor:focus-within)) .grecaptcha-badge{bottom:calc(var(--i-mobileFooter--he) + 10px) !important;}}@media (min-width:980px){body:has(#elGuestTerms[style*="block"]) .grecaptcha-badge{bottom:120px !important;}}.cColorChoices li{position:relative;}.cColorChoice_chooser{background-color:var(--_ba-co);width:42px;height:36px;display:block;position:relative;border-radius:4px;}.cColorChoices [type="radio"]{position:absolute;width:100%;height:100%;z-index:1;appearance:none;cursor:pointer;}.cColorChoices [type="radio"]:checked + .cColorChoice_chooser{outline:2px solid currentColor;outline-offset:1px;}.cClubEmbedHeader{position:relative;height:180px;}.cClubEmbedHeader.cClubEmbedHeaderNoPhoto, .cClubEmbedHeader.cClubEmbedHeaderNoPhoto span{height:120px;}.cClubEmbedHeader .ipsUserPhoto{position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);border:2px solid #fff;}.cNotifcationPrompt{position:relative;background:var(--i-background_dark);color:#fff;}.cNotifcationPrompt_title{color:inherit;}.cNotifcationPrompt_text{opacity:0.7;}.cNotifcationPrompt_icon{display:block;background-image:url('../resources/core_d0e70b4cbb9ab8afb1bc1065a3f8487a_notification.svg');background-repeat:no-repeat;background-size:cover;aspect-ratio:1;}.cNotifcationPrompt_dismiss{background:hsl(0 0% 0% / .6);width:16px;height:16px;border-radius:16px;line-height:16px;text-align:center;color:#fff;font-size:12px;position:absolute;top:9px;inset-inline-end:9px;}.cContentMessageEditor.cContentMessageEditor--private .ipsEditor{border-color:var(--i-color_negative);--bo-sh:color-mix(in srgb, var(--i-color_negative) 15%, transparent);box-shadow:var(--bo-sh) 0px 0px 0px 6px;}.cContentMessageEditor.cContentMessageEditor--public .ipsEditor{border-color:var(--i-color_positive);--bo-sh:color-mix(in srgb, var(--i-color_positive) 15%, transparent);box-shadow:var(-Line truncated
|
||||
@@ -1 +1 @@
|
||||
.ipsMessenger__header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1em;padding:1.4em 2em;border-bottom:1px solid var(--i-background_5);}.ipsMessenger__inbox .ipsButtonBar{border-radius:0;padding:0;display:block;}.ipsMessenger__inbox .ipsMessage{--_pa:1em;border-radius:0;}.ipsMessenger__search{--i-co:var(--i-color_soft);padding:.8em;box-shadow:hsl(0 0% 0% / .1) 0px 1px 0px;}.ipsMessenger__search form{display:flex;position:relative;color:var(--i-co);background:var(--i-background_3);border-radius:var(--i-box--bo-ra);}.ipsMessenger__search .fa-magnifying-glass{align-self:center;position:absolute;inset-inline-start:.9em;pointer-events:none;}.ipsMessenger__search [type="text"]{flex:1 1 auto;background:none;border-width:0;box-shadow:none;border-radius:0;padding:.9em 0;padding-inline-start:2.8em;font-weight:500;}.ipsMessenger__search-action{color:var(--i-co);padding:0 .8em;display:grid;place-content:center;flex:0 0 auto;text-align:center;}.ipsMessenger__search-action:hover{background:var(--i-background_4);}.ipsMessenger__search-action:last-of-type{border-start-end-radius:inherit;border-end-end-radius:inherit;}.ipsMessenger__quota{background:var(--i-background_2);padding:1em;border-top:1px solid var(--i-background_4);}.ipsMessenger__conversation .ipsEmpty{padding-top:max(100px,15vh);}#elMessageViewer{display:contents;}.ipsMessenger__conversation{background:var(--i-background_3);padding:.1px;border-end-end-radius:var(--i-box--bo-ra);}.ipsMessenger__conversationHeader, :where(.ipsMessenger__conversation) .ipsEntry{background-color:var(--i-background_1);background-clip:padding-box;border:1px solid var(--i-background_3);margin:1em;border-radius:var(--i-box--bo-ra);}.ipsMessenger__conversationHeader{padding:1.5em;}.ipsMessenger__conversation .ipsEntry::before{content:none;}.cMessage_members .ipsField_autocomplete{margin-bottom:10px;}.cMessage_leftConvo{opacity:0.5;}@media (min-width:980px){.ipsMessenger__columns{display:grid;grid-template-columns:420px 1fr;min-height:500px;}.ipsMessenger__inbox{border-inline-end:1px solid var(--i-background_5);}#elMessageSidebar{height:100%;max-height:100vh;display:flex;flex-direction:column;position:sticky;top:var(--i-sticky-offset, 0px);z-index:10;}:where(#elMessageSidebar > *){flex:0 0 auto;}.ipsMessenger__inboxList{overflow-y:auto;flex:1 1 auto;}.ipsMessenger__quota{position:sticky;bottom:0;z-index:1;border-end-start-radius:var(--i-box--bo-ra);}}@media (max-width:979px){.ipsMessenger__conversationHeader, :where(.ipsMessenger__conversation) .ipsEntry{margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;border-radius:0;}}.ipsFilter_layout{position:absolute !important;max-width:100%;}
|
||||
.ipsMessenger{container:ipsMessenger / inline-size;}.ipsMessenger__header{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1em;padding:1.4em 2em;border-bottom:1px solid var(--i-background_5);}.ipsMessenger__inbox .ipsButtonBar{border-radius:0;padding:0;display:block;}.ipsMessenger__inbox .ipsMessage{--_pa:1em;border-radius:0;}.ipsMessenger__search{--i-co:var(--i-color_soft);padding:.8em;box-shadow:hsl(0 0% 0% / .1) 0px 1px 0px;}.ipsMessenger__search form{display:flex;position:relative;color:var(--i-co);background:var(--i-background_3);border-radius:var(--i-box--bo-ra);}.ipsMessenger__search .fa-magnifying-glass{align-self:center;position:absolute;inset-inline-start:.9em;pointer-events:none;}.ipsMessenger__search [type="text"]{flex:1 1 auto;background:none;border-width:0;box-shadow:none;border-radius:0;padding:.9em 0;padding-inline-start:2.8em;font-weight:500;}.ipsMessenger__search-action{color:var(--i-co);padding:0 .8em;display:grid;place-content:center;flex:0 0 auto;text-align:center;}.ipsMessenger__search-action:hover{background:var(--i-background_4);}.ipsMessenger__search-action:last-of-type{border-start-end-radius:inherit;border-end-end-radius:inherit;}.ipsMessenger__quota{background:var(--i-background_2);padding:1em;border-top:1px solid var(--i-background_4);}.ipsMessenger__conversation .ipsEmpty{padding-top:max(100px,15vh);}#elMessageViewer{display:contents;}.ipsMessenger__conversation{background:var(--i-background_3);padding:.1px;border-end-end-radius:var(--i-box--bo-ra);}.ipsMessenger__conversationHeader, :where(.ipsMessenger__conversation) .ipsEntry{background-color:var(--i-background_1);background-clip:padding-box;border:1px solid var(--i-background_3);margin:1em;border-radius:var(--i-box--bo-ra);}.ipsMessenger__conversationHeader{padding:1.5em;}.ipsMessenger__conversation .ipsEntry::before{content:none;}.cMessage_members .ipsField_autocomplete{margin-bottom:10px;}.cMessage_leftConvo{opacity:0.5;}.ipsMessenger__columns{display:grid;}@container (min-width:850px){.ipsMessenger__columns{grid-template-columns:min(420px, 30%) 1fr;min-height:500px;}.ipsMessenger__inbox{border-inline-end:1px solid var(--i-background_5);}.ipsButton-backToInbox{display:none;}#elMessageSidebar{height:100%;max-height:100vh;display:flex;flex-direction:column;position:sticky;top:var(--i-sticky-offset, 0px);z-index:10;}:where(#elMessageSidebar > *){flex:0 0 auto;}.ipsMessenger__inboxList{overflow-y:auto;flex:1 1 auto;}.ipsMessenger__quota{position:sticky;bottom:0;z-index:1;border-end-start-radius:var(--i-box--bo-ra);}}@container (max-width:849px){.ipsMessenger{overflow:hidden;}.ipsMessenger__inbox, .ipsMessenger__conversation{grid-area:1/-1;}[data-ipsfilterbar-viewing="filterContent"] .ipsMessenger__inbox, [data-ipsfilterbar-viewing="filterBar"] .ipsMessenger__conversation{display:none;}.ipsMessenger__conversationHeader, :where(.ipsMessenger__conversation) .ipsEntry{margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;border-radius:0;}}
|
||||
@@ -1 +1 @@
|
||||
.ipsCoverPhoto--minimal .ipsCoverPhoto__container{aspect-ratio:10;}.ipsCoverPhoto--profile:not(.ipsCoverPhoto--minimal) ~ .ipsCoverPhotoMeta [data-action="goToProfile"], .ipsCoverPhoto--minimal ~ .ipsCoverPhotoMeta [data-action="browseContent"], .ipsCoverPhoto--minimal #ipsMenu_elprofile_edit{display:none !important;}.ipsProfile{display:grid;gap:1em;}@media (min-width:768px){.ipsProfile{grid-template-columns:min(360px, 30vw) 1fr;}.ipsProfile__aside{display:grid;}.ipsProfile__sticky-outer{min-height:min(100%, calc(100vh - (var(--i-sp_block) * 2) - var(--i-sticky-offset)));min-height:min(100%, calc(100svh - (var(--i-sp_block) * 2) - var(--i-sticky-offset)));position:sticky;bottom:var(--i-sp_block);align-self:end;}.ipsProfile__sticky-inner{position:sticky;top:calc(var(--i-sticky-offset) + var(--i-sp_block));display:grid;gap:1em;}}@media (max-width:767px){.ipsProfile__aside--carousel .ipsProfile__sticky-inner{display:flex;gap:1em;overflow:auto;margin-left:calc(var(--i-layout-gutter) * -1);margin-right:calc(var(--i-layout-gutter) * -1);padding-inline:var(--i-layout-gutter);overscroll-behavior-x:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scroll-padding-inline:var(--i-layout-gutter);-webkit-transform:translateZ(0);}.ipsProfile__aside--carousel .ipsWidget{flex:1 0 min(360px, 80vw);scroll-snap-align:center;display:flex;flex-direction:column;}.ipsProfile__aside--carousel .ipsWidget__content{flex:1 1 auto;display:grid;align-content:center;}}.ipsProfile__aside .ipsSideMenu{padding:1em;}.ipsWidget--rank-badges .ipsWidget__content > *{padding:clamp(1em, 2vw, 2em) 0;border-bottom:1px solid var(--i-background_4);margin:0 clamp(1em, 2vw, 2em);}.ipsWidget--rank-badges .ipsWidget__content > *:last-child{border-width:0;}.ipsProfileWidget{padding:3em 1.5em;border-bottom:1px solid var(--i-background_3);display:block;}.ipsWidget--rank-badges .fa-trophy{color:var(--i-trophy-first--background);}.ipsProfileWidget__data{display:grid;gap:1em;}.ipsProfileWidget__dataLabel{font-weight:550;color:var(--i-color_hard);}.cProfileAchievements > a:hover{background:var(--i-background_2);}.cProfileRepScore{background:var(--i-background_5);color:var(--i-base-contrast_6);border-radius:6px;text-align:center;display:grid;font-weight:600;}.cProfileRepScore--badge{aspect-ratio:1;display:inline-grid;place-content:center;min-width:2.6em;border-radius:500px;font-size:1.2em;}.cProfileRepScore--positive{background:var(--i-background_positive);color:#fff;}.cProfileRepScore--negative{background:var(--i-background_negative);color:#fff;}.cProfileRepScore--solutions{background:var(--i-secondary);color:var(--i-secondary-contrast);}.cProfileRepScore__points{font-size:2em;}.cProfileSubscription{display:grid;overflow:hidden;border-radius:min(var(--i-design-radius), 7px);background-color:var(--i-background_dark);color:#fff;text-align:center;font-weight:600;}.cProfileSubscription > *{grid-area:1/-1;}.cProfileSubscription img{width:100%;}.cProfileSubscription__gradient{background-image:linear-gradient(to bottom, rgba(0,0,0,0) 50%, rgba(0,0,0,0.8));}.cProfileSubscription__text{padding:2em 1em;align-self:end;}.cProfileSubscription--with-image .cProfileSubscription__text{padding-top:5em;text-shadow:rgba(0,0,0,0.2) 0px 1px 1px;}.cRankHistory{position:relative;z-index:1;display:grid;gap:20px;}.cRankHistory::before{content:'';width:2px;background:var(--i-color_soft);position:absolute;top:10px;bottom:10px;inset-inline-start:19px;z-index:-1;opacity:.4;}.cRankHistory__item{position:relative;display:flex;align-items:center;gap:var(--i-sp_2);}.cRankHistory__icon{background:var(--i-background_1);padding:3px 0;flex:0 0 auto;}.cRankHistory__icon img{width:40px;aspect-ratio:1;object-fit:cover;}.cRankHistory__itemBadge--unearned{filter:opacity(15%) grayscale(1);}.ipsTabs--profile{background:var(--i-background_2);border-top-left-radius:inherit;border-top-right-radius:inherit;}#elProfileTabs_content{scroll-margin-top:4.5em;}
|
||||
.ipsCoverPhoto--minimal .ipsCoverPhoto__container{aspect-ratio:10;}.ipsCoverPhoto--profile:not(.ipsCoverPhoto--minimal) ~ .ipsCoverPhotoMeta [data-action="goToProfile"], .ipsCoverPhoto--minimal ~ .ipsCoverPhotoMeta [data-action="browseContent"], .ipsCoverPhoto--minimal #ipsMenu_elprofile_edit{display:none !important;}.ipsProfile{display:grid;gap:1em;}@media (min-width:768px){.ipsProfile{grid-template-columns:min(360px, 30vw) 1fr;}.ipsProfile__aside{display:grid;}.ipsProfile__sticky-outer{min-height:min(100%, calc(100vh - (var(--i-sp_block) * 2) - var(--i-sticky-offset)));min-height:min(100%, calc(100svh - (var(--i-sp_block) * 2) - var(--i-sticky-offset)));position:sticky;bottom:var(--i-sp_block);align-self:end;}.ipsProfile__sticky-inner{position:sticky;top:calc(var(--i-sticky-offset) + var(--i-sp_block));display:grid;gap:1em;}}@media (max-width:767px){.ipsProfile__aside--carousel .ipsProfile__sticky-inner{display:flex;gap:1em;overflow:auto;margin-left:calc(var(--i-layout-gutter) * -1);margin-right:calc(var(--i-layout-gutter) * -1);padding-inline:var(--i-layout-gutter);overscroll-behavior-x:contain;scroll-behavior:smooth;scroll-snap-type:x mandatory;scroll-padding-inline:var(--i-layout-gutter);-webkit-transform:translateZ(0);}.ipsProfile__aside--carousel .ipsWidget{flex:1 0 min(360px, 80vw);scroll-snap-align:center;display:flex;flex-direction:column;}.ipsProfile__aside--carousel .ipsWidget__content{flex:1 1 auto;display:grid;align-content:center;}}.ipsProfile__aside .ipsSideMenu{padding:1em;}.ipsWidget--rank-badges .ipsWidget__content > *{padding:clamp(1em, 2vw, 2em) 0;border-bottom:1px solid var(--i-background_4);margin:0 clamp(1em, 2vw, 2em);}.ipsWidget--rank-badges .ipsWidget__content > *:last-child{border-width:0;}.ipsProfileWidget{padding:3em 1.5em;border-bottom:1px solid var(--i-background_3);display:block;}.ipsWidget--rank-badges .fa-trophy{color:var(--i-trophy-first--background);}.ipsProfileWidget__data{display:grid;gap:1em;}.ipsProfileWidget__dataLabel{font-weight:550;color:var(--i-color_hard);}.cProfileAchievements > a:hover{background:var(--i-background_2);}.cProfileRepScore{background:var(--i-background_5);color:var(--i-base-contrast_6);border-radius:6px;text-align:center;display:grid;font-weight:600;}.cProfileRepScore--badge{aspect-ratio:1;display:inline-grid;place-content:center;min-width:2.6em;border-radius:500px;font-size:1.2em;}.cProfileRepScore--positive{background:var(--i-background_positive);color:#fff;}.cProfileRepScore--negative{background:var(--i-background_negative);color:#fff;}.cProfileRepScore--solutions{background:var(--i-secondary);color:var(--i-secondary-contrast);}.cProfileRepScore__points{font-size:2em;}.cProfileSubscription{display:grid;overflow:hidden;border-radius:min(var(--i-design-radius), 7px);background-color:var(--i-background_dark);color:#fff;text-align:center;font-weight:600;}.cProfileSubscription > *{grid-area:1/-1;}.cProfileSubscription img{width:100%;}.cProfileSubscription__gradient{background-image:linear-gradient(to bottom, rgba(0,0,0,0) 50%, rgba(0,0,0,0.8));}.cProfileSubscription__text{padding:2em 1em;align-self:end;}.cProfileSubscription--with-image .cProfileSubscription__text{padding-top:5em;text-shadow:rgba(0,0,0,0.2) 0px 1px 1px;}.cRankHistory{position:relative;z-index:1;display:grid;gap:20px;}.cRankHistory::before{content:'';width:2px;background:var(--i-color_soft);position:absolute;top:10px;bottom:10px;inset-inline-start:19px;z-index:-1;opacity:.4;}.cRankHistory__item{position:relative;display:flex;align-items:center;gap:var(--i-sp_2);}.cRankHistory__icon{background:var(--i-background_1);padding:3px 0;flex:0 0 auto;}.cRankHistory__icon img{width:40px;aspect-ratio:1;object-fit:cover;}.cRankHistory__itemBadge--unearned{filter:opacity(15%) grayscale(1);}.ipsTabs--profile{background:var(--i-background_2);border-top-left-radius:inherit;border-top-right-radius:inherit;}.ipsTabs__panels--profile{scroll-margin-top:4.5em;}
|
||||
@@ -1 +1 @@
|
||||
*{margin:0;padding:0;}*, ::before, ::after{box-sizing:border-box;min-width:0;min-height:0;}html{-webkit-text-size-adjust:100%;accent-color:var(--i-primary);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;}hr{color:inherit;}hr, iframe, fieldset{border-width:0;}iframe:where([src*="youtube."], [src*="youtube-nocookie."], [src*="vimeo."]){width:100%;height:auto;aspect-ratio:16/9;}img, svg{border:0;display:inline-block;max-width:100%;height:auto;vertical-align:top;}:where(img::before){display:block;overflow:hidden;height:100%;}h1, h2, h3, h4, h5, h6{font-size:inherit;font-weight:inherit;}b, strong{font-weight:bolder;}menu, ol, ul, summary{list-style-type:none;}blockquote, q{quotes:none;}table{border-collapse:collapse;border-spacing:0;}input, textarea, select, button{background:none;border:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;text-align:inherit;text-transform:inherit;}textarea, select{-webkit-appearance:none;appearance:none;box-shadow:none;}textarea{display:block;width:100%;}select{cursor:pointer;}[type="search"]{-webkit-appearance:none;appearance:none;}[type="date"], [type="time"]{accent-color:currentColor;}::placeholder{color:inherit;opacity:.5;}button, [type="submit"], summary{-webkit-appearance:none;appearance:none;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;}button{text-align:inherit;}details summary::-webkit-details-marker{display:none;}:focus{outline-color:transparent;}:focus-visible{outline:var(--i-outline-width) var(--i-outline-style) var(--i-outline-color);outline-offset:var(--i-outline-offset);}address{font-style:inherit;}dialog{border-width:0;margin:auto;}dialog:not([open]){display:none !important;}.sr-only, .ipsInvisible{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:1px !important;}[hidden]{display:none !important;}:root{--light__i-primary:hsl(220 85% 50%);--light__i-primary-relative-l:33;--light__i-secondary:hsl(220 49% 13%);--light__i-secondary-relative-l:10;--light__i-base:oklch(calc(var(--light__i-base-l) * 1%) calc(var(--light__i-base-c) * 1%) var(--light__i-base-h));--light__i-base-l:100;--light__i-base-c:30;--light__i-base-h:260;--dark__i-primary:hsl(215 85% 50%);--dark__i-primary-relative-l:37;--dark__i-secondary:hsl(215 18% 26%);--dark__i-secondary-relative-l:24;--dark__i-base:oklch(calc(var(--dark__i-base-l) * 1%) calc(var(--dark__i-base-c) * 1%) var(--dark__i-base-h));--dark__i-base-l:30;--dark__i-base-c:20;--dark__i-base-h:260;--set__i-default-scheme:system;--set__i-change-scheme:1;--set__i-logo--fo-fa:var(--i-font-family);--set__i-logo--fo-we:500;--set__i-desktop-logo--fo-si:18;--set__i-sidebar-ui-logo--fo-si:20;--set__i-mobile-logo--fo-si:18;--set__logo-light:;--set__logo-dark:;--set__i-logo--he:70;--set__i-sidebar-ui-logo--he:70;--set__mobile-logo-light:;--set__mobile-logo-dark:;--set__i-mobile-logo--he:70;--set__i-font-family:var(--i-font-family_system-ui);--set__i-font-size:14;--set__i-user-content-font-size:110;--set__i-position-logo:4;--set__i-position-navigation:5;--set__i-position-user:6;--set__i-position-breadcrumb:7;--set__i-position-search:9;--set__i-header-top--he:50;--set__i-header-primary--he:100;--set__i-header-secondary--he:50;--set__i-nav-bar-icons:0;--set__i-mobile-header--he:60;--set__i-sidebar-ui-header--he:65;--set__i-sidebar-width:350;--set__i-flip-sidebar:0;--set__i-sticky-sidebar:1;--set__i-layout-width:1500;--set__i-avatar-radius:1;--set__i-design-border:1;--set__i-design-radius:8;--set__i-design-shadow:2;--set__i-link-panels:1;--set__i-mobile-icons-location:footer;--set__i-mobile-footer-labels:1;--light__i-color_root:var(--i-base-contrast_3);--dark__i-color_root:var(--i-base-contrast_4);--light__i-color_soft:var(--i-base-contrast_1);--dark__i-color_soft:var(--i-base-contrast_2);--light__i-color_hard:var(--i-base-contrast_6);--dark__i-color_hard:var(--i-base-contrast_6);--light__i-link--co:var(--i-base-contrast_5);--dark__i-link--co:var(--i-base-contrast_5);--light__i-link-hover--co:var(--i-color_primary);--dark__i-link-hover--co:var(--i-color_primary);--light__i-headerTop--ba-co:var(--i-base-contrast_5);--dark__i-headerTop--ba-co:var(--i-base_3);--light__i-headerTop--co:var(--i-base_1);--dark__i-headerTop--co:var(--i-base-contrast_6);--light__i-headerPrimary--ba-co:var(--i-base-contrast_4);--dark__i-headerPrimary--ba-co:var(--i-base_3);--light__i-headerPrimary--co:var(--i-base_1);--dark__i-headerPrimary--co:var(--i-base-contrast_6);--light__i-headerSecondary--ba-co:var(--i-base-contrast_5);--dark__i-headerSecondary--ba-co:var(--i-base_4);--light__i-headerSecondary--co:var(--i-base_1);--dark__i-headerSecondary--co:var(--i-base-contrast_5);--light__i-headerMobile--ba-co:var(--i-base_1);--dark__i-headerMobile--ba-Line truncated
|
||||
*{margin:0;padding:0;}*, ::before, ::after{box-sizing:border-box;min-width:0;min-height:0;}html{-webkit-text-size-adjust:100%;accent-color:var(--i-primary);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;}hr{color:inherit;}hr, iframe, fieldset{border-width:0;}iframe:where([src*="youtube."], [src*="youtube-nocookie."], [src*="vimeo."]){width:100%;height:auto;aspect-ratio:16/9;}img, svg{border:0;display:inline-block;max-width:100%;height:auto;vertical-align:top;}:where(img::before){display:block;overflow:hidden;height:100%;}h1, h2, h3, h4, h5, h6{font-size:inherit;font-weight:inherit;}b, strong{font-weight:bolder;}menu, ol, ul, summary{list-style-type:none;}blockquote, q{quotes:none;}table{border-collapse:collapse;border-spacing:0;}input, textarea, select, button{background:none;border:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;text-align:inherit;text-transform:inherit;}textarea, select{-webkit-appearance:none;appearance:none;box-shadow:none;}textarea{display:block;width:100%;}select{cursor:pointer;}[type="search"]{-webkit-appearance:none;appearance:none;}[type="date"], [type="time"]{accent-color:currentColor;}::placeholder{color:inherit;opacity:.5;}button, [type="submit"], summary{-webkit-appearance:none;appearance:none;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;}button{text-align:inherit;}details summary::-webkit-details-marker{display:none;}:focus{outline-color:transparent;}:focus-visible{outline:var(--i-outline-width) var(--i-outline-style) var(--i-outline-color);outline-offset:var(--i-outline-offset);}address{font-style:inherit;}dialog{border-width:0;margin:auto;}dialog:not([open]){display:none !important;}.sr-only, .ipsInvisible{border:0 !important;clip:rect(1px, 1px, 1px, 1px) !important;clip-path:inset(50%) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;white-space:nowrap !important;width:1px !important;}[hidden]{display:none !important;}:root{--light__i-primary:hsl(220 85% 50%);--light__i-primary-relative-l:33;--light__i-secondary:hsl(220 49% 13%);--light__i-secondary-relative-l:10;--light__i-base:oklch(calc(var(--light__i-base-l) * 1%) calc(var(--light__i-base-c) * 1%) var(--light__i-base-h));--light__i-base-l:100;--light__i-base-c:30;--light__i-base-h:260;--dark__i-primary:hsl(215 85% 50%);--dark__i-primary-relative-l:37;--dark__i-secondary:hsl(215 18% 26%);--dark__i-secondary-relative-l:24;--dark__i-base:oklch(calc(var(--dark__i-base-l) * 1%) calc(var(--dark__i-base-c) * 1%) var(--dark__i-base-h));--dark__i-base-l:30;--dark__i-base-c:20;--dark__i-base-h:260;--set__i-default-scheme:system;--set__i-change-scheme:1;--set__i-logo--fo-fa:var(--i-font-family);--set__i-logo--fo-we:500;--set__i-desktop-logo--fo-si:18;--set__i-sidebar-ui-logo--fo-si:20;--set__i-mobile-logo--fo-si:18;--set__logo-light:;--set__logo-dark:;--set__i-logo--he:70;--set__i-sidebar-ui-logo--he:70;--set__mobile-logo-light:;--set__mobile-logo-dark:;--set__i-mobile-logo--he:70;--set__i-font-family:var(--i-font-family_system-ui);--set__i-font-size:14;--set__i-user-content-font-size:110;--set__i-position-logo:4;--set__i-position-navigation:5;--set__i-position-user:6;--set__i-position-breadcrumb:7;--set__i-position-search:9;--set__i-header-top--he:50;--set__i-header-primary--he:100;--set__i-header-secondary--he:50;--set__i-nav-bar-icons:0;--set__i-mobile-header--he:60;--set__i-sidebar-ui-header--he:65;--set__i-sidebar-width:350;--set__i-flip-sidebar:0;--set__i-sticky-sidebar:1;--set__i-layout-width:1500;--set__i-avatar-radius:1;--set__i-design-border:1;--set__i-design-radius:8;--set__i-design-shadow:2;--set__i-link-panels:1;--set__i-mobile-icons-location:footer;--set__i-mobile-footer-labels:1;--light__i-color_root:var(--i-base-contrast_3);--dark__i-color_root:var(--i-base-contrast_4);--light__i-color_soft:var(--i-base-contrast_1);--dark__i-color_soft:var(--i-base-contrast_2);--light__i-color_hard:var(--i-base-contrast_6);--dark__i-color_hard:var(--i-base-contrast_6);--light__i-link--co:var(--i-base-contrast_5);--dark__i-link--co:var(--i-base-contrast_5);--light__i-link-hover--co:var(--i-color_primary);--dark__i-link-hover--co:var(--i-color_primary);--light__i-headerTop--ba-co:var(--i-base-contrast_5);--dark__i-headerTop--ba-co:var(--i-base_3);--light__i-headerTop--co:var(--i-base_1);--dark__i-headerTop--co:var(--i-base-contrast_6);--light__i-headerPrimary--ba-co:var(--i-base-contrast_4);--dark__i-headerPrimary--ba-co:var(--i-base_3);--light__i-headerPrimary--co:var(--i-base_1);--dark__i-headerPrimary--co:var(--i-base-contrast_6);--light__i-headerSecondary--ba-co:var(--i-base-contrast_5);--dark__i-headerSecondary--ba-co:var(--i-base_4);--light__i-headerSecondary--co:var(--i-base_1);--dark__i-headerSecondary--co:var(--i-base-contrast_5);--light__i-headerMobile--ba-co:var(--i-base_1);--dark__i-headerMobile--ba-Line truncated
|
||||
@@ -1 +1 @@
|
||||
#acpPageHeader.cNexusSupportHeader{padding-top:15px;}#acpPageHeader.cNexusSupportHeader .ipsUserPhoto{width:60%;margin-left:auto;margin-right:auto;}#acpPageHeader.cNexusSupportHeader .acpToolbar{margin-top:-30px;}#elCustomerIncome{width:100%;height:55px;background:rgba(0,0,0,0.03);text-align:center;font-size:18px;color:rgba(0,0,0,0.3);}#elCustomerStanding{display:flex;flex-wrap:wrap;}#elCustomerStanding > div{flex-grow:1;min-width:150px;margin-bottom:5px;}.cCustomerStanding_value{display:block;margin-bottom:5px;font-size:24px;font-weight:300;font-family:"HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;}.cCustomerStanding_value + .ipsMinorTitle{font-weight:400;color:var(--i-color_soft);}.cCustomerStanding_positive{color:var(--i-color_positive);}.cCustomerStanding_negative{color:var(--i-color_negative);}.cCustomerStanding_arrow{width:18px;height:18px;line-height:18px;display:inline-block;font-size:9px;text-align:center;vertical-align:middle;border-radius:14px;color:#fff;margin-top:-5px;}.cCustomerStanding_positive .cCustomerStanding_arrow{background:var(--i-background_positive);}.cCustomerStanding_negative .cCustomerStanding_arrow{background:var(--i-background_negative);}.cCustomerStanding_progressIndicator{position:relative;}.cCustomerStanding_progress{background:rgb(52,128,187);background:linear-gradient(to right, rgba(52,128,187,1) 0%,rgba(102,187,106,1) 92%);height:16px;border:1px solid rgba(0,0,0,0.1);width:100%;}.cCustomerStanding_markers{margin:-5px -5px 0;height:18px;}.cCustomerStanding_markers > span{font-size:18px;color:#000;position:absolute;width:30px;margin-inline-start:-15px;text-align:center;}.cCustomerStanding_markers span.cCustomerStanding_markerAvg{color:#919191;}.cCustomerStanding_markers > span span{font-size:10px;margin-top:8px;position:relative;top:-10px;}.cCustomerCredit.i-background_positive .ipsMinorTitle{color:rgba(255,255,255,0.6);}.cCustomerCredit.i-background_positive a{color:#fff;}.cCustomerOther{overflow:hidden;}.cCustomerOther .cCustomerOther_icon{font-size:20px;line-height:1.2;}.cCustomerOther .ipsPhotoPanel.ipsPhotoPanel_tiny > div{margin-inline-start:30px !important;}.cCustomerOther .cCustomerOther_list{height:90px;margin-top:5px;}.cCustomerOther li{margin-top:5px;position:relative;}.cCustomerOther li:first-child{margin-top:0;}.cCustomerOther ul li:nth-child(2):after{position:absolute;inset:0;content:'';display:block;background:linear-gradient(to bottom, rgba(250,250,250,0) 0%,rgba(250,250,250,1) 100%);}.ipsApp .cCustomerOther .ipsButton{line-height:26px;}#elCustomerTabs .ipsTabs__tab{position:relative;}#elCustomerTabs .ipsTabs__tab .ipsNotification{inset-inline-end:auto;inset-inline-start:50%;top:0;margin-inline-start:3px;}@media screen and (max-width:767px){html[dir] #elCustomerTabs .ipsTabs__tab .ipsNotification{position:relative;top:0;left:0;right:0;}}#elCustomerData{padding-inline-start:23px;}.cNexusCustomerInvoice{display:block;margin-bottom:5px;font-size:20px;font-weight:300;font-family:"HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;}.ipsApp .cNotesBox.ipsBox{background-color:#FFF8E1;color:#514930;border-color:#ded5ba;}.ipsApp .cNotesBox.ipsBox .ipsBox__header{background:#FFECB3;color:#514930;border-color:#ded5ba;}.ipsApp .cNotesBox.ipsBox .ipsBox__header a{color:#c5651c;}.cNotesBox .i-color_soft{color:inherit;opacity:.8;}.ipsApp .cCustomerNotes_none{background:transparent;padding-left:0;padding-right:0;}.cCustomerAddresses .ipsControlStrip{float:none;margin-top:10px;}.cNexusCards li{width:250px;height:155px;border-radius:8px;margin-bottom:15px;background:#617178;background:linear-gradient(135deg, #617178 0%,#859ca5 100%);position:relative;}.cNexusCards .cNexusCards_type.cPayment{position:absolute;bottom:10px;inset-inline-end:10px;width:60px;height:36px;}.cNexusCards .cNexusCards_number, .cNexusCards .cNexusCards_exp, .cNexusCards .cNexusCards_name{color:#f7f7f7;font-weight:bold;text-shadow:0px 1px 0px rgba(0,0,0,0.8);}.cNexusCards .cNexusCards_number, .cNexusCards .cNexusCards_exp{position:absolute;inset-inline-start:20px;font-family:'courier new', monospace;}.cNexusCards .cNexusCards_number{bottom:55px;font-size:18px;}.cNexusCards .cNexusCards_name{margin-top:75px;margin-left:10px;margin-right:10px;font-size:14px;width:230px;text-overflow:ellipsis;overflow:hidden;}.cNexusCards .cNexusCards_expTitle{font-size:9px;color:#000;text-transform:uppercase;position:absolute;bottom:30px;inset-inline-start:20px;}.cNexusCards .cNexusCards_exp{bottom:15px;}.cNexusCards .cNexusCards_delete{position:absolute;inset-inline-end:-5px;top:-5px;background:#333;color:#fff;width:30px;height:30px;border-radius:30px;font-size:20px;line-height:26px;text-align:center;}.cPayment{display:inline-block;width:66px;height:42px;border:1px solid rgba(0,0,0,0.1);line-height:40px;white-space:nowrap;font-size:9px;font-weight:bold;padding:0 5px;text-align:center;text-transform:uppercase;text-overflow:ellipsis;ovLine truncated
|
||||
#acpPageHeader.cNexusSupportHeader{padding-top:15px;}#acpPageHeader.cNexusSupportHeader .ipsUserPhoto{width:60%;margin-left:auto;margin-right:auto;}#acpPageHeader.cNexusSupportHeader .acpToolbar{margin-top:-30px;}#elCustomerIncome{width:100%;height:55px;background:rgba(0,0,0,0.03);text-align:center;font-size:18px;color:rgba(0,0,0,0.3);}#elCustomerStanding{display:flex;flex-wrap:wrap;}#elCustomerStanding > div{flex-grow:1;min-width:150px;margin-bottom:5px;}.cCustomerStanding_value{display:block;margin-bottom:5px;font-size:24px;font-weight:300;font-family:"HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;}.cCustomerStanding_value + .ipsMinorTitle{font-weight:400;color:var(--i-color_soft);}.cCustomerStanding_positive{color:var(--i-color_positive);}.cCustomerStanding_negative{color:var(--i-color_negative);}.cCustomerStanding_arrow{width:18px;height:18px;line-height:18px;display:inline-block;font-size:9px;text-align:center;vertical-align:middle;border-radius:14px;color:#fff;margin-top:-5px;}.cCustomerStanding_positive .cCustomerStanding_arrow{background:var(--i-background_positive);}.cCustomerStanding_negative .cCustomerStanding_arrow{background:var(--i-background_negative);}.cCustomerStanding_progressIndicator{position:relative;}.cCustomerStanding_progress{background:rgb(52,128,187);background:linear-gradient(to right, rgba(52,128,187,1) 0%,rgba(102,187,106,1) 92%);height:16px;border:1px solid rgba(0,0,0,0.1);width:100%;}.cCustomerStanding_markers{margin:-5px -5px 0;height:18px;}.cCustomerStanding_markers > span{font-size:18px;color:#000;position:absolute;width:30px;margin-inline-start:-15px;text-align:center;}.cCustomerStanding_markers span.cCustomerStanding_markerAvg{color:#919191;}.cCustomerStanding_markers > span span{font-size:10px;margin-top:8px;position:relative;top:-10px;}.cCustomerCredit.i-background_positive .ipsMinorTitle{color:rgba(255,255,255,0.6);}.cCustomerCredit.i-background_positive a{color:#fff;}.cCustomerOther{overflow:hidden;}.cCustomerOther .cCustomerOther_icon{font-size:20px;line-height:1.2;}.cCustomerOther .ipsPhotoPanel.ipsPhotoPanel--tiny > div{margin-inline-start:30px !important;}.cCustomerOther .cCustomerOther_list{height:90px;margin-top:5px;}.cCustomerOther li{margin-top:5px;position:relative;}.cCustomerOther li:first-child{margin-top:0;}.cCustomerOther ul li:nth-child(2):after{position:absolute;inset:0;content:'';display:block;background:linear-gradient(to bottom, rgba(250,250,250,0) 0%,rgba(250,250,250,1) 100%);}.ipsApp .cCustomerOther .ipsButton{line-height:26px;}.ipsTabs--customerTabs .ipsTabs__tab{position:relative;}.ipsTabs--customerTabs .ipsTabs__tab .ipsNotification{inset-inline-end:auto;inset-inline-start:50%;top:0;margin-inline-start:3px;}@media screen and (max-width:767px){html[dir] .ipsTabs--customerTabs .ipsTabs__tab .ipsNotification{position:relative;top:0;left:0;right:0;}}#elCustomerData{padding-inline-start:23px;}.cNexusCustomerInvoice{display:block;margin-bottom:5px;font-size:20px;font-weight:300;font-family:"HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, sans-serif;}.ipsApp .cNotesBox.ipsBox{background-color:#FFF8E1;color:#514930;border-color:#ded5ba;}.ipsApp .cNotesBox.ipsBox .ipsBox__header{background:#FFECB3;color:#514930;border-color:#ded5ba;}.ipsApp .cNotesBox.ipsBox .ipsBox__header a{color:#c5651c;}.cNotesBox .i-color_soft{color:inherit;opacity:.8;}.ipsApp .cCustomerNotes_none{background:transparent;padding-left:0;padding-right:0;}.cCustomerAddresses .ipsControlStrip{float:none;margin-top:10px;}.cNexusCards li{width:250px;height:155px;border-radius:8px;margin-bottom:15px;background:#617178;background:linear-gradient(135deg, #617178 0%,#859ca5 100%);position:relative;}.cNexusCards .cNexusCards_type.cPayment{position:absolute;bottom:10px;inset-inline-end:10px;width:60px;height:36px;}.cNexusCards .cNexusCards_number, .cNexusCards .cNexusCards_exp, .cNexusCards .cNexusCards_name{color:#f7f7f7;font-weight:bold;text-shadow:0px 1px 0px rgba(0,0,0,0.8);}.cNexusCards .cNexusCards_number, .cNexusCards .cNexusCards_exp{position:absolute;inset-inline-start:20px;font-family:'courier new', monospace;}.cNexusCards .cNexusCards_number{bottom:55px;font-size:18px;}.cNexusCards .cNexusCards_name{margin-top:75px;margin-left:10px;margin-right:10px;font-size:14px;width:230px;text-overflow:ellipsis;overflow:hidden;}.cNexusCards .cNexusCards_expTitle{font-size:9px;color:#000;text-transform:uppercase;position:absolute;bottom:30px;inset-inline-start:20px;}.cNexusCards .cNexusCards_exp{bottom:15px;}.cNexusCards .cNexusCards_delete{position:absolute;inset-inline-end:-5px;top:-5px;background:#333;color:#fff;width:30px;height:30px;border-radius:30px;font-size:20px;line-height:26px;text-align:center;}.cPayment{display:inline-block;width:66px;height:42px;border:1px solid rgba(0,0,0,0.1);line-height:40px;white-space:nowrap;font-size:9px;font-weight:bold;padding:0 5px;text-align:center;text-transform:uppercase;texLine truncated
|
||||
@@ -1,6 +1,6 @@
|
||||
ips.templates.set('blog.view.addButton',"<button type=\"button\" class=\"ipsButton ipsButton--primary ipsHide\" data-action=\"addNew\">{{#lang}}manage_cats_new_row{{/lang}}</button>");ips.templates.set('blog.view.categoryRow',"<li class=\"ipsData__item\" itemprop=\"itemListElement\" data-category-id=\"{{cat}}\"> <span data-role=\"sortHandle\" class=\"i-cursor_move\"><i class=\"fa-solid fa-bars\"></i></span> <div class=\"ipsData__main i-flex i-gap_1\"> <span class=\"ipsData__title\" data-role=\"title_{{cat}}\">{{name}}</span> <input type=\"text\" name=\"blog_name_{{cat}}\" value=\"\" data-role=\"input_{{cat}}\" class=\"ipsHide\"> <a href=\"#\" data-role=\"saveChanges\" data-category-id=\"{{cat}}\" class=\"ipsHide i-flex_00 ipsButton ipsButton--positive\" data-ipstooltip=\"\" title=\"{{#lang}}save{{/lang}}\">{{#lang}}save{{/lang}}</a> <a href=\"#\" data-role=\"cancelChanges\" data-category-id=\"{{cat}}\" class=\"ipsHide i-flex_00 ipsButton ipsButton--negative\" data-ipstooltip=\"\" title=\"{{#lang}}cancel{{/lang}}\">{{#lang}}cancel{{/lang}}</a> </div> <div class=\"cBlog_manage_edit ipsButtonGroup\"> <a href=\"#\" data-action=\"delete\" data-category-id=\"{{cat}}\" class=\"ipsButton\" data-ipstooltip title=\"{{#lang}}delete{{/lang}}\"><i class=\"fa-solid fa-circle-xmark\"></i></a> <a href=\"#\" data-action=\"edit\" data-category-id=\"{{cat}}\" class=\"ipsButton\" data-ipstooltip title=\"{{#lang}}edit{{/lang}}\"><i class\=\"fa-solid fa-pencil\"></i></a> </div></li>");;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('blog.front.view.manageCategories',{_sortableElem:null,initialize:function(){this.on('click','[data-action="delete"]',this.delete);this.on('click','[data-action="edit"]',this.edit);this.on('click','[data-role="saveChanges"]',this.saveChanges);this.on('click','[data-role="cancelChanges"]',this.cancelEditing);var _this=this;$(document).on('keydown',function(e){if(e.keyCode==ips.ui.key.ESCAPE){_this.cancelEditing();}});$('.ipsTabs ul[role="tablist"] a').on('click',this.tabChange);$('.ipsForm .ipsButtons').append(ips.templates.render('blog.view.addButton'));$('[data-action="addNew"]').on('click',_.bind(this.newRow,this));this.renderList();this.setup();},setup:function(){var self=this;ips.loader.get(['core/interface/jquery/jquery-ui.js']).then(function(){self.scope.find('[data-role="tableRows"]').sortable({placeholder:'sortable-placeholder',handle:'[data-role="sortHandle"]',items:'> li',forcePlaceholderSize:true,update:function(){var data=self.scope.find('[data-role="tableRows"]').sortable('toArray',{attribute:'data-category-id'})
|
||||
var url='?app=blog&module=blogs&controller=view&do=categoriesReorder&id='+self.scope.attr('data-blog-id');ips.getAjax()(url,{data:{ajax_order:data},method:'POST'}).done(function(){ips.ui.flashMsg.show(ips.getString('entry_cat_order_saved'));}).fail(function(){window.location=url+"&ajax_order="+data+"&csrfKey="+ips.getSetting('csrfKey');});}});Debug.log("Sortable categories initialized");});if(!$('#form_tab_blog_entry_categories').length){$('button[type="submit"]').addClass('ipsHide');$('button[data-action="addNew"]').removeClass('ipsHide');}},cancelEditing:function(e){e.preventDefault();var _this=this;this.scope.find('input[type="text"][name^="blog_name_"]').each(function(i){if(!$(this).hasClass('ipsHide')){var id=$(this).attr('data-role').replace(/^input_/,'');if(id=='new'){_this.renderList();}
|
||||
ips.templates.set('blog.view.addButton',"<li><button type=\"button\" class=\"ipsButton ipsButton--primary ipsHide\" data-action=\"addNew\">{{#lang}}manage_cats_new_row{{/lang}}</button></li>");ips.templates.set('blog.view.categoryRow',"<li class=\"ipsData__item\" itemprop=\"itemListElement\" data-category-id=\"{{cat}}\"> <span data-role=\"sortHandle\" class=\"i-cursor_move\"><i class=\"fa-solid fa-bars\"></i></span> <div class=\"ipsData__main i-flex i-gap_1\"> <span class=\"ipsData__title\" data-role=\"title_{{cat}}\">{{name}}</span> <input type=\"text\" name=\"blog_name_{{cat}}\" value=\"\" data-role=\"input_{{cat}}\" class=\"ipsInput ipsHide\"> <button type='button' data-role=\"saveChanges\" data-category-id=\"{{cat}}\" class=\"ipsHide i-flex_00 ipsButton ipsButton--positive\">{{#lang}}save{{/lang}}</button> <button type='button' data-role=\"cancelChanges\" data-category-id=\"{{cat}}\" class=\"ipsHide i-flex_00 ipsButton ipsButton--negative\">{{#lang}}cancel{{/lang}}</button> </div> <div class=\"cBlog_manage_edit ipsButtonGroup\"> <button type='button data-action=\"delete\" data-category-id=\"{{cat}}\" class=\"ipsButton\" data-ipstooltip title=\"{{#lang}}delete{{/lang}}\"><i class=\"fa-solid fa-circle-xmark\"></i></button> <button type='button data-action=\"edit\" data-category-id=\"{{cat}}\" class=\"ipsButton\" data-ipstooltip title=\"{{#lang}}edit{{/lang}}\"><i class\=\"fa-solid fa-pencil\"></i></button> </div></li>");;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('blog.front.view.manageCategories',{_sortableElem:null,initialize:function(){this.on('click','[data-action="delete"]',this.delete);this.on('click','[data-action="edit"]',this.edit);this.on('click','[data-role="saveChanges"]',this.saveChanges);this.on('click','[data-role="cancelChanges"]',this.cancelEditing);var _this=this;$(document).on('keydown',function(e){if(e.keyCode==ips.ui.key.ESCAPE){_this.cancelEditing();}});$('.ipsTabs [role="tablist"] a').on('click',this.tabChange);$('.ipsForm .ipsButtons').append(ips.templates.render('blog.view.addButton'));$('[data-action="addNew"]').on('click',_.bind(this.newRow,this));this.renderList();this.setup();},setup:function(){var self=this;ips.loader.get(['core/interface/jquery/jquery-ui.js']).then(function(){self.scope.find('[data-role="tableRows"]').sortable({placeholder:'sortable-placeholder',handle:'[data-role="sortHandle"]',items:'> li',forcePlaceholderSize:true,update:function(){var data=self.scope.find('[data-role="tableRows"]').sortable('toArray',{attribute:'data-category-id'})
|
||||
var url='?app=blog&module=blogs&controller=view&do=categoriesReorder&id='+self.scope.attr('data-blog-id');ips.getAjax()(url,{data:{ajax_order:data},method:'POST'}).done(function(){ips.ui.flashMsg.show(ips.getString('entry_cat_order_saved'));}).fail(function(){window.location=url+"&ajax_order="+data+"&csrfKey="+ips.getSetting('csrfKey');});}});Debug.log("Sortable categories initialized");});if(!$('#form_tab_blog_entry_categories').length){$('[type="submit"]').addClass('ipsHide');$('[data-action="addNew"]').removeClass('ipsHide');}},cancelEditing:function(e){e.preventDefault();var _this=this;this.scope.find('input[type="text"][name^="blog_name_"]').each(function(i){if(!$(this).hasClass('ipsHide')){var id=$(this).attr('data-role').replace(/^input_/,'');if(id=='new'){_this.renderList();}
|
||||
else
|
||||
{_this._cancelEditingRow(id);}}});},_cancelEditingRow:function(id){this.scope.find('[data-role="title_'+id+'"]').removeClass('ipsHide');this.scope.find('[data-role="input_'+id+'"]').addClass('ipsHide');this.scope.find('[data-role="saveChanges"][data-category-id="'+id+'"]').addClass('ipsHide');this.scope.find('[data-role="cancelChanges"][data-category-id="'+id+'"]').addClass('ipsHide');},newRow:function(e){var listContainer=this.scope.find('[data-role="tableRows"]');listContainer.append(ips.templates.render('blog.view.categoryRow',{cat:'new',name:''}));$('[data-action="addNew"]').attr('disabled',true);$('[data-action="delete"][data-category-id="new"],[data-action="edit"][data-category-id="new"],[data-role="sortHandle"]').hide();$('body').find('[data-action="edit"][data-category-id="new"]').click();this.scope.find('[data-role="tableRows"]').sortable("disable");},renderList:function(){var _this=this;ips.getAjax()('?app=blog&module=blogs&controller=view&do=categoriesJson&id='+this.scope.attr('data-blog-id')).done(function(response){if(response.categories.length){var listContainer=_this.scope.find('[data-role="tableRows"]');listContainer.html('');var json=response.categories;for(var i=0;i<json.length;i++){listContainer.append(ips.templates.render('blog.view.categoryRow',{cat:json[i].id,name:json[i].name}));}}});$('[data-action="addNew"]').attr('disabled',false);},tabChange:function(e){if(!$('#form_tab_blog_entry_categories').hasClass('ipsTabs__tab--active')){$('button[type="submit"]').addClass('ipsHide');$('button[data-action="addNew"]').removeClass('ipsHide');}else{$('button[type="submit"]').removeClass('ipsHide');$('button[data-action="addNew"]').addClass('ipsHide');}},edit:function(e){e.preventDefault();var a=$(e.currentTarget);var id=a.attr('data-category-id');var title=this.scope.find('[data-role="title_'+id+'"]');var input=this.scope.find('[data-role="input_'+id+'"]');var saveButton=this.scope.find('[data-role="saveChanges"][data-category-id="'+id+'"]');var cancelLink=this.scope.find('[data-role="cancelChanges"][data-category-id="'+id+'"]');if(!input.hasClass('ipsHide')){this._cancelEditingRow(id);return;}
|
||||
{_this._cancelEditingRow(id);}}});},_cancelEditingRow:function(id){this.scope.find('[data-role="title_'+id+'"]').removeClass('ipsHide');this.scope.find('[data-role="input_'+id+'"]').addClass('ipsHide');this.scope.find('[data-role="saveChanges"][data-category-id="'+id+'"]').addClass('ipsHide');this.scope.find('[data-role="cancelChanges"][data-category-id="'+id+'"]').addClass('ipsHide');},newRow:function(e){var listContainer=this.scope.find('[data-role="tableRows"]');listContainer.append(ips.templates.render('blog.view.categoryRow',{cat:'new',name:''}));$('[data-action="addNew"]').attr('disabled',true);$('[data-action="delete"][data-category-id="new"],[data-action="edit"][data-category-id="new"],[data-role="sortHandle"]').hide();$('body').find('[data-action="edit"][data-category-id="new"]').click();this.scope.find('[data-role="tableRows"]').sortable("disable");},renderList:function(){var _this=this;ips.getAjax()('?app=blog&module=blogs&controller=view&do=categoriesJson&id='+this.scope.attr('data-blog-id')).done(function(response){if(response.categories.length){var listContainer=_this.scope.find('[data-role="tableRows"]');listContainer.html('');var json=response.categories;for(var i=0;i<json.length;i++){listContainer.append(ips.templates.render('blog.view.categoryRow',{cat:json[i].id,name:json[i].name}));}}});$('[data-action="addNew"]').attr('disabled',false);},tabChange:function(e){if($('#form_tab_blog_entry_categories').attr('aria-selected')=='false'){$('button[type="submit"]').addClass('ipsHide');$('button[data-action="addNew"]').removeClass('ipsHide');}else{$('button[type="submit"]').removeClass('ipsHide');$('button[data-action="addNew"]').addClass('ipsHide');}},edit:function(e){e.preventDefault();var a=$(e.currentTarget);var id=a.attr('data-category-id');var title=this.scope.find('[data-role="title_'+id+'"]');var input=this.scope.find('[data-role="input_'+id+'"]');var saveButton=this.scope.find('[data-role="saveChanges"][data-category-id="'+id+'"]');var cancelLink=this.scope.find('[data-role="cancelChanges"][data-category-id="'+id+'"]');if(!input.hasClass('ipsHide')){this._cancelEditingRow(id);return;}
|
||||
title.addClass('ipsHide');input.val(title.html());input.removeClass('ipsHide');saveButton.removeClass('ipsHide');cancelLink.removeClass('ipsHide');},saveChanges:function(e){e.preventDefault();var a=$(e.currentTarget);var id=a.attr('data-category-id');var title=this.scope.find('[data-role="title_'+id+'"]');var input=this.scope.find('[data-role="input_'+id+'"]');var _this=this;var langBit=a.html();a.html(' ').addClass('ipsField_loading');ips.getAjax()('?app=blog&module=blogs&controller=view&do=editCategoryName&id='+this.scope.attr('data-blog-id')+'&cat='+id,{data:{name:input.val()},type:'post'}).done(function(response){_this.renderList();_this.scope.find('[data-role="tableRows"]').sortable("enable");}).fail(function(response){a.html(langBit).removeClass('ipsField_loading');ips.ui.flashMsg.show(response.responseJSON);});},delete:function(e){e.preventDefault();var a=$(e.currentTarget);var id=a.attr('data-category-id');var _this=this;ips.ui.alert.show({type:'confirm',message:ips.getString('blog_category_confirm_delete'),subText:ips.getString('blog_category_confirm_delete_desc'),icon:'info',callbacks:{ok:function(){if(a.attr('data-category-id')=='new'){_this.renderList();}else{ips.getAjax()('?app=blog&module=blogs&controller=view&do=deleteCategory&id='+_this.scope.attr('data-blog-id')+'&cat='+id).done(function(response){_this.renderList();}).fail(function(response){ips.ui.flashMsg.show(response.responseJSON);});}}}});return false;}});}(jQuery,_));;
|
||||
@@ -16,4 +16,4 @@ if(info.itemIsImage){info.itemPreview=$('<img/>').attr('src',selected.attr('data
|
||||
_.each(info,function(value,key){var elem=self._sidebar.find('[data-role="'+key+'"]');if(elem.is('input')){elem.val(value);}else if(key=='itemPreview'){elem.html(value);}else if(key=='itemUrl'){elem.html($('<a/>').attr('href',value).text(value).attr('target','_blank'));}
|
||||
else if(value===null){elem.html($('<span/>').addClass('i-color_soft').text('Loading...'));}else{elem.text(value);}});this._sidebar.find('[data-role="itemDimensionsRow"]').toggle(info.itemIsImage);this._sidebar.find('[data-role="itemTag"]').get(0).select();this._sidebar.find('[data-role="itemInformation"]').show().end().find('[data-role="multipleItems"]').hide();this._sidebar.find('[data-role="replaceFile"]').show();$(document).trigger('contentChange',[this._sidebar]);}},_doSearch:function(){if(this._searchAjax&&_.isFunction(this._searchAjax.abort)){this._searchAjax.abort();}
|
||||
var self=this;var value=this.scope.find('[data-role="mediaSearch"]').val();if(!_.isEmpty(value)){this._searchResults.show().addClass('ipsLoading');this._fileListing.hide();this._folderListing.addClass('cMedia_treeDisabled');this._searchAjax=ips.getAjax()('?app=cms&module=pages&controller=media&do=search',{data:{input:value}}).done(function(response){var newHTML=[];var output='';_.each(response,function(file,key){newHTML.push(file);});if(!newHTML.length){output=ips.templates.render('templates.media.noSearchResults');}else{output=ips.templates.render('templates.media.grid',{contents:newHTML.join('')});}
|
||||
self._searchResults.removeClass('ipsLoading').html(output);$(document).trigger('contentChange',[self._searchResults]);self._unselectAll();self._updatePreview();self._checkDeleteButton();})}else{this._searchResults.hide().html('');this._fileListing.show();this._folderListing.removeClass('cMedia_treeDisabled');this._updatePreview();this._checkDeleteButton();}},_getSelected:function(){if(this._fileListing.is(':visible')){return this._fileListing.find('.cMedia_itemSelected');}else{return this._searchResults.find('.cMedia_itemSelected');}},_resetSearch:function(){this.scope.find('[data-role="mediaSearch"]').val('');this._searchResults.hide();this._fileListing.show();this._unselectAll();this._updatePreview();this._checkDeleteButton();},_unselectAll:function(){this._fileListing.find('.cMedia_item').removeClass('cMedia_itemSelected');this._searchResults.find('.cMedia_item').removeClass('cMedia_itemSelected');},_switchToTab:function(tab){if(tab=='overview'){this.scope.find('#elTab_overview').removeClass('ipsTabs__tabDisabled');this.scope.find('#elTab_overview').click();}}});}(jQuery,_));;
|
||||
self._searchResults.removeClass('ipsLoading').html(output);$(document).trigger('contentChange',[self._searchResults]);self._unselectAll();self._updatePreview();self._checkDeleteButton();})}else{this._searchResults.hide().html('');this._fileListing.show();this._folderListing.removeClass('cMedia_treeDisabled');this._updatePreview();this._checkDeleteButton();}},_getSelected:function(){if(this._fileListing.is(':visible')){return this._fileListing.find('.cMedia_itemSelected');}else{return this._searchResults.find('.cMedia_itemSelected');}},_resetSearch:function(){this.scope.find('[data-role="mediaSearch"]').val('');this._searchResults.hide();this._fileListing.show();this._unselectAll();this._updatePreview();this._checkDeleteButton();},_unselectAll:function(){this._fileListing.find('.cMedia_item').removeClass('cMedia_itemSelected');this._searchResults.find('.cMedia_item').removeClass('cMedia_itemSelected');},_switchToTab:function(tab){if(tab=='overview'){this.scope.find('#ipsTabs_mediaSidebar_overview').click();}}});}(jQuery,_));;
|
||||
@@ -1,11 +1,11 @@
|
||||
ips.templates.set('templates.editor.newTab'," <li data-fileid='{{fileid}}' data-location='{{location}}'> <a href='#' class='ipsTabs__tab' id='{{id}}'>{{title}} <span data-action='closeTab'><i class='fa-solid fa-xmark'></i></span></a> </li>");ips.templates.set('templates.editor.tabPanel'," <div data-fileid='{{fileid}}' id='ipsTabs_elTemplateEditor_tabbar_tab_{{fileid}}_panel' class='ipsTabs__panel' style='display: none' data-location='{{location}}' data-type='{{type}}' data-group='{{group}}' data-name='{{name}}' data-type='{{type}}' data-itemID='{{id}}' data-inherited-value='{{inherited}}'> {{{content}}} </div>");ips.templates.set('templates.editor.tabContent'," <input data-role='group' type='hidden' name='group_{{fileid}}' value=\"{{{group}}}\"> <input data-role='variables' type='hidden' name='variables_{{fileid}}' value=\"{{{variables}}}\"> <input data-role='title' type='hidden' name='title_{{fileid}}' value=\"{{{title}}}\"> <input data-role='description' type='hidden' name='description_{{fileid}}' value=\"{{{description}}}\"> <textarea data-fileid='{{fileid}}' id='editor_{{fileid}}'>{{{content}}}</textarea>");ips.templates.set('templates.editor.unsaved'," <i class='fa-solid fa-circle'></i>");ips.templates.set('templates.editor.saved'," <i class='fa-solid fa-xmark'></i>");ips.templates.set('templates.editor.pagesDiffHeaders'," <div class='cTemplateMergeHeaders i-background_2'> <div class='cTemplateMergeHeader'> <div class='i-padding_2'><strong>{{#lang}}theme_diff_original_header{{/lang}}</strong> <span class='i-font-size_-1 i-color_soft'>{{#lang}}theme_diff_original_desc{{/lang}}</span></div> </div> <div class='cTemplateMergeHeader'> <div class='i-padding_2'><strong>{{#lang}}theme_diff_custom_header{{/lang}}</strong> <span class='i-font-size_-1 i-color_soft'>{{#lang}}theme_diff_custom_desc{{/lang}}</span></div> </div></div>");;
|
||||
ips.templates.set('templates.editor.newTab'," <a href='#' class='ipsTabs__tab' id='ipsTabs_elTemplateEditor_tabbar_tab_{{fileid}}' role='tab' aria-controls='ipsTabs_elTemplateEditor_tabbar_tab_{{fileid}}_panel' aria-selected='false' data-fileid='{{fileid}}' data-location='{{location}}'>{{title}} <span data-action='closeTab'><i class='fa-solid fa-xmark'></i></span></a>");ips.templates.set('templates.editor.tabPanel'," <div class='ipsTabs__panel' id='ipsTabs_elTemplateEditor_tabbar_tab_{{fileid}}_panel' role='tabpanel' aria-labelledby='ipsTabs_elTemplateEditor_tabbar_tab_{{fileid}}' hidden data-fileid='{{fileid}}' data-location='{{location}}' data-type='{{type}}' data-group='{{group}}' data-name='{{name}}' data-type='{{type}}' data-itemID='{{id}}' data-inherited-value='{{inherited}}'> {{{content}}} </div>");ips.templates.set('templates.editor.tabContent'," <input data-role='group' type='hidden' name='group_{{fileid}}' value=\"{{{group}}}\"> <input data-role='variables' type='hidden' name='variables_{{fileid}}' value=\"{{{variables}}}\"> <input data-role='title' type='hidden' name='title_{{fileid}}' value=\"{{{title}}}\"> <input data-role='description' type='hidden' name='description_{{fileid}}' value=\"{{{description}}}\"> <textarea data-fileid='{{fileid}}' id='editor_{{fileid}}'>{{{content}}}</textarea>");ips.templates.set('templates.editor.unsaved'," <i class='fa-solid fa-circle'></i>");ips.templates.set('templates.editor.saved'," <i class='fa-solid fa-xmark'></i>");ips.templates.set('templates.editor.pagesDiffHeaders'," <div class='cTemplateMergeHeaders i-background_2'> <div class='cTemplateMergeHeader'> <div class='i-padding_2'><strong>{{#lang}}theme_diff_original_header{{/lang}}</strong> <span class='i-font-size_-1 i-color_soft'>{{#lang}}theme_diff_original_desc{{/lang}}</span></div> </div> <div class='cTemplateMergeHeader'> <div class='i-padding_2'><strong>{{#lang}}theme_diff_custom_header{{/lang}}</strong> <span class='i-font-size_-1 i-color_soft'>{{#lang}}theme_diff_custom_desc{{/lang}}</span></div> </div></div>");;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.admin.templates.addForm',{initialize:function(){this.on('submit','form.ipsForm',this.submitForm);this.on(document,'fileListRefreshed.templates',this.closeDialog);},submitForm:function(e){e.preventDefault();var self=this;if(!$(e.currentTarget).attr('data-bypassValidation')){return;}
|
||||
ips.getAjax()($(e.currentTarget).attr('action'),{dataType:'json',data:$(e.currentTarget).serialize(),type:'post'}).done(function(response){self.trigger('addedFile.templates',{type:self.scope.attr('data-type'),fileID:response.id,name:response.name});});},closeDialog:function(e,data){this.trigger('closeDialog');}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.admin.templates.conflict',{initialize:function(){this.on('click','.ipsButton',this.makeSelection);this.setup();},setup:function(){$('span[data-conflict-name] input[type=radio]').hide();},makeSelection:function(e){var span=$(e.target).closest('span');var radio=$(span).find('input[type=radio]');var name=$(span).attr('data-conflict-name');var id=$(radio).attr('name').replace(/conflict_/,'');if(span.hasClass('ipsButton--disabled')){return false;}
|
||||
else if(span.hasClass('ipsButton--secondary')){radio.removeAttr('checked');span.removeClass('ipsButton--secondary').addClass('ipsButton--primary').find('strong').html(ips.getString('sc_use_this_version'));$('input[type=radio][name=conflict_'+id+']').closest('span.ipsButton[data-conflict-name='+(name=='new'?'old':'new')+']').removeClass('ipsButton--disabled');$('th span[data-conflict-id='+id+'][data-conflict-name='+name+']').removeClass('ipsBadge ipsBadge--positive');ips.utils.anim.go('blindDown',this.scope.find('div[data-conflict-id='+id+']'));}
|
||||
else
|
||||
{radio.attr('checked','checked');span.removeClass('ipsButton--primary').addClass('ipsButton--secondary').find('strong').html(ips.getString('sc_remove_selection'));$('input[type=radio][name=conflict_'+id+']').closest('span.ipsButton[data-conflict-name='+(name=='new'?'old':'new')+']').addClass('ipsButton--disabled');$('th span[data-conflict-id='+id+'][data-conflict-name='+name+']').addClass('ipsBadge ipsBadge--positive');ips.utils.anim.go('fadeOut',this.scope.find('div[data-conflict-id='+id+']'));}}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('cms.admin.templates.fileEditor',{_tabBar:null,_tabContent:null,_fileStore:{},_ajaxURL:'',_cmInstances:{},_currentHeight:0,_editorPreferences:{wrap:true,lines:false},initialize:function(){this.on(document,'openFile.templates',this.openFile);this.on(document,'variablesUpdated.templates',this.updateVariables);this.on('tabChanged',this.changedTab);this.on('click','[data-action="closeTab"]',this.closeTab);this.on('click','[data-action="save"]',this.save);this.on('click','[data-action="revert"]:not( .ipsButton--disabled )',this.revert);this.on('savedFile.templates',this.updateFile);this.on('revertedFile.templates',this.updateFile);this.on('openDialog',this.openedDialog);this.on('menuItemSelected',this.menuSelected);var debounce=_.debounce(_.bind(this._recalculatePanelWrapper,this),100);this.on(window,'resize',debounce);this.setup();},setup:function(){var self=this;this._tabBar=this.scope.find('#elTemplateEditor_tabbar > ul');this._tabContent=this.scope.find('#elTemplateEditor_panels');this._currentHeight=this._tabBar.outerHeight();this._ajaxURL=this.scope.closest('[data-ajaxURL]').attr('data-ajaxURL');this._normalURL=this.scope.closest('[data-normalURL]').attr('data-normalURL');this._editorPreferences['wrap']=ips.utils.db.get('templateEditor','wrap');this._editorPreferences['lines']=ips.utils.db.get('templateEditor','lines');if(this._editorPreferences['wrap']){$('#elTemplateEditor_preferences_menu').find('[data-ipsMenuValue="wrap"]').addClass('ipsMenu_itemChecked');}
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('cms.admin.templates.fileEditor',{_tabBar:null,_tabContent:null,_fileStore:{},_ajaxURL:'',_cmInstances:{},_currentHeight:0,_editorPreferences:{wrap:true,lines:false},initialize:function(){this.on(document,'openFile.templates',this.openFile);this.on(document,'variablesUpdated.templates',this.updateVariables);this.on('tabChanged',this.changedTab);this.on('click','[data-action="closeTab"]',this.closeTab);this.on('click','[data-action="save"]',this.save);this.on('click','[data-action="revert"]:not( .ipsButton--disabled )',this.revert);this.on('savedFile.templates',this.updateFile);this.on('revertedFile.templates',this.updateFile);this.on('openDialog',this.openedDialog);this.on('menuItemSelected',this.menuSelected);var debounce=_.debounce(_.bind(this._recalculatePanelWrapper,this),100);this.on(window,'resize',debounce);this.setup();},setup:function(){var self=this;this._tabBar=this.scope.find('#elTemplateEditor_tabbar [role="tablist"]');this._tabContent=this.scope.find('#elTemplateEditor_panels');this._currentHeight=this._tabBar.outerHeight();this._ajaxURL=this.scope.closest('[data-ajaxURL]').attr('data-ajaxURL');this._normalURL=this.scope.closest('[data-normalURL]').attr('data-normalURL');this._editorPreferences['wrap']=ips.utils.db.get('templateEditor','wrap');this._editorPreferences['lines']=ips.utils.db.get('templateEditor','lines');if(this._editorPreferences['wrap']){$('#elTemplateEditor_preferences_menu').find('[data-ipsMenuValue="wrap"]').addClass('ipsMenu_itemChecked');}
|
||||
if(this._editorPreferences['lines']){$('#elTemplateEditor_preferences_menu').find('[data-ipsMenuValue="lines"]').addClass('ipsMenu_itemChecked');}
|
||||
this._tabContent.find('[data-group]').each(function(i,item){var original=self._tabContent.find('[data-fileid="'+$(item).attr('data-fileid')+
|
||||
'"] input[data-role="variables"]');if(original.length){original.after($('<input/>').attr('type','hidden').attr('name',original.attr('name')).attr('value',original.attr('value')).attr('data-role','variables'))
|
||||
@@ -25,25 +25,25 @@ this.trigger('savingFile.templates');ips.getAjax()(this._normalURL+'&do=save',{d
|
||||
else
|
||||
{self.trigger('savedFile.templates',{key:key,oldID:parseInt(panel.attr('data-itemID')),newID:parseInt(response.template_id),newTitle:response.template_title,oldContainer:parseInt(panel.attr('data-container')),newContainer:parseInt(response.template_container),status:(response.template_user_added==1)?'custom':'changed'});self._setChanged(false,key);self._updateToolbar(active.tab);self._updateTabLabel(key,response.template_title);}}).fail(function(){ips.ui.alert.show({type:'alert',message:ips.getString('saveThemeError'),icon:'warn'});}).always(function(){self.trigger('saveFileFinished.templates');});},revert:function(e,bypass){e.preventDefault();var self=this;var active=this._getActiveTab();var panel=active.tabPanel;var key=panel.attr('data-fileid');var message=($(e.currentTarget).attr('data-actionType')=='revert')?ips.getString('skin_revert_confirm'):ips.getString('skin_delete_confirm');if(bypass!==true){ips.ui.alert.show({type:'confirm',message:message,icon:'warn',callbacks:{ok:function(){self.revert(e,true);}}});return;}
|
||||
var save=this._getParametersFromPanel(panel);ips.getAjax()(this._normalURL+'&do=delete&wasConfirmed=1',{dataType:'json',data:save,type:'post'}).done(function(response){if(response.template_id){self._revertedFile(response,key,active);}else{self._deletedFile(key,active);}});},_revertedFile:function(response,key,active){this.trigger('revertedFile.templates',{key:key,oldID:parseInt(active.tabPanel.attr('data-itemID')),newID:parseInt(response.template_id),status:response.InheritedValue});$('#editor_'+key).val(response.template_content);this._cmInstances[key].setValue(response.template_content);this._setChanged(false,key);this._updateToolbar(active.tab);},_deletedFile:function(key,active){this.trigger('deletedFile.templates',{key:key,fileID:active.tabPanel.attr('data-itemID'),location:active.tabPanel.attr('data-location'),type:active.tabPanel.attr('data-type')});active.tab.find('[data-action="closeTab"]').click();},_getParametersFromPanel:function(panel){return{t_type:panel.attr('data-type'),t_location:panel.attr('data-location'),t_item_id:panel.attr('data-itemID'),t_container:panel.find('input[data-role=container]').val(),t_group:panel.attr('data-group'),t_name:panel.attr('data-name'),t_key:panel.attr('data-fileid')};},updateFile:function(e,data){this.scope.find('[data-itemID="'+data.oldID+'"]').attr('data-itemID',data.newID).attr('data-container',data.newContainer).attr('data-inherited-value',data.status);},closeTab:function(e){var tab=$(e.currentTarget).closest('.ipsTabs__tab');this._doCloseTab(tab);},_doCloseTab:function(tab,bypass){var self=this;var tabParent=tab.closest('[data-fileid]');var key=tabParent.attr('data-fileid');var allTabs=this._tabBar.find('.ipsTabs__tab').closest('[data-fileid]');var newTab=null;if(tabParent.attr('data-state')=='unsaved'&&bypass!=true){ips.ui.alert.show({type:'confirm',message:ips.getString('themeUnsavedContent'),icon:'warn',callbacks:{ok:function(){self._doCloseTab(tab,true);}}});return;}
|
||||
var active=tab.hasClass('ipsTabs__tab--active');this.trigger('closedTab.templates',{fileID:key});delete(this._cmInstances[key]);if(active&&allTabs.length>1){if(allTabs.first().attr('data-fileid')==tabParent.attr('data-fileid')){newTab=tabParent.next();}else{newTab=tabParent.prev();}}
|
||||
if(newTab){newTab.find('> a').click();}
|
||||
var active=(tab.attr('aria-selected')==='true');this.trigger('closedTab.templates',{fileID:key});delete(this._cmInstances[key]);if(active&&allTabs.length>1){if(allTabs.first().attr('data-fileid')==tabParent.attr('data-fileid')){newTab=tabParent.next();}else{newTab=tabParent.prev();}}
|
||||
if(newTab){newTab.click();}
|
||||
ips.utils.anim.go('fadeOutDown fast',tabParent).done(function(){tabParent.remove();self._recalculatePanelWrapper();});this._tabContent.find('[data-fileid="'+key+'"]').remove();},changedTab:function(e,data){var tab=data.tab;if(!_.isUndefined(tab.closest('[data-fileid]').attr('data-fileid'))){this.trigger('fileSelected.templates',{fileID:tab.closest('[data-fileid]').attr('data-fileid')});}
|
||||
this._updateToolbar(tab);},_updateToolbar:function(tab){var tabParent=tab.closest('[data-fileid]').attr('data-fileid');var tabPanel=this._tabContent.find('[data-fileid="'+tabParent+'"]');var status=tabPanel.attr('data-inherited-value');var type=tabPanel.attr('data-type');var revert=this.scope.find('[data-action="revert"]');var key=tabPanel.attr('data-fileid');switch(status){case'original':case'inherit':revert.addClass('ipsButton--disabled')
|
||||
break;case'custom':revert.html(ips.getString('skin_delete')).removeClass('ipsButton--disabled').attr('data-actionType','delete').show();break;case'changed':revert.html(ips.getString('skin_delete')).removeClass('ipsButton--disabled').attr('data-actionType','delete').show();break;}
|
||||
$('#elTemplateEditor_variables').show();$('#elTemplateEditor_attributes').hide();if(this._cmInstances[key]instanceof CodeMirror.MergeView){$('[data-ipsmenuvalue="diff"]').addClass('ipsMenu_itemChecked');}else{$('[data-ipsmenuvalue="diff"]').removeClass('ipsMenu_itemChecked');}},openFile:function(e,data){if(!this._tabBar.find('[data-fileid="'+data.meta.key+'"]').length){this._buildTab(data.meta);}else{this._tabBar.find('[data-fileid="'+data.meta.key+'"] > a').click();}},_buildTab:function(meta){var self=this;this._tabContent.attr('data-haseditor','true');this.scope.find('#elTemplateEditor_panels_empty').hide();this._tabBar.append(ips.templates.render('templates.editor.newTab',{title:meta.title,fileid:meta.key,location:meta.location,group:meta.group,container:meta.container,id:'tab_'+meta.key}));this._tabContent.append(ips.templates.render('templates.editor.tabPanel',{fileid:meta.key,name:meta.name,type:meta.type,location:meta.location,container:meta.container,group:meta.group,id:meta.id,inherited:meta.inherited}));this._recalculatePanelWrapper();this._tabBar.find('[data-fileid="'+meta.key+'"] > a').click();this._tabContent.addClass('ipsLoading ipsTabs_loadingContent');ips.getAjax()(this._ajaxURL+'&do=loadTemplate&show=json',{dataType:'json',data:{'t_container':meta.container,'t_group':meta.group,'t_name':meta.name,'t_key':meta.key,'t_location':meta.location,'t_type':meta.type}}).done(function(response){self._postProcessNewTab(response,meta);}).always(function(){self._tabContent.removeClass('ipsLoading ipsTabs_loadingContent');});},_updateTabLabel:function(key,title){var span=this._tabBar.find('[data-fileid="'+key+'"] > a span').clone();this._tabBar.find('[data-fileid="'+key+'"] > a').html(title).append(span);},_postProcessNewTab:function(response,meta){var content=ips.templates.render('templates.editor.tabContent',{fileid:meta.key,content:response.template_content,variables:response.template_params,description:response.template_desc,title:response.template_title,container:response.template_container,group:response.template_group});this._tabContent.find('[data-fileid="'+meta.key+'"]').html(content);this._initCodeMirror(meta.key,meta.type);},_initCodeMirror:function(key,type){var self=this;this._cmInstances[key]=CodeMirror.fromTextArea(document.getElementById('editor_'+key),{mode:(type=='template'?'htmlmixed':'css'),lineWrapping:this._editorPreferences['wrap'],lineNumbers:this._editorPreferences['lines']});this._cmInstances[key].on('change',function(doc,cm){self._setChanged(true,key);});},_setChanged:function(state,key){if(state==true){this._tabBar.find('[data-fileid="'+key+'"]').attr('data-state','unsaved').find('[data-action="closeTab"]').html(ips.templates.render('templates.editor.unsaved'));}else{this._tabBar.find('[data-fileid="'+key+'"]').attr('data-state','saved').find('[data-action="closeTab"]').html(ips.templates.render('templates.editor.saved'));}},_recalculatePanelWrapper:function(){},_getActiveTab:function(){var toReturn={tab:null,tabPanel:null};var tab=this._tabBar.find('.ipsTabs__tab.ipsTabs__tab--active').first().parent();if(!tab.length){return toReturn;}
|
||||
$('#elTemplateEditor_variables').show();$('#elTemplateEditor_attributes').hide();if(this._cmInstances[key]instanceof CodeMirror.MergeView){$('[data-ipsmenuvalue="diff"]').addClass('ipsMenu_itemChecked');}else{$('[data-ipsmenuvalue="diff"]').removeClass('ipsMenu_itemChecked');}},openFile:function(e,data){if(!this._tabBar.find('[data-fileid="'+data.meta.key+'"]').length){this._buildTab(data.meta);}else{this._tabBar.find('[data-fileid="'+data.meta.key+'"]').click();}},_buildTab:function(meta){var self=this;this._tabContent.attr('data-haseditor','true');this.scope.find('#elTemplateEditor_panels_empty').hide();this._tabBar.append(ips.templates.render('templates.editor.newTab',{title:meta.title,fileid:meta.key,location:meta.location,group:meta.group,container:meta.container,id:'tab_'+meta.key}));this._tabContent.append(ips.templates.render('templates.editor.tabPanel',{fileid:meta.key,name:meta.name,type:meta.type,location:meta.location,container:meta.container,group:meta.group,id:meta.id,inherited:meta.inherited}));this._recalculatePanelWrapper();this._tabBar.find('[data-fileid="'+meta.key+'"]').click();this._tabContent.addClass('ipsLoading ipsTabs_loadingContent');ips.getAjax()(this._ajaxURL+'&do=loadTemplate&show=json',{dataType:'json',data:{'t_container':meta.container,'t_group':meta.group,'t_name':meta.name,'t_key':meta.key,'t_location':meta.location,'t_type':meta.type}}).done(function(response){self._postProcessNewTab(response,meta);}).always(function(){self._tabContent.removeClass('ipsLoading ipsTabs_loadingContent');});},_updateTabLabel:function(key,title){var span=this._tabBar.find('[data-fileid="'+key+'"] span').clone();this._tabBar.find('[data-fileid="'+key+'"]').html(title).append(span);},_postProcessNewTab:function(response,meta){var content=ips.templates.render('templates.editor.tabContent',{fileid:meta.key,content:response.template_content,variables:response.template_params,description:response.template_desc,title:response.template_title,container:response.template_container,group:response.template_group});this._tabContent.find('[data-fileid="'+meta.key+'"]').html(content);this._initCodeMirror(meta.key,meta.type);},_initCodeMirror:function(key,type){var self=this;this._cmInstances[key]=CodeMirror.fromTextArea(document.getElementById('editor_'+key),{mode:(type=='template'?'htmlmixed':'css'),lineWrapping:this._editorPreferences['wrap'],lineNumbers:this._editorPreferences['lines']});this._cmInstances[key].on('change',function(doc,cm){self._setChanged(true,key);});},_setChanged:function(state,key){if(state==true){this._tabBar.find('[data-fileid="'+key+'"]').attr('data-state','unsaved').find('[data-action="closeTab"]').html(ips.templates.render('templates.editor.unsaved'));}else{this._tabBar.find('[data-fileid="'+key+'"]').attr('data-state','saved').find('[data-action="closeTab"]').html(ips.templates.render('templates.editor.saved'));}},_recalculatePanelWrapper:function(){},_getActiveTab:function(){var toReturn={tab:null,tabPanel:null};var tab=this._tabBar.find('[aria-selected="true"]').first();if(!tab.length){return toReturn;}
|
||||
toReturn={tab:tab,tabPanel:this._tabContent.find('[data-fileid="'+tab.attr('data-fileid')+'"]')};return toReturn;},_getTabContentHeight:function(){var tabContentTop=this._tabContent.offset().top;var windowHeight=$(window).height();var infoHeight=$('#elTemplateEditor_info').outerHeight();this._panelHeight=windowHeight-tabContentTop-infoHeight;return this._panelHeight;}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('cms.admin.templates.fileList',{_tabBar:null,_tabContent:null,initialize:function(){this.on('click','[data-action="openFile"]',this.openFile);this.on('modifiedFile.templates',this.refreshFileList);this.on(document,'fileSelected.templates',this.selectFile);this.on(document,'savedFile.templates revertedFile.templates',this.updateItemMeta);this.on(document,'savedFile.templates revertedFile.templates',this.fileChangedStatus);this.on(document,'addedFile.templates',this.refreshFileList);this.on(document,'deletedFile.templates',this.refreshFileList);this.setup();},setup:function(){this._tabBar=this.scope.find('#elTemplateEditor_typeTabs');this._tabContent=this.scope.find('#elTemplateEditor_fileList');},refreshFileList:function(e,data){var self=this;var type=data.type;var panel=this._tabContent.find('.cTemplateList[data-type="'+type+'"]');var activeItem=panel.find('.cTemplateList_activeNode > a').attr('data-key');if(!panel.length){this._tabBar.find('[data-type="'+type+'"]').click();}else{var open=this._getOpenNodes(panel);var url=this._tabBar.find('[data-type]').attr('data-tabURL');ips.getAjax()(url).done(function(response){panel.html(response);self._openNodes(open,panel,activeItem);if(data.fileID){panel.find('[data-itemid="'+data.fileID+'"]').click();}
|
||||
self.trigger('fileListRefreshed.templates');});}},_openNodes:function(toOpen,panel,activeItem){var selector=[];if(toOpen.locations.length){for(var i=0;i<toOpen.locations.length;i++){selector.push('[data-location="'+toOpen.locations[i]+'"]');}}
|
||||
if(toOpen.groups.length){for(var i=0;i<toOpen.groups.length;i++){var str='[data-location="'+toOpen.groups[i][0]+'"] ';str+='[data-group="'+toOpen.groups[i][1]+'"]';selector.push(str);}}
|
||||
panel.find('.cTemplateList_activeBranch').removeClass('cTemplateList_activeBranch').addClass('cTemplateList_inactiveBranch').end().find(selector.join(',')).removeClass('cTemplateList_inactiveBranch').addClass('cTemplateList_activeBranch');if(activeItem){panel.find('[data-key="'+activeItem+'"]').click();}},_getOpenNodes:function(panel){var locations=[];var groups=[];panel.find('.cTemplateList_activeBranch').each(function(i,item){var el=$(item);if(el.attr('data-location')){locations.push(el.attr('data-location'));}
|
||||
if(el.attr('data-group')){groups.push([el.closest('[data-location]').attr('data-location'),el.attr('data-group')]);}});return{locations:locations,groups:groups};},selectFile:function(e,data){if(data.fileID){this._makeActive(data.fileID);}},openFile:function(e){e.preventDefault();var elem=$(e.currentTarget);var meta={name:elem.attr('data-name'),key:elem.attr('data-key'),type:elem.closest('[data-type]').attr('data-type'),title:elem.text(),group:elem.closest('[data-group]').attr('data-group'),location:elem.closest('[data-location]').attr('data-location'),id:elem.closest('[data-itemID]').attr('data-itemID'),inherited:elem.closest('[data-inherited-value]').attr('data-inherited-value')};Debug.log(meta);this.trigger('openFile.templates',{meta:meta});},updateItemMeta:function(e,data){if(data.oldID!=data.newID){this.scope.find('[data-itemID="'+data.oldID+'"]').attr('data-itemID',data.newID);}
|
||||
this.scope.find('[data-itemID="'+data.newID+'"]').attr('data-name',data.newTitle).html(data.newTitle);if(data.oldContainer!=data.newContainer){data.fileID=data.newID;this.trigger('modifiedFile.templates',data);}},fileChangedStatus:function(e,data){this.scope.find('[data-key="'+data.key+'"]').attr('data-inherited-value',data.status);},_makeActive:function(fileID){var file=this.scope.find('[data-key="'+fileID+'"]');this.scope.find('[data-key]').parent().removeClass('cTemplateList_activeNode');file.parent().addClass('cTemplateList_activeNode');file.parents('li[data-group], li[data-location]').each(function(idx,parent){if($(parent).hasClass('cTemplateList_inactiveBranch')){$(parent).removeClass('cTemplateList_inactiveBranch').addClass('cTemplateList_activeBranch').find('> ul').show();}});},_currentType:function(){if(this._tabBar.find('[data-type="template"]').hasClass('ipsTabs__tab--active')){return'template';}
|
||||
if(this._tabBar.find('[data-type="js"]').hasClass('ipsTabs__tab--active')){return'js';}
|
||||
this.scope.find('[data-itemID="'+data.newID+'"]').attr('data-name',data.newTitle).html(data.newTitle);if(data.oldContainer!=data.newContainer){data.fileID=data.newID;this.trigger('modifiedFile.templates',data);}},fileChangedStatus:function(e,data){this.scope.find('[data-key="'+data.key+'"]').attr('data-inherited-value',data.status);},_makeActive:function(fileID){var file=this.scope.find('[data-key="'+fileID+'"]');this.scope.find('[data-key]').parent().removeClass('cTemplateList_activeNode');file.parent().addClass('cTemplateList_activeNode');file.parents('li[data-group], li[data-location]').each(function(idx,parent){if($(parent).hasClass('cTemplateList_inactiveBranch')){$(parent).removeClass('cTemplateList_inactiveBranch').addClass('cTemplateList_activeBranch').find('> ul').show();}});},_currentType:function(){if(this._tabBar.find('[data-type="template"]').attr('aria-selected')==="true"){return'template';}
|
||||
if(this._tabBar.find('[data-type="js"]').attr('aria-selected')==="true"){return'js';}
|
||||
return'css';}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('cms.admin.templates.main',{_timer:null,_textField:null,_lastValue:'',_ajax:null,initialize:function(){this._textField=$(this.scope).find('[data-role="templateSearch"]');this.on(document,'focus','[data-role="templateSearch"]',this.fieldFocus);this.on(document,'blur','[data-role="templateSearch"]',this.fieldBlur);this.on('menuItemSelected',this.menuSelected);this.on('savingFile.templates',this.showLoading);this.on('saveFileFinished.templates',this.hideLoading);},showLoading:function(e){ips.utils.anim.go('fadeIn',this.scope.find('[data-role="loading"]'));},hideLoading:function(e){ips.utils.anim.go('fadeOut',this.scope.find('[data-role="loading"]'));},fieldFocus:function(e){this._timer=setInterval(_.bind(this._timerFocus,this),700);},fieldBlur:function(e){clearInterval(this._timer);},_timerFocus:function(){var currentValue=this._textField.val();if(currentValue==this._lastValue){return;}
|
||||
this._lastValue=currentValue;this._loadResults();},_swapTab:function(e,data){if(data.barID=='elTemplateEditor_typeTabs'){this._loadResults();}},menuSelected:function(e,data){if(data.originalEvent){data.originalEvent.preventDefault();}
|
||||
this._loadResults();},_loadResults:function(){if(this._ajax){this._ajax.abort();}
|
||||
if(this._lastValue){this._textField.addClass('ipsField_loading');}
|
||||
var type=$('#elTemplateEditor_typeTabs').find('.ipsTabs__tab--active').attr('data-type');var type=(type=='templates')?'template':type;$('#elTemplateEditor_fileList').find('li[data-type='+type+']').addClass('ipsHide');var filters=[];$('#elTemplateFilterMenu_menu .ipsMenu_itemChecked').each(function(){filters.push($(this).attr('data-ipsMenuValue'));});var self=this;this._ajax=ips.getAjax()($(this.scope).attr('data-ajaxURL')+'&do=searchtemplates&type='+type+'&term='+encodeURIComponent(this._lastValue)+'&filters='+filters.join(',')).done(function(response){var i;var j;for(j in response){$('#elTemplateEditor_fileList').find('[data-location="'+j+'"]').removeClass('ipsHide');var k;for(k in response[j]){$('#elTemplateEditor_fileList').find('[data-location="'+j+'"] [data-group="'+k+'"]').removeClass('ipsHide');var l;for(l in response[j][k]){if(k=='.'){$('#elTemplateEditor_fileList').find('[data-location="'+j+'"] [data-name="'+response[j][k][l]+'"]').parent().removeClass('ipsHide');}else{$('#elTemplateEditor_fileList').find('[data-location="'+j+'"] [data-group="'+k+'"] [data-name="'+response[j][k][l]+'"]').parent().removeClass('ipsHide');}}}}
|
||||
var type=$('#elTemplateEditor_typeTabs').find('[aria-selected="true"]').attr('data-type');var type=(type=='templates')?'template':type;$('#elTemplateEditor_fileList').find('li[data-type='+type+']').addClass('ipsHide');var filters=[];$('#elTemplateFilterMenu_menu .ipsMenu_itemChecked').each(function(){filters.push($(this).attr('data-ipsMenuValue'));});var self=this;this._ajax=ips.getAjax()($(this.scope).attr('data-ajaxURL')+'&do=searchtemplates&type='+type+'&term='+encodeURIComponent(this._lastValue)+'&filters='+filters.join(',')).done(function(response){var i;var j;for(j in response){$('#elTemplateEditor_fileList').find('[data-location="'+j+'"]').removeClass('ipsHide');var k;for(k in response[j]){$('#elTemplateEditor_fileList').find('[data-location="'+j+'"] [data-group="'+k+'"]').removeClass('ipsHide');var l;for(l in response[j][k]){if(k=='.'){$('#elTemplateEditor_fileList').find('[data-location="'+j+'"] [data-name="'+response[j][k][l]+'"]').parent().removeClass('ipsHide');}else{$('#elTemplateEditor_fileList').find('[data-location="'+j+'"] [data-group="'+k+'"] [data-name="'+response[j][k][l]+'"]').parent().removeClass('ipsHide');}}}}
|
||||
self._textField.removeClass('ipsField_loading');});}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('cms.admin.templates.variablesDialog',{initialize:function(){this.on('click','input[type="submit"]',this.submitChange);},submitChange:function(e){var key=this.scope.find('[name="_variables_fileid"]').val();$('[data-fileid="'+key+'"]').attr('data-state','unsaved').find('[data-action="closeTab"]').html(ips.templates.render('templates.editor.unsaved'));this.trigger('variablesUpdated.templates',{fileID:this.scope.find('[name="_variables_fileid"]').val(),value:this.scope.find('[data-role="variables"]').val(),title:this.scope.find('[data-role="title"]').val(),description:this.scope.find('[data-role="description"]').val(),container:this.scope.find('[data-role="container"]').val(),group:this.scope.find('[data-role="group"]:not(.ipsHide)').val()});this.trigger('closeDialog');}});}(jQuery,_));;
|
||||
@@ -1,11 +1,11 @@
|
||||
ips.templates.set('moderatorPermissions.checkUncheckAll'," <li class='ipsFieldRow'> <div class='ipsFieldRow__label'> </div> <div class='ipsFieldRow__content'> <ul class='ipsList ipsList--inline i-font-weight_500'> <li><a href='#' data-role='checkAll'>{{#lang}}check_all{{/lang}}</a></li> <li><a href='#' data-role='uncheckAll'>{{#lang}}uncheck_all{{/lang}}</a></li> </ul> </div> </li>");;
|
||||
ips.templates.set('moderatorPermissions.checkUncheckAll'," <li class='ipsFieldRow'> <div class='ipsFieldRow__label'> </div> <div class='ipsFieldRow__content'> <ul class='ipsList ipsList--inline i-font-weight_500'> <li><button type='button' data-role='checkAll'>{{#lang}}check_all{{/lang}}</button></li> <li><button type='button' data-role='uncheckAll'>{{#lang}}uncheck_all{{/lang}}</button></li> </ul> </div> </li>");;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.admin.members.listFlagSpammer',{initialize:function(){this.on('click',this.toggleFlagSpammer);},toggleFlagSpammer:function(e){e.preventDefault();var elem=$(e.currentTarget);var icon=elem.find('.fa-flag');ips.ui.alert.show({'type':'confirm','icon':'warn','message':icon.hasClass('ipsType_spammer')?ips.getString('confirmUnFlagAsSpammer'):ips.getString('confirmFlagAsSpammer'),'subText':icon.hasClass('ipsType_spammer')?ips.getString('confirmUnFlagAsSpammerDesc'):'',callbacks:{ok:function(){ips.getAjax()(elem.attr('href'),{dataType:'json'}).done(function(response){ips.ui.flashMsg.show(response);icon.toggleClass('ipsType_spammer');var newStatus=ips.utils.url.getParam('status',elem.attr('href'))==1?0:1;var newUrl=ips.utils.url.removeParam('status',elem.attr('href'));elem.attr('href',newUrl+'&status='+newStatus);elem.attr('_title',newStatus?ips.getString('flagAsSpammer'):ips.getString('unflagAsSpammer'));elem.attr('aria-label',newStatus?ips.getString('flagAsSpammer'):ips.getString('unflagAsSpammer'));}).fail(function(jqXHR){if(Debug.isEnabled()){Debug.error(jqXHR.responseText);}else{window.location=elem.attr('href');}});}}});}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.admin.members.restrictions',{initialize:function(){this.on('click','.acpRestrictions_subHeader h3',this.toggleSubHeader);this.on('change','.acpRestrictions_header input[type="checkbox"]',this.toggleHeader);this.on('change','.acpAppRestrictions_header input[type="checkbox"]',this.toggleAppHeader);this.on('click','[data-action="checkAll"]',this.checkAll);this.on('click','[data-action="checkNone"]',this.checkNone);this.on('click','[data-action="expandAll"], [data-action="collapseAll"]',this.toggleDisplay);this.setup();},toggleDisplay:function(e){e.preventDefault();var row=$(e.currentTarget).closest('.acpRestrictions_header');var subHeaders=row.next().find('.acpRestrictions_subHeader');var self=this;var action=($(e.currentTarget).attr('data-action')=='expandAll')?'expand':'collapse';subHeaders.each(function(){if(action=='expand'){self._expandSection($(this));}else{self._collapseSection($(this));}});},toggleAppHeader:function(e){var check=$(e.currentTarget);var row=check.closest('.acpAppRestrictions_header');if(!check.is(':checked')){row.siblings('.acpAppRestrictions_panel').find('.acpRestrictions_header input[type="checkbox"]').each(function(){$(this).prop('disabled',true).attr('data-originalState',$(this).is(':checked')).attr('checked',false).trigger('change');});}else{row.siblings('.acpAppRestrictions_panel').find('input[type="checkbox"]').each(function(){var thisCheck=$(this);thisCheck.prop('disabled',false);if(thisCheck.attr('data-originalState')=='true'){thisCheck.prop('checked',true).trigger('change');}});row.siblings('.acpAppRestrictions_panel').find('.acpRestrictions_panel input[type="checkbox"]').each(function(){var thisCheck=$(this);var checked=thisCheck.closest('.acpRestrictions_panel').siblings('.acpRestrictions_header').find('input[type="checkbox"]').is(':checked');if(!checked){thisCheck.prop('disabled',true);}else{thisCheck.prop('disabled',false);}
|
||||
if(thisCheck.attr('data-originalState')=='true'){thisCheck.prop('checked',true).trigger('change');}});}},toggleHeader:function(e){var check=$(e.currentTarget);var row=check.closest('.acpRestrictions_header');var unChecked=!check.is(':checked');row.next().find('input[type="checkbox"]').each(function(){var thisCheck=$(this);if(unChecked){thisCheck.attr('data-originalState',thisCheck.is(':checked')).prop('checked',false);}else if((thisCheck.attr('data-originalState')=='true')){thisCheck.prop('checked',true);}
|
||||
thisCheck.prop('disabled',unChecked).trigger('change');});},toggleSubHeader:function(e){var header=$(e.currentTarget).parent();if(header.hasClass('acpRestrictions_open')){this._collapseSection(header);}else{this._expandSection(header);}},_expandSection:function(section){var next=section.next('ul');section.addClass('acpRestrictions_open').removeClass('acpRestrictions_closed');ips.utils.anim.go('fadeInDown fast',next);},_collapseSection:function(section){section.removeClass('acpRestrictions_open').addClass('acpRestrictions_closed');},checkAll:function(e){e.preventDefault();var self=this;var header=$(e.currentTarget).parents('.acpRestrictions_subHeader');var next=header.next('ul');if(!next.is(':visible')){next.animationComplete(function(){self._togglePermissions(true,next);});this._expandSection(header);}else{this._togglePermissions(true,next);}},checkNone:function(e){e.preventDefault();var self=this;var header=$(e.currentTarget).parents('.acpRestrictions_subHeader');var next=header.next('ul');if(!next.is(':visible')){next.animationComplete(function(){self._togglePermissions(false,next);});this._expandSection(header);}else{this._togglePermissions(false,next);}},_togglePermissions:function(state,container){container.find('input[type="checkbox"]:not( [disabled] )').prop('checked',state).change();},setup:function(){this.scope.find('.acpRestrictions_open').removeClass('acpRestrictions_open').addClass('acpRestrictions_closed');}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.admin.members.moderatorPermissions',{initialize:function(){this.on('change','#ipsTabs_tabs_form_form_tab_modperms__core_Content_panel input[type="checkbox"]',this.toggle);this.on('click','[data-role="checkAll"]',this.checkAll);this.on('click','[data-role="uncheckAll"]',this.checkAll);this.setup();},setup:function(){var mainPanel=this.scope.find('#ipsTabs_tabs_form_form_tab_modperms__core_Content_panel');var self=this;mainPanel.find('input[type="checkbox"]').each(function(){self._toggleChanged($(this));});$(this.scope).find('.ipsTabs__panel').each(function(){var controls=$(ips.templates.render('moderatorPermissions.checkUncheckAll'));controls.find('a').attr('data-scope',$(this).attr('id'));$(this).children('ul').prepend(controls);});this._checkEachTab();},checkAll:function(e){e.preventDefault();var check=$(e.currentTarget).attr('data-role')=='checkAll';if($(e.currentTarget).attr('data-scope')){var scope=$('#'+$(e.currentTarget).attr('data-scope'));}else{var scope=$(this.scope);}
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.admin.members.moderatorPermissions',{initialize:function(){this.on('change','#ipsTabs_form_modperms__core_Content_panel input[type="checkbox"]',this.toggle);this.on('click','[data-role="checkAll"]',this.checkAll);this.on('click','[data-role="uncheckAll"]',this.checkAll);this.setup();},setup:function(){var mainPanel=this.scope.find('#ipsTabs_form_modperms__core_Content_panel');var self=this;mainPanel.find('input[type="checkbox"]').each(function(){self._toggleChanged($(this));});$(this.scope).find('.ipsTabs__panel').each(function(){var controls=$(ips.templates.render('moderatorPermissions.checkUncheckAll'));controls.find('button').attr('data-scope',$(this).attr('id'));$(this).children('ul').prepend(controls);});this._checkEachTab();},checkAll:function(e){e.preventDefault();var check=$(e.currentTarget).attr('data-role')=='checkAll';if($(e.currentTarget).attr('data-scope')){var scope=$('#'+$(e.currentTarget).attr('data-scope'));}else{var scope=$(this.scope);}
|
||||
if(check&&!$(e.currentTarget).attr('data-scope')){$('input[name="mod_use_restrictions"][value="no"]').prop('checked',true).change();}
|
||||
var self=this;scope.find('input[type="checkbox"]').each(function(){if(check&&!$(this).is(':checked')){$(this).prop('checked',true).change();}else if(!check&&$(this).is(':checked')){$(this).prop('checked',false).change();}});},toggle:function(e){this._toggleChanged($(e.currentTarget));this._checkEachTab();},_toggleChanged:function(thisToggle){var id=thisToggle.closest('.ipsFieldRow').attr('id').replace('_content','');var panels=this.scope.find('.ipsTabs__panel:not( #ipsTabs_tabs_form_form_tab_modperms__core_Content_panel )');var otherToggles=panels.find('.ipsFieldRow[id^="'+id+'"]').not(thisToggle.closest('.ipsFieldRow'));if(thisToggle.is(':checked')){otherToggles.hide();otherToggles.find('input[type="checkbox"]').prop('disabled',true);}else{otherToggles.show();otherToggles.find('input[type="checkbox"]').prop('disabled',false);}},_checkEachTab:function(){var self=this;var panels=this.scope.find('.ipsTabs__panel:not( #ipsTabs_tabs_form_form_tab_modperms__core_Content_panel )');panels.each(function(){var count=$(this).find('input[type="checkbox"]:enabled:not( [data-role="zeroVal"] )').length;var id=$(this).attr('id').replace('ipsTabs_tabs_form_','').replace('_panel','');if(!count){self.scope.find('#'+id).closest('li').hide();}else{self.scope.find('#'+id).closest('li').show();}});}});}(jQuery,_));;
|
||||
var self=this;scope.find('input[type="checkbox"]').each(function(){if(check&&!$(this).is(':checked')){$(this).prop('checked',true).change();}else if(!check&&$(this).is(':checked')){$(this).prop('checked',false).change();}});},toggle:function(e){this._toggleChanged($(e.currentTarget));this._checkEachTab();},_toggleChanged:function(thisToggle){var id=thisToggle.closest('.ipsFieldRow').attr('id').replace('_content','');var panels=this.scope.find('.ipsTabs__panel:not( #ipsTabs_form_modperms__core_Content_panel )');var otherToggles=panels.find('.ipsFieldRow[id^="'+id+'"]').not(thisToggle.closest('.ipsFieldRow'));if(thisToggle.is(':checked')){otherToggles.hide();otherToggles.find('input[type="checkbox"]').prop('disabled',true);}else{otherToggles.show();otherToggles.find('input[type="checkbox"]').prop('disabled',false);}},_checkEachTab:function(){var self=this;var panels=this.scope.find('.ipsTabs__panel:not( #ipsTabs_form_modperms__core_Content_panel )');panels.each(function(){var count=$(this).find('input[type="checkbox"]:enabled:not( [data-role="zeroVal"] )').length;var id=$(this).attr('id').replace('ipsTabs_tabs_form_','').replace('_panel','');if(!count){self.scope.find('#'+id).closest('li').hide();}else{self.scope.find('#'+id).closest('li').show();}});}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.admin.members.lazyLoadingProfileBlock',{initialize:function(){var scope=$(this.scope);ips.getAjax()(scope.attr('data-url')).done(function(response){scope.html(response);$(document).trigger('contentChange',[scope]);});},});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.admin.members.history',{initialize:function(){this.on('menuItemSelected',this.filterSelected);},filterSelected:function(e,data){if(data.originalEvent){data.originalEvent.preventDefault();}
|
||||
if(data.triggerID=='memberHistoryFilters'){$(this.scope).find('[data-role="historyTitle"]').text(data.menuElem.find('[data-ipsMenuValue="'+data.selectedItemID+'"]').text());$(this.scope).find('[data-role="historyDisplay"]').addClass('ipsLoading').html('');ips.getAjax()(data.menuElem.find('[data-ipsMenuValue="'+data.selectedItemID+'"] a').attr('href')).done(function(response){$(this.scope).find('[data-role="historyDisplay"]').html(response).removeClass('ipsLoading');$(document).trigger('contentChange',[this.scope]);}.bind(this));}}});}(jQuery,_));;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
ips.templates.set('club.request.approve'," <span class='cClubRequestCover_icon i-background_positive'> <i class='fa-solid fa-check'></i> </span> <br> <span class='ipsBadge ipsBadge--large ipsBadge--positive'>{{#lang}}clubRequestApproved{{/lang}}</span>");ips.templates.set('club.request.decline'," <span class='cClubRequestCover_icon i-background_negative'> <i class='fa-solid fa-xmark'></i> </span> <br> <span class='ipsBadge ipsBadge--large ipsBadge--negative'>{{#lang}}clubRequestDenied{{/lang}}</span>");ips.templates.set('club.menu.dragHandle'," <span data-role='clubMenuDrag' style='display: none'><i class='fa-solid fa-bars'></i> </span>");;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.front.clubs.navbar',{_interval:null,_sortableElem:null,initialize:function(){this.on(document,'click','[data-action="reorderClubmenu"]',this.startReorder);this.on(document,'click','[data-action="saveClubmenu"]',this.saveOrder);this.setup();},setup:function(){this._sortableElem=this.scope.find('ul[data-club-menu]');},startReorder:function(e){e.preventDefault();$('[data-action="saveClubmenu"]').removeClass('ipsHide');$('[data-action="reorderClubmenu"]').parent().addClass('ipsHide');var self=this;this._sortableElem.find('a').addClass('i-cursor_move').prepend(ips.templates.render('club.menu.dragHandle'));ips.loader.get(['core/interface/jquery/jquery-ui.js']).then(function(){self._sortableElem.sortable({items:'> li',forcePlaceholderSize:true,update:function(){self._orderChanged=true;}});self._reordering=true;self._orderChanged=false;self._sortableElem.find('a [data-role="clubMenuDrag"]').fadeIn();});},_finishReorder:function(){this._sortableElem.find('a').removeClass('i-cursor_move').find('[data-role="clubMenuDrag"]').remove();$('[data-action="saveClubmenu"]').addClass('ipsHide');$('[data-action="reorderClubmenu"]').parent().removeClass('ipsHide');this._sortableElem.sortable('destroy');this._reordering=false;},saveOrder:function(e){e.preventDefault();var self=this;var tabOrder=this._sortableElem.sortable('toArray',{attribute:'data-tab'});if(this._orderChanged){ips.getAjax()(ips.getSetting('baseURL')+'index.php?app=core&module=clubs&controller=view&do=saveMenu',{data:{tabOrder:tabOrder,id:this.scope.attr('data-clubID')},dataType:'json',type:'post'}).done(function(response){ips.ui.flashMsg.show(ips.getString('tab_order_saved'));}).fail(function(){ips.ui.alert.show({type:'alert',icon:'warning',message:ips.getString('tab_order_not_saved'),callbacks:{ok:function(){}}});}).always(function(){self._finishReorder();});}else{this._finishReorder();}}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.front.clubs.navbar',{_interval:null,_sortableElem:null,initialize:function(){this.on(document,'click','[data-action="reorderClubmenu"]',this.startReorder);this.on(document,'click','[data-action="saveClubmenu"]',this.saveOrder);this.setup();},setup:function(){this._sortableElem=this.scope.find('[data-club-menu]');},startReorder:function(e){e.preventDefault();$('[data-action="saveClubmenu"]').removeClass('ipsHide');$('[data-action="reorderClubmenu"]').parent().addClass('ipsHide');var self=this;this._sortableElem.find('a').addClass('i-cursor_move').prepend(ips.templates.render('club.menu.dragHandle'));ips.loader.get(['core/interface/jquery/jquery-ui.js']).then(function(){self._sortableElem.sortable({items:'> a',forcePlaceholderSize:true,update:function(){self._orderChanged=true;}});self._reordering=true;self._orderChanged=false;self._sortableElem.find('a [data-role="clubMenuDrag"]').fadeIn();});},_finishReorder:function(){this._sortableElem.find('a').removeClass('i-cursor_move').find('[data-role="clubMenuDrag"]').remove();$('[data-action="saveClubmenu"]').addClass('ipsHide');$('[data-action="reorderClubmenu"]').parent().removeClass('ipsHide');this._sortableElem.sortable('destroy');this._reordering=false;},saveOrder:function(e){e.preventDefault();var self=this;var tabOrder=this._sortableElem.sortable('toArray',{attribute:'data-tab'});if(this._orderChanged){ips.getAjax()(ips.getSetting('baseURL')+'index.php?app=core&module=clubs&controller=view&do=saveMenu',{data:{tabOrder:tabOrder,id:this.scope.attr('data-clubID')},dataType:'json',type:'post'}).done(function(response){ips.ui.flashMsg.show(ips.getString('tab_order_saved'));}).fail(function(){ips.ui.alert.show({type:'alert',icon:'warning',message:ips.getString('tab_order_not_saved'),callbacks:{ok:function(){}}});}).always(function(){self._finishReorder();});}else{this._finishReorder();}}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.front.clubs.requests',{_interval:null,initialize:function(){this.on('click','[data-action="requestApprove"], [data-action="requestDecline"]',this.handleRequest);this.on(document,'menuItemSelected',this.handleRequest);this.on(window,'resize',this.resizeCovers);this.setup();},setup:function(){},resizeCovers:function(e){var self=this;var cards=this.scope.find('[data-ips-js=memberCard][data-hasCover]');if(cards.length){$.each(cards,function(){var id=$(this).identify().attr('id');var cover=$('body').find('.cClubRequestCover[data-cardId="'+id+'"]');self._positionCover($(this),cover);});}},handleRequest:function(e,data){var self=this;if(e.type=='menuItemSelected'){if(data.menuElem.attr('data-role')!='acceptMenu'){return;}
|
||||
data.originalEvent.preventDefault();var url=$(data.originalEvent.target).attr('href');var card=$(e.target).closest('[data-ips-js=memberCard]');}else{e.preventDefault();var url=$(e.currentTarget).attr('href');var card=$(e.currentTarget).closest('[data-ips-js=memberCard]');}
|
||||
var id=card.identify().attr('id');card.find('[data-action]').addClass('ipsButton--disabled');ips.getAjax()(url,{showLoading:true}).done(function(response){card.attr('data-hasCover',true);card.animate({opacity:"0.2"});var cover=$('<div/>').addClass('cClubRequestCover').attr('data-cardId',id);$('body').append(cover);self._positionCover(card,cover);cover.append(ips.templates.render(response.status=='approved'?'club.request.approve':'club.request.decline')).fadeIn();ips.ui.flashMsg.show(response.status=='approved'?ips.getString('clubMemberApproved'):ips.getString('clubMemberDeclined'),{escape:false});if(!self._interval){self._interval=window.setInterval(_.bind(self._checkCardsExist,self),200);}}).fail(function(){window.location=url;});},_checkCardsExist:function(){var self=this;var covers=$('body').find('.cClubRequestCover');var cards=this.scope.find('[data-ips-js=memberCard][data-hasCover]');if(cards.length==covers.length){return;}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.front.search.filters',{initialize:function(){this.on('click','[data-action="showFilters"]',this.showFilters);this.on('click','[data-action="searchByTags"]',this.toggleSearchFields);this.on('click','[data-action="searchByAuthors"]',this.toggleSearchFields);this.on('click','[data-action="cancelFilters"]',this.cancelFilters);this.on('change','input[name="type"]',this.toggleFilterByCounts);this.on('itemClicked.sideMenu','[data-filterType="dateCreated"]',this.filterDate);this.on('itemClicked.sideMenu','[data-filterType="dateUpdated"]',this.filterDate);this.on('itemClicked.sideMenu','[data-filterType="joinedDate"]',this.filterDate);this.on('change','[name^="search_min_"]',this.changeValue);this.on('tokenDeleted tokenAdded',this.tokenChanged);this.on('resultsLoading.search',this.resultsLoading);this.on('resultsDone.search',this.resultsDone);this.on('cancelResults.search',this.cancelResults);this.on('submit',this.submitForm);this.on('tabShown',this.tabShown);this.on('nodeInitialValues',this.setup);if(!this.scope.find('[data-role="hints"] ul li').length){this.scope.find('[data-role="hints"]').hide();}
|
||||
this.setup();},setup:function(){var data=this.scope.find('form').serializeArray();this.trigger('initialData.search',{data:data});this.toggleFilterByCounts();},toggleFilterByCounts:function(){var type=this.scope.find('input[name="type"]:checked').val();if(!type){$('#elSearch_filter_by_number').hide();}else{$('#elSearch_filter_by_number').show();}},cancelResults:function(){this.showFilters();this.scope.find('[data-role="hints"]').remove();this.scope.find('#elMainSearchInput').val('').focus();this.scope.find('[data-action="cancelFilters"], [data-action="searchAgain"]').hide();},changeValue:function(e){var field=$(e.currentTarget);var name=field.attr('name');var bubble=this.scope.find('[data-role="'+name+'_link"] [data-role="fieldCount"]');if(field.val()==0){bubble.text('0').addClass('ipsHide');}else{bubble.text(field.val()).removeClass('ipsHide');}},tokenChanged:function(e,data){var tags=this.scope.find('input[name="tags"]');var term=this.scope.find('input[name="q"]');var andOr=this.scope.find('[data-role="searchTermsOrTags"]');if(tags.val()&&term.val()&&!andOr.is(':visible')){andOr.slideDown();}else if((!tags.val()||!term.val())&&andOr.is(':visible')){andOr.slideUp();}},tabShown:function(e,data){if(data.tabID=='elTab_searchMembers'){this.scope.find('input[name="type"][value="core_members"]').prop('checked',true).change().end().find('[data-action="updateResults"]').text(ips.getString('searchMembers'));}else{this.scope.find('[data-role="searchApp"] .ipsSideMenu_itemActive input[type="radio"]').prop('checked',true).change().end().find('[data-action="updateResults"]').text(ips.getString("searchContent"));}},cancelFilters:function(e){var self=this;this.scope.find('[data-role="searchFilters"]').slideUp('fast',function(){self.scope.find('[data-action="showFilters"]').slideDown();});},showFilters:function(e){if(e){e.preventDefault();}
|
||||
this.setup();},setup:function(){var data=this.scope.find('form').serializeArray();this.trigger('initialData.search',{data:data});this.toggleFilterByCounts();},toggleFilterByCounts:function(){var type=this.scope.find('input[name="type"]:checked').val();if(!type){$('#elSearch_filter_by_number').hide();}else{$('#elSearch_filter_by_number').show();}},cancelResults:function(){this.showFilters();this.scope.find('[data-role="hints"]').remove();this.scope.find('#elMainSearchInput').val('').focus();this.scope.find('[data-action="cancelFilters"], [data-action="searchAgain"]').hide();},changeValue:function(e){var field=$(e.currentTarget);var name=field.attr('name');var bubble=this.scope.find('[data-role="'+name+'_link"] [data-role="fieldCount"]');if(field.val()==0){bubble.text('0').addClass('ipsHide');}else{bubble.text(field.val()).removeClass('ipsHide');}},tokenChanged:function(e,data){var tags=this.scope.find('input[name="tags"]');var term=this.scope.find('input[name="q"]');var andOr=this.scope.find('[data-role="searchTermsOrTags"]');if(tags.val()&&term.val()&&!andOr.is(':visible')){andOr.slideDown();}else if((!tags.val()||!term.val())&&andOr.is(':visible')){andOr.slideUp();}},tabShown:function(e,data){if(data.tabID=='ipsTabs_search_searchMembers'){this.scope.find('input[name="type"][value="core_members"]').prop('checked',true).change().end().find('[data-action="updateResults"]').text(ips.getString('searchMembers'));}else{this.scope.find('[data-role="searchApp"] .ipsSideMenu_itemActive input[type="radio"]').prop('checked',true).change().end().find('[data-action="updateResults"]').text(ips.getString("searchContent"));}},cancelFilters:function(e){var self=this;this.scope.find('[data-role="searchFilters"]').slideUp('fast',function(){self.scope.find('[data-action="showFilters"]').slideDown();});},showFilters:function(e){if(e){e.preventDefault();}
|
||||
this.scope.find('[data-action="showFilters"]').hide();this.scope.find('[data-role="searchFilters"]').slideDown();$(document).trigger('contentChange',[this.scope]);},resultsDone:function(e,data){var searchButton=this.scope.find('[data-action="updateResults"]');searchButton.prop('disabled',false).text(searchButton.attr('data-originalText'));this.scope.find('[data-role="searchFilters"]').hide();this.scope.find('[data-action="showFilters"]').removeClass('ipsHide').show();this.scope.find('[data-action="searchAgain"]').removeClass('ipsHide ipsButton--disabled').show();if(!_.isUndefined(data.hints)){this.scope.find('[data-role="hints"]').html(data.hints).show();}
|
||||
if(!this.scope.find('[data-role="hints"] ul li').length){this.scope.find('[data-role="hints"]').hide();}
|
||||
$(document).trigger('contentChange',[this.scope]);},resultsLoading:function(e,data){var searchButton=this.scope.find('[data-action="updateResults"]');this.scope.find('[data-action="searchAgain"]').addClass('ipsButton--disabled');searchButton.prop('disabled',true).attr('data-originalText',searchButton.text()).text(ips.getString("searchFetchingResults"));},toggleSearchFields:function(e){e.preventDefault();var link=$(e.currentTarget);var opens=link.attr('data-opens').split(',');var i;for(i=0;i<opens.length;i++){this.scope.find('[data-role="'+opens[i]+'"]').slideDown(function(){if(!link.closest('ul').find('li').length){link.closest('ul').remove();}
|
||||
$(this).find('input[type="text"]').focus();});}
|
||||
link.closest('li').hide();},filterDate:function(e,data){var elem=$(e.currentTarget);if(data.selectedItemID=='custom'){elem.find('[data-role="dateForm"]').slideDown();}else{elem.find('[data-role="dateForm"]').slideUp();}},submitForm:function(e){e.preventDefault();this.scope.find('#elMainSearchInput').blur();var self=this;var app=this.scope.find('[data-role="searchApp"] .ipsSideMenu_itemActive');var appKey=app.attr('data-ipsMenuValue');var appTitle=app.find('[data-role="searchAppTitle"]').text();var isMemberSearch=$('#elTab_searchMembers').hasClass('ipsTabs__tab--active');var searchTerm=this.scope.find('#elMainSearchInput').val().trim();var tagExists=(this.scope.find('#elInput_tags').length&&this.scope.find('#elTab_searchContent').hasClass('ipsTabs__tab--active'));if(tagExists){var tagField=ips.ui.autocomplete.getObj(this.scope.find('#elInput_tags'));var tokens=tagField.getTokens();}
|
||||
link.closest('li').hide();},filterDate:function(e,data){var elem=$(e.currentTarget);if(data.selectedItemID=='custom'){elem.find('[data-role="dateForm"]').slideDown();}else{elem.find('[data-role="dateForm"]').slideUp();}},submitForm:function(e){e.preventDefault();this.scope.find('#elMainSearchInput').blur();var self=this;var app=this.scope.find('[data-role="searchApp"] .ipsSideMenu_itemActive');var appKey=app.attr('data-ipsMenuValue');var appTitle=app.find('[data-role="searchAppTitle"]').text();var isMemberSearch=$('#ipsTabs_search_searchMembers').attr('aria-selected')=='true';var searchTerm=this.scope.find('#elMainSearchInput').val().trim();var tagExists=(this.scope.find('#elInput_tags').length&&this.scope.find('#ipsTabs_search_searchContent').attr('aria-selected')==='true');if(tagExists){var tagField=ips.ui.autocomplete.getObj(this.scope.find('#elInput_tags'));var tokens=tagField.getTokens();}
|
||||
if(!isMemberSearch){if(!searchTerm&&!tagExists||!searchTerm&&tagExists&&tokens.length===0){ips.ui.alert.show({type:'alert',message:(!searchTerm&&!tagExists)?ips.getString('searchRequiresTerm'):ips.getString('searchRequiresTermTags'),icon:'info',callbacks:{ok:function(){setTimeout(function(){self.scope.find('#elMainSearchInput').focus();},300);}}});return;}}
|
||||
this.trigger('formSubmitted.search',{data:this.scope.find('form').serializeArray(),appKey:appKey,tabType:this.scope.closest('data-tabType').attr('data-tabType'),appTitle:appTitle});}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.front.search.main',{_content:null,_formData:{},_loadingDiv:null,_initialURL:'',_initialData:{},initialize(){this.on('initialData.search',this.initialData);this.on('formSubmitted.search',this.submittedSearch);this.on('paginationClicked paginationJump',this.paginationClicked);this.on(window,'historychange:search',this.stateChange);this.setup();},setup(){this._content=this.scope.find('#elSearch_main');this._baseURL=this.scope.attr('data-baseURL');if(this._baseURL.match(/\?/)){this._baseURL+='&';}else{this._baseURL+='?';}
|
||||
|
||||
@@ -85,4 +85,4 @@ root.querySelectorAll('.cWidgetContainer--main, .cWidgetContainer:not(.cWidgetCo
|
||||
return unmanagedRoots;},_fadeUnmanagedRoots(){this._getUnmanagedRoots().forEach(root=>{setTimeout(()=>{if(Date.now()-pageLoadTime>3000){root.classList.add('cWidgetsManaging__faded-root--animating');}
|
||||
root.classList.add('cWidgetsManaging__faded-root');Promise.all(root.getAnimations().map(animation=>animation.finished)).then(()=>root.classList.remove('cWidgetsManaging__faded-root--animating'));})})},_unfadeUnmanagedRoots(){document.querySelectorAll('.cWidgetsManaging__faded-root').forEach(root=>{root.classList.add('cWidgetsManaging__faded-root--animating');root.classList.remove('cWidgetsManaging__faded-root');Promise.all(root.getAnimations().map(animation=>animation.finished)).then(()=>root.classList.remove('cWidgetsManaging__faded-root--animating'));});}});}(jQuery,_));;
|
||||
;(function($,_){"use strict";ips.controller.register('core.front.widgets.sidebar',{initialize(){this.on('managingStarted.widgets',this.managingStarted);this.on('managingFinished.widgets',this.managingFinished);this.setup();},setup(){if(!CSS.supports("selector(a:has(b))")||ips.getSetting('sidebar_use_js_fallback')){Debug.log('using the js sidebar hide fallback')
|
||||
this._addConditionalClasses();this.on(window,'resize',this._addConditionalClasses);this.on('addConditionalClasses',this._addConditionalClasses)}},managingStarted(){this.scope.addClass('ipsLayout__secondary-column--managing');},managingFinished(){this.scope.trigger('addConditionalClasses');this.scope.removeClass('ipsLayout__secondary-column--managing');},_addConditionalClasses(){if(!this.scope.find('.cWidgetContainer--isWidget:visible [data-blockID]:not([hidden])').length&&!$('#elContextualTools').length&&!$('[data-role="sidebarAd"]').length&&!$('#cAnnouncementSidebar').length){this.scope.addClass('ipsLayout__secondary-column--hide');}else{this.scope.removeClass('ipsLayout__secondary-column--hide');}}});}(jQuery,_));;
|
||||
this._addConditionalClasses();this.on(window,'resize',this._addConditionalClasses);this.on('addConditionalClasses',this._addConditionalClasses)}},managingStarted(){this.scope.addClass('ipsLayout__secondary-column--managing');},managingFinished(){this.scope.trigger('addConditionalClasses');this.scope.removeClass('ipsLayout__secondary-column--managing');},_addConditionalClasses(){const isVisible=[...this.elem.querySelectorAll('.cWidgetContainer--isWidget [data-blockID]:not([hidden]), #elContextualTools, [data-role="sidebarAd"]')].find(el=>{const rect=el.getBoundingClientRect();return!!(rect.width*rect.height);});if(!isVisible){this.scope.addClass('ipsLayout__secondary-column--hide');}else{this.scope.removeClass('ipsLayout__secondary-column--hide');}}});}(jQuery,_));;
|
||||
@@ -1,4 +1,4 @@
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.global.core.2fa',{initialize:function(){this.on('tabShown',this.tabShown);this.on('tabChanged',this.tabChanged);this.setup();},setup:function(){this.scope.css({zIndex:ips.ui.zIndex()});$('body').append(this.scope);this.scope.find('input[type="text"]:visible').first().focus();},tabShown:function(e,data){this.scope.find('input[type="text"]:visible').first().focus();},tabChanged:function(e,data){if(data.tab){data.tab.find('input[name="mfa_method"]').prop('checked',true);}}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.global.core.2fa',{initialize:function(){this.on('tabShown',this.tabShown);this.on('tabChanged',this.tabChanged);this.setup();},setup:function(){this.scope.css({zIndex:ips.ui.zIndex()});this.scope.find('input[type="text"]:visible').first().focus();},tabShown:function(e,data){this.scope.find('input[type="text"]:visible').first().focus();},tabChanged:function(e,data){if(data.tab){data.tab.find('input[name="mfa_method"]').prop('checked',true);}}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.global.core.authyOneTouch',{initialize:function(){var scope=$(this.scope);setInterval(function(){ips.getAjax()(scope.closest('form').attr('action'),{data:{'onetouchCheck':scope.find('[data-role="onetouchCode"]').val()}}).done(function(response){if(response.status==1){scope.closest('form').submit();}});},3000);}});}(jQuery,_));;
|
||||
;(function($,undefined){"use strict";ips.controller.register('core.global.core.coverPhoto',{_image:null,_existingPosition:0,_tooltip:null,_expandedCover:false,_newPosition:0,_container:null,_editingPosScroll:0,_editingPosMouse:0,initialize:function(){var self=this;this.on('menuItemSelected',function(e,data){var button=$(data.originalEvent.target).closest('a[data-action]');switch($(button).attr('data-action')){case'removeCoverPhoto':self.removePhoto(data);break;case'positionCoverPhoto':self.positionPhoto(data.originalEvent);break;}});this.on('click','[data-action="savePosition"]',this.savePosition);this.on('click','[data-action="cancelPosition"]',this.cancelPosition);this.on('click','[data-action="toggleCoverPhoto"]',this.toggleCoverPhoto);this.setup();},setup:function(){this._image=this.scope.find('.ipsCoverPhoto__image');var doPosition=ips.utils.url.getParam('_position');if(doPosition!=undefined)this.positionPhoto();this.scope.find('a[data-action="positionCoverPhoto"]').parent().removeClass('ipsHide');},removePhoto:function(data){data.originalEvent.preventDefault();var self=this;var target=$(data.originalEvent.target).closest('[data-action="removeCoverPhoto"]');ips.ui.alert.show({type:'confirm',icon:'warn',message:ips.getString('confirmRemoveCover'),callbacks:{ok:function(){ips.getAjax()($(target).attr('href')+'&wasConfirmed=1').done(function(){ips.utils.anim.go('fadeOut',self._image).done(function(){ips.ui.flashMsg.show(ips.getString('removeCoverDone'));});data.menuElem.find('[data-role="photoEditOption"]').hide();}).fail(function(err){window.location=$(target).attr('href');});}}});},savePosition:function(e){e.preventDefault();let newPos=((this._container.scrollTop/(this._container.scrollHeight-this._container.clientHeight))*100);newPos=newPos||0;this._newPosition=newPos;this.scope.attr('data-coverOffset',this._newPosition);this.scope.css({'--offset':this._newPosition});ips.getAjax()(this.scope.attr('data-url')+'&do=coverPhotoPosition'+'&offset='+this._newPosition).fail(function(err){this.scope.attr('data-url')+'&do=coverPhotoPosition'+'&offset='+this._newPosition;});this._resetImage();},cancelPosition:function(e){e.preventDefault();this._resetImage();},positionPhoto:function(e){if(e!=undefined)e.preventDefault();this.scope.addClass('ipsCoverPhoto--editing');this._existingPosition=parseInt(this.scope.attr('data-coveroffset'))||0;this._container=this.scope.find('.ipsCoverPhoto__container')[0];this._mouseDownHandler=this._mouseDownHandler.bind(this);this._container.addEventListener('mousedown',this._mouseDownHandler);this._mouseUpHandler=this._mouseUpHandler.bind(this);this._container.addEventListener('mouseup',this._mouseUpHandler);this._mouseOutHandler=this._mouseOutHandler.bind(this);this._container.addEventListener('mouseout',this._mouseOutHandler);this._container.scrollTop=(this._container.scrollHeight-this._container.clientHeight)*(this._existingPosition/100);this.scope.find('.ipsCoverPhoto__container').after(ips.templates.render('core.coverPhoto.controls'));this._showTooltip();},_mouseDownHandler:function(e){e.preventDefault();this._editingPosMouse=e.clientY;this._editingPosScroll=this._container.scrollTop;this._mouseMoveHandler=this._mouseMoveHandler.bind(this);this._container.addEventListener('mousemove',this._mouseMoveHandler);},_mouseMoveHandler:function(e){let dy=(e.clientY-this._editingPosMouse)*2.3;this._container.scrollTop=this._editingPosScroll-dy;},_mouseUpHandler:function(e){this._container.removeEventListener('mousemove',this._mouseMoveHandler);},_mouseOutHandler:function(e){this._container.removeEventListener('mousemove',this._mouseMoveHandler);},_resetImage:function(){this._container.removeEventListener('mousedown',this._mouseDownHandler);this.scope.removeClass('ipsCoverPhoto--editing');this.scope.find('[data-role="reposition"]').remove();this.scope.find('[data-role="coverPhotoControls"]').remove();this._hideTooltip();ips.utils.history.pushState({},'core.global.core.coverPhoto',ips.utils.url.removeParam('csrfKey',this.scope.attr('data-url')));},_showTooltip:function(msg){if(!this._tooltip){this._buildTooltip();}
|
||||
this._tooltip.hide().text(ips.getString('dragCoverPhoto'));this._positionTooltip();},_hideTooltip:function(){if(this._tooltip&&this._tooltip.is(':visible')){ips.utils.anim.go('fadeOut',this._tooltip);}},_positionTooltip:function(){var positionInfo={trigger:this.scope.find('.ipsCoverPhoto__container'),target:this._tooltip,center:true,above:true};var tooltipPosition=ips.utils.position.positionElem(positionInfo);this._tooltip.css({left:tooltipPosition.left+'px',top:tooltipPosition.top+'px',position:(tooltipPosition.fixed)?'fixed':'absolute',zIndex:ips.ui.zIndex()});if(tooltipPosition.location.vertical=='top'){this._tooltip.addClass('ipsTooltip_top');}else{this._tooltip.addClass('ipsTooltip_bottom');}
|
||||
|
||||
@@ -19,7 +19,7 @@ if(e){e.preventDefault();}
|
||||
var self=this;ips.ui.alert.show({type:'confirm',icon:'question',message:ips.getString('confirmSubmitClose'),callbacks:{ok:function(){self.trigger('closeDialog');}}});},_markActiveImageAsSaved:function(){this.scope.find('.cGallerySubmit_activeFile').removeClass('cGallerySubmit_imageError').addClass('cGallerySubmit_imageSaved');},setUpImageDetailsForm:function(e){this.scope.find('.cGallerySubmit_activeFile').removeClass('cGallerySubmit_activeFile');$(e.currentTarget).addClass('cGallerySubmit_activeFile');if($(e.currentTarget).attr('data-fileid').indexOf('o_')!=-1){var imageId=$('input[name="images_existing\\['+$(e.currentTarget).attr('data-fileid')+'\\]"').val();}
|
||||
else
|
||||
{var imageId=$(e.currentTarget).attr('data-fileid');}
|
||||
var imagePreview=$(e.currentTarget).find('[data-role="preview"] img').attr('src');var detailsPanel=this.scope.find('[data-role="imageDetails"]');detailsPanel.find('.cGallerySubmit_details, [data-role="submitHelp"]').hide();if($('#image_details_'+imageId).length){$('#image_details_'+imageId+' .cGallerySubmit_details').show();if(ips.utils.responsive.currentIs('phone')){this._toggleDetailsPanelMobile(true);}}else{var htmlToInsert=$('[data-role="defaultImageDetailsForm"]').html();htmlToInsert='<div id="image_details_'+imageId+'">'+htmlToInsert.replace(/name="image_tags_DEFAULT"/g,'name="image_tags_DEFAULT" data-ipsAutocomplete ').replace(/_DEFAULT/g,'_'+imageId)+"</div>";detailsPanel.find('> form').prepend(htmlToInsert);var imageForm=$('#image_details_'+imageId);var filename=$(e.currentTarget).find('[data-role="title"]').text();var filenameWithoutExt=filename.replace(/\.[^/.]+$/,'');$('#elInput_image_title_'+imageId).val(filenameWithoutExt);if(!_.isUndefined(imagePreview)){imageForm.find('.cGallerySubmit_preview').html("<img src='"+imagePreview+"' alt='' />").show();}
|
||||
var imagePreview=$(e.currentTarget).find('[data-role="preview"] img').attr('src');var detailsPanel=this.scope.find('[data-role="imageDetails"]');detailsPanel.find('.cGallerySubmit_details, [data-role="submitHelp"]').hide();if($('#image_details_'+imageId).length){$('#image_details_'+imageId+' .cGallerySubmit_details').show();if(ips.utils.responsive.currentIs('phone')){this._toggleDetailsPanelMobile(true);}}else{var htmlToInsert=$('[data-role="defaultImageDetailsForm"]').html();htmlToInsert='<div id="image_details_'+imageId+'">'+htmlToInsert.replace(/name="image_tags_DEFAULT"/g,'name="image_tags_DEFAULT" data-ipsAutocomplete ').replace(/_DEFAULT/g,'_'+imageId)+"</div>";detailsPanel.find('> form').prepend(htmlToInsert);var imageForm=$('#image_details_'+imageId);var filename=$(e.currentTarget).find('[data-role="title"]').text();var filenameWithoutExt=filename.replace(/\.[^/.]+$/,'');$('#elInput_image_title_'+imageId).val(filenameWithoutExt);if(!_.isUndefined(imagePreview)){imageForm.find('.cGallerySubmit_preview').html($("<img class='ipsImage' alt=''/>").attr('src',imagePreview)).show();}
|
||||
else{imageForm.find('.cGallerySubmit_preview').html("<i></i>").show();}
|
||||
if(!$(e.currentTarget).attr('data-thumbnailurl')){imageForm.find('.cGalleryThumbField').removeClass('ipsHide');}else{ips.getAjax()(ips.getSetting('baseURL')+'index.php?app=gallery&module=gallery&controller=submit&do=checkGps&imageId='+imageId,{type:'get',bypassRedirect:true}).done(function(response,status,jqXHR){if(parseInt(response.hasGeo)){imageForm.find('.cGalleryMapField').removeClass('ipsHide');}});}
|
||||
if(ips.utils.responsive.currentIs('phone')){this._toggleDetailsPanelMobile(true);}
|
||||
|
||||
@@ -48,12 +48,12 @@ let bypassRedirect=!(elem.attr('data-accept-redirect'));ips.getAjax()(elem.attr(
|
||||
ips.utils.anim.go('fadeOut',row);}).fail(function(){window.location=elem.attr('href')+'&csrfKey='+ips.getSetting('csrfKey')+'&wasConfirmed=1';});}}});},confirmSomething:function(e){e.preventDefault();var elem=$(e.currentTarget);var customMessage=$(e.currentTarget).attr('data-confirmMessage');var customSubMessage=$(e.currentTarget).attr('data-confirmSubMessage');var type=$(e.currentTarget).attr('data-confirmType');var icon=$(e.currentTarget).attr('data-confirmIcon');var alert={type:(type)?type:'confirm',icon:(icon)?icon:'warn',message:(customMessage)?customMessage:ips.getString('generic_confirm'),subText:(customSubMessage)?customSubMessage:'',callbacks:{ok:function(){window.location=elem.attr('href')+'&wasConfirmed=1';},yes:function(){window.location=elem.attr('href')+'&prompt=1';},no:function(){window.location=elem.attr('href')+'&prompt=0';}}};if($(e.currentTarget).attr('data-confirmButtons')){alert.buttons=$.parseJSON($(e.currentTarget).attr('data-confirmButtons'));}
|
||||
ips.ui.alert.show(alert);},clickShow:function(e){e.preventDefault();var elems=ips.utils.getIDsFromList($(e.currentTarget).attr('data-clickshow'));this.scope.find(elems).show().removeClass('ipsHide');},clickHide:function(e){e.preventDefault();var elems=ips.utils.getIDsFromList($(e.currentTarget).attr('data-clickhide'));this.scope.find(elems).hide().addClass('ipsHide');},clickEmpty:function(e){e.preventDefault();var elems=ips.utils.getIDsFromList($(e.currentTarget).attr('data-clickempty'));this.scope.find(elems).val('');}});}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.controller.register('core.admin.core.dynamicChart',{storedValues:{},identifier:'',type:'',initialize:function(){this.on('click','[data-timescale]',this.changeTimescale);this.on(document,'submit','[data-role="dateForm"]',this.changeDateRange);this.on(document,'click','[data-role="clearSearchTerm"]',this.resetSearch);this.on(document,'submit','[data-role="searchForm"]',this.changeSearch);this.scope.find('[data-role="clearSearchTerm"]').hide();this.on('menuItemSelected','[data-action="chartFilter"]',this.changeFilter);this.on('click','[data-type]',this.changeChartType);$('[data-role="filterMenu"] [data-role="selectAll"]').on('click',_.bind(this.selectAllFilters,this));$('[data-role="filterMenu"] [data-role="unselectAll"]').on('click',_.bind(this.unselectAllFilters,this));$('button[data-role="applyFilters"]').on('click',function(){$('[data-action="chartFilter"]').trigger('closeMenu');});this.on('click','[data-role="saveReport"]',_.bind(this.saveFilters,this));this.on('click','[data-role="renameChart"]',_.bind(this.renameFilters,this));this.setup();},selectAllFilters:function(e){$(e.currentTarget).closest('.ipsMenu').find('.ipsMenu_item:not(.ipsMenu_itemChecked) a:not(.ipsMenu_itemNonSelect)').trigger('click');$('button[data-role="applyFilters"]').prop('disabled',false);},unselectAllFilters:function(e){$(e.currentTarget).closest('.ipsMenu').find('.ipsMenu_item.ipsMenu_itemChecked a').trigger('click');$('button[data-role="applyFilters"]').prop('disabled',false);},setup:function(){var self=this;this.identifier=this.scope.attr('data-chart-identifier');this.storedValues.timescale=this.scope.find('[data-timescale][data-selected]').attr('data-timescale');this.storedValues.type=this.scope.find('[data-type][data-selected]').attr('data-type');if(this.scope.find('[data-role="searchForm"] input')){this.storedValues.term=null;}
|
||||
this.storedValues.filters=[];this.storedValues.dates={start:'',end:''};this.type=this.scope.attr('data-chart-type');this.timescale=this.scope.attr('data-chart-timescale');$('#el'+this.identifier+'Filter_menu').find('.ipsMenu_itemChecked').each(function(){self.storedValues.filters.push($(this).attr('data-ipsMenuValue'));});this.checkType();},changeTimescale:function(e){this.timescale=$(e.currentTarget).attr('data-timescale');this._toggleButtonRow(e,'timescale');},changeChartType:function(e){this.type=$(e.currentTarget).attr('data-type');this._toggleButtonRow(e,'type');this.checkType();},checkType:function(){if(this.type=='Table'||this.type=='PieChart'||this.type=='GeoChart'){$(this.scope).find('[data-role="groupingButtons"] a.ipsButton').addClass('ipsButton--disabled ipsButton--inherit').removeClass('ipsButton--primary');}else{$(this.scope).find('[data-role="groupingButtons"] a.ipsButton').removeClass('ipsButton--disabled');$(this.scope).find('a.ipsButton[data-timescale="'+this.timescale+'"]').removeClass('ipsButton--inherit').addClass('ipsButton--primary');}},updateUrlBound:false,changeFilter:function(e,data){data.originalEvent.preventDefault();this._resetFilters();if(this.updateUrlBound===false){$('[data-action="chartFilter"]').one('menuClosed',_.bind(this.fetchNewResults,this));this.updateUrlBound=true;}
|
||||
this.storedValues.filters=[];this.storedValues.dates={start:'',end:''};this.type=this.scope.attr('data-chart-type');this.timescale=this.scope.attr('data-chart-timescale');$('#el'+this.identifier+'Filter_menu').find('.ipsMenu_itemChecked').each(function(){self.storedValues.filters.push($(this).attr('data-ipsMenuValue'));});this.checkType();},changeTimescale:function(e){this.timescale=$(e.currentTarget).attr('data-timescale');this._toggleButtonRow(e,'timescale');},changeChartType:function(e){this.type=$(e.currentTarget).attr('data-type');this._toggleButtonRow(e,'type');this.checkType();},checkType:function(){if(this.type=='Table'||this.type=='PieChart'||this.type=='GeoChart'){$(this.scope).find('[data-role="groupingButtons"] a.ipsButton').addClass('ipsButton--disabled');}else{$(this.scope).find('[data-role="groupingButtons"] a.ipsButton').removeClass('ipsButton--disabled');}},updateUrlBound:false,changeFilter:function(e,data){data.originalEvent.preventDefault();this._resetFilters();if(this.updateUrlBound===false){$('[data-action="chartFilter"]').one('menuClosed',_.bind(this.fetchNewResults,this));this.updateUrlBound=true;}
|
||||
$('button[data-role="applyFilters"]').prop('disabled',false);},fetchNewResults:function(e){this._updateURL();this.updateUrlBound=false;},saveFilters:function(event){var identifier=this.scope.closest('.ipsTabs__panel').closest('section').attr('id');var self=this;var pieces=[];_.each(this.storedValues.filters,function(value,idx){pieces.push("chartFilters["+idx+"]="+value);});$('#el'+this.identifier+'CustomFiltersForm input[data-role="nodeValue"]').each(function(){pieces.push('customform_'+$(this).attr('name')+"="+$(this).val());});var newFilters=pieces.join('&');if(this.timescale){newFilters=newFilters+"×cale="+this.timescale;}
|
||||
if(!$(event.currentTarget).attr('data-chartId')){this._skipUpdate=true;$('#el'+this.identifier+'FilterSave_menu').one('submit','form',function(e){if($(this).attr('data-bypassValidation')){return false;}
|
||||
$(this).trigger('closeMenu');var tabTitle=$(this).find('[name="custom_chart_title"]').val();e.preventDefault();ips.getAjax()($(this).attr('action'),{data:$(this).serialize()+'&'+newFilters,type:'post'}).done(function(response,status,jqXHR){$('[data-ipsTabBar-contentArea="#'+identifier+'"]').find('ul[role="tablist"]').append("<li><a href='"+response.tabHref+"' id='"+response.tabId+"_tab_"+response.chartId+"' class='ipsTabs__tab' title='"+tabTitle+"' role='tab' aria-selected='true'>"+tabTitle+"</a></li>");$('#'+identifier).append("<div id='ipsTabs_elTabs_"+response.tabId+"_"+response.tabId+"_tab_"+response.chartId+"_panel' class='ipsTabs__panel' aria-labelledby='"+response.tabId+"_tab_"+response.chartId+"' aria-hidden='true'></div>");self._skipUpdate=false;$(document).trigger('contentChange',[self.scope]);$('#el'+self.identifier+'FilterSave_menu').find('[name="custom_chart_title"]').val('');$('#'+response.tabId+"_tab_"+response.chartId).click();ips.ui.flashMsg.show(ips.getString('saved'));}).fail(function(){$(this).attr('data-bypassValidation',true).submit();});});}
|
||||
$(this).trigger('closeMenu');var tabTitle=$(this).find('[name="custom_chart_title"]').val();e.preventDefault();ips.getAjax()($(this).attr('action'),{data:$(this).serialize()+'&'+newFilters,type:'post'}).done(function(response,status,jqXHR){$('[data-ipsTabBar-contentArea="#'+identifier+'"]').find('[role="tablist"]').append("<a href='"+response.tabHref+"' id='ipsTabs_"+response.tabId+"_"+response.chartId+"' class='ipsTabs__tab' title='"+tabTitle+"' role='tab' aria-controls='ipsTabs_"+response.tabId+"_"+response.chartId+"_panel' aria-selected='false'>"+tabTitle+"</a>");$('#'+identifier).append("<div id='ipsTabs_"+response.tabId+"_"+response.chartId+"_panel' class='ipsTabs__panel' role'tabpanel' aria-labelledby='ipsTabs_"+response.tabId+"_"+response.chartId+"' hidden></div>");self._skipUpdate=false;$(document).trigger('contentChange',[self.scope]);$('#el'+self.identifier+'FilterSave_menu').find('[name="custom_chart_title"]').val('');$('#'+response.tabId+"_"+response.chartId).click();ips.ui.flashMsg.show(ips.getString('saved'));}).fail(function(){$(this).attr('data-bypassValidation',true).submit();});});}
|
||||
else
|
||||
{ips.getAjax()(this.scope.attr('data-chart-url')+'&saveFilters=1&chartId='+$(event.currentTarget).attr('data-chartId'),{data:newFilters,type:'post'});this._updateURL();ips.ui.flashMsg.show(ips.getString('saved'));}},renameFilters(){const identifier=this.scope.closest('.ipsTabs__panel').closest('section').attr('id');const titlefield=()=>identifier?$(`[data-ipsTabBar-contentArea="#${identifier}"] ul[role="tablist"] .ipsTabs__tab--active`):this.scope.find('.ipsTitle');$('#el'+this.identifier+'FilterRename_menu').on('submit','form',async function(e){if($(this).attr('data-bypassValidation')){return false;}
|
||||
{ips.getAjax()(this.scope.attr('data-chart-url')+'&saveFilters=1&chartId='+$(event.currentTarget).attr('data-chartId'),{data:newFilters,type:'post'});this._updateURL();ips.ui.flashMsg.show(ips.getString('saved'));}},renameFilters(){const identifier=this.scope.closest('.ipsTabs__panel').closest('section').attr('id');const titlefield=()=>identifier?$(`[data-ipsTabBar-contentArea="#${identifier}"] [role="tablist"] [aria-selected="true"]`):this.scope.find('.ipsTitle');$('#el'+this.identifier+'FilterRename_menu').on('submit','form',async function(e){if($(this).attr('data-bypassValidation')){return false;}
|
||||
$(this).trigger('closeMenu');e.preventDefault();try{const{title}=await ips.fetch($(this).attr('action'),{data:$(this).serialize(),type:'post'});titlefield().text(title);}catch(e){console.log(e)
|
||||
$(this).attr('data-bypassValidation',true).submit();}});},changeSearch:function(e){e.preventDefault();var form=$('#el'+this.identifier+'Search_menu');this.storedValues.term=form.find('[name="search"]').val();this.scope.find('[data-role="searchSummary"]').text(this.storedValues.term);if(this.storedValues.term){Debug.log(this.scope.find('[data-role="clearSearchTerm"]'));form.find('[data-role="clearSearchTerm"]').show();}
|
||||
else
|
||||
|
||||
@@ -771,13 +771,9 @@ const fileId=parseInt(data?.fileElem?.attr?.('data-fileid'));if(!fileId||Number.
|
||||
try{instance.chain().removeAttachment(fileId).focus().run();}catch(e){Debug.warn(e);}}
|
||||
return{init,focus,unminimize,minimize,insertQuotes,insertHtml,reset,destruct,saveAndClearAutosave,getInstance,getInstanceHTML,scrollIntoView};}}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.filterBar',function(){var defaults={on:'phone,tablet',viewDefault:'filterContent'};var respond=function(elem,options){if(!$(elem).data('_filterBar')){$(elem).data('_filterBar',filterBarObj(elem,_.defaults(options,defaults)));}},getObj=function(elem){if($(elem).data('_filterBar')){return $(elem).data('_filterBar');}
|
||||
return undefined;},destruct=function(elem){var obj=getObj(elem);if(!_.isUndefined(obj)){obj.destruct();}};ips.ui.registerWidget('filterBar',ips.ui.filterBar,['on','viewDefault']);return{respond:respond,destruct:destruct,getObj:getObj};});var filterBarObj=function(elem,options){var filterBar=null;var filterContent=null;var workOn=[];var currentBreak;var currentlyShowing=null;var init=function(){if(!ips.utils.responsive.enabled()){return;}
|
||||
filterBar=elem.find('[data-role="filterBar"]');filterContent=elem.find('[data-role="filterContent"]');workOn=options.on.split(',');currentBreak=ips.utils.responsive.getCurrentKey();$(document).on('breakpointChange',_breakpointChange);elem.on('switchTo.filterBar',function(e,data){if(_.indexOf(workOn,ips.utils.responsive.getCurrentKey())===-1){return;}
|
||||
_switchView(data.switchTo);}).on('click','[data-action="filterBarSwitch"]',_switchToggle);if(_.indexOf(workOn,currentBreak)!==-1){_setUpBar();}},destruct=function(){$(document).off('breakpointChange',_breakpointChange);},_setUpBar=function(){if(options.viewDefault=='filterBar'){filterContent.attr('hidden','');currentlyShowing='filterBar';}else{filterBar.attr('hidden','');currentlyShowing='filterContent';}},_switchToggle=function(e){e.preventDefault();if(_.indexOf(workOn,ips.utils.responsive.getCurrentKey())===-1){return;}
|
||||
_switchView($(e.currentTarget).attr('data-switchTo')=='filterBar'?'filterBar':'filterContent');},_switchView=function(switchTo){if(switchTo==currentlyShowing){return;}
|
||||
elem.css({height:(currentlyShowing=='filterBar')?filterBar.outerHeight():filterContent.outerHeight()+'px'});filterBar.addClass('ipsFilter_layout');filterContent.addClass('ipsFilter_layout');var done=function(){filterBar.removeClass('ipsFilter_layout');filterContent.removeClass('ipsFilter_layout');elem.css({height:'auto'});currentlyShowing=switchTo;};if(switchTo=='filterBar'){filterBar.css({left:'-100%'}).removeAttr('hidden').animate({left:'0%'},{duration:300});filterContent.css({left:'0%'}).animate({left:'100%'},{duration:300,complete:function(){$(this).attr('hidden','')
|
||||
done();}});}else{filterBar.css({left:'0%'}).animate({left:'-100%'},{duration:300,complete:function(){$(this).attr('hidden','')
|
||||
done();}});filterContent.css({left:'100%'}).removeAttr('hidden').animate({left:'0%'},{duration:300});}},_cancel=function(){elem.find('[data-role="filterBar"], [data-role="filterContent"]').removeClass('ipsFilter_layout').css({left:'auto'}).removeAttr('hidden');elem.css({height:'auto'});currentlyShowing=null;},_breakpointChange=function(e,data){currentBreak=data.curBreakName;if(_.indexOf(workOn,currentBreak)!==-1){_switchView(options.viewDefault);}else{_cancel();}};init();return{init:init,destruct:destruct};};}(jQuery,_));;
|
||||
return undefined;},destruct=function(elem){var obj=getObj(elem);if(!_.isUndefined(obj)){obj.destruct();}};ips.ui.registerWidget('filterBar',ips.ui.filterBar,['on','viewDefault']);return{respond:respond,destruct:destruct,getObj:getObj};});var filterBarObj=function(elem,options){var filterBar=null;var filterContent=null;var currentlyShowing=null;var init=function(){filterBar=elem.find('[data-role="filterBar"]');filterContent=elem.find('[data-role="filterContent"]');elem.on('switchTo.filterBar',function(e,data){_switchView(data.switchTo);}).on('click','[data-action="filterBarSwitch"]',_switchToggle);_setUpBar();},destruct=function(){},_setUpBar=function(){if(options.viewDefault=='filterBar'){currentlyShowing='filterBar';}else{currentlyShowing='filterContent';}},_switchToggle=function(e){e.preventDefault();_switchView($(e.currentTarget).attr('data-switchTo')=='filterBar'?'filterBar':'filterContent');},_switchView=function(switchTo){if(switchTo==currentlyShowing){return;}
|
||||
if(document.startViewTransition){document.startViewTransition(()=>{elem.attr('data-ipsfilterbar-viewing',switchTo);});}else{elem.attr('data-ipsfilterbar-viewing',switchTo);}
|
||||
currentlyShowing=switchTo;};init();return{init:init,destruct:destruct};};}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.createModule('ips.ui.flashMsg',function(){var _queue=[],_doneInit=false,_box,_content,_isShowing=false,_currentDismissHandler=null;var defaults={timeout:2,extraClasses:'',location:'top',sticky:false,escape:true};var respond=function(elem,options){if(options.text){show(options.text,options);}},init=function(){$(document).ready(function(){if($('body').attr('data-message')){show($('body').attr('data-message'));}
|
||||
if(ips.utils.url.getParam('flmsg')){show(_.escape(decodeURIComponent(ips.utils.url.getParam('flmsg'))));}
|
||||
if(ips.utils.cookie.get('flmsg')){show(_.escape(ips.utils.cookie.get('flmsg')));ips.utils.cookie.unset('flmsg');}});$(document).on('closeFlashMsg.flashMsg',hide);},show=function(message,options,update){if(!_doneInit){_initElement();}
|
||||
@@ -1500,31 +1496,31 @@ var responseDiv=$('<div>'+response+'</div>');var responseWizard=responseDiv.find
|
||||
responseDiv.find("link","script").appendTo('head');ips.controller.cleanContentsOf(elem);elem.html(responseWizard);$(document).trigger('contentChange',[elem]);elem.trigger('wizardStepChanged');},_showLoading=function(elem){var loading=elem.find('[data-role="loading"]');var formContainer=elem.find('[data-role="wizardContent"]');if(!formContainer.is(':visible')){return;}
|
||||
if(!loading.length){loading=$('<div/>').attr('data-role','loading').addClass('ipsLoading').hide();elem.append(loading);}
|
||||
var dims={width:formContainer.outerWidth(),height:formContainer.outerHeight()};loading.css({width:dims.width+'px',height:dims.height+'px'}).show();formContainer.hide().after(loading.show());},_hideLoading=function(){var loading=elem.find('[data-role="loading"]');var formContainer=elem.find('[data-role="registerForm"]');loading.remove();formContainer.show();};ips.ui.registerWidget('wizard',ips.ui.wizard);return{respond:respond};});}(jQuery,_));;
|
||||
;(function($,_){"use strict";ips.createModule('ips.ui.tabbar',function(){const defaults={itemSelector:'.ipsTabs__tab',activeClass:'ipsTabs__tab--active',loadingClass:'ipsLoading ipsTabs_loadingContent',panelClass:'ipsTabs__panel',panelPrefix:'ipsTabs',updateURL:true,updateTitle:false,disableNav:false};ips.ui.registerWidget('tabbar',ips.ui.tabbar,['contentArea','itemSelector','activeClass','loadingClass','disableNav','panelClass','updateURL','updateTitle','panelPrefix','defaultTab']);return{respond(elem,options){if(!$(elem).data('_tabbar')){$(elem).data('_tabbar',tabBarObj(elem,_.defaults(options,defaults)));}}};});function tabBarObj(elem,options){const rawElem=$(elem).get(0);const tabs=$(elem).find(options.itemSelector);let barId=rawElem.id;let active;let ajaxObj;function init(){if(!barId){barId=$(rawElem).identify().attr('id');}
|
||||
;(function($,_){"use strict";ips.createModule('ips.ui.tabbar',function(){const defaults={itemSelector:'.ipsTabs__tab',activeClass:false,loadingClass:'ipsLoading ipsTabs_loadingContent',panelClass:'ipsTabs__panel',updateURL:true,updateTitle:false,disableNav:false};ips.ui.registerWidget('tabbar',ips.ui.tabbar,['contentArea','itemSelector','activeClass','loadingClass','disableNav','panelClass','updateURL','updateTitle']);return{respond(elem,options){if(!$(elem).data('_tabbar')){$(elem).data('_tabbar',tabBarObj(elem,_.defaults(options,defaults)));}}};});function tabBarObj(elem,options){const rawElem=$(elem).get(0);const tabs=$(elem).find(options.itemSelector);let barId=rawElem.id;let active;let ajaxObj;function init(){if(!barId){barId=$(rawElem).identify().attr('id');}
|
||||
if(!options.contentArea||!$(options.contentArea).length){options.contentArea='#'+$(rawElem).next().identify().attr('id');}
|
||||
if(!tabs.length){Debug.warn("No tabs found in tab bar"+barId);return;}
|
||||
active=_getActiveTab();_initializeActive();$(elem).on('click',options.itemSelector,_handleTabClick);let tabbar=elem[0],tablist=tabbar.querySelector('[role="tablist"]'),scrollers=tabbar.querySelector('[data-role="tabScrollers"]');if(scrollers){scrollers.addEventListener("click",e=>_handleScrollerClick(e,tablist));let scrollerObserver=new IntersectionObserver(tabs=>tabs.forEach(tab=>tabbar.querySelector(`[data-direction="${tab.target.matches(':first-child') ? 'prev' : 'next'}"]`).hidden=tab.intersectionRatio>.99),{root:tablist,threshold:0.99});tablist.querySelectorAll(':scope > li:first-child, :scope > li:last-child').forEach(li=>{scrollerObserver.observe(li)});}}
|
||||
active=_getActiveTab();_initializeActive();$(elem).on('click',options.itemSelector,_handleTabClick);let tabbar=elem[0],tablist=tabbar.querySelector('[role="tablist"]'),scrollers=tabbar.querySelector('[data-role="tabScrollers"]');if(scrollers){scrollers.addEventListener("click",e=>_handleScrollerClick(e,tablist));let scrollerObserver=new IntersectionObserver(tabs=>tabs.forEach(tab=>tabbar.querySelector(`[data-direction="${tab.target.matches(':first-child') ? 'prev' : 'next'}"]`).hidden=tab.intersectionRatio>.99),{root:tablist,threshold:0.99});tablist.querySelectorAll(':scope > :first-child, :scope > :last-child').forEach(el=>{scrollerObserver.observe(el)});}}
|
||||
function _handleScrollerClick(e,tablist){let direction=e.target.closest('button').getAttribute("data-direction"),currentScroll=tablist.scrollLeft,listWidth=tablist.offsetWidth/2;if(direction==="prev"){listWidth=-listWidth;}
|
||||
tablist.scrollTo({left:currentScroll+listWidth,behavior:"smooth"})}
|
||||
function _handleTabClick(e){if(options.disableNav){return;}
|
||||
e.preventDefault();if($(this).hasClass(options.activeClass)){return;}
|
||||
let thisId=$(this).identify().attr('id'),thisContent=$('#'+options.panelPrefix+'_'+barId+'_'+thisId+'_panel');if(!thisContent.length){thisContent=_createTabPanel(thisId);_loadContent(this,thisContent).done(()=>_switchTab(thisId)).fail(()=>Debug.log('failed'));}else{_hideAllPanels();_switchTab(thisId);}
|
||||
e.preventDefault();if($(this).attr('aria-selected')==='true'){return;}
|
||||
let thisId=$(this).identify().attr('id'),thisContent=$('#'+$(this).attr('aria-controls'));if(!thisContent.length){thisContent=$('#'+thisId+'_panel');}
|
||||
if(!thisContent.length){thisContent=_createTabPanel(thisId);_loadContent(this,thisContent).done(()=>_switchTab(thisId)).fail(()=>Debug.log('failed'));}else{_hideAllPanels();_switchTab(thisId);}
|
||||
_updateURL(thisId);}
|
||||
function _switchTab(tabId,immediate=false){_hideAllPanels();const thisContent=$('#'+options.panelPrefix+'_'+barId+'_'+tabId+'_panel'),thisContentParent=document.querySelector(elem[0].getAttribute("data-ipstabbar-contentarea"));if(!immediate){ips.utils.anim.go('fadeIn',thisContent).done(function(){thisContent.attr('aria-hidden','false');$(elem).trigger('tabShown',{barID:barId,tabID:tabId,tab:active,panel:thisContent});$(document).trigger('contentChange',[thisContent]);});}else{thisContent.show().attr('aria-hidden','false');$(elem).trigger('tabShown',{barID:barId,tabID:tabId,tab:active,panel:thisContent});$(document).trigger('contentChange',[thisContent]);}
|
||||
if(elem[0].matches(".ipsTabs--sticky")&&thisContentParent&&window.scrollY>thisContentParent.offsetTop){thisContentParent.scrollIntoView({behavior:"smooth"});}
|
||||
function _switchTab(tabId){_hideAllPanels();const thisContent=$('#'+tabId+'_panel'),thisContentParent=document.querySelector(elem[0].getAttribute("data-ipstabbar-contentarea"));thisContent.removeAttr('hidden');$(elem).trigger('tabShown',{barID:barId,tabID:tabId,tab:active,panel:thisContent});$(document).trigger('contentChange',[thisContent]);if(elem[0].matches(".ipsTabs--sticky")&&thisContentParent&&window.scrollY>thisContentParent.offsetTop){thisContentParent.scrollIntoView({behavior:"smooth"});}
|
||||
active=$('#'+tabId);_makeTabActive(active);$(elem).trigger('tabChanged',{barID:barId,tabID:tabId,tab:active,panel:thisContent});}
|
||||
function _updateURL(tabId){if(!options.updateURL){return;}
|
||||
const tabLink=$(`#${tabId}`);const href=tabLink.attr('href');const title=(options.updateTitle&&tabLink.attr('title'))?tabLink.attr('title'):document.title;if(!_.isEmpty(href)&&!href.startsWith('#')){ips.utils.history.replaceState({},'ips.ui.tabbar',href);document.title=title
|
||||
ips.utils.analytics.trackPageView(href);}}
|
||||
function _getActiveTab(){const activeTab=elem.find('.'+options.activeClass);if(activeTab.length){return activeTab.get(0);}
|
||||
if(options.defaultTab&&$(elem).find(options.defaultTab)){return $(elem).find(options.defaultTab).get(0);}
|
||||
function _getActiveTab(){const activeTab=elem.find('[aria-selected="true"]');if(activeTab.length){return activeTab.get(0);}
|
||||
return $(elem).find(options.itemSelector).first();}
|
||||
function _initializeActive(){const activeId=$(active).identify().attr('id');if(!$('#'+options.panelPrefix+'_'+barId+'_'+activeId+'_panel').length){if($(options.contentArea).children().length){$(options.contentArea).wrapInner(_createTabPanel(activeId,true));_switchTab(activeId,true);}else{var newPanel=_createTabPanel(activeId);_loadContent(active,newPanel).done(function(){_switchTab(activeId);});}}else{_switchTab(activeId,true);}}
|
||||
function _makeTabActive(activeTab){$(elem).find(options.itemSelector).removeClass(options.activeClass).removeAttr('aria-selected');$(activeTab).addClass(options.activeClass).attr('aria-selected','true');}
|
||||
function _initializeActive(){const activeId=$(active).identify().attr('id');if(!$('#'+activeId+'_panel').length){if($(options.contentArea).children().length){$(options.contentArea).wrapInner(_createTabPanel(activeId,true));_switchTab(activeId);}else{var newPanel=_createTabPanel(activeId);_loadContent(active,newPanel).done(function(){_switchTab(activeId);});}}else{_switchTab(activeId);}}
|
||||
function _makeTabActive(activeTab){$(elem).find(options.itemSelector).attr('aria-selected','false');if(options.activeClass){$(elem).find(options.itemSelector).removeClass(options.activeClass);}
|
||||
$(activeTab).attr('aria-selected','true');if(options.activeClass){$(activeTab).addClass(options.activeClass);}}
|
||||
function _loadContent(tab,container){let url;const deferred=$.Deferred();_hideAllPanels();if($(tab).attr('data-tabURL')){url=$(tab).attr('data-tabURL');}else{url=$(tab).attr('href');}
|
||||
$(options.contentArea).addClass(options.loadingClass);ajaxObj=ips.getAjax();ajaxObj(url).done(response=>{$(container).html(response);deferred.resolve();}).fail(()=>window.location=$(tab).attr('href')).always(()=>$(options.contentArea).removeClass(options.loadingClass));return deferred.promise();}
|
||||
function _hideAllPanels(){$(options.contentArea).find('> .'+options.panelClass).hide().attr('aria-hidden','true');}
|
||||
function _createTabPanel(tabId,noAppend=false){const newPanel=$('<div/>').attr({'id':options.panelPrefix+'_'+barId+'_'+tabId+'_panel'}).addClass(options.panelClass).attr({'aria-labelledby':tabId});if(!noAppend){$(options.contentArea).append(newPanel);}
|
||||
function _hideAllPanels(){$(options.contentArea).find('> .'+options.panelClass).attr('hidden','');}
|
||||
function _createTabPanel(tabId,noAppend=false){const newPanel=$('<div/>').attr({'id':tabId+'_panel'}).addClass(options.panelClass).attr({'role':'tabpanel'}).attr({'aria-labelledby':tabId});if(!noAppend){$(options.contentArea).append(newPanel);}
|
||||
return newPanel;}
|
||||
init();return{init};}}(jQuery,_));;
|
||||
;(function($,_,undefined){"use strict";ips.createModule('ips.utils',function(options){var argsToArray=function(obj){return Array.prototype.slice.call(obj);},uppercaseFirst=function(fromString){return fromString.charAt(0).toUpperCase()+fromString.slice(1);},getIDsFromList=function(list){if(!list){return'';}
|
||||
@@ -1890,11 +1886,10 @@ var item=queue.shift();if(item.run=='anim'){elem.animationComplete(function(){el
|
||||
item.deferred.resolve();},cleanClasses=function(elem){$(elem).removeClass('ipsAnim').removeClass(function(index,css){return(css.match(/ipsAnim[0-9a-z_\-]+/gi)||[]).join(' ');});return elem;},isTransition=function(name){return!_.isUndefined(_transitions[name]);},addTransition=function(name,cssAnimation,fallbackAnimation){if(_transitions[name]){Debug.warn("A transition with the name '"+name+"' already exists");return;}
|
||||
_transitions[name]={anim:cssAnimation,fallback:fallbackAnimation};},scrollTo=function(elem,options){};return{init:init,cleanClasses:cleanClasses,animationSupport:animationSupport,isTransition:isTransition,addTransition:addTransition,go:go,cancel:cleanClasses};});}(jQuery,_));;
|
||||
;(function($,_){"use strict";ips.createModule("ips.utils.lazyload",function(){const fixedElements=new WeakSet();const imgDimsCache={_cache:new Map(),get(key){let value;if(!this._cache.has(key)){try{value=ips.utils.db.get('ips.utils.lazyloadImgDims',key);}catch(e){}}else{value=this._cache.get(key);}
|
||||
return value;},set(key,value){ips.utils.db.set('ips.utils.lazyloadImgDims',key,value,false,Math.round(Date.now()/1000)+86400);return this._cache.set(key,value);},has(key){return this._cache.has(key);},delete(key){ips.utils.db.remove('ips.utils.lazyloadImgDims',key);return this._cache.delete(key);}};return{init(){this.parseLazyLoadElements();$(document).on('contentChange',function(changedElement){try{$(changedElement).each(function(){ips.utils.lazyload.parseLazyLoadElements(this);});}catch(e){Debug.warn(`Something went wrong when processing lazy load images`);Debug.warn(e);}})},parseLazyLoadElements(root){root=root instanceof Element?root:document.body;root.querySelectorAll("[data-src]:is(img, audio, video, iframe, object, embed)").forEach(element=>{if(fixedElements.has(element)){return;}
|
||||
return value;},set(key,value){ips.utils.db.set('ips.utils.lazyloadImgDims',key,value,false,Math.round(Date.now()/1000)+86400);return this._cache.set(key,value);},has(key){return this._cache.has(key);},delete(key){ips.utils.db.remove('ips.utils.lazyloadImgDims',key);return this._cache.delete(key);}};return{init(){this.parseLazyLoadElements();$(document).on('contentChange',function(changedElement){try{$(changedElement).each(function(){ips.utils.lazyload.parseLazyLoadElements(this);});}catch(e){Debug.warn(`Something went wrong when processing lazy load images`);Debug.warn(e);}})},parseLazyLoadElements(root){root=root instanceof Element?root:document.body;root.querySelectorAll(":is([data-src], [data-embed-src]):is(img, audio, video, iframe, object, embed)").forEach(element=>{if(fixedElements.has(element)){return;}
|
||||
element.dataset.ipsLazyloadProcessed='1'
|
||||
fixedElements.add(element);if(element.getAttribute('src')===element.dataset.src){delete element.dataset.src
|
||||
return;}
|
||||
element.setAttribute('loading','lazy');element.setAttribute('src',element.dataset.src);delete element.dataset.src;if(element.matches('img')){let width=parseFloat(element.getAttribute('width')||'');let height=parseFloat(element.getAttribute('height')||'');if(width&&height&&!Number.isNaN(width)&&!Number.isNaN(height)){return;}else if(element.style.height||element.style.width){return;}else if(parseFloat(width?.toString()||element.dataset.width||'')&&parseFloat(height?.toString()||element.dataset.height||'')){width=Math.round(parseFloat(width?.toString()||element.dataset.width)*100)/100;height=Math.round(parseFloat(height?.toString()||element.dataset.height)*100)/100;}else if(parseFloat(width?.toString()||element.dataset.width||'')&&parseFloat(element.dataset.ratio||'')){width=Math.round(parseFloat(width?.toString()||element.dataset.width)*100)/100;height=Math.round((width/parseFloat(element.dataset.ratio))*100)/100;}else if(parseFloat(height?.toString()||element.dataset.height||'')&&parseFloat(element.dataset.ratio||'')){height=Math.round(parseFloat(height?.toString()||element.dataset.height)*100)/100;width=Math.round(height*parseFloat(element.dataset.ratio)*100)/100;}
|
||||
fixedElements.add(element);const dataSrc=(element.dataset.src||element.dataset.embedSrc)?.trim();if(element.getAttribute('src')?.trim()===dataSrc){delete element.dataset.src;delete element.dataset.embedSrc;return;}
|
||||
Debug.log(`Found legacy lazy loading ${element.tagName.toLowerCase()}. src: ${dataSrc}`);element.setAttribute('loading','lazy');element.setAttribute('src',dataSrc);delete element.dataset.src;delete element.dataset.embedSrc;if(element.matches('img')){let width=parseFloat(element.getAttribute('width')||'');let height=parseFloat(element.getAttribute('height')||'');if(width&&height&&!Number.isNaN(width)&&!Number.isNaN(height)){return;}else if(element.style.height||element.style.width){return;}else if(parseFloat(width?.toString()||element.dataset.width||'')&&parseFloat(height?.toString()||element.dataset.height||'')){width=Math.round(parseFloat(width?.toString()||element.dataset.width)*100)/100;height=Math.round(parseFloat(height?.toString()||element.dataset.height)*100)/100;}else if(parseFloat(width?.toString()||element.dataset.width||'')&&parseFloat(element.dataset.ratio||'')){width=Math.round(parseFloat(width?.toString()||element.dataset.width)*100)/100;height=Math.round((width/parseFloat(element.dataset.ratio))*100)/100;}else if(parseFloat(height?.toString()||element.dataset.height||'')&&parseFloat(element.dataset.ratio||'')){height=Math.round(parseFloat(height?.toString()||element.dataset.height)*100)/100;width=Math.round(height*parseFloat(element.dataset.ratio)*100)/100;}
|
||||
if(typeof height==="number"&&typeof width==="number"&&height>0&&width>0){Debug.log(`Determined the width and height from data- attributes`);element.setAttribute('width',width.toString());element.setAttribute('height',height.toString());}else{this.getNativeImgDims(element.getAttribute('src')).then(dims=>{if(dims){Debug.log(`Determined the width and height from the URL`);element.setAttribute('width',dims.width.toString());element.setAttribute('height',dims.height.toString());}}).catch(err=>{Debug.warn(`Failed to determine the native dims of the image at the URL ${element.getAttribute('url')}`);Debug.warn(err);})}}});},getNativeImgDims(url){return new Promise(_resolve=>{let done=false;let timeout;const resolve=val=>{if(timeout!==undefined){clearTimeout(timeout);}
|
||||
if(done){return;}
|
||||
done=true;_resolve(val);};try{let output={width:0,height:0};url=new URL(url);if(imgDimsCache.has(url.toString())){resolve(imgDimsCache.get(url.toString()));return;}
|
||||
|
||||
@@ -47,8 +47,7 @@ var tooltipSize={width:tooltip.show().outerWidth(),height:tooltip.show().outerHe
|
||||
const feed=document.querySelector(`[data-feedid=${this.elem.dataset.feedid}][data-controller*="core.front.core.commentFeed"]`);if(feed){return $(feed);}
|
||||
Debug.warn(`The comment feed for a comment could not be identified. This can be prevented by ensuring the comment and its feed have macthing data-feedid attributes (comment's feedid: ${this.elem.dataset.feedid})`);}else{Debug.warn(`A comment is missing its data-feedid attribute, so its comment feed could not be identified. This can be prevented by ensuring the comment and its feed have macthing data-feedid attributes`);}
|
||||
Debug.warn(this.elem);return $(this.elem.closest(`[data-controller*="core.front.core.commentFeed"]`)||this.elem);},quoteSelection:function(e){e.preventDefault();this._getQuoteData();if(this._selectedText){this.feedJQ().trigger('quoteComment.comment',{userid:this._quoteData.userid,username:this._quoteData.username,timestamp:this._quoteData.timestamp,contentapp:this._quoteData.contentapp,contenttype:this._quoteData.contenttype,contentclass:this._quoteData.contentclass,contentid:this._quoteData.contentid,contentcommentid:this._quoteData.contentcommentid,quoteHtml:this._selectedText,citeurl:$(this.elem).get(0).querySelector(".ipsEntry__date[href]")?.getAttribute('href')});}
|
||||
this._hideQuoteTooltip();},commentCheckbox:function(e){var checked=$(e.currentTarget).is(':checked');this.scope.closest('.js-ipsEntry').toggleClass('ipsEntry--selected',checked);this.scope.closest('.js-ipsEntry').find('label[for='+$(e.currentTarget).attr('id')+']').toggleClass('ipsInput--pseudoChecked',checked);this.feedJQ().trigger('checkedComment.comment',{commentID:this._commentID,actions:$(e.currentTarget).attr('data-actions'),checked:checked});},disableQuoting:function(){this._quotingDisabled=true;this.scope.find('[data-ipsQuote-editor]').remove();},rateReview:function(e){e.preventDefault();var self=this;ips.getAjax()($(e.currentTarget).attr('href')).done(function(response){var content=$("<div>"+response+"</div>");self.scope.html(content.find('[data-controller="core.front.core.comment"]').contents());$(document).trigger('contentChange',[self.scope]);}).fail(function(err){window.location=$(e.currentTarget).attr('href');});},_menu:undefined,getMenu(){if(!this._menu){const tablist=document.querySelector('[role="tablist"]');let activeTab=tablist?.querySelector('.ipsTabs__tab--active');let activeTabId='elComment';if(activeTab){const parts=activeTab.getAttribute('id').split('_');if(parts.length>=2){activeTabId=parts[parts.length-1]==='comments'?'elComment':'elReview';Debug.log(activeTabId);}else{Debug.log("Invalid object ID format");}}
|
||||
let commentFeed=this.scope.get(0)?.closest('[data-controller]')
|
||||
this._hideQuoteTooltip();},commentCheckbox:function(e){var checked=$(e.currentTarget).is(':checked');this.scope.closest('.js-ipsEntry').toggleClass('ipsEntry--selected',checked);this.scope.closest('.js-ipsEntry').find('label[for='+$(e.currentTarget).attr('id')+']').toggleClass('ipsInput--pseudoChecked',checked);this.feedJQ().trigger('checkedComment.comment',{commentID:this._commentID,actions:$(e.currentTarget).attr('data-actions'),checked:checked});},disableQuoting:function(){this._quotingDisabled=true;this.scope.find('[data-ipsQuote-editor]').remove();},rateReview:function(e){e.preventDefault();var self=this;ips.getAjax()($(e.currentTarget).attr('href')).done(function(response){var content=$("<div>"+response+"</div>");self.scope.html(content.find('[data-controller="core.front.core.comment"]').contents());$(document).trigger('contentChange',[self.scope]);}).fail(function(err){window.location=$(e.currentTarget).attr('href');});},_menu:undefined,getMenu(){if(!this._menu){let activeTabId=this.elem.closest(`[data-commentstype="reviews"]`)?'elReview':'elComment';Debug.log(activeTabId);let commentFeed=this.scope.get(0)?.closest('[data-controller]')
|
||||
while(commentFeed&&!commentFeed.dataset.controller?.includes('core.front.core.commentFeed')){commentFeed=commentFeed.parentElement?.closest('[data-controller]')}
|
||||
const menuLink=(commentFeed||document).querySelector('#'+activeTabId+`_${this.scope.get(0)?.dataset['commentid']} [href][data-ipsmenu]`);this._menu=menuLink?document.querySelector(menuLink.getAttribute('href')):null;}
|
||||
return this._menu;},_setupShareCommentDialog(){const shareButton=this.getMenu()?.querySelector('[data-role="shareComment"], [data-role="shareReview"]');const shareMenu=shareButton?.dataset.ipsdialogContent?document.querySelector(shareButton.dataset.ipsdialogContent):null;const copyToClipboard=shareMenu?.querySelector('[data-role="shareButton"]');let shared=false;if(window.isSecureContext&©ToClipboard){copyToClipboard.onclick=e=>e.preventDefault()
|
||||
@@ -174,17 +173,18 @@ if($('#elFlashMessage').find('[data-role="newPostNotification"]').length){$('#el
|
||||
e.preventDefault();e.stopPropagation();var self=this;var replyArea=this.scope.find('[data-role="replyArea"]');var submit=form.find('[type="submit"]');var autoFollow=this.scope.find('input[name$="auto_follow_checkbox"]');var commentsOnThisPage=this.scope.find('[data-commentid]');var _lastSeenID=this._getLastSeenID(commentsOnThisPage);var initialText=submit.text();submit.prop('disabled',true).text(ips.getString('saving'));var page=ips.utils.url.getPageNumber(this._pageParam);if(!page){page=1;}
|
||||
this._clearNotifications();ips.getAjax()(form.attr('action'),{data:form.serialize()+'¤tPage='+page+'&_lastSeenID='+_lastSeenID,type:'post'}).done(function(response){if(response.type=='error'){if(response.form){if(replyArea.find('[data-ipseditorv5]')){ips.ui.editorv5.getObj(replyArea.find('[data-ipseditorv5]')).destruct();}
|
||||
form.replaceWith($(response.form));$(document).trigger('contentChange',[self.scope]);}else{ips.ui.alert.show({type:'alert',icon:'warn',message:response.message,callbacks:{}});}}
|
||||
else if(response.type=='redirect'){self.paginationClick(e,{href:response.url,originalEvent:e});}else if(response.type=='merge'){var comment=self.scope.find('[data-commentid="'+response.id+'"]');comment.find('[data-role="commentContent"]').html(response.content);if(comment.find('pre.prettyprint').length){comment.find('pre.prettyprint').each(function(){$(this).html(window.PR.prettyPrintOne(_.escape($(this).text())));});}
|
||||
else if(response.type=='redirect'){self.paginationClick(e,{href:response.url,originalEvent:e});}else if(response.type=='merge'){var comment=$(self.findCommentInFeed(response.id));comment.find('[data-role="commentContent"]').html(response.content);if(comment.find('pre.prettyprint').length){comment.find('pre.prettyprint').each(function(){$(this).html(window.PR.prettyPrintOne(_.escape($(this).text())));});}
|
||||
self.scope.find('[data-role="replyArea"] [data-ipsEditorv5]').data('_editor').reset();if(self.scope.find('[data-role="replyArea"] input[name="guest_name"]').length){self.scope.find('[data-role="replyArea"] input[name="guest_name"]').val('');}
|
||||
form.find("[data-role='commentFormError']").each(function(){$(this).remove();});const container=comment.closest('.js-ipsEntry');if(container.length){ips.utils.anim.go('pulseOnce',container);}else{ips.utils.anim.go('pulseOnce',comment);}
|
||||
ips.ui.flashMsg.show(ips.getString('mergedConncurrentPosts'));$(document).trigger('contentChange',[self.scope]);}else{if(response.postedByLoggedInMember){self.trigger('ipsDataLayer',{_key:'content_comment',_properties:response.dataLayer});}
|
||||
self.trigger('addToCommentFeed',{content:response.content,totalItems:response.total,feedID:self._commentFeedID,scrollToItem:true});if(response.message){ips.ui.flashMsg.show(response.message);}
|
||||
if(self.scope.find('[data-role="replyArea"] input[name="guest_name"]').length){self.scope.find('[data-role="replyArea"] input[name="guest_name"]').val('');self.scope.find('[data-role="replyArea"] [data-ipsEditorv5]').find('.ipsComposeArea_dummy').hide().end().find('[data-role="mainEditorArea"]').show().end().closest('.ipsComposeArea').removeClass('ipsComposeArea_minimized').find('[data-ipsEditor-toolList]').show();}
|
||||
form.find("[data-role='commentFormError']").each(function(){$(this).remove();});if(autoFollow.length){self.trigger('followingItem',{feedID:self.scope.attr('data-feedID'),following:autoFollow.is(':checked')});}}
|
||||
self._clearNotifications();}).fail(function(jqXHR,textStatus,errorThrown){if(Debug.isEnabled()){Debug.error("Posting new reply failed: "+textStatus);Debug.log(jqXHR);Debug.log(errorThrown);}else{form.attr('data-noAjax','true');form.attr('action',form.attr('action')+((!form.attr('action').match(/\?/))?'?failedReply=1':'&failedReply=1'));form.submit();}}).always(function(){submit.prop('disabled',false).text(initialText?initialText:ips.getString('submit_reply'));});},loadNewPosts:function(e){e?.preventDefault?.();this._importNewReplies();},addToCommentFeed(e,data){if(typeof data?.content!=="string"||data.feedID!==this._commentFeedID){return;}
|
||||
self._clearNotifications();}).fail(function(jqXHR,textStatus,errorThrown){if(Debug.isEnabled()){Debug.error("Posting new reply failed: "+textStatus);Debug.log(jqXHR);Debug.log(errorThrown);}else{form.attr('data-noAjax','true');form.attr('action',form.attr('action')+((!form.attr('action').match(/\?/))?'?failedReply=1':'&failedReply=1'));form.submit();}}).always(function(){submit.prop('disabled',false).text(initialText?initialText:ips.getString('submit_reply'));});},loadNewPosts:function(e){e?.preventDefault?.();this._importNewReplies();},findCommentInFeed(commentId){const commentSelector=`[data-commentid="${commentId}"]`;const comment=this.elem.querySelector(`[data-role="commentFeed"] ${commentSelector}`);if(comment){return comment;}else if(this.elem.dataset.feedid){const feedSelector=`[data-feedid="${this.elem.dataset.feedid}"]`;return document.querySelector(`${feedSelector}${commentSelector}, ${feedSelector} ${commentSelector}`)||null;}
|
||||
return null;},addToCommentFeed(e,data){if(typeof data?.content!=="string"||data.feedID!==this._commentFeedID){return;}
|
||||
const content=$('<div/>').append(data.content);const div=content.get(0);const comment=content.find('.js-ipsEntry');let commentFeed=this.scope.find('[data-role="commentFeed"]');if(commentFeed.find('[data-role="moderationTools"]').length){commentFeed=commentFeed.find('[data-role="moderationTools"]');}
|
||||
this.scope.find('[data-role="noComments"]').remove();const actualContent=div.querySelector(`[data-ips-hook="postWrapper"]`)
|
||||
const id=parseInt(actualContent?.querySelector(`[data-commentid]`)?.dataset.commentid);const existing=Number.isInteger(id)&&(this.elem.querySelector(`[data-role="commentFeed"] [data-commentid="${id}"]`)?.closest(`[data-ips-hook="postWrapper"]`)||null);if(existing&&existing.parentElement){existing.parentElement.replaceChild(existing,actualContent);}else{commentFeed.append(comment.css({opacity:"0.001"}));const newItemTop=comment.offset().top;const windowScroll=$(window).scrollTop();const viewHeight=$(window).height();function _showComment(){comment.css({opacity:"1"});ips.utils.anim.go('fadeInDown',comment.filter(':not(.ipsHide)'));}
|
||||
const id=parseInt(actualContent?.querySelector(`[data-commentid]`)?.dataset.commentid);const existing=Number.isInteger(id)&&this.findCommentInFeed(id);if(existing&&existing.parentElement){existing.parentElement.replaceChild(existing,actualContent);}else{commentFeed.append(comment.css({opacity:"0.001"}));const newItemTop=comment.offset().top;const windowScroll=$(window).scrollTop();const viewHeight=$(window).height();function _showComment(){comment.css({opacity:"1"});ips.utils.anim.go('fadeInDown',comment.filter(':not(.ipsHide)'));}
|
||||
if(data.scrollToItem&&(newItemTop<windowScroll||newItemTop>(windowScroll+viewHeight))){$('html, body').animate({scrollTop:newItemTop+'px'},'fast',function(){setTimeout(_showComment,100);});}else{_showComment();}
|
||||
if(!('resetEditor'in data)||data.resetEditor!==false){this.scope.find('[data-role="replyArea"] [data-ipsEditorv5]').data('_editor').reset();}
|
||||
if(ips.utils.db.isEnabled()){const buttons=comment.find('[data-action="multiQuoteComment"]');buttons.hide().removeClass('ipsHide');ips.utils.anim.go('fadeIn',buttons);}}
|
||||
@@ -250,7 +250,7 @@ attachment.attr('data-loaded',true);},_updateAttachmentImage:function(attachment
|
||||
if(!_.isUndefined(response.rotate)&&response.rotate!==null){attachment.attr('data-rotate',response.rotate).css('transform','');attachment.parents('a.ipsAttachLink_image').css({'transform':'rotate('+response.rotate+'deg)','position':'absolute','top':0});if(response.rotate==90||response.rotate==-270){if(attachment.width()>attachment.height()){attachment.parents('a.ipsAttachLink_image').css({'right':'40%','height':'100%'});}else{attachment.parents('a.ipsAttachLink_image').css({'left':'5%','transform-origin':'right'});}}else if(response.rotate==-90||response.rotate==270){if(attachment.width()>attachment.height()){attachment.parents('a.ipsAttachLink_image').css({'right':'40%','height':'100%'});}else{attachment.parents('a.ipsAttachLink_image').css({'left':'40%','transform-origin':'left'});}}
|
||||
var containerHeight=attachment.height();if(response.rotate!=0&&response.rotate!=180&&response.rotate!=-180){containerHeight=attachment.width();}
|
||||
var parent=attachment.parents('p:first');if($(parent).height()<containerHeight){$(parent).css({'height':parseInt(containerHeight+5).toString()+'px','position':'relative'});}}},_updateAttachmentMetaDataError:function(attachment){if(attachment.hasClass('ipsAttachLink_block')){attachment.find('.ipsAttachLink_metaInfo').html(ips.getString('attachmentUnavailable'));}else{attachment.attr('title',ips.getString('attachmentUnavailable'));}
|
||||
attachment.attr('data-loaded',true);},async _addOrUpdateWrappingLink(image){const closestLink=image.closest('a');const imageSrc=image.attr('src');const fileId=image.attr('data-fileid');if(closestLink.length&&closestLink.hasClass('ipsAttachLink')&&closestLink.hasClass('ipsAttachLink_image')){const href=closestLink.attr('href');const ext=href?.includes('.')?href.split('.').pop():'';if(IMAGE_EXTENSIONS.has(ext)||(await ips.ui.lightbox.getImageDimensions(imageSrc)).solid){closestLink.attr('data-fileId',fileId).attr('data-ipsLightbox','').attr('data-ipsLightbox-group',this._random);if(href){closestLink.attr('data-fullurl',href)}}}else if(!closestLink.length){image.wrap($('<a href="'+imageSrc+'"'+" title='"+ips.getString('enlargeImage')+"' data-fileId='"+fileId+"'data-wrappedLink data-ipsLightbox data-ipsLightbox-group='"+this._random+"'></a>"));}},_initializeImages:function(){var self=this;var images=this.scope.find('img:not(.ipsEmoji *, .tiptap *, [data-emoticon] *)');if(images.length){_.each(images,function(image,i){let rawImage
|
||||
attachment.attr('data-loaded',true);},async _addOrUpdateWrappingLink(image){const closestLink=image.closest('a');const imageSrc=image.attr('src');const fileId=image.attr('data-fileid');if(closestLink.length&&closestLink.hasClass('ipsAttachLink')&&closestLink.hasClass('ipsAttachLink_image')){const href=closestLink.attr('href');const ext=href?.includes('.')?href.split('.').pop():'';if(IMAGE_EXTENSIONS.has(ext)||(await ips.ui.lightbox.getImageDimensions(imageSrc)).solid){closestLink.attr('data-fileId',fileId).attr('data-ipsLightbox','').attr('data-ipsLightbox-group',this._random);if(href){closestLink.attr('data-fullurl',href)}}}else if(!closestLink.length){let link=$('<a data-wrappedLink data-ipslightbox>').attr('href',imageSrc).attr('title',ips.getString('enlargeImage')).attr('data-fileid',fileId).attr('data-lightbox-group',this._random);image.wrap(link);}},_initializeImages:function(){var self=this;var images=this.scope.find('img:not(.ipsEmoji *, .tiptap *, [data-emoticon] *)');if(images.length){_.each(images,function(image,i){let rawImage
|
||||
if(image instanceof $){rawImage=image.get(0);}else{rawImage=image;image=$(image);}
|
||||
const embedAncestor=rawImage?.closest('.ipsEmbedded_og[data-og-url]')
|
||||
if(embedAncestor){if(!('linkified'in embedAncestor.dataset)){const toLink=embedAncestor.querySelector(`.ipsEmbedded_og__title`)||rawImage
|
||||
|
||||
@@ -212,102 +212,115 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'entry_information', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
<div class='ipsTabs ipsJS_show' id='tabs_
|
||||
<i-tabs class='ipsTabs' id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<ul role='tablist'>
|
||||
_content'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $elements as $name => $content ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='#ipsTabs_tabs_
|
||||
<button type="button" id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' id='
|
||||
' class="ipsTabs__tab" role="tab" aria-controls='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class="ipsTabs__tab" role="tab">
|
||||
|
||||
_panel' aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $name == 'blog_entry_mainTab' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
IPSCONTENT;
|
||||
|
||||
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id='ipsTabs_content_
|
||||
</i-tabs>
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__panels'>
|
||||
_content' class='ipsTabs__panels'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $elements as $name => $contents ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_tabs_
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' class="ipsTabs__panel ipsTabs__panel--
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-labelledby="
|
||||
" role="tabpanel" aria-labelledby="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $name != 'blog_entry_mainTab' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<ul class='ipsForm ipsForm--blog-submit-content ipsForm--vertical'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -148,7 +148,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $event->nextOccurrence( \IPS\calendar\Date::getDate(), 'startDate' ) ):
|
||||
if ( $event->nextOccurrence( $date, 'startDate' ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<span class='ipsCalendarDate__month'>
|
||||
@@ -806,7 +806,7 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<h4 class='ipsData__title'><a href='
|
||||
<h3 class='ipsData__title'><a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $event->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -814,7 +814,7 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $event->title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></h4>
|
||||
</a></h3>
|
||||
<p class="ipsData__desc">
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $event->truncated(TRUE, 400), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
@@ -929,7 +929,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
<section class="ipsBox cEvents__overview-featured">
|
||||
<header class="ipsBox__header">
|
||||
<h3>Featured Events</h3>
|
||||
<h2>Featured Events</h2>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1019,7 +1019,7 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
<div class='ipsData__item'>
|
||||
<li class='ipsData__item'>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $event->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
@@ -1120,7 +1120,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<h4 class='ipsData__title'>
|
||||
<h3 class='ipsData__title'>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $event->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
@@ -1130,7 +1130,7 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $event->title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</h4>
|
||||
</h3>
|
||||
<p class='i-font-weight_500 i-font-size_-2 i-text-transform_uppercase'>
|
||||
<time datetime='
|
||||
IPSCONTENT;
|
||||
@@ -1586,7 +1586,7 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
IPSCONTENT;
|
||||
|
||||
return $return;
|
||||
@@ -1640,7 +1640,7 @@ IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=calendar&do=search&form_submitted=1&lat=0&lon=0", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-role='nearMeLink' data-action='moreNearMe'>
|
||||
' data-role='nearMeLink' data-action='moreNearMe' class="i-font-weight_500 i-text-decoration_underline">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'see_more_events_near_you', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -1760,7 +1760,7 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'e
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
<div class='i-padding_3 i-background_2 i-border-end-start-radius_box i-border-end-end-radius_box'>
|
||||
<ul class='ipsEventList'>
|
||||
<ul class='ipsEventList ipsData ipsData--grid ipsData--events-list'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1907,7 +1907,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
></div>
|
||||
<ul class='ipsEventList
|
||||
<ul class='ipsEventList ipsData ipsData--grid ipsData--events-list
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !\count( $results ) ):
|
||||
|
||||
@@ -904,70 +904,71 @@ if ( $key === 'location' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class='cEvents__search__field cEvents__search__field--location'>
|
||||
<label class='cEvents__search__label'>
|
||||
<div class="i-flex i-justify-content_space-between">
|
||||
<label class='cEvents__search__label' for="elInput_location">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_location', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</label>
|
||||
<div class='cEvents__search__searchWrap i-flex i-gap_1'>
|
||||
|
||||
<div class='i-flex i-gap_1'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $byLocation ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$input->options['placeholder'] = \IPS\Member::loggedIn()->language()->addToStack( "events_search_your_location" );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$input->options['disabled'] = TRUE;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
{$input->html()}
|
||||
<a href='#' class='ipsEventSearch__searchLocation i-align-self_center i-font-size_-2 i-font-weight_600 i-color_soft i-flex_00 ipsJS_show' hidden data-action='useMyLocation'><i class='fa-solid fa-crosshairs'></i> <span>
|
||||
<button type="button" class='ipsEventSearch__searchLocation' hidden data-action='useMyLocation'><i class='fa-solid fa-crosshairs'></i> <span>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_use_location', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></a>
|
||||
<a href='#' class='ipsEventSearch__searchLocation i-align-self_center i-font-size_-2 i-font-weight_600 i-color_soft i-flex_00 ipsJS_show' data-action='cancelLocation'><span>
|
||||
</span></button>
|
||||
<button type="button" class='ipsEventSearch__searchLocation' data-action='cancelLocation'><span>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_cancel_location', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></a>
|
||||
|
||||
</span></button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
{$input->html()}
|
||||
<a href='#' class='ipsEventSearch__searchLocation i-align-self_center i-font-size_-2 i-font-weight_600 i-color_soft i-flex_00 ipsJS_show' data-action='useMyLocation'><i class='fa-solid fa-crosshairs'></i> <span>
|
||||
<button type="button" class='ipsEventSearch__searchLocation' data-action='useMyLocation'><i class='fa-solid fa-crosshairs'></i> <span>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_use_location', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></a>
|
||||
<a href='#' class='ipsEventSearch__searchLocation i-align-self_center i-font-size_-2 i-font-weight_600 i-color_soft i-flex_00 ipsJS_show' hidden data-action='cancelLocation'><span>
|
||||
</span></button>
|
||||
<button type="button" class='ipsEventSearch__searchLocation' hidden data-action='cancelLocation'><span>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_cancel_location', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></a>
|
||||
|
||||
</span></button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{$input->html()}
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -976,13 +977,15 @@ elseif ( $key === 'show' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class='cEvents__search__field cEvents__search__field--show'>
|
||||
<label class='cEvents__search__label'>
|
||||
<label class="cEvents__search__input">
|
||||
<span class='cEvents__search__label'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_type', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</label>
|
||||
{$input->html()}
|
||||
</span>
|
||||
{$input->html()}
|
||||
</label>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -991,22 +994,26 @@ elseif ( $key === 'date' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class='cEvents__search__field cEvents__search__field--date cEvents__search__field--from'>
|
||||
<label class='cEvents__search__label'>
|
||||
<label class="cEvents__search__input">
|
||||
<span class='cEvents__search__label'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_from', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</label>
|
||||
{$input->start->html()}
|
||||
</span>
|
||||
{$input->start->html()}
|
||||
</label>
|
||||
</li>
|
||||
<li class='cEvents__search__field cEvents__search__field--date cEvents__search__field--to'>
|
||||
<label class='cEvents__search__label'>
|
||||
<label class="cEvents__search__input">
|
||||
<span class='cEvents__search__label'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_to', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</label>
|
||||
{$input->end->html()}
|
||||
</span>
|
||||
{$input->end->html()}
|
||||
</label>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -1021,12 +1028,12 @@ endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class='cEvents__search__field cEvents__search__field--submit'>
|
||||
<button type='submit' class='ipsButton ipsButton--primary i-width_100p'>
|
||||
<button type='submit' class='ipsButton ipsButton--large ipsButton--primary i-width_100p'><i class="fa-solid fa-magnifying-glass"></i><span>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'events_search_search', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</button>
|
||||
</span></button>
|
||||
</li>
|
||||
</ul>
|
||||
</form>
|
||||
|
||||
@@ -690,7 +690,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "view", "calendar" )->reminder( $event, $reminder );
|
||||
$return .= \IPS\Theme::i()->getTemplate( "view", "calendar" )->reminder( $event, $event->getReminder() );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
@@ -1864,11 +1864,11 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'event_rsvp_attendees', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h3>
|
||||
<div class="ipsTabs ipsTabs_small ipsTabs--stretch" id="elAttendees
|
||||
<i-tabs class="ipsTabs ipsTabs--small ipsTabs--stretch" id="ipsTabs_elAttendees
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipstabbar data-ipstabbar-contentarea="#elAttendees
|
||||
" data-ipstabbar data-ipstabbar-contentarea="#ipsTabs_elAttendees
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -1878,18 +1878,21 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "calendar/front/view/eventSidebar", "rsvpTabs:before", [ $event,$attendees,$tabId,$address ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
<ul data-ips-hook="rsvpTabs" role="tablist">
|
||||
<div data-ips-hook="rsvpTabs" role="tablist">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "calendar/front/view/eventSidebar", "rsvpTabs:inside-start", [ $event,$attendees,$tabId,$address ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href="#ipsTabs_elAttendees
|
||||
<button type="button" id="ipsTabs_elAttendees
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_elGoing_panel" id="elGoing" class="ipsTabs__tab ipsTabs__tab--active" role="tab" aria-selected="true">
|
||||
_elGoing" class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_elAttendees
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_elGoing_panel" aria-selected="true">
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $event->hasPassed() ):
|
||||
@@ -1929,20 +1932,22 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $event->rsvp_limit == -1 ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href="#ipsTabs_elAttendees
|
||||
<button type="button" id="ipsTabs_elAttendees
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_elMaybe_panel" id="elMaybe" class="ipsTabs__tab" role="tab" aria-selected="false">
|
||||
_elMaybe" class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_elAttendees
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_elMaybe_panel" aria-selected="false">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'rsvp_maybe_attendees', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -1962,20 +1967,22 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href="#ipsTabs_elAttendees
|
||||
|
||||
<button type="button" id="ipsTabs_elAttendees
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_elNotGoing_panel" id="elNotGoing" class="ipsTabs__tab" role="tab" aria-selected="false">
|
||||
_elNotGoing" class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_elAttendees
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_elNotGoing_panel" aria-selected="false">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'rsvp_notgoing_attendees', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -1995,14 +2002,13 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "calendar/front/view/eventSidebar", "rsvpTabs:inside-end", [ $event,$attendees,$tabId,$address ] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</ul>
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "calendar/front/view/eventSidebar", "rsvpTabs:after", [ $event,$attendees,$tabId,$address ] );
|
||||
@@ -2014,8 +2020,8 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id="elAttendees
|
||||
</i-tabs>
|
||||
<div id="ipsTabs_elAttendees
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -2029,7 +2035,11 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_elGoing_panel" class="ipsTabs__panel">
|
||||
_elGoing_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_elAttendees
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_elGoing">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "calendar/front/view/eventSidebar", "rsvpAttendees:inside-start", [ $event,$attendees,$tabId,$address ] );
|
||||
@@ -2184,7 +2194,11 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_elMaybe_panel" class="ipsTabs__panel">
|
||||
_elMaybe_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_elAttendees
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_elMaybe" hidden>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "calendar/front/view/eventSidebar", "rsvpMaybeWrapper:inside-start", [ $event,$attendees,$tabId,$address ] );
|
||||
@@ -2351,7 +2365,11 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_elNotGoing_panel" class="ipsTabs__panel">
|
||||
_elNotGoing_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_elAttendees
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_elNotGoing" hidden>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "calendar/front/view/eventSidebar", "rsvpNotGoingWrapper:inside-start", [ $event,$attendees,$tabId,$address ] );
|
||||
|
||||
@@ -204,34 +204,30 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div class="ipsTabs ipsTabs--stretch acpFormTabBar" id="elMedia_sidebarTabs" data-ipsTabBar data-ipsTabBar-contentarea="#elMedia_sidebar" data-ipstabbar-updateurl="false">
|
||||
<ul role='tablist'>
|
||||
<li>
|
||||
<a href="#" class="ipsTabs__tab ipsTabs__tab--active" data-type="templates" id="elTab_folders" aria-selected="true">
|
||||
<i-tabs class="ipsTabs ipsTabs--stretch acpFormTabBar" id="ipsTabs_mediaSidebar" data-ipsTabBar data-ipsTabBar-contentarea="#elMedia_sidebar" data-ipstabbar-updateurl="false">
|
||||
<div role='tablist'>
|
||||
<button type="button" class="ipsTabs__tab" id="ipsTabs_mediaSidebar_folders" role="tab" aria-controls="ipsTabs_mediaSidebar_folders_panel" aria-selected="true" data-type="templates">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'media_folders', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" class="ipsTabs__tab ipsTabs__tabDisabled" id='elTab_overview' data-type="css">
|
||||
</button>
|
||||
<button type="button" class="ipsTabs__tab" id='ipsTabs_mediaSidebar_overview' role="tab" aria-controls="ipsTabs_mediaSidebar_overview_panel" aria-selected="false" data-type="css">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'media_file_overview', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</i-tabs>
|
||||
<div id='elMedia_sidebar' class='i-background_1 ipsScrollbar'>
|
||||
<div id='ipsTabs_elMedia_sidebarTabs_elTab_folders_panel' class='ipsTabs__panel'>
|
||||
<div id='ipsTabs_mediaSidebar_folders_panel' class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_mediaSidebar_folders">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -273,7 +269,7 @@ $return .= <<<IPSCONTENT
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id='ipsTabs_elMedia_sidebarTabs_elTab_overview_panel' class='ipsTabs__panel i-padding_3' data-role='mediaSidebar'>
|
||||
<div id='ipsTabs_mediaSidebar_overview_panel' class='ipsTabs__panel i-padding_3' data-role='mediaSidebar' role="tabpanel" aria-labelledby="ipsTabs_mediaSidebar_overview" hidden>
|
||||
<div data-role='itemInformation'>
|
||||
<div class='cMedia_preview i-margin-bottom_3' data-role='itemPreview'></div>
|
||||
<div class=''>
|
||||
|
||||
@@ -21,11 +21,15 @@ IPSCONTENT;
|
||||
$return = '';
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs__panel' data-role="templatePanel" id='ipsTabs_elTemplateEditor_tabbar_tab_
|
||||
<div class='ipsTabs__panel' id='ipsTabs_elTemplateEditor_tabbar_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $current->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' data-fileid="
|
||||
_panel' role="tabpanel" aria-labelledby="tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $current->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-role="templatePanel" data-fileid="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $current->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -744,24 +748,29 @@ $return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class='ipsTabs ipsTabs--stretch acpFormTabBar' id='elTemplateEditor_typeTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_fileList' data-ipsTabBar-updateURL='false'>
|
||||
<ul role="tablist">
|
||||
<li><a href='
|
||||
<i-tabs class='ipsTabs ipsTabs--stretch acpFormTabBar' id='elTemplateEditor_typeTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_fileList' data-ipsTabBar-updateURL='false'>
|
||||
<div role="tablist">
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=cms&module=pages&controller=templates&do=manage&t_type=templates", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab i-text-align_center
|
||||
' class='ipsTabs__tab' role="tab" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $current->type == 'templates' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-tabURL='
|
||||
" data-tabURL='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=cms&module=pages&controller=ajax&do=loadMenu&t_type=templates", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -771,23 +780,28 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_html', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
<li><a href='
|
||||
</a>
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=cms&module=pages&controller=templates&do=manage&t_type=css", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab i-text-align_center
|
||||
' class='ipsTabs__tab' role="tab" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $current->type == 'css' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-tabURL='
|
||||
" data-tabURL='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=cms&module=pages&controller=ajax&do=loadMenu&t_type=css", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -797,23 +811,28 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_css', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
<li><a href='
|
||||
</a>
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=cms&module=pages&controller=templates&do=manage&t_type=js", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab i-text-align_center
|
||||
' class='ipsTabs__tab' role="tab" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $current->type == 'js' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-tabURL='
|
||||
" data-tabURL='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=cms&module=pages&controller=ajax&do=loadMenu&t_type=js", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -823,15 +842,15 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_js', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
</ul>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</i-tabs>
|
||||
<section id='elTemplateEditor_fileList'>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -969,9 +988,17 @@ $return .= <<<IPSCONTENT
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id='elTemplateEditor_tabbar' class='ipsTabs acpFormTabBar' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_panels'>
|
||||
<ul role='tablist'>
|
||||
<li data-fileid='
|
||||
<i-tabs id='elTemplateEditor_tabbar' class='ipsTabs acpFormTabBar' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_panels'>
|
||||
<div role='tablist'>
|
||||
<a href='#' class='ipsTabs__tab' id='tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $current->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' role="tab" aria-controls="ipsTabs_elTemplateEditor_tabbar_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $current->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" aria-selected="true" data-fileid='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $current->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -988,18 +1015,12 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $current->group, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
<a href='#' class='ipsTabs__tab' id='tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $current->key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $current->title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
<span data-action='closeTab'><i class='fa-solid fa-xmark'></i></span></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</i-tabs>
|
||||
<section data-role="templatePanelWrap" id='elTemplateEditor_panels' data-haseditor="
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -142,98 +142,130 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs ipsJS_show' id='tabs_
|
||||
<i-tabs class='ipsTabs' id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<ul role='tablist'>
|
||||
_content'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$checkedTab = NULL;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $elements as $name => $content ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='#ipsTabs_tabs_
|
||||
<a href='#ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' id='
|
||||
_panel' id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class="ipsTabs__tab" role="tab">
|
||||
|
||||
' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !$checkedTab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
$checkedTab = $name;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
IPSCONTENT;
|
||||
|
||||
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</a>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id='ipsTabs_content_
|
||||
</i-tabs>
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__panels ipsTabs__panels--padded'>
|
||||
_content' class='ipsTabs__panels ipsTabs__panels--padded'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $elements as $name => $contents ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_tabs_
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' class="ipsTabs__panel" aria-labelledby="
|
||||
_panel' class="ipsTabs__panel" aria-labelledby="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $checkedTab != $name ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -581,7 +581,7 @@ IPSCONTENT;
|
||||
return $return;
|
||||
}
|
||||
|
||||
function pagebuilderupload( $images, $captions, $urls, $autoPlay, $maxHeight, $layout='table', $isCarousel=false ) {
|
||||
function pagebuilderupload( $images, $captions, $urls, $maxHeight, $layout='table', $isCarousel=false ) {
|
||||
$return = '';
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
@@ -695,17 +695,7 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $carouselID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $autoPlay ):
|
||||
$return .= <<<IPSCONTENT
|
||||
data-ipsCarousel-slideshow
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
tabindex="0">
|
||||
' tabindex="0">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -2207,8 +2207,14 @@ IPSCONTENT;
|
||||
|
||||
<div class='i-padding_2'>
|
||||
<div class='ipsBox'>
|
||||
<div class='ipsTabs' id='tabs_hooks' data-ipsTabBar data-ipsTabBar-contentArea='#elWebhookReference' data-ipstabbar-updateurl="false">
|
||||
<ul role='tablist'>
|
||||
<i-tabs class='ipsTabs' id='ipsTabs_hooks' data-ipsTabBar data-ipsTabBar-contentArea='#elWebhookReference' data-ipstabbar-updateurl="false">
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$checkedTab = NULL;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2221,24 +2227,42 @@ IPSCONTENT;
|
||||
if ( \count($appWebhooks) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li role='presentation'>
|
||||
<a href='#ipsTabs_tabs_hooks_elTab_
|
||||
<button type="button" class='ipsTabs__tab' role='tab' id='ipsTabs_hooks_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $app, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' role='tab' id='elTab_
|
||||
' aria-controls="ipsTabs_hooks_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $app, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab' aria-selected="true">
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !$checkedTab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
$checkedTab = $app;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$val = "__app_{$app}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2251,15 +2275,14 @@ IPSCONTENT;
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
</i-tabs>
|
||||
<section id='elWebhookReference' class='acpFormTabContent'>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -2279,15 +2302,25 @@ IPSCONTENT;
|
||||
if ( \count($appWebhooks) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_tabs_hooks_elTab_
|
||||
<div id='ipsTabs_hooks_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $app, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' class="ipsTabs__panel" aria-labelledby="elTab_
|
||||
_panel' role="tabpanel" class="ipsTabs__panel" aria-labelledby="ipsTabs_hooks_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $app, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $checkedTab != $app ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<div class="i-padding_3">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2442,24 +2442,29 @@ $return .= <<<IPSCONTENT
|
||||
</ul>
|
||||
</div>
|
||||
<div class='i-background_1'>
|
||||
<div class='ipsTabs ipsTabs--stretch acpFormTabBar' id='elTemplateEditor_typeTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_fileList' data-ipsTabBar-updateURL='false'>
|
||||
<ul role="tablist">
|
||||
<li><a href='
|
||||
<i-tabs class='ipsTabs ipsTabs--stretch acpFormTabBar' id='elTemplateEditor_typeTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_fileList' data-ipsTabBar-updateURL='false'>
|
||||
<div role="tablist">
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=customization&controller=themes&do=templates&id={$theme->_id}&t_type={$current['type']}&t_type=templates", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab i-text-align_center
|
||||
' class='ipsTabs__tab' aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $current['type'] == 'templates' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-tabURL='
|
||||
" data-tabURL='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=customization&controller=ajax&id={$theme->_id}&do=loadMenu&t_type=templates", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -2469,23 +2474,28 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_templates', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
<li><a href='
|
||||
</a>
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=customization&controller=themes&do=templates&id={$theme->_id}&t_type={$current['type']}&t_type=css", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab i-text-align_center
|
||||
' class='ipsTabs__tab' aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $current['type'] == 'css' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-tabURL='
|
||||
" data-tabURL='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=customization&controller=ajax&id={$theme->_id}&do=loadMenu&t_type=css", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -2495,15 +2505,15 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'theme_css', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
</ul>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</i-tabs>
|
||||
<section id='elTemplateEditor_fileList'>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -2675,20 +2685,19 @@ $return .= <<<IPSCONTENT
|
||||
</div>
|
||||
<div id='elTemplateEditor_outerPanelWrap'>
|
||||
<div id='elTemplateEditor_panelWrap'>
|
||||
<div id='elTemplateEditor_tabbar' class='ipsTabs acpFormTabBar' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_panels'>
|
||||
<ul role='tablist'>
|
||||
<i-tabs id='elTemplateEditor_tabbar' class='ipsTabs acpFormTabBar' data-ipsTabBar data-ipsTabBar-contentArea='#elTemplateEditor_panels'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $current['type'] == 'templates' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li data-fileid='
|
||||
<a href='#' class='ipsTabs__tab' id='tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $template['TemplateKey'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<a href='#' class='ipsTabs__tab' id='tab_
|
||||
' role="tab" data-fileid='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $template['TemplateKey'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -2697,19 +2706,17 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $current['template'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
<span data-action='closeTab'><i class='fa-solid fa-xmark'></i></span></a>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li data-fileid='
|
||||
<a href='#' class='ipsTabs__tab' id='tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $template['jsDataKey'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<a href='#' class='ipsTabs__tab' id='tab_
|
||||
' role="tab" data-fileid='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $template['jsDataKey'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -2718,15 +2725,14 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $template['css_name'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
<span data-action='closeTab'><i class='fa-solid fa-xmark'></i></span></a>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</i-tabs>
|
||||
<section data-role="templatePanelWrap" id='elTemplateEditor_panels'>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -2937,11 +2943,11 @@ IPSCONTENT;
|
||||
$return = '';
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs__panel' data-role="templatePanel" id='ipsTabs_elTemplateEditor_tabbar_tab_
|
||||
<div class='ipsTabs__panel' role="tabpanel" id='ipsTabs_elTemplateEditor_tabbar_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $template['TemplateKey'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' data-fileid="
|
||||
_panel' data-role="templatePanel" data-fileid="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $template['TemplateKey'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
@@ -1384,88 +1384,59 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs ipsJS_show acpFormTabBar
|
||||
<i-tabs class='ipsTabs acpFormTabBar
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $usingIcons ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs_withIcons
|
||||
ipsTabs--withIcons
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' id='tabs_
|
||||
' id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $activeTab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
data-ipsTabBar-defaultTab="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<ul role='tablist'>
|
||||
_content'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $tabs as $name => $content ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='#ipsTabs_tabs_
|
||||
<button type="button" id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' id='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class="ipsTabs__tab
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $name == $activeTab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \in_array( $name, $errorTabs ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs_error
|
||||
ipsTabs__tab--error
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" role="tab" aria-selected="
|
||||
" role="tab" aria-controls="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $activeTab == $name ):
|
||||
@@ -1481,7 +1452,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \in_array( $name, $errorTabs ) ):
|
||||
@@ -1511,54 +1482,59 @@ IPSCONTENT;
|
||||
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id='ipsTabs_content_
|
||||
</i-tabs>
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='acpFormTabContent'>
|
||||
_content' class='acpFormTabContent'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $tabs as $name => $contents ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_tabs_
|
||||
<div class="ipsTabs__panel" role="tabpanel" id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' class="ipsTabs__panel" aria-labelledby="
|
||||
_panel' aria-labelledby="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !$activeTab != $name ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -3800,21 +3800,21 @@ IPSCONTENT;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsBox'>
|
||||
<div class='ipsTabs
|
||||
<i-tabs class='ipsTabs
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabClasses, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
acpFormTabBar' id='elTabs_
|
||||
acpFormTabBar' id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url->acpQueryString() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url->acpQueryString() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'
|
||||
_content'
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Widget\Request::i()->isAjax() ):
|
||||
@@ -3825,15 +3825,14 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<ul role='tablist'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $tabNames as $i => $name ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $i ):
|
||||
@@ -3856,31 +3855,30 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' id='
|
||||
' id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url->acpQueryString() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class="ipsTabs__tab
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $i == $activeId ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" title='
|
||||
' class="ipsTabs__tab" title='
|
||||
IPSCONTENT;
|
||||
|
||||
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
' role="tab" aria-selected="
|
||||
' role="tab" aria-controls='ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url->acpQueryString() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $i == $activeId ):
|
||||
@@ -3896,13 +3894,13 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\IN_DEV ):
|
||||
@@ -3918,28 +3916,27 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</a>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<section id='ipsTabs_content_
|
||||
</i-tabs>
|
||||
<section id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url->acpQueryString() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='acpFormTabContent'>
|
||||
_content' class='acpFormTabContent'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -3952,34 +3949,39 @@ IPSCONTENT;
|
||||
if ( $i == $activeId ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_elTabs_
|
||||
<div role="tabpanel" id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url->acpQueryString() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url->acpQueryString() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' class="ipsTabs__panel
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $panelClasses, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-labelledby="
|
||||
" aria-labelledby="ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url->acpQueryString() ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $i != $activeId ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
{$defaultContent}
|
||||
</div>
|
||||
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -103,41 +103,31 @@ $return .= <<<IPSCONTENT
|
||||
</div>
|
||||
|
||||
<div id='permission_form_wrapper'>
|
||||
<div class='ipsTabs ipsJS_show acpFormTabBar' id='elRestrictions_tab' data-ipsTabBar data-ipsTabBar-contentArea="#elRestrictions_content">
|
||||
<ul role="tablist">
|
||||
<i-tabs class='ipsTabs acpFormTabBar' id='ipsTabs_restrictions' data-ipsTabBar data-ipsTabBar-contentArea="#ipsTabs_restrictions_content">
|
||||
<div role="tablist">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $restrictions['applications'] as $appKey => $appId ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li><a class="ipsTabs__tab
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $appKey === 'core' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" id='
|
||||
<button type="button" class="ipsTabs__tab" id='ipsTabs_restrictions_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $appId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $appKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' href='#ipsTabs_elRestrictions_tab_
|
||||
' role="tab" aria-controls="ipsTabs_restrictions_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $appId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $appKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' role="tab" aria-selected="
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $appKey == 'core' ):
|
||||
@@ -157,60 +147,55 @@ IPSCONTENT;
|
||||
|
||||
$val = "__app_$appKey"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div class='acpFormTabContent' id='elRestrictions_content'>
|
||||
</i-tabs>
|
||||
<div class='acpFormTabContent' id='ipsTabs_restrictions_content'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $restrictions['applications'] as $appKey => $appId ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_elRestrictions_tab_
|
||||
<div id='ipsTabs_restrictions_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $appId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $appKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' class='ipsTabs__panel' aria-labelledby="
|
||||
_panel' class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_restrictions_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $appId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $appKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $appKey === 'core' ):
|
||||
if ( $appKey != 'core' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
true
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
>
|
||||
<div class='i-padding_3' data-controller='core.admin.members.restrictions'>
|
||||
<div class='i-background_3 i-padding_3 acpAppRestrictions_header'>
|
||||
<input type="checkbox" class="ipsSwitch" id='elRestrict_
|
||||
@@ -634,38 +619,34 @@ IPSCONTENT;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsBox'>
|
||||
<div class='ipsTabs ipsJS_show acpFormTabBar' id='tabs_bulkmail' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_bulkmail'>
|
||||
<ul role='tablist'>
|
||||
<li>
|
||||
<a href='#ipsTabs_tabs_bulkmail_bulkmail_tab_overview_panel' id='bulkmail_tab_overview' class="ipsTabs__tab ipsTabs__tab--active" role="tab" aria-selected="true">
|
||||
|
||||
<i-tabs class='ipsTabs acpFormTabBar' id='ipsTabs_bulkmail' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_bulkmail_content'>
|
||||
<div role='tablist'>
|
||||
<button type="button" id='ipsTabs_bulkmail_overview' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_bulkmail_overview_panel" aria-selected="true">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'bm_send_overview', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href='#ipsTabs_tabs_bulkmail_bulkmail_tab_memberlist_panel' id='bulkmail_tab_memberlist' class="ipsTabs__tab" role="tab" aria-selected="false">
|
||||
|
||||
</button>
|
||||
<button type="button" id='ipsTabs_bulkmail_memberlist' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_bulkmail_memberlist_panel" aria-selected="false">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$sprintf = array($count); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'bm_send_recipients', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id='ipsTabs_content_bulkmail' class='acpFormTabContent'>
|
||||
<div id='ipsTabs_tabs_bulkmail_bulkmail_tab_overview_panel' class="ipsTabs__panel" aria-labelledby="bulkmail_tab_overview" aria-hidden="false">
|
||||
</i-tabs>
|
||||
<div id='ipsTabs_bulkmail_content' class='acpFormTabContent'>
|
||||
<div id='ipsTabs_bulkmail_overview_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_bulkmail_overview">
|
||||
<ul class='ipsForm ipsForm--horizontal ipsForm--bulk-overview'>
|
||||
<li class='ipsJS_hide'>
|
||||
IPSCONTENT;
|
||||
@@ -714,7 +695,7 @@ $return .= <<<IPSCONTENT
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id='ipsTabs_tabs_bulkmail_bulkmail_tab_memberlist_panel' class="ipsTabs__panel" aria-labelledby="bulkmail_tab_memberlist" aria-hidden="false">
|
||||
<div id='ipsTabs_bulkmail_memberlist_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_bulkmail_memberlist" hidden>
|
||||
<div class='ipsJS_hide'>
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2320,16 +2301,22 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs i-background_2 acpFormTabBar' id='tabs_
|
||||
<i-tabs class='ipsTabs i-background_2 acpFormTabBar' id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<ul role='tablist'>
|
||||
_content'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$checkedTab = NULL;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2342,25 +2329,12 @@ IPSCONTENT;
|
||||
if ( $name ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='#ipsTabs_tabs_
|
||||
<button type="button" id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' id='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class="ipsTabs__tab
|
||||
@@ -2368,13 +2342,41 @@ IPSCONTENT;
|
||||
|
||||
if ( \in_array( $name, $errorTabs ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs_error
|
||||
ipsTabs__tab--error
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" role="tab" aria-selected="false">
|
||||
|
||||
" role="tab" aria-controls="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !$checkedTab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
$checkedTab = $name;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \in_array( $name, $errorTabs ) ):
|
||||
@@ -2390,8 +2392,7 @@ IPSCONTENT;
|
||||
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2404,19 +2405,19 @@ IPSCONTENT;
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id='ipsTabs_content_
|
||||
</i-tabs>
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='acpFormTabContent'>
|
||||
_content' class='acpFormTabContent'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2429,27 +2430,33 @@ IPSCONTENT;
|
||||
if ( $name ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_tabs_
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' class="ipsTabs__panel" aria-labelledby="
|
||||
_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $checkedTab != $name ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<ul class='ipsForm
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $formClass, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
|
||||
@@ -2276,57 +2276,64 @@ $return .= <<<IPSCONTENT
|
||||
{$club->coverPhoto(TRUE, 'full')}
|
||||
<div id='elClubControls'>
|
||||
<div class='cClubControls__tabs'>
|
||||
<div class='ipsTabs ipsTabs--stretch ipsJS_show' id='tabs_club' data-ipsTabBar data-ipsTabBar-disableNav data-controller="core.front.clubs.navbar" data-clubID="
|
||||
<i-tabs class='ipsTabs ipsTabs--stretch' id='ipsTabs_club' data-ipsTabBar data-ipsTabBar-disableNav data-controller="core.front.clubs.navbar" data-clubID="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $club->id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
<ul role='tablist' data-club-menu>
|
||||
<div role='tablist' data-club-menu>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $club->tabs( $container ) as $id => $tab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li data-tab="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
<a href="
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tab['href'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="ipsTabs__tab
|
||||
" class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_club_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( isset( $tab['isActive'] ) AND $tab['isActive'] ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-tab="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tab['title'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</i-tabs>
|
||||
<div id='elClubTabs_tab_content' class='ipsTabs__panels ipsHide'>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -2334,11 +2341,11 @@ IPSCONTENT;
|
||||
foreach ( $club->tabs( $container ) as $id => $tab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id="ipsTabs_tabs_club_elClubTabs_tab_tab_
|
||||
<div id="ipsTabs_club_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" class="ipsTabs__panel" aria-hidden="false"></div>
|
||||
_panel" class="ipsTabs__panel" role="tabpanel" hidden></div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -1000,55 +1000,55 @@ IPSCONTENT;
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs ipsJS_show' id='tabs_
|
||||
<i-tabs class='ipsTabs' id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<ul role='tablist'>
|
||||
_content'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $elements as $name => $content ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='#ipsTabs_tabs_
|
||||
<button type="button" id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' id='
|
||||
' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class="ipsTabs__tab
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $name == \IPS\Widget\Request::i()->tab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" role="tab">
|
||||
|
||||
">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $content as $element ):
|
||||
@@ -1079,55 +1079,60 @@ IPSCONTENT;
|
||||
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id='ipsTabs_content_
|
||||
</i-tabs>
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__panels'>
|
||||
_content' class='ipsTabs__panels'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $elements as $name => $content ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_tabs_
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' class="ipsTabs__panel" aria-labelledby="
|
||||
_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
<ul class=''>
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $name != \IPS\Widget\Request::i()->tab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<ul>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1471,55 +1476,55 @@ IPSCONTENT;
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs ipsJS_show' id='tabs_
|
||||
<i-tabs class='ipsTabs' id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<ul role='tablist'>
|
||||
_content'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $elements as $name => $content ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='#ipsTabs_tabs_
|
||||
<button type="button" id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' id='
|
||||
' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class="ipsTabs__tab
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $name == \IPS\Widget\Request::i()->tab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" role="tab">
|
||||
|
||||
">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $content as $element ):
|
||||
@@ -1550,55 +1555,60 @@ IPSCONTENT;
|
||||
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id='ipsTabs_content_
|
||||
</i-tabs>
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__panels'>
|
||||
_content' class='ipsTabs__panels'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $elements as $name => $content ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_tabs_
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' class="ipsTabs__panel" aria-labelledby="
|
||||
_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
<ul class=''>
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $name != \IPS\Widget\Request::i()->tab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<ul>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2143,55 +2153,55 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs ipsJS_show' id='tabs_
|
||||
<i-tabs class='ipsTabs' id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<ul role='tablist'>
|
||||
_content'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $elements as $name => $content ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='#ipsTabs_tabs_
|
||||
<button type="button" id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' id='
|
||||
' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class="ipsTabs__tab
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $name == \IPS\Widget\Request::i()->tab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" role="tab">
|
||||
|
||||
">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $content as $element ):
|
||||
@@ -2222,54 +2232,59 @@ IPSCONTENT;
|
||||
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id='ipsTabs_content_
|
||||
</i-tabs>
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__panels ipsTabs__panels--padded'>
|
||||
_content' class='ipsTabs__panels ipsTabs__panels--padded'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $elements as $name => $content ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_tabs_
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' class="ipsTabs__panel" aria-labelledby="
|
||||
_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $name != \IPS\Widget\Request::i()->tab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<ul>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -3798,74 +3813,59 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs ipsJS_show
|
||||
<i-tabs class='ipsTabs
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $usingIcons ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs_withIcons
|
||||
ipsTabs--withIcons
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' id='tabs_
|
||||
' id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<ul role='tablist'>
|
||||
_content'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $tabs as $name => $content ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='#ipsTabs_tabs_
|
||||
<button type="button" id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' id='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class="ipsTabs__tab
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $name == $activeTab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \in_array( $name, $errorTabs ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs_error
|
||||
ipsTabs__tab--error
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" role="tab" aria-selected="
|
||||
" role="tab" aria-controls="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $activeTab == $name ):
|
||||
@@ -3881,7 +3881,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \in_array( $name, $errorTabs ) ):
|
||||
@@ -3911,58 +3911,63 @@ IPSCONTENT;
|
||||
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id='ipsTabs_content_
|
||||
</i-tabs>
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__panels'>
|
||||
_content' class='ipsTabs__panels'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $tabs as $name => $contents ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_tabs_
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' class="ipsTabs__panel ipsTabs__panel--
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-labelledby="
|
||||
" role="tabpanel" aria-labelledby="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $activeTab != $name ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -2307,7 +2307,6 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
{$comment->menu()}
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2379,6 +2378,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
{$comment->menu()}
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2390,7 +2390,12 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $comment->$idField, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-expanded="false" data-ipscontrols aria-label="Author stats" data-ipstooltip><i class="fa-solid fa-chevron-down" aria-hidden="true"></i></button>
|
||||
" aria-expanded="false" data-ipscontrols aria-label="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'author_stats', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipstooltip><i class="fa-solid fa-chevron-down" aria-hidden="true"></i></button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -16812,17 +16817,17 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs cReactionTabs' id='elTabs_
|
||||
<i-tabs class='ipsTabs cReactionTabs' id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'
|
||||
_content'
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Widget\Request::i()->isAjax() ):
|
||||
@@ -16833,24 +16838,23 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<ul role='tablist'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $tabs as $i => $tab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $url->setQueryString( $tabParam, $i ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' id='
|
||||
' id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -16859,17 +16863,7 @@ IPSCONTENT;
|
||||
|
||||
if ( isset( $tab['count'] ) && $tab['count'] == 0 ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tabDisabled
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $i == $activeId ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
ipsTabs__tab--disabled
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
@@ -16899,7 +16893,16 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' role="tab" aria-selected="
|
||||
' role="tab" aria-controls='ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $i == $activeId ):
|
||||
@@ -16915,13 +16918,13 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( isset( $tab['icon'] ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<img src='
|
||||
<img src='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tab["icon"]->url, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -16936,13 +16939,13 @@ IPSCONTENT;
|
||||
$val = "reaction_title_{$i}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" loading="lazy">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $parseNames ):
|
||||
@@ -16963,45 +16966,44 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( isset( $tab['count'] ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<span class='i-opacity_8'>(
|
||||
<span class='i-opacity_8'>(
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tab['count'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
)</span>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</a>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<section id='ipsTabs_content_
|
||||
</i-tabs>
|
||||
<section id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__panels
|
||||
_content' class='ipsTabs__panels
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $contained ):
|
||||
@@ -17024,30 +17026,25 @@ IPSCONTENT;
|
||||
if ( $i == $activeId ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_elTabs_
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' class="ipsTabs__panel" aria-labelledby="
|
||||
_panel' class="ipsTabs__panel" aria-labelledby="ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
">
|
||||
{$defaultContent}
|
||||
</div>
|
||||
|
||||
@@ -19990,7 +19987,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( isset( \IPS\Output::i()->sidebar['contextual'] ) and !empty( \IPS\Output::i()->sidebar['contextual'] ) ):
|
||||
if ( isset( \IPS\Output::i()->sidebar['contextual'] ) and !empty( trim( \IPS\Output::i()->sidebar['contextual'] ) ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
@@ -20461,7 +20458,7 @@ IPSCONTENT;
|
||||
$return = '';
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs
|
||||
<i-tabs class='ipsTabs
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $extraClasses ):
|
||||
@@ -20475,17 +20472,17 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' id='elTabs_
|
||||
' id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'
|
||||
_content'
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Widget\Request::i()->isAjax() ):
|
||||
@@ -20496,38 +20493,27 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<ul role='tablist'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $tabNames as $i => $name ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $url->setQueryString( $tabParam, $i ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' id='
|
||||
' id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class="ipsTabs__tab
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $i == $activeId ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" title='
|
||||
' class="ipsTabs__tab" title='
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $parseNames ):
|
||||
@@ -20552,7 +20538,16 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' role="tab" aria-selected="
|
||||
' role="tab" aria-controls='ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $i == $activeId ):
|
||||
@@ -20568,7 +20563,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $parseNames ):
|
||||
@@ -20589,28 +20584,27 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</a>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<section id='ipsTabs_content_
|
||||
</i-tabs>
|
||||
<section id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__panels
|
||||
_content' class='ipsTabs__panels
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $contained ):
|
||||
@@ -20633,30 +20627,25 @@ IPSCONTENT;
|
||||
if ( $i == $activeId ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_elTabs_
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' class="ipsTabs__panel" aria-labelledby="
|
||||
_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby='ipsTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( md5( $url ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $i, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
'>
|
||||
{$defaultContent}
|
||||
</div>
|
||||
|
||||
@@ -23109,7 +23098,7 @@ IPSCONTENT;
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !$area->isEmpty() OR \IPS\Dispatcher::i()->application->canManageWidgets() ):
|
||||
if ( !$area->isEmpty() OR \IPS\Dispatcher::i()->application?->canManageWidgets() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
@@ -23406,7 +23395,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( ( ( isset( $widgets[ $id ] ) ) || \IPS\Dispatcher::i()->application->canManageWidgets() ) ):
|
||||
if ( ( ( isset( $widgets[ $id ] ) ) || \IPS\Dispatcher::i()->application?->canManageWidgets() ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
@@ -192,13 +192,13 @@ $return .= \IPS\Theme\Template::htmlspecialchars( $conversation->title, ENT_QUOT
|
||||
$return .= <<<IPSCONTENT
|
||||
</h1>
|
||||
<ul class='i-flex_11 ipsButtons'>
|
||||
<li class='ipsResponsive_showPhone'><a href='#' data-action='filterBarSwitch' data-switchTo='filterBar' class='ipsButton ipsButton--soft'><i class='fa-solid fa-caret-left'></i><span>
|
||||
<li><a href='#' data-action='filterBarSwitch' data-switchTo='filterBar' class='ipsButton ipsButton--secondary ipsButton-backToInbox'><i class='fa-solid fa-caret-left'></i><span>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'messenger_list', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></a></li>
|
||||
<li><a href='#' id='elConvoActions' data-ipsMenu class='ipsButton ipsButton--inherit'><span>
|
||||
<li><a href='#' id='elConvoActions' data-ipsMenu class='ipsButton ipsButton--text i-margin-start_auto'><span>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'options', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -1589,6 +1589,21 @@ $return .= <<<IPSCONTENT
|
||||
filterBar
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsFilterBar-viewing='
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Widget\Request::i()->id && !isset( \IPS\Widget\Request::i()->_list) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
filterContent
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
filterBar
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
|
||||
@@ -4007,36 +4007,28 @@ IPSCONTENT;
|
||||
<div class='ipsBox__padding i-border-bottom_1 ipsFieldRow ipsFieldRow--primary' id='elModCPMemberSearch'>
|
||||
{$form}
|
||||
</div>
|
||||
<div class=''>
|
||||
<div class='ipsTabs' id='elmodCPTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elModCPMemberTabContent'>
|
||||
<ul role='tablist'>
|
||||
|
||||
<i-tabs class='ipsTabs' id='elmodCPTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elmodCPTabs_content'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $tabs as $key => $tab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=modcp&tab=members&area=$key", null, "modcp_members", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' id='modcp_
|
||||
' id='elmodCPTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab
|
||||
' class='ipsTabs__tab' role="tab" aria-controls="elmodCPTabs_
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $activeTab === $key ):
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' role="tab" aria-selected="
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $activeTab == $tab ):
|
||||
@@ -4052,42 +4044,40 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$val = "modcp_members_{$key}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</a>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</i-tabs>
|
||||
<section id='elmodCPTabs_content' class='ipsTabs__panels ipsTabs__panels--padded'>
|
||||
<div id="elmodCPTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="elmodCPTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
{$content}
|
||||
</div>
|
||||
<section id='elModCPMemberTabContent' class='ipsTabs__panels ipsTabs__panels--padded'>
|
||||
<div id="ipsTabs_elmodCPTabs_modcp_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" class="ipsTabs__panel" aria-labelledby="modcp_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
{$content}
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</section>
|
||||
IPSCONTENT;
|
||||
|
||||
return $return;
|
||||
@@ -5966,58 +5956,74 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div data-controller="core.front.core.commentsWrapper" data-tabsId='elTabsReport'>
|
||||
<div class="ipsTabs" id="elTabsReport" data-ipsTabBar data-ipstabbar-contentarea="#elReportComments">
|
||||
<ul role="tablist">
|
||||
<li>
|
||||
<a href="#" id="elUserReports" class="ipsTabs__tab
|
||||
<i-tabs class="ipsTabs" id="ipsTabs_report" data-ipsTabBar data-ipstabbar-contentarea="#ipsTabs_report_content">
|
||||
<div role="tablist">
|
||||
<button type="button" id="ipsTabs_report_reports" class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_report_reports_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( ! isset( \IPS\Widget\Request::i()->activeTab ) or \IPS\Widget\Request::i()->activeTab != 'comments' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" title="" role="tab" aria-selected="true">
|
||||
|
||||
">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$pluralize = array( \count( $report->reports( $filterByType ) ) ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'report_user_reports', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#" id="elTabsReport_tab_mod_comments" class="ipsTabs__tab
|
||||
</button>
|
||||
<button type="button" id="ipsTabs_report_comments" class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_report_comments_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( isset( \IPS\Widget\Request::i()->activeTab ) and \IPS\Widget\Request::i()->activeTab == 'comments' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" title="" role="tab" aria-selected="false">
|
||||
|
||||
">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$pluralize = array( $report->num_comments ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'report_mod_comments', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id="elReportComments" class="ipsTabs__panels">
|
||||
<div id="ipsTabs_elTabsReport_elUserReports_panel" class="ipsTabs__panel" aria-labelledby="elUserReports" aria-hidden="false">
|
||||
</i-tabs>
|
||||
<div id="ipsTabs_report_content" class="ipsTabs__panels">
|
||||
<div id="ipsTabs_report_reports_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_report_reports"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( isset( \IPS\Widget\Request::i()->activeTab ) and \IPS\Widget\Request::i()->activeTab == 'comments' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<div data-role="commentFeed">
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -6245,7 +6251,17 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="ipsTabs_elTabsReport_elTabsReport_tab_mod_comments_panel" class="ipsTabs__panel" aria-labelledby="elTabsReport_tab_mod_comments" aria-hidden="false">
|
||||
<div id="ipsTabs_report_comments_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_report_comments"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( ! isset( \IPS\Widget\Request::i()->activeTab ) or \IPS\Widget\Request::i()->activeTab != 'comments' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<div data-controller='core.front.core.commentFeed'
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -7402,36 +7418,28 @@ IPSCONTENT;
|
||||
$return = '';
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class=''>
|
||||
<div class='ipsTabs' id='elmodCPTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elModCPHiddenTabContent'>
|
||||
<ul role='tablist'>
|
||||
|
||||
<i-tabs class='ipsTabs' id='ipsTabs_unapproved' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_unapproved_content'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $tabs as $key => $tab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=modcp&tab=approval&area=$key", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' id='modcp_
|
||||
' id='ipsTabs_unapproved_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab
|
||||
' class='ipsTabs__tab' role="tab" aria-controls="ipsTabs_unapproved_
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $activeTab === $key ):
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' role="tab" aria-selected="
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $activeTab == $tab ):
|
||||
@@ -7447,39 +7455,37 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$val = "{$tab}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</a>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<section id='elModCPHiddenTabContent' class='i-padding_3'>
|
||||
<div id="ipsTabs_elmodCPTabs_modcp_
|
||||
</i-tabs>
|
||||
<section id='ipsTabs_unapproved_content' class='ipsTabs__panels ipsTabs__panels--padded'>
|
||||
<div id="ipsTabs_unapproved_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" class="ipsTabs__panel" aria-labelledby="modcp_
|
||||
_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_unapproved_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
">
|
||||
{$content}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -2073,19 +2073,14 @@ IPSCONTENT;
|
||||
$icons = array('leaderboard' => 'trophy', 'history' => 'clock', 'members' => 'star', 'trending' => 'line-chart');
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs ipsTabs_withIcons ipsTabs_large ipsTabs--stretch' id='elTabBar' data-ipsTabBar data-ipsTabbar-defaultTab="elTab
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipsTabBar-contentArea='#elLeaderboardContent'>
|
||||
<ul role='tablist'>
|
||||
<i-tabs class='ipsTabs ipsTabs--withIcons ipsTabs--stretch' id='ipsTabs_leaderboard' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_leaderboard_content'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $tabs as $key ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li role='presentation'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2097,31 +2092,30 @@ IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=discover&controller=popular&tab={$key}", null, "$seoTemplate", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' role='tab' id='elTab
|
||||
' role='tab' id='ipsTabs_leaderboard_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab
|
||||
' aria-controls="ipsTabs_leaderboard_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" class='ipsTabs__tab' aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $key == $activeTab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
'
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $key == $activeTab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
aria-selected="true"
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
">
|
||||
<i class='fa-solid fa-
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $icons[$key], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
@@ -2134,31 +2128,30 @@ $val = "leaderboard_tabs_{$key}"; $return .= \IPS\Member::loggedIn()->language()
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<section id='elLeaderboardContent' class="ipsTabs__panels">
|
||||
<div id='ipsTabs_elTabBar_elTab
|
||||
</i-tabs>
|
||||
<section id='ipsTabs_leaderboard_content' class="ipsTabs__panels">
|
||||
<div id='ipsTabs_leaderboard_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' aria-labelledby='elTab
|
||||
_panel' aria-labelledby='ipsTabs_leaderboard_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' aria-hidden='false' class='ipsTabs__panel'>
|
||||
' role="tabpanel" class='ipsTabs__panel'>
|
||||
{$content}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -3776,16 +3776,15 @@ IPSCONTENT;
|
||||
if ( \count( $tabs ) > 1 ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs ipsTabs--sticky ipsTabs--profile ipsTabs--stretch' id='elProfileTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elProfileTabs_content'>
|
||||
<ul role="tablist">
|
||||
<i-tabs class='ipsTabs ipsTabs--sticky ipsTabs--profile ipsTabs--stretch' id='elProfileTabs' data-ipsTabBar data-ipsTabBar-contentArea='#elProfileTabs_content'>
|
||||
<div role="tablist">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $tabs as $tab => $title ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $member->url()->setQueryString( 'tab', $tab ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -3793,17 +3792,11 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab
|
||||
' class='ipsTabs__tab' role="tab" aria-controls="elProfileTab_
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $activeTab == $tab ):
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' role="tab" aria-selected="
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $activeTab == $tab ):
|
||||
@@ -3824,28 +3817,27 @@ IPSCONTENT;
|
||||
$val = "{$title}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</i-tabs>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='elProfileTabs_content' class='ipsTabs__panels'>
|
||||
<div id='elProfileTabs_content' class='ipsTabs__panels ipsTabs__panels--profile'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -3858,11 +3850,15 @@ IPSCONTENT;
|
||||
if ( $activeTab == $tab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id="ipsTabs_elProfileTabs_elProfileTab_
|
||||
<div id="elProfileTab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" class='ipsTabs__panel'>
|
||||
_panel" class='ipsTabs__panel' role="tabpanel" aria-labelledby="elProfileTab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tab, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
{$activeTabContents}
|
||||
</div>
|
||||
|
||||
|
||||
@@ -148,94 +148,90 @@ IPSCONTENT;
|
||||
if ( \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs ipsTabs--stretch' id='elTabs_search' data-ipsTabBar data-ipsTabBar-contentArea='#elTabs_search_content'>
|
||||
<ul role='tablist'>
|
||||
<li>
|
||||
<a href='#' id="elTab_searchContent" class="ipsTabs__tab
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Widget\Request::i()->type != 'core_members' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
i-text-align_center" title="
|
||||
<i-tabs class='ipsTabs ipsTabs--stretch' id='ipsTabs_search' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_search_content'>
|
||||
<div role='tablist'>
|
||||
<button type="button" id="ipsTabs_search_searchContent" class="ipsTabs__tab" title="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'search_content_search_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" role="tab"
|
||||
" role="tab" aria-controls="ipsTabs_search_searchContent_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Widget\Request::i()->type != 'core_members' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
aria-selected="true"
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
|
||||
">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'search_content_search', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href='#' id="elTab_searchMembers" class="ipsTabs__tab
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Widget\Request::i()->type == 'core_members' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
i-text-align_center" title="
|
||||
</button>
|
||||
<button type="button" id="ipsTabs_search_searchMembers" class="ipsTabs__tab" title="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'search_member_search_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" role="tab"
|
||||
" role="tab" aria-controls="ipsTabs_search_searchMembers_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Widget\Request::i()->type == 'core_members' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
aria-selected="true"
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
|
||||
">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'search_member_search', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</i-tabs>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<section id='elTabs_search_content' class='ipsTabs__panels'>
|
||||
<div id='ipsTabs_elTabs_search_elTab_searchContent_panel' class='ipsTabs__panel' data-tabType='content'>
|
||||
<section id='ipsTabs_search_content' class='ipsTabs__panels'>
|
||||
<div id='ipsTabs_search_searchContent_panel' class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_search_searchContent" data-tabType='content'
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Widget\Request::i()->type == 'core_members' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<div class='i-padding_4'>
|
||||
<div class=''>
|
||||
<ul>
|
||||
@@ -641,7 +637,7 @@ IPSCONTENT;
|
||||
foreach ( $elements['search_tab_content']['search_in']->options['options'] as $k => $lang ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<li role="none">
|
||||
<span class='ipsSideMenu_item
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -714,7 +710,7 @@ IPSCONTENT;
|
||||
foreach ( $elements['search_tab_content']['search_and_or']->options['options'] as $k => $lang ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<li role="none">
|
||||
<span class='ipsSideMenu_item
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -793,7 +789,7 @@ IPSCONTENT;
|
||||
foreach ( $elements['search_tab_content']['startDate']->options['options'] as $k => $lang ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<li role="none">
|
||||
<span class='ipsSideMenu_item
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -977,7 +973,7 @@ IPSCONTENT;
|
||||
foreach ( $elements['search_tab_content']['updatedDate']->options['options'] as $k => $lang ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<li role="none">
|
||||
<span class='ipsSideMenu_item
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1242,7 +1238,17 @@ IPSCONTENT;
|
||||
if ( \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'core', 'members', 'front' ) ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_elTabs_search_elTab_searchMembers_panel' class='ipsTabs__panel' data-tabType='members'>
|
||||
<div id='ipsTabs_search_searchMembers_panel' class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_search_searchMembers"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \IPS\Widget\Request::i()->type != 'core_members' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
data-tabType='members'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1303,7 +1309,7 @@ IPSCONTENT;
|
||||
foreach ( $elements['search_tab_member']['joinedDate']->options['options'] as $k => $lang ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<li role="none">
|
||||
<span class='ipsSideMenu_item
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -691,10 +691,15 @@ if ( \IPS\Member::loggedIn()->canAccessModule( \IPS\Application\Module::get( 'co
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsSubmitRow">
|
||||
<a href="
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=search&controller=search&tags={$tag->text}", null, "search", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$searchUrl = \IPS\Http\Url::internal( 'app=core&module=search&controller=search', 'front', 'search' )->setQueryString( 'tags', $tag->text );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $searchUrl, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="ipsButton ipsButton--secondary"><span>
|
||||
IPSCONTENT;
|
||||
@@ -1406,87 +1411,97 @@ IPSCONTENT;
|
||||
if ( count( $tabs ) > 1 ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs ipsTabs--sticky' id='tabs_tag' data-ipsTabBar data-ipsTabBar-contentArea="#elTagTabs_tab_content">
|
||||
<ul role='tablist'>
|
||||
<li data-tab="all">
|
||||
<a href="
|
||||
<i-tabs class='ipsTabs ipsTabs--sticky' id='ipsTabs_tag' data-ipsTabBar data-ipsTabBar-contentArea="#ipsTabs_tag_content">
|
||||
<div role='tablist'>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tag->url(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="ipsTabs__tab
|
||||
" class="ipsTabs__tab" id="ipsTabs_tag_all" data-tab="all" role="tab" aria-controls="ipsTabs_tag_all_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !isset( \IPS\Widget\Request::i()->tab ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" id="elTag_all">
|
||||
">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'tag_all_content', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $tabs as $type ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li data-tab="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $type, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
<a href="
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tag->url()->setQueryString( 'tab', $type ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="ipsTabs__tab
|
||||
" class="ipsTabs__tab" id="ipsTabs_tag_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $type, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-tab="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $type, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" role="tab" aria-controls="ipsTabs_tag_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $type, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( isset( \IPS\Widget\Request::i()->tab ) and \IPS\Widget\Request::i()->tab == $type ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" id="elTag_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $type, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
IPSCONTENT;
|
||||
|
||||
$val = "{$type}_pl"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</i-tabs>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='elTagTabs_tab_content' class='ipsTabs__panels'>{$content}</div>
|
||||
<div id='ipsTabs_tag_content' class='ipsTabs__panels'>{$content}</div>
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -413,82 +413,21 @@ if ( $advertisement!==null ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $isCarousel ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$carouselID = 'widget--clubs_' . mt_rand();
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->carouselNavigation( $carouselID );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
<section class="ipsWidget__content">
|
||||
<i-data>
|
||||
<ul class='ipsData ipsData--
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $layout, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $isCarousel ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsData--carousel
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsData--widget-ads'
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $isCarousel ):
|
||||
$return .= <<<IPSCONTENT
|
||||
id='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $carouselID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' tabindex="0"
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
|
||||
<section class="ipsWidget__content ipsWidget__content--tnemesitrevda i-text-align_center">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $advertisement as $ad ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li class='ipsData__item i-padding_0'>
|
||||
<div class="ipsData__content">
|
||||
{$ad}
|
||||
</div>
|
||||
</li>
|
||||
|
||||
{$ad}
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</i-data>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -1447,128 +1386,152 @@ endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
<div class='ipsTabs ipsJS_show' id='tabs_
|
||||
<i-tabs class='ipsTabs' id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<ul role='tablist'>
|
||||
_content'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$checkedTab = NULL;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $hasSettings ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='#ipsTabs_tabs_
|
||||
<button type="button" id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
_settings' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_settings_panel' id='
|
||||
_settings_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
|
||||
if ( !$checkedTab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_settings' class="ipsTabs__tab" role="tab" aria-selected="true">
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
$checkedTab = 'settings';
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'settings', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='#ipsTabs_tabs_
|
||||
<button type="button" id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
_visibility' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_visibility_panel' id='
|
||||
_visibility_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
|
||||
if ( !$checkedTab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_visibility' class="ipsTabs__tab" role="tab" aria-selected="true">
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
$checkedTab = 'visibility';
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'visibility', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $widget->isBuilderWidget() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='#ipsTabs_tabs_
|
||||
<button type="button" id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
_advanced' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_advanced_panel' id='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_advanced' class="ipsTabs__tab" role="tab" aria-selected="false">
|
||||
_advanced_panel" aria-selected="false">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'widget_tab_advanced', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id='ipsTabs_content_
|
||||
</i-tabs>
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__panels'>
|
||||
<div id='ipsTabs_tabs_
|
||||
_content' class='ipsTabs__panels'>
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_settings_panel' class="
|
||||
_settings_panel' class="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $widget->menuStyle !== 'modal' ):
|
||||
@@ -1578,11 +1541,21 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__panel" aria-labelledby="
|
||||
ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_settings" aria-hidden="false">
|
||||
_settings"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $checkedTab != 'settings' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<ul class='ipsForm ipsForm--vertical ipsForm--widget-template'>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -1642,15 +1615,11 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<div id='ipsTabs_tabs_
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_visibility_panel' class="
|
||||
_visibility_panel' class="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $widget->menuStyle !== 'modal' ):
|
||||
@@ -1660,11 +1629,21 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__panel" aria-labelledby="
|
||||
ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_visibility" aria-hidden="false">
|
||||
_visibility"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $checkedTab != 'visibility' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<ul class='ipsForm ipsForm--vertical ipsForm--widget-template'>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -1719,15 +1698,11 @@ IPSCONTENT;
|
||||
if ( $widget->isBuilderWidget() ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_tabs_
|
||||
<div id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_advanced_panel' class="
|
||||
_advanced_panel' class="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $widget->menuStyle !== 'modal' ):
|
||||
@@ -1737,11 +1712,11 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__panel" aria-labelledby="
|
||||
ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_advanced" aria-hidden="false">
|
||||
_advanced" hidden>
|
||||
<ul class='ipsForm ipsForm--vertical ipsForm--widget-template'>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -2370,10 +2345,10 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$tabID = 'widget-mostSolved_' . mt_rand();
|
||||
$tabID = 'ipsTabs_mostSolved' . mt_rand();
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs ipsTabs_small ipsTabs--stretch' id='
|
||||
<i-tabs class='ipsTabs ipsTabs--small ipsTabs--stretch' id='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -2382,25 +2357,27 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_content'>
|
||||
<ul role="tablist">
|
||||
<li>
|
||||
<a href='#ipsTabs_
|
||||
<div role="tablist">
|
||||
<button type="button" data-taburl='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=ajax&do=mostSolved&time=week&limit={$limit}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' id='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_el_MostSolvedWeek_panel' id='
|
||||
_week' class='ipsTabs__tab' role="tab" aria-controls="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
-el_MostSolvedWeek' class='ipsTabs__tab ipsTabs__tab--active' role="tab" aria-selected='true'>
|
||||
_week_panel" aria-selected='true'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'week', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href='
|
||||
</button>
|
||||
<button type="button" data-taburl='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=ajax&do=mostSolved&time=month&limit={$limit}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -2409,15 +2386,17 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
-el_MostSolvedMonth' class='ipsTabs__tab' role="tab" aria-selected='false'>
|
||||
_month' class='ipsTabs__tab' role="tab" aria-controls="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_month_panel" aria-selected='false'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'month', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href='
|
||||
</button>
|
||||
<button type="button" data-taburl='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=ajax&do=mostSolved&time=year&limit={$limit}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -2426,15 +2405,17 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
-el_MostSolvedYear' class='ipsTabs__tab' role="tab" aria-selected='false'>
|
||||
_year' class='ipsTabs__tab' role="tab" aria-controls="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_year_panel" aria-selected='false'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'year', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href='
|
||||
</button>
|
||||
<button type="button" data-taburl='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=ajax&do=mostSolved&time=all&limit={$limit}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
@@ -2443,32 +2424,38 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
-el_MostSolvedAll' class='ipsTabs__tab' role="tab" aria-selected='false'>
|
||||
_all' class='ipsTabs__tab' role="tab" aria-controls="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_all_panel" aria-selected='false'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'alltime', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
</i-tabs>
|
||||
<section id='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_content' class='ipsTabs__panels ipsWidget__content'>
|
||||
<div id="ipsTabs_
|
||||
<div id="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_el_MostSolvedWeek_panel" class='ipsTabs__panel'>
|
||||
_week_panel" class='ipsTabs__panel' role="tabpanel" aria-labelledby="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_week">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -3603,15 +3590,15 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'b
|
||||
$return .= <<<IPSCONTENT
|
||||
</h3>
|
||||
<div class='ipsWidget__content'>
|
||||
<ul class='ipsList ipsList--stacked ipsList--border ipsList--fill'>
|
||||
<ul class='ipsList ipsList--stats ipsList--stacked ipsList--border ipsList--fill'>
|
||||
<li>
|
||||
<strong class='ipsList__label'>
|
||||
<strong class='ipsList__value'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $stats['member_count'] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</strong>
|
||||
<span class='ipsList__value'>
|
||||
<span class='ipsList__label'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'stats_total_members', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -3619,7 +3606,7 @@ $return .= <<<IPSCONTENT
|
||||
</span>
|
||||
</li>
|
||||
<li>
|
||||
<strong class='ipsList__label' data-ipsTooltip title='<time data-norelative="true">
|
||||
<strong class='ipsList__value' data-ipsTooltip title='<time data-norelative="true">
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $stats['most_online']['time'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -3629,7 +3616,7 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $stats['most_online']['count'] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</strong>
|
||||
<span class='ipsList__value'>
|
||||
<span class='ipsList__label'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'stats_most_online', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -4409,7 +4396,7 @@ IPSCONTENT;
|
||||
if ( in_array($layout, array("wallpaper", "featured", "grid")) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<figure class='ipsData__image' data-show-on="wallpaper featured grid">
|
||||
<figure class='ipsData__image'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -4445,7 +4432,7 @@ IPSCONTENT;
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<figure class='ipsData__icon' data-hide-on="wallpaper featured grid">
|
||||
<figure class='ipsData__icon'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -4478,7 +4465,7 @@ $return .= <<<IPSCONTENT
|
||||
</a></h4>
|
||||
</div>
|
||||
<div class='ipsData__desc ipsRichText' data-controller='core.front.core.lightboxedImages'>{$item->truncated()}</div>
|
||||
<p class='ipsData__meta' data-hide-on="mini-grid">
|
||||
<p class='ipsData__meta'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -4524,62 +4511,90 @@ IPSCONTENT;
|
||||
if ( count( $data ) > 1 ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs ipsTabs--stretch' id='el
|
||||
<i-tabs class='ipsTabs ipsTabs--stretch' id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTabBar data-ipsTabBar-updateURL='false' data-ipsTabBar-contentArea='#el
|
||||
' data-ipsTabBar data-ipsTabBar-updateURL='false' data-ipsTabBar-contentArea='#ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_content'>
|
||||
<ul role="tablist">
|
||||
<div role="tablist">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$checked = NULL;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $data as $tag => $items ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$tabId = $key . \str_replace( ' ', '-', $tag );
|
||||
$tabId = \str_replace( ' ', '-', $tag );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='#ipsTabs_el
|
||||
<button type="button" id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_el
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' id='el
|
||||
' class='ipsTabs__tab' role="tab" aria-controls="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab ipsTabs__tab--active' role="tab" aria-selected='true'>
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !$checked ):
|
||||
$return .= <<<IPSCONTENT
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
$checked = $tabId;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tag, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<section id='el
|
||||
</i-tabs>
|
||||
<section id='ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -4590,28 +4605,46 @@ IPSCONTENT;
|
||||
foreach ( $data as $tag => $items ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$tabId = $key . \str_replace( ' ', '-', $tag );
|
||||
$tabId = \str_replace( ' ', '-', $tag );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id="ipsTabs_el
|
||||
<div id="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_el
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" class='ipsTabs__panel'>
|
||||
|
||||
_panel" class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabId, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $checked != $tabId ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "widgets", "core" )->tagRows( $items, $layout );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -4911,97 +4944,110 @@ IPSCONTENT;
|
||||
$tabID = mt_rand();
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs ipsTabs--stretch' id='elTopContributors_
|
||||
<i-tabs class='ipsTabs ipsTabs--stretch' id='ipsTabs_topContributors
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTabBar data-ipsTabBar-updateURL='false' data-ipsTabBar-contentArea='#elTopContributors_
|
||||
' data-ipsTabBar data-ipsTabBar-updateURL='false' data-ipsTabBar-contentArea='#ipsTabs_topContributors
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_content'>
|
||||
<ul role="tablist">
|
||||
<li>
|
||||
<a href='#ipsTabs_elTopContributors_el_topContributorsWeek_panel' id='el_topContributorsWeek_
|
||||
<div role="tablist">
|
||||
<button type="button" data-taburl='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=ajax&do=topContributors&time=week&limit={$limit}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab' role="tab" id='ipsTabs_topContributors
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab ipsTabs__tab--active' role="tab" aria-selected='true'>
|
||||
_week' aria-controls="ipsTabs_topContributors
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_week_panel" aria-selected='true'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'week', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href='
|
||||
</button>
|
||||
<button type="button" data-taburl='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=ajax&do=topContributors&time=month&limit={$limit}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' id='el_topContributorsMonth_
|
||||
' class='ipsTabs__tab' role="tab" id='ipsTabs_topContributors
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab' role="tab" aria-selected='false'>
|
||||
_month' aria-controls="ipsTabs_topContributors
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_month_panel" aria-selected='false'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'month', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href='
|
||||
</button>
|
||||
<button type="button" data-taburl='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=ajax&do=topContributors&time=year&limit={$limit}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' id='el_topContributorsYear_
|
||||
' class='ipsTabs__tab' role="tab" id='ipsTabs_topContributors
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab' role="tab" aria-selected='false'>
|
||||
_year' aria-controls="ipsTabs_topContributors
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_year_panel" aria-selected='false'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'year', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href='
|
||||
</button>
|
||||
<button type="button" data-taburl='
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= htmlspecialchars( \IPS\Http\Url::internal( "app=core&module=system&controller=ajax&do=topContributors&time=all&limit={$limit}", null, "", array(), 0 ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', TRUE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' id='el_topContributorsAll_
|
||||
' class='ipsTabs__tab' role="tab" id='ipsTabs_topContributors
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab' role="tab" aria-selected='false'>
|
||||
_all' aria-controls="ipsTabs_topContributors
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_all_panel" aria-selected='false'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'alltime', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<section id='elTopContributors_
|
||||
</i-tabs>
|
||||
<section id='ipsTabs_topContributors
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_content' class='ipsTabs__panels'>
|
||||
<div id="ipsTabs_elTopContributors_
|
||||
<div id="ipsTabs_topContributors
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_el_topContributorsWeek_panel" class='ipsTabs__panel'>
|
||||
_week_panel" class='ipsTabs__panel' role="tabpanel">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -6501,62 +6501,50 @@ IPSCONTENT;
|
||||
if ( $clubs ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs ipsTabs_small ipsTabs--stretch ipsJS_show' id='tabs_nodeSelect_
|
||||
<i-tabs class='ipsTabs ipsTabs--small ipsTabs--stretch' id='ipsTabs_nodeSelect_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_nodeSelect_
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_nodeSelect_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<ul role='tablist'>
|
||||
<li>
|
||||
<a href='#ipsTabs_tabs_nodeSelect_
|
||||
_content'>
|
||||
<div role='tablist'>
|
||||
<button type="button" id='ipsTabs_nodeSelect_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_nodeSelect_
|
||||
_global' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_nodeSelect_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_global_panel' id='nodeSelect_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_global' class="ipsTabs__tab" role="tab">
|
||||
|
||||
_global_panel" aria-selected="true">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'club_node_selector_global', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href='#ipsTabs_tabs_nodeSelect_
|
||||
</button>
|
||||
<button type="button" id='ipsTabs_nodeSelect_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_nodeSelect_
|
||||
_clubs' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_nodeSelect_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_clubs_panel' id='nodeSelect_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_clubs' class="ipsTabs__tab" role="tab">
|
||||
|
||||
_clubs_panel" aria-selected="false">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'club_node_selector_clubs', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</button>
|
||||
</div>
|
||||
</i-tabs>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -6570,24 +6558,20 @@ IPSCONTENT;
|
||||
if ( $clubs ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_content_nodeSelect_
|
||||
<div id='ipsTabs_nodeSelect_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__panels'>
|
||||
<div id='ipsTabs_tabs_nodeSelect_
|
||||
_content' class='ipsTabs__panels'>
|
||||
<div id='ipsTabs_nodeSelect_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_nodeSelect_
|
||||
_global_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_nodeSelect_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_global_panel' class="ipsTabs__panel" aria-labelledby="nodeSelect_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_global" aria-hidden="false" data-role="globalNodeList">
|
||||
_global" data-role="globalNodeList">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -6595,19 +6579,15 @@ $return .= \IPS\Theme::i()->getTemplate( "forms", "core", 'global' )->nodeCascad
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id='ipsTabs_tabs_nodeSelect_
|
||||
<div id='ipsTabs_nodeSelect_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_nodeSelect_
|
||||
_clubs_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_nodeSelect_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_clubs_panel' class="ipsTabs__panel" aria-labelledby="nodeSelect_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_clubs" aria-hidden="false" data-role="clubNodeList">
|
||||
_clubs" data-role="clubNodeList" hidden>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( \IPS\IPS::mb_ucfirst(\IPS\SUITE_UNIQUE_KEY), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
i-margin-block_2'>
|
||||
i-text-align_center'>
|
||||
<ul>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -1234,13 +1234,13 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $chart->baseURL->setQueryString( array( 'deleteChart' => \IPS\Request::i()->chartId ) )->csrf() , ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsButton--tiny ipsButton ipsButton--negative'>
|
||||
' class='ipsButton--small ipsButton ipsButton--negative'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'mychart_remove', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
<button data-role="renameChart" class='ipsButton--tiny ipsButton ipsButton--inherit' data-ipsMenu data-ipsMenu-closeOnClick='false' id='el
|
||||
<button data-role="renameChart" class='ipsButton--small ipsButton ipsButton--inherit' data-ipsMenu data-ipsMenu-closeOnClick='false' id='el
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $chart->identifier, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
@@ -1991,6 +1991,12 @@ $return .= \IPS\Theme\Template::htmlspecialchars( \IPS\Session::i()->csrfKey, EN
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$checked = NULL;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \count( $acceptableHandlers ) > 1 ):
|
||||
@@ -2013,35 +2019,28 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
</p>
|
||||
</div>
|
||||
<div class='ipsTabs ipsTabs_small ipsTabs--stretch ipsJS_show' id='tabs_2fa' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_2fa'>
|
||||
<ul role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$checked = NULL;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<i-tabs class='ipsTabs ipsTabs--small ipsTabs--stretch' id='ipsTabs_2fa' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_2fa_content'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $acceptableHandlers as $key => $handler ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='#ipsTabs_tabs_2fa_2fa_tab_
|
||||
<button type="button" id='ipsTabs_2fa_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' id='2fa_tab_
|
||||
' class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_2fa_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class="ipsTabs__tab
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( !$checked ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
$checked = $key;
|
||||
@@ -2049,10 +2048,15 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" role="tab">
|
||||
<input class='ipsJS_hide' type="radio" name="mfa_method" value="
|
||||
">
|
||||
<input class='ipsJS_hide' type="radio" name="mfa_method" value="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -2071,28 +2075,27 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$val = "mfa_{$key}_title"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
</i-tabs>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
@@ -2100,22 +2103,32 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_content_2fa' class='ipsTabs__panels'>
|
||||
<div id='ipsTabs_2fa_content' class='ipsTabs__panels'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $acceptableHandlers as $key => $handler ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_tabs_2fa_2fa_tab_
|
||||
<div id='ipsTabs_2fa_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' class="ipsTabs__panel" aria-labelledby="2fa_tab_
|
||||
_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_2fa_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $checked and $checked != $key ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
{$handler->configurationScreen( $member, ( \count( $acceptableHandlers ) > 1 ), $url )}
|
||||
</div>
|
||||
|
||||
|
||||
@@ -754,12 +754,12 @@ IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
data-datalayer-postfetch>
|
||||
data-datalayer-postfetch><i class="fa-solid fa-download"></i><span>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'download_now', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</span></a>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -3217,56 +3217,50 @@ IPSCONTENT;
|
||||
if ( \count( $tabs ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="ipsTabs ipsJS_show" id="tabs_file" data-ipstabbar data-ipstabbar-contentarea="#ipsTabs_content_file">
|
||||
<ul role="tablist">
|
||||
<li>
|
||||
<a href="#ipsTabs_tabs_file_file_tab_desc_panel" id="file_tab_desc" class="ipsTabs__tab" role="tab" aria-selected="true">
|
||||
<i-tabs class="ipsTabs" id="ipsTabs_file" data-ipstabbar data-ipstabbar-contentarea="#ipsTabs_file_content">
|
||||
<div role="tablist">
|
||||
<button type="button" id="ipsTabs_file_desc" class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_file_desc_panel" aria-selected="true">
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'file_desc', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $tabs as $name ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href="#ipsTabs_tabs_file_file_tab_
|
||||
<button type="button" id="ipsTabs_file_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" id="file_tab_
|
||||
" class="ipsTabs__tab" role="tab" aria-controls="ipsTabs_file_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="ipsTabs__tab" role="tab" aria-selected="false">
|
||||
|
||||
_panel" aria-selected="false">
|
||||
IPSCONTENT;
|
||||
|
||||
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id="ipsTabs_content_file" class="ipsTabs__panels ipsTabs__panels--padded">
|
||||
<div id="ipsTabs_tabs_file_file_tab_desc_panel" class="ipsTabs__panel" aria-labelledby="file_tab_desc" aria-hidden="false">
|
||||
</i-tabs>
|
||||
<div id="ipsTabs_file_content" class="ipsTabs__panels ipsTabs__panels--padded">
|
||||
<div id="ipsTabs_file_desc_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_file_desc">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -3503,15 +3497,15 @@ IPSCONTENT;
|
||||
if ( $field['location'] == 'tab' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id="ipsTabs_tabs_file_file_tab_downloads_
|
||||
<div id="ipsTabs_file_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $field['key'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" class="ipsTabs__panel" aria-labelledby="file_tab_
|
||||
_panel" class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_file_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $field['key'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
" hidden>
|
||||
<div class="ipsRichText" data-controller="core.front.core.lightboxedImages">
|
||||
{$field['value']}
|
||||
</div>
|
||||
@@ -3845,12 +3839,12 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'dl_get_support_title', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" class="ipsButton ipsButton--inherit i-width_100p">
|
||||
" class="ipsButton ipsButton--large ipsButton--text i-width_100p"><i class="fa-regular fa-life-ring"></i><span>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'dl_get_support', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></li>
|
||||
</span></a></li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -4095,13 +4089,14 @@ $return .= \IPS\Theme\CustomTemplate::getCustomTemplatesForHookPoint( "downloads
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $file->canViewDownloaders() and $file->downloads ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class="i-margin-top_3">
|
||||
<a href="
|
||||
<ul class="ipsButtons i-margin-top_3">
|
||||
<li><a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $file->url('log'), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -4115,19 +4110,20 @@ IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'downloaders', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
"><i class="fa-solid fa-users"></i><span>
|
||||
"><i class="fa-regular fa-circle-user"></i><span>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'who_downloaded', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span></a>
|
||||
</div>
|
||||
</span></a></li>
|
||||
</ul>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
|
||||
</div>
|
||||
</aside>
|
||||
</div>
|
||||
|
||||
@@ -733,15 +733,15 @@ $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'b
|
||||
$return .= <<<IPSCONTENT
|
||||
</h3>
|
||||
<div class='ipsWidget__content'>
|
||||
<ul class='ipsList ipsList--stats ipsList--stacked ipsList--border ipsList--fill'>
|
||||
<ul class='ipsList ipsList--stats ipsList--stats ipsList--stacked ipsList--border ipsList--fill'>
|
||||
<li>
|
||||
<span class='i-font-size_3 i-font-weight_600 i-color_hard'>
|
||||
<span class='ipsList__value'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $stats['totalFiles'] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span><br>
|
||||
<span class='i-color_soft i-font-weight_500'>
|
||||
<span class='ipsList__label'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'total_files_front', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -755,13 +755,13 @@ if ( $stats['totalComments'] ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<span class='i-font-size_3 i-font-weight_600 i-color_hard'>
|
||||
<span class='ipsList__value'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $stats['totalComments'] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span><br>
|
||||
<span class='i-color_soft i-font-weight_500'>
|
||||
<span class='ipsList__label'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'total_comments', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -781,13 +781,13 @@ if ( $stats['totalReviews'] ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<span class='i-font-size_3 i-font-weight_600 i-color_hard'>
|
||||
<span class='ipsList__value'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->formatNumber( $stats['totalReviews'] );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span><br>
|
||||
<span class='i-color_soft i-font-weight_500'>
|
||||
<span class='ipsList__label'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'total_reviews', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
@@ -1352,51 +1352,100 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'block_topDownloads', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h3>
|
||||
<div class='ipsTabs ipsTabs_small ipsTabs--stretch' id='elDownloadsTopDownloads' data-ipsTabBar data-ipsTabBar-contentArea='#elDownloadsTopDownloads_content'>
|
||||
<ul role="tablist">
|
||||
<li>
|
||||
<a href='#ipsTabs_elDownloadsTopDownloads_elDownloads_topDownloadsWeek_panel' id='elDownloads_topDownloadsWeek' class='ipsTabs__tab ipsTabs__tab--active' role="tab" aria-selected='true'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$tabID = mt_rand();
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<i-tabs class='ipsTabs ipsTabs--small ipsTabs--stretch' id='ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_content'>
|
||||
<div role="tablist">
|
||||
<button type="button" id='ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_Week' class='ipsTabs__tab' role="tab" aria-controls='ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_Week_panel' aria-selected='true'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'top_week', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href='#ipsTabs_elDownloadsTopDownloads_elDownloads_topDownloadsMonth_panel' id='elDownloads_topDownloadsMonth' class='ipsTabs__tab' role="tab" aria-selected='false'>
|
||||
</button>
|
||||
<button type="button" id='ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_Month' class='ipsTabs__tab' role="tab" aria-controls='ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_Month_panel' aria-selected='false'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'top_month', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href='#ipsTabs_elDownloadsTopDownloads_elDownloads_topDownloadsYear_panel' id='elDownloads_topDownloadsYear' class='ipsTabs__tab' role="tab" aria-selected='false'>
|
||||
</button>
|
||||
<button type="button" id='ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_Year' class='ipsTabs__tab' role="tab" aria-controls='ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_Year_panel' aria-selected='false'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'top_year', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href='#ipsTabs_elDownloadsTopDownloads_elDownloads_topDownloadsAll_panel' id='elDownloads_topDownloadsAll' class='ipsTabs__tab' role="tab" aria-selected='false'>
|
||||
</button>
|
||||
<button type="button" id='ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_All' class='ipsTabs__tab' role="tab" aria-controls='ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_All_panel' aria-selected='false'>
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'top_alltime', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
|
||||
<section id='elDownloadsTopDownloads_content' class='ipsTabs__panels'>
|
||||
<div id="ipsTabs_elDownloadsTopDownloads_elDownloads_topDownloadsWeek_panel" class='ipsTabs__panel'>
|
||||
</i-tabs>
|
||||
<section id='ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_content' class='ipsTabs__panels'>
|
||||
<div id="ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_Week_panel" class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_Week">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1444,7 +1493,15 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id="ipsTabs_elDownloadsTopDownloads_elDownloads_topDownloadsMonth_panel" class='ipsTabs__panel'>
|
||||
<div id="ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_Month_panel" class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_Month" hidden>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1492,7 +1549,15 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id="ipsTabs_elDownloadsTopDownloads_elDownloads_topDownloadsYear_panel" class='ipsTabs__panel'>
|
||||
<div id="ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_Year_panel" class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_Year" hidden>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1540,7 +1605,15 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id="ipsTabs_elDownloadsTopDownloads_elDownloads_topDownloadsAll_panel" class='ipsTabs__panel'>
|
||||
<div id="ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_All_panel" class='ipsTabs__panel' role="tabpanel" aria-labelledby="ipsTabs_topDownloads
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tabID, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_All" hidden>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -187,40 +187,15 @@ IPSCONTENT;
|
||||
if ( \count( $elements ) > 1 ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs ipsJS_show' id='tabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<ul role='tablist'>
|
||||
<i-tabs class='ipsTabs' id='ipsTabs_topicForm' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_topicForm_content'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $elements as $name => $content ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='#ipsTabs_tabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' id='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
<button type="button" id='ipsTabs_topicForm_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -229,15 +204,19 @@ IPSCONTENT;
|
||||
|
||||
if ( \in_array( $name, $errorTabs ) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs_error
|
||||
ipsTabs__tab--error
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" role="tab" aria-selected="
|
||||
" role="tab" aria-controls="ipsTabs_topicForm_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $name == 'mainTab' ):
|
||||
if ( $name == 'topic_mainTab' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
true
|
||||
IPSCONTENT;
|
||||
@@ -250,7 +229,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( \in_array( $name, $errorTabs ) ):
|
||||
@@ -266,42 +245,29 @@ IPSCONTENT;
|
||||
$val = "{$name}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id='ipsTabs_content_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__panels'>
|
||||
</i-tabs>
|
||||
<div id='ipsTabs_topicForm_content' class='ipsTabs__panels'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $elements as $name => $contents ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_tabs_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
<div id='ipsTabs_topicForm_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -309,15 +275,21 @@ _panel' class="ipsTabs__panel ipsTabs__panel--
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-labelledby="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $id, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_tab_
|
||||
" role="tabpanel" aria-labelledby="ipsTabs_topicForm_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $name != 'topic_mainTab' ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2886,7 +2886,12 @@ $return .= <<<IPSCONTENT
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $comment->$idField, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-expanded="false" data-ipscontrols aria-label="Author stats" data-ipstooltip><i class="fa-solid fa-chevron-down" aria-hidden="true"></i></button>
|
||||
" aria-expanded="false" data-ipscontrols aria-label="
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'author_stats', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
" data-ipstooltip><i class="fa-solid fa-chevron-down" aria-hidden="true"></i></button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -697,7 +697,7 @@ IPSCONTENT;
|
||||
if ( in_array($layout, array("wallpaper", "featured", "grid")) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<figure class='ipsData__image' data-show-on="wallpaper featured grid">
|
||||
<figure class='ipsData__image'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -733,7 +733,7 @@ IPSCONTENT;
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<figure class='ipsData__icon' data-hide-on="wallpaper featured grid">
|
||||
<figure class='ipsData__icon'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -978,7 +978,7 @@ IPSCONTENT;
|
||||
if ( in_array($layout, array("wallpaper", "featured", "grid")) ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<figure class="ipsData__image" data-show-on="wallpaper featured grid">
|
||||
<figure class="ipsData__image">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1014,7 +1014,7 @@ IPSCONTENT;
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<figure class="ipsData__icon" data-hide-on="wallpaper featured grid">
|
||||
<figure class="ipsData__icon">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -1172,7 +1172,7 @@ endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div class="ipsData__meta" data-hide-on="mini-grid">
|
||||
<div class="ipsData__meta">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
@@ -110,40 +110,48 @@ $return .= <<<IPSCONTENT
|
||||
</div>
|
||||
|
||||
<div class='ipsBox'>
|
||||
<div class='ipsTabs ipsTabs--stretch' id='elCustomerTabs' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_elCustomerTabs'>
|
||||
<ul role='tablist'>
|
||||
<i-tabs class='ipsTabs ipsTabs--stretch ipsTabs--customerTabs' id='ipsTabs_customer' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_customer_content'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $tabs as $k => $tab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $customer->acpUrl()->setQueryString( array( 'do' => 'view', 'blockKey' => 'nexus_AccountInformation', 'block[nexus_AccountInformation]' => $k ) ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab i-text-align_center
|
||||
' class='ipsTabs__tab' id='ipsTabs_customer_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' role="tab" aria-controls="ipsTabs_customer_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $activeTabKey == $k ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' id='customer_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' data-ipsTooltip title='
|
||||
" data-ipsTooltip title='
|
||||
IPSCONTENT;
|
||||
|
||||
$val = "customer_tab_{$k}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
<i class='fa-solid fa-
|
||||
<i class='fa-solid fa-
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $tab['icon'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
@@ -153,7 +161,7 @@ IPSCONTENT;
|
||||
$val = "customer_tab_{$k}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</span>
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $tab['count'] ):
|
||||
@@ -168,32 +176,31 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</a>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id='ipsTabs_content_elCustomerTabs' class='ipsTabs__panels acpFormTabContent'>
|
||||
<div id='ipsTabs_elCustomerTabs_customer_tab_
|
||||
</i-tabs>
|
||||
<div id='ipsTabs_customer_content' class='ipsTabs__panels acpFormTabContent'>
|
||||
<div id='ipsTabs_customer_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTabKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' class='ipsTabs__panel' aria-labelledby='customer_tab_
|
||||
_panel' class='ipsTabs__panel' role="tabpanel" aria-labelledby='ipsTabs_customer_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTabKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' aria-hidden='false'>
|
||||
'>
|
||||
{$activeTabContents}
|
||||
</div>
|
||||
</div>
|
||||
@@ -2229,34 +2236,42 @@ IPSCONTENT;
|
||||
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'purchases', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
|
||||
$return .= <<<IPSCONTENT
|
||||
</h2>
|
||||
<div class='ipsTabs ipsTabs--stretch' id='elPurchasesTabs' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_elPurchasesTabs'>
|
||||
<ul role='tablist'>
|
||||
<i-tabs class='ipsTabs ipsTabs--stretch' id='ipsTabs_purchases' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_purchases_content'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $tabs as $k => $tab ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $customer->acpUrl()->setQueryString( array( 'do' => 'view', 'blockKey' => 'nexus_Purchases', 'block[nexus_Purchases]' => $k ) ), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class='ipsTabs__tab i-text-align_center
|
||||
' class='ipsTabs__tab' role="tab" id='ipsTabs_purchases_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' aria-controls="ipsTabs_purchases_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel" aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $activeTabKey == $k ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
true
|
||||
IPSCONTENT;
|
||||
|
||||
else:
|
||||
$return .= <<<IPSCONTENT
|
||||
false
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
' id='purchase_tab_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $k, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
'>
|
||||
">
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
@@ -2269,31 +2284,30 @@ $return .= \IPS\Theme\Template::htmlspecialchars( $tab['count'], ENT_QUOTES | EN
|
||||
$return .= <<<IPSCONTENT
|
||||
)
|
||||
</a>
|
||||
</li>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<div id='ipsTabs_content_elPurchasesTabs' class='ipsTabs__panels acpFormTabContent'>
|
||||
<div id='ipsTabs_elPurchasesTabs_purchase_tab_
|
||||
</i-tabs>
|
||||
<div id='ipsTabs_purchases_content' class='ipsTabs__panels acpFormTabContent'>
|
||||
<div id='ipsTabs_purchases_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTabKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' class='ipsTabs__panel' aria-labelledby='purchase_tab_
|
||||
_panel' class='ipsTabs__panel' role="tabpanel" aria-labelledby='ipsTabs_purchases_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $activeTabKey, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' aria-hidden='false'>
|
||||
'>
|
||||
{$activeTabContents}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -2065,7 +2065,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel_tiny'>
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel--tiny'>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $customer->acpUrl(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
@@ -2117,7 +2117,7 @@ $return .= <<<IPSCONTENT
|
||||
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel_tiny'>
|
||||
<div class='ipsPhotoPanel ipsPhotoPanel--tiny'>
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $commission['referrer']->acpUrl(), ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
|
||||
@@ -88,38 +88,27 @@ IPSCONTENT;
|
||||
if ( \count( $images ) > 1 ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div class='ipsTabs acpFormTabBar' id='elTabs_adView' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_content_adView' data-ipsTabBar-updateURL='false'>
|
||||
<ul role='tablist'
|
||||
<i-tabs class='ipsTabs acpFormTabBar' id='ipsTabs_adView' data-ipsTabBar data-ipsTabBar-contentArea='#ipsTabs_adView_content' data-ipsTabBar-updateURL='false'>
|
||||
<div role='tablist'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $images as $key => $image ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<li>
|
||||
<a href='#ipsTabs_elTabs_adView_adView_tab_
|
||||
<button type="button" id='ipsTabs_adView_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' id='adView_tab_
|
||||
' class="ipsTabs__tab" title='
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' class="ipsTabs__tab
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $key == "large" ):
|
||||
$return .= <<<IPSCONTENT
|
||||
ipsTabs__tab--active
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
" title='
|
||||
' role="tab" aria-controls='ipsTabs_adView_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
' role="tab" aria-selected="
|
||||
_panel' aria-selected="
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $key == "large" ):
|
||||
@@ -135,7 +124,7 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
">
|
||||
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $key === 'large' ):
|
||||
@@ -161,38 +150,47 @@ IPSCONTENT;
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</a>
|
||||
</li>
|
||||
</button>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
endforeach;
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'global' )->tabScrollers( );
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
</div>
|
||||
<section id='ipsTabs_content_adView' class='acpFormTabContent'>
|
||||
</i-tabs>
|
||||
<section id='ipsTabs_adView_content' class='acpFormTabContent'>
|
||||
|
||||
IPSCONTENT;
|
||||
|
||||
foreach ( $images as $key => $image ):
|
||||
$return .= <<<IPSCONTENT
|
||||
|
||||
<div id='ipsTabs_elTabs_adView_adView_tab_
|
||||
<div id='ipsTabs_adView_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
_panel' class="ipsTabs__panel" aria-labelledby="adView_tab_
|
||||
_panel' class="ipsTabs__panel" role="tabpanel" aria-labelledby="ipsTabs_adView_
|
||||
IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $key, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
" aria-hidden="false">
|
||||
"
|
||||
IPSCONTENT;
|
||||
|
||||
if ( $key != "large" ):
|
||||
$return .= <<<IPSCONTENT
|
||||
hidden
|
||||
IPSCONTENT;
|
||||
|
||||
endif;
|
||||
$return .= <<<IPSCONTENT
|
||||
>
|
||||
<div class="i-padding_3">
|
||||
<a href="
|
||||
IPSCONTENT;
|
||||
@@ -258,7 +256,6 @@ IPSCONTENT;
|
||||
$return .= \IPS\Theme\Template::htmlspecialchars( $advertisement->link, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
|
||||
$return .= <<<IPSCONTENT
|
||||
</a></div>
|
||||
|
||||
</div>
|
||||
IPSCONTENT;
|
||||
|
||||
|
||||
Reference in new issue
Block a user