// inhouse_slideshow.js // RJM Programming // January, 2022 // Help out with ephemeral aspects to Inhouse Slideshow PHPs if (!String.fromCodePoint) { // thanks to http://xahlee.info/js/js_unicode_code_point.html // ES6 Unicode Shims 0.1 , © 2012 Steven Levithan , MIT License String.fromCodePoint = function fromCodePoint () { var chars = [], point, offset, units, i; for (i = 0; i < arguments.length; ++i) { point = arguments[i]; offset = point - 0x10000; units = point > 0xFFFF ? [0xD800 + (offset >> 10), 0xDC00 + (offset & 0x3FF)] : [point]; chars.push(String.fromCharCode.apply(null, units)); } return chars.join(''); } } function changeto(tvis) { if (tvis.toLowerCase().indexOf('exif') == 0) { if (document.URL.indexOf('?') == -1) { location.href=posturl(document.URL.split('#')[0] + '?exif=y'); } else { location.href=posturl(document.URL.split('#')[0].replace(/pdf\=/g, 'pdTf=') + '&exif=y'); } } else if (tvis.toLowerCase().indexOf('pdf') == 0) { if (document.URL.indexOf('?') == -1) { location.href=posturl(document.URL.split('#')[0] + '?pdf=y'); } else { location.href=posturl(document.URL.split('#')[0].replace(/exif\=/g, 'exTif=') + '&pdf=y'); } } else if (tvis.toLowerCase().indexOf('emoji') == 0) { //var borderis=prompt('Please enter comma separated HTML decimal entity(s) for your Emoji Border to slideshow. Can use an Emoji Menu entry.', ''); var bbsuffix=' Optionally append &[text|image]css=[CSSstyle] to change styling. Eg. ' + String.fromCodePoint(127958) + '&css=opacity:0.9;&textcss=font-size:20px; '; borderblurb='Please enter comma separated HTML decimal entity(s) for your Emoji Border to slideshow. Can use an Emoji Menu entry (eg. control-command-space for macOS or Mac OS X, logo key + . (period) for Windows, control+space for iOS, top left + for Android keyboard). ' + bbsuffix; var borderis=prompt(borderblurb, ''); var emojiy='', emojisuffix=''; if (borderis == null) { borderis=''; } else if (borderis.indexOf('&') != -1) { if (borderis.split('&')[0].trim() == '') { emojisuffix=encodeURIComponent(borderis); //.replace(/\&/g,'%26').replace(/\=/g,'%3D'); borderis=''; } else { emojisuffix=encodeURIComponent(borderis.replace(borderis.split('&')[0], '')); //.replace(/\&/g,'%26').replace(/\=/g,'%3D'); borderis=postbb(borderis.split('&')[0]); } } else { borderis=postbb(borderis.split('&')[0]); } if ((borderis + emojisuffix) != '') { emojiy='emoji=' + encodeURIComponent(borderis) + emojisuffix; } if (emojiy != '') { if (document.URL.indexOf('?') == -1) { location.href=posturl(document.URL.split('#')[0] + '?' + emojiy); } else { location.href=posturl(document.URL.split('#')[0].replace(/emoji\=/g, 'emojTi=') + '&' + emojiy); } } } else { if (document.URL.indexOf('exif=') != -1 || document.URL.indexOf('pdf=') != -1) { location.href=posturl(document.URL.split('#')[0].replace(/exif\=/g, 'exTif=').replace(/pdf\=/g, 'pdTf=')); } else { location.href=posturl(document.URL.split('#')[0] + '&eHuhxif=y'); } } } function postbb(inp) { if (inp != '' && inp.replace(/0/g,'').replace(/1/g,'').replace(/2/g,'').replace(/3/g,'').replace(/4/g,'').replace(/5/g,'').replace(/6/g,'').replace(/7/g,'').replace(/8/g,'').replace(/9/g,'').replace(/\&/g,'').replace(/\#/g,'').replace(/\;/g,'').replace(/\,/g,'') != '') { return inp; } else if (inp != '' && inp.replace(/0/g,'').replace(/1/g,'').replace(/2/g,'').replace(/3/g,'').replace(/4/g,'').replace(/5/g,'').replace(/6/g,'').replace(/7/g,'').replace(/8/g,'').replace(/9/g,'').replace(/\,/g,'') == '') { if (eval('' + inp.split(',').length) >= 4) { eval('inp=String.fromCodePoint(' + inp + ')'); } return inp; } else if (inp != '' && inp.replace(/0/g,'').replace(/1/g,'').replace(/2/g,'').replace(/3/g,'').replace(/4/g,'').replace(/5/g,'').replace(/6/g,'').replace(/7/g,'').replace(/8/g,'').replace(/9/g,'').replace(/\&/g,'').replace(/\#/g,'').replace(/\;/g,'') == '') { var outp=inp.replace(/\&\#/g,',').replace(/\;/g,','); outp=outp.trim(','); outp=outp.replace(/\,\,\,\,/g,','); outp=outp.replace(/\,\,\,/g,','); outp=outp.replace(/\,\,/g,','); outp=outp.trim(','); outp=('~' + outp + '~').replace('~,','').replace(',~','').replace(/\~/g,''); if (eval('' + outp.split(',').length) >= 4) { eval('outp=String.fromCodePoint(' + outp + ')'); } return outp; } //alert(String.fromHtmlEntities(inp)); //alert(inp.toHtmlEntities()); return inp; } function posturl(inpu) { return inpu; }