: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
genericText: ctf_support.genericText,
articles: ctf_support.articles,
links: ctf_support.links,
system_info: ctf_support.system_info,
system_info_n: ctf_support.system_info_n,
feeds: ctf_support.feeds,
supportUrl: ctf_support.supportUrl,
socialWallActivated: ctf_support.socialWallActivated,
socialWallLinks: ctf_support.socialWallLinks,
siteSearchUrl: ctf_support.siteSearchUrl,
siteSearchUrlWithArgs: null,
buttons: ctf_support.buttons,
links: ctf_support.links,
supportPageUrl: ctf_support.supportPageUrl,
systemInfoBtnStatus: 'collapsed',
ajax_handler: ctf_support.ajax_handler,
nonce: ctf_support.nonce,
icons: ctf_support.icons,
images: ctf_support.images,
svgIcons : ctf_support.svgIcons,
type : 'success', // success, error, warning, message
var ctfsupport = new Vue({
copySystemInfo: function() {
const el = document.createElement('textarea');
el.className = 'ctf-fb-cp-clpboard';
el.value = self.system_info_n;
document.body.appendChild(el);
document.execCommand('copy');
document.body.removeChild(el);
this.notificationElement = {
text : this.genericText.copiedToClipboard,
this.notificationElement.shown = "hidden";
expandSystemInfo: function() {
this.systemInfoBtnStatus = ( this.systemInfoBtnStatus == 'collapsed' ) ? 'expanded' : 'collapsed';
expandBtnText: function() {
if ( this.systemInfoBtnStatus == 'collapsed' ) {
return this.buttons.expand;
} else if ( this.systemInfoBtnStatus == 'expanded' ) {
return this.buttons.collapse;
exportFeedSettings: function() {
// return if no feed is selected
if ( this.exportFeed === 'none' ) {
let url = this.ajax_handler + '?action=ctf_export_settings_json&feed_id=' + this.exportFeed;
let searchInput = document.getElementById('ctf-search-doc-input');
searchInput.addEventListener('keyup', function ( event ) {
let url = new URL( self.siteSearchUrl );
let search_params = url.searchParams;
if ( self.searchKeywords ) {
search_params.set('search', self.searchKeywords);
search_params.set('plugin', 'twitter');
url.search = search_params.toString();
self.siteSearchUrlWithArgs = url.toString();
if ( event.key === 'Enter' ) {
window.open( self.siteSearchUrlWithArgs, '_blank');
searchDocStrings: function() {
let url = new URL( this.siteSearchUrl );
let search_params = url.searchParams;
search_params.set('search', self.searchKeywords);
search_params.set('plugin', 'twitter');
url.search = search_params.toString();
self.siteSearchUrlWithArgs = url.toString();
goToSearchDocumentation: function() {
if ( this.searchKeywords !== null && this.siteSearchUrlWithArgs !== null ) {
window.open( this.siteSearchUrlWithArgs, '_blank');
* Toggle Sticky Widget view
toggleStickyWidget: function() {
this.stickyWidget = !this.stickyWidget;