window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/","svgExt":".svg","source":{"wpemoji":"https:\/\/snapix.gr\/wp-includes\/js\/wp-emoji.js?ver=6.2.2","twemoji":"https:\/\/snapix.gr\/wp-includes\/js\/twemoji.js?ver=6.2.2"}};
/**
* @output wp-includes/js/wp-emoji-loader.js
*/
( function( window, document, settings ) {
var src, ready, ii, tests;
// Create a canvas element for testing native browser support of emoji.
var canvas = document.createElement( 'canvas' );
var context = canvas.getContext && canvas.getContext( '2d' );
/**
* Checks if two sets of Emoji characters render the same visually.
*
* @since 4.9.0
*
* @private
*
* @param {string} set1 Set of Emoji to test.
* @param {string} set2 Set of Emoji to test.
*
* @return {boolean} True if the two sets render the same.
*/
function emojiSetsRenderIdentically( set1, set2 ) {
// Cleanup from previous test.
context.clearRect( 0, 0, canvas.width, canvas.height );
context.fillText( set1, 0, 0 );
var rendered1 = canvas.toDataURL();
// Cleanup from previous test.
context.clearRect( 0, 0, canvas.width, canvas.height );
context.fillText( set2, 0, 0 );
var rendered2 = canvas.toDataURL();
return rendered1 === rendered2;
}
/**
* Determines if the browser properly renders Emoji that Twemoji can supplement.
*
* @since 4.2.0
*
* @private
*
* @param {string} type Whether to test for support of "flag" or "emoji".
*
* @return {boolean} True if the browser can render emoji, false if it cannot.
*/
function browserSupportsEmoji( type ) {
var isIdentical;
if ( ! context || ! context.fillText ) {
return false;
}
/*
* Chrome on OS X added native emoji rendering in M41. Unfortunately,
* it doesn't work when the font is bolder than 500 weight. So, we
* check for bold rendering support to avoid invisible emoji in Chrome.
*/
context.textBaseline = 'top';
context.font = '600 32px Arial';
switch ( type ) {
case 'flag':
/*
* Test for Transgender flag compatibility. Added in Unicode 13.
*
* To test for support, we try to render it, and compare the rendering to how it would look if
* the browser doesn't render it correctly (white flag emoji + transgender symbol).
*/
isIdentical = emojiSetsRenderIdentically(
'\uD83C\uDFF3\uFE0F\u200D\u26A7\uFE0F', // as a zero-width joiner sequence
'\uD83C\uDFF3\uFE0F\u200B\u26A7\uFE0F' // separated by a zero-width space
);
if ( isIdentical ) {
return false;
}
/*
* Test for UN flag compatibility. This is the least supported of the letter locale flags,
* so gives us an easy test for full support.
*
* To test for support, we try to render it, and compare the rendering to how it would look if
* the browser doesn't render it correctly ([U] + [N]).
*/
isIdentical = emojiSetsRenderIdentically(
'\uD83C\uDDFA\uD83C\uDDF3', // as the sequence of two code points
'\uD83C\uDDFA\u200B\uD83C\uDDF3' // as the two code points separated by a zero-width space
);
if ( isIdentical ) {
return false;
}
/*
* Test for English flag compatibility. England is a country in the United Kingdom, it
* does not have a two letter locale code but rather a five letter sub-division code.
*
* To test for support, we try to render it, and compare the rendering to how it would look if
* the browser doesn't render it correctly (black flag emoji + [G] + [B] + [E] + [N] + [G]).
*/
isIdentical = emojiSetsRenderIdentically(
// as the flag sequence
'\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67\uDB40\uDC7F',
// with each code point separated by a zero-width space
'\uD83C\uDFF4\u200B\uDB40\uDC67\u200B\uDB40\uDC62\u200B\uDB40\uDC65\u200B\uDB40\uDC6E\u200B\uDB40\uDC67\u200B\uDB40\uDC7F'
);
return ! isIdentical;
case 'emoji':
/*
* Why can't we be friends? Everyone can now shake hands in emoji, regardless of skin tone!
*
* To test for Emoji 14.0 support, try to render a new emoji: Handshake: Light Skin Tone, Dark Skin Tone.
*
* The Handshake: Light Skin Tone, Dark Skin Tone emoji is a ZWJ sequence combining 🫱 Rightwards Hand,
* 🏻 Light Skin Tone, a Zero Width Joiner, 🫲 Leftwards Hand, and 🏿 Dark Skin Tone.
*
* 0x1FAF1 == Rightwards Hand
* 0x1F3FB == Light Skin Tone
* 0x200D == Zero-Width Joiner (ZWJ) that links the code points for the new emoji or
* 0x200B == Zero-Width Space (ZWS) that is rendered for clients not supporting the new emoji.
* 0x1FAF2 == Leftwards Hand
* 0x1F3FF == Dark Skin Tone.
*
* When updating this test for future Emoji releases, ensure that individual emoji that make up the
* sequence come from older emoji standards.
*/
isIdentical = emojiSetsRenderIdentically(
'\uD83E\uDEF1\uD83C\uDFFB\u200D\uD83E\uDEF2\uD83C\uDFFF', // as the zero-width joiner sequence
'\uD83E\uDEF1\uD83C\uDFFB\u200B\uD83E\uDEF2\uD83C\uDFFF' // separated by a zero-width space
);
return ! isIdentical;
}
return false;
}
/**
* Adds a script to the head of the document.
*
* @ignore
*
* @since 4.2.0
*
* @param {Object} src The url where the script is located.
* @return {void}
*/
function addScript( src ) {
var script = document.createElement( 'script' );
script.src = src;
script.defer = script.type = 'text/javascript';
document.getElementsByTagName( 'head' )[0].appendChild( script );
}
tests = Array( 'flag', 'emoji' );
settings.supports = {
everything: true,
everythingExceptFlag: true
};
/*
* Tests the browser support for flag emojis and other emojis, and adjusts the
* support settings accordingly.
*/
for( ii = 0; ii < tests.length; ii++ ) {
settings.supports[ tests[ ii ] ] = browserSupportsEmoji( tests[ ii ] );
settings.supports.everything = settings.supports.everything && settings.supports[ tests[ ii ] ];
if ( 'flag' !== tests[ ii ] ) {
settings.supports.everythingExceptFlag = settings.supports.everythingExceptFlag && settings.supports[ tests[ ii ] ];
}
}
settings.supports.everythingExceptFlag = settings.supports.everythingExceptFlag && ! settings.supports.flag;
// Sets DOMReady to false and assigns a ready function to settings.
settings.DOMReady = false;
settings.readyCallback = function() {
settings.DOMReady = true;
};
// When the browser can not render everything we need to load a polyfill.
if ( ! settings.supports.everything ) {
ready = function() {
settings.readyCallback();
};
/*
* Cross-browser version of adding a dom ready event.
*/
if ( document.addEventListener ) {
document.addEventListener( 'DOMContentLoaded', ready, false );
window.addEventListener( 'load', ready, false );
} else {
window.attachEvent( 'onload', ready );
document.attachEvent( 'onreadystatechange', function() {
if ( 'complete' === document.readyState ) {
settings.readyCallback();
}
} );
}
src = settings.source || {};
if ( src.concatemoji ) {
addScript( src.concatemoji );
} else if ( src.wpemoji && src.twemoji ) {
addScript( src.twemoji );
addScript( src.wpemoji );
}
}
} )( window, document, window._wpemojiSettings );
var photocrati_ajax = {"url":"https:\/\/snapix.gr\/index.php?photocrati_ajax=1","wp_home_url":"https:\/\/snapix.gr","wp_site_url":"https:\/\/snapix.gr","wp_root_url":"https:\/\/snapix.gr","wp_plugins_url":"https:\/\/snapix.gr\/wp-content\/plugins","wp_content_url":"https:\/\/snapix.gr\/wp-content","wp_includes_url":"https:\/\/snapix.gr\/wp-includes\/","ngg_param_slug":"ngg"};
var image_save_msg = 'You are not allowed to save images!';
var no_menu_msg = 'Context menu disabled!';
var smessage = "<b>Alert:</b> Content is protected !!";
"use strict";
/* This because search property "includes" does not supported by IE*/
if (!String.prototype.includes) {
String.prototype.includes = function(search, start) {
if (typeof start !== 'number') {
start = 0;
}
if (start + search.length > this.length) {
return false;
} else {
return this.indexOf(search, start) !== -1;
}
};
}
/*////////////////////////////////////*/
function disable_copy(e)
{
window.wccp_pro_iscontenteditable_flag = false;
wccp_pro_log_to_console_if_allowed("function", "disable_copy");
var e = e || window.event; // also there is no e.target property in IE. instead IE uses window.event.srcElement
var target = e.target || e.srcElement;
var elemtype = e.target.nodeName;
elemtype = elemtype.toUpperCase();
if (apply_class_exclusion(e) == "Yes") return true;
if(wccp_pro_iscontenteditable(e) == true) {return true;}
if(is_content_editable_element(current_clicked_element) == true) {return true;}
if (is_content_editable_element(current_clicked_element) == false)
{
if (smessage !== "" && e.detail == 2)
show_wccp_pro_message(smessage);
if (isSafari)
{
return true;
}
else
{
wccp_pro_clear_any_selection();
return false;
}
}
/*disable context menu when shift + right click is pressed*/
var shiftPressed = 0;
var evt = e?e:window.event;
if (parseInt(navigator.appVersion)>3) {
if (document.layers && navigator.appName=="Netscape")
shiftPressed = (e.modifiers-0>3);
else
shiftPressed = e.shiftKey;
if (shiftPressed) {
if (smessage !== "") show_wccp_pro_message(smessage);
var isFirefox = typeof InstallTrigger !== 'undefined'; /* Firefox 1.0+ */
if (isFirefox) {
evt.cancelBubble = true;
if (evt.stopPropagation) evt.stopPropagation();
if (evt.preventDefault()) evt.preventDefault();
show_wccp_pro_message (smessage);
wccp_pro_clear_any_selection();
return false;
}
wccp_pro_clear_any_selection();
return false;
}
}
if(e.which === 2 ){
var clickedTag_a = (e==null) ? event.srcElement.tagName : e.target.tagName;
show_wccp_pro_message(smessage);
wccp_pro_clear_any_selection(); return false;
}
var isSafari = /Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor);
var checker_IMG = 'checked';
if (elemtype == "IMG" && checker_IMG == 'checked' && e.detail == 2) {show_wccp_pro_message(alertMsg_IMG);wccp_pro_clear_any_selection();return false;}
//elemtype must be merged by elemtype checker on function disable_copy & disable_hot_keys
if (is_content_editable_element(elemtype) == false)
{
if (smessage !== "" && e.detail == 2)
show_wccp_pro_message(smessage);
if (isSafari)
{
return true;
}
else
{
wccp_pro_clear_any_selection(); return false;
}
}
else
{
return true;
}
}
////////////////////////////
function disable_copy_ie()
{
wccp_pro_log_to_console_if_allowed("function", "disable_copy_ie_function_started");
var e = e || window.event;
/*also there is no e.target property in IE.*/
/*instead IE uses window.event.srcElement*/
var target = e.target || e.srcElement;
var elemtype = window.event.srcElement.nodeName;
elemtype = elemtype.toUpperCase();
if(wccp_pro_iscontenteditable(e) == true) return true;
if (apply_class_exclusion(e) == "Yes") return true;
if (elemtype == "IMG") {show_wccp_pro_message(alertMsg_IMG);return false;}
//elemtype must be merged by elemtype checker on function disable_copy & disable_hot_keys
if (is_content_editable_element(elemtype) == false)
{
return false;
}
}
function disable_drag_text(e)
{
wccp_pro_log_to_console_if_allowed("function", "disable_drag_text");
/*var isSafari = /Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor);*/
/*if (isSafari) {show_wccp_pro_message(alertMsg_IMG);return false;}*/
var e = e || window.event; // also there is no e.target property in IE. instead IE uses window.event.srcElement*/
var target = e.target || e.srcElement;
/*For contenteditable tags*/
if (apply_class_exclusion(e) == "Yes") return true;
var elemtype = e.target.nodeName;
elemtype = elemtype.toUpperCase();
var disable_drag_text_drop = 'checked';
if (disable_drag_text_drop != "checked") return true;
if (window.location.href.indexOf("/user/") > -1) {
return true; /*To allow users to drag & drop images when editing thier profiles*/
}
return false;
}
/*/////////////////special for safari Start////////////////*/
var onlongtouch;
var timer;
var touchduration = 1000; /*length of time we want the user to touch before we do something*/
var elemtype = "";
function touchstart(e)
{
wccp_pro_log_to_console_if_allowed("function", "touchstart");
var e = e || window.event;
/*also there is no e.target property in IE.*/
/*instead IE uses window.event.srcElement*/
var target = e.target || e.srcElement;
elemtype = window.event.srcElement.nodeName;
elemtype = elemtype.toUpperCase();
if(!wccp_pro_is_passive()) e.preventDefault();
if (!timer) {
timer = setTimeout(onlongtouch, touchduration);
}
}
function touchend()
{
wccp_pro_log_to_console_if_allowed("function", "touchend");
/*stops short touches from firing the event*/
if (timer) {
clearTimeout(timer);
timer = null;
}
onlongtouch();
}
onlongtouch = function(e)/*this will clear the current selection if any_not_editable_thing selected*/
{
wccp_pro_log_to_console_if_allowed("function", "onlongtouch");
if (is_content_editable_element(elemtype) == false)
{
if (window.getSelection) {
if (window.getSelection().empty) { /*Chrome*/
window.getSelection().empty();
} else if (window.getSelection().removeAllRanges) { /*Firefox*/
window.getSelection().removeAllRanges();
}
} else if (document.selection) { /*IE?*/
var textRange = document.body.createTextRange();
textRange.moveToElementText(element);
textRange.select();
document.selection.empty();
}
return false;
}
};
document.addEventListener("DOMContentLoaded", function(event)
{
window.addEventListener("touchstart", touchstart, false);
window.addEventListener("touchend", touchend, false);
});
function wccp_pro_is_passive()
{
wccp_pro_log_to_console_if_allowed("function", "wccp_pro_is_passive");
var cold = false,
hike = function() {};
try {
var aid = Object.defineProperty({}, 'passive', {
get() {cold = true}
});
window.addEventListener('test', hike, aid);
window.removeEventListener('test', hike, aid);
} catch (e) {}
return cold;
}
/*/////////////////////////////////////////////////////////////////*/
function reEnable()
{
return true;
}
if(navigator.userAgent.indexOf('MSIE')==-1) //If not IE
{
document.ondragstart = disable_drag_text;
document.onselectstart = disable_copy;
document.onselectionchange = disable_copy;
//document.onmousedown = disable_copy;
//document.addEventListener('click', disable_copy, false);
document.addEventListener('click', set_current_clicked_element, false);
document.addEventListener('mousedown', set_current_clicked_element, false);
//document.onclick = reEnable;
}else
{
document.onselectstart = disable_copy_ie;
}
var current_clicked_element = "";
var current_clicked_object = null;
function set_current_clicked_element(e)
{
var e = e || window.event; // also there is no e.target property in IE. instead IE uses window.event.srcElement
var target = e.target || e.srcElement;
var elemtype = e.target.nodeName;
elemtype = elemtype.toUpperCase();
current_clicked_element = elemtype;
}
/*****************For contenteditable tags***************/
var wccp_pro_iscontenteditable_flag = false;
function wccp_pro_iscontenteditable(e)
{
var e = e || window.event; // also there is no e.target property in IE. instead IE uses window.event.srcElement
var target = e.target || e.srcElement;
var iscontenteditable = "false";
if(typeof target.getAttribute!="undefined" )
{
iscontenteditable = target.getAttribute("contenteditable"); // Return true or false as string
if(typeof target.hasAttribute!="undefined")
{
if(target.hasAttribute("contenteditable"))
iscontenteditable = true;
}
}
console.log("iscontenteditable:" + iscontenteditable);
var iscontenteditable2 = false;
if(typeof target.isContentEditable!="undefined" ) iscontenteditable2 = target.isContentEditable; // Return true or false as boolean
if(target.parentElement !=null) iscontenteditable2 = target.parentElement.isContentEditable;
if (iscontenteditable == "true" || iscontenteditable == true || iscontenteditable2 == true)
{
if(typeof target.style!="undefined" ) target.style.cursor = "text";
//wccp_pro_log_to_console_if_allowed("", iscontenteditable + " " + iscontenteditable2);
wccp_pro_iscontenteditable_flag = true;
wccp_pro_log_to_console_if_allowed("function", "wccp_pro_iscontenteditable: true");
return true;
}
wccp_pro_log_to_console_if_allowed("function", "wccp_pro_iscontenteditable: false");
//wccp_pro_iscontenteditable_flag = false;
}
/******************************************************/
function wccp_pro_clear_any_selection()
{
if(window.wccp_pro_iscontenteditable_flag == true) return;
wccp_pro_log_to_console_if_allowed("function", "wccp_pro_clear_any_selection");
var myName = wccp_pro_clear_any_selection.caller.toString();
myName = myName.substr('function '.length);
myName = myName.substr(0, myName.indexOf('('));
console.log("called_by: " + myName);
if (window.getSelection)
{
if (window.getSelection().empty)
{ // Chrome
window.getSelection().empty();
} else if (window.getSelection().removeAllRanges)
{ // Firefox
window.getSelection().removeAllRanges();
}
} else if (document.selection)
{ // IE?
document.selection.empty();
}
//show_wccp_pro_message("You are not allowed to make this operation");
}
/*Is content_editable element*/
function is_content_editable_element(element_name = "")
{
if (element_name == "TEXT" || element_name == "#TEXT" || element_name == "TEXTAREA" || element_name == "INPUT" || element_name == "PASSWORD" || element_name == "SELECT" || element_name == "OPTION" || element_name == "EMBED" || element_name == "CODE" || element_name == "CODEBLOCK")
{
wccp_pro_log_to_console_if_allowed("function", "is_content_editable_element: true >>" + element_name);
return true;
}
wccp_pro_log_to_console_if_allowed("function", "is_content_editable_element: false >>" + element_name);
return false;
}
/*Is selection enabled element*/
/*
function is_selection_enabled_element(element_name = "")
{
if (is_content_editable_element == true)
{
wccp_pro_log_to_console_if_allowed("function", "is_selection_enabled_element: true >>" + element_name);
return true;
}
wccp_pro_log_to_console_if_allowed("function", "is_selection_enabled_element: false >>" + element_name);
return false;
}
*/
/*Hot keys function */
function disable_hot_keys(e)
{
wccp_pro_log_to_console_if_allowed("function", "disable_hot_keys");
e = e || window.event;
//console.log(e);
if (!e) return;
var key;
if(window.event)
key = window.event.keyCode; /*IE*/
else if (e.hasOwnProperty("which")) key = e.which; /*firefox (97)*/
wccp_pro_log_to_console_if_allowed("Data:", key);
if (key == 123 || (e.ctrlKey && e.shiftKey && e.keyCode == 'J'.charCodeAt(0)) )//F12 chrome developer key disable
{
show_wccp_pro_message('You are not allowed to print or save this page!!');
return false;
}
var elemtype = e.target.tagName;
elemtype = elemtype.toUpperCase();
var sel = getSelectionTextAndContainerElement();
if(elemtype == "BODY" && sel.text != "") elemtype = sel.containerElement.tagName; /* no need for it when tag name is BODY, so we get the selected text tag name */
/*elemtype must be merged by elemtype checker on function disable_copy & disable_copy_ie*/
if (is_content_editable_element(elemtype) == true)
{
elemtype = 'TEXT';
}
if(wccp_pro_iscontenteditable(e) == true) elemtype = 'TEXT';
if (key == 44)/*For any emement type, text elemtype is not excluded here, (prntscr (44)*/
{
copyTextToClipboard("");
show_wccp_pro_message('You are not allowed to print or save this page!!');
return false;
}
if (e.ctrlKey || e.metaKey)
{
if (elemtype!= 'TEXT' && (key == 97 || key == 99 || key == 120 || key == 26 || key == 43))
{
show_wccp_pro_message('<b>Alert:</b> You are not allowed to copy content or view source');
return false;
}
if (elemtype!= 'TEXT')
{
if (key == 65)
{
show_wccp_pro_message('You are not allowed to print or save this page!!');
return false;
}
if (key == 67)
{
show_wccp_pro_message('You are not allowed to print or save this page!!');
return false;
}
if (key == 88)
{
show_wccp_pro_message('You are not allowed to print or save this page!!');
return false;
}
if (key == 86)
{
show_wccp_pro_message('You are not allowed to print or save this page!!');
return false;
}
if (key == 85)
{
show_wccp_pro_message('You are not allowed to print or save this page!!');
return false;
} }
if (key == 80)
{
show_wccp_pro_message('You are not allowed to print or save this page!!');
return false;
}
if (key == 44)
{
copyTextToClipboard("no");
show_wccp_pro_message('You are not allowed to print or save this page!!');
return false;
}
if (key == 73)//F12 chrome developer key disable
{
show_wccp_pro_message('You are not allowed to print or save this page!!');
return false;
}
if (key == 83)
{
show_wccp_pro_message('You are not allowed to print or save this page!!');
return false;
} }
return true;
}
jQuery(document).bind("keyup keydown", disable_hot_keys);
function nocontext(e) {
wccp_pro_log_to_console_if_allowed("function", "nocontext");
e = e || window.event; // also there is no e.target property in IE. instead IE uses window.event.srcElement
if (apply_class_exclusion(e) == 'Yes') return true;
var exception_tags = 'NOTAG,';
var clickedTag = (e==null) ? event.srcElement.tagName : e.target.tagName;
//console.log("clickedTag: " + clickedTag);
var target = e.target || e.srcElement;
var parent_tag = ""; var parent_of_parent_tag = "";
if(target.parentElement != null)
{
parent_tag = target.parentElement.tagName;
if(target.parentElement.parentElement != null) parent_of_parent_tag = target.parentElement.parentElement.tagName;
}
var checker = 'checked';
if ((clickedTag == "IMG" || clickedTag == "FIGURE" || clickedTag == "SVG" || clickedTag == "PROTECTEDIMGDIV") && checker == 'checked') {
if (alertMsg_IMG != "")show_wccp_pro_message(alertMsg_IMG);
return false;
}else {exception_tags = exception_tags + 'IMG,';}
checker = '';
if ((clickedTag == "VIDEO" || clickedTag == "PROTECTEDWCCPVIDEO" || clickedTag == "EMBED") && checker == 'checked') {
if (alertMsg_VIDEO != "")show_wccp_pro_message(alertMsg_VIDEO);
return false;
}else {exception_tags = exception_tags + 'VIDEO,PROTECTEDWCCPVIDEO,EMBED,';}
checker = '';
if ((clickedTag == "A" || clickedTag == "TIME" || parent_tag == "A" || parent_of_parent_tag == "A") && checker == 'checked') {
if (alertMsg_A != "")show_wccp_pro_message(alertMsg_A);
return false;
}else {exception_tags = exception_tags + 'A,';if(parent_tag == "A" || parent_of_parent_tag == "A") clickedTag = "A";}
checker = '';
if ((clickedTag == "P" || clickedTag == "B" || clickedTag == "FONT" || clickedTag == "LI" || clickedTag == "UL" || clickedTag == "STRONG" || clickedTag == "OL" || clickedTag == "BLOCKQUOTE" || clickedTag == "TH" || clickedTag == "TR" || clickedTag == "TD" || clickedTag == "SPAN" || clickedTag == "EM" || clickedTag == "SMALL" || clickedTag == "I" || clickedTag == "BUTTON") && checker == 'checked') {
if (alertMsg_PB != "")show_wccp_pro_message(alertMsg_PB);
return false;
}else {exception_tags = exception_tags + 'P,B,FONT,LI,UL,STRONG,OL,BLOCKQUOTE,TD,SPAN,EM,SMALL,I,BUTTON,';}
checker = 'checked';
if ((clickedTag == "INPUT" || clickedTag == "PASSWORD") && checker == 'checked') {
if (alertMsg_INPUT != "")show_wccp_pro_message(alertMsg_INPUT);
return false;
}else {exception_tags = exception_tags + 'INPUT,PASSWORD,';}
checker = '';
if ((clickedTag == "H1" || clickedTag == "H2" || clickedTag == "H3" || clickedTag == "H4" || clickedTag == "H5" || clickedTag == "H6" || clickedTag == "ASIDE" || clickedTag == "NAV") && checker == 'checked') {
if (alertMsg_H != "")show_wccp_pro_message(alertMsg_H);
return false;
}else {exception_tags = exception_tags + 'H1,H2,H3,H4,H5,H6,';}
checker = 'checked';
if (clickedTag == "TEXTAREA" && checker == 'checked') {
if (alertMsg_TEXTAREA != "")show_wccp_pro_message(alertMsg_TEXTAREA);
return false;
}else {exception_tags = exception_tags + 'TEXTAREA,';}
checker = 'checked';
if ((clickedTag == "DIV" || clickedTag == "BODY" || clickedTag == "HTML" || clickedTag == "ARTICLE" || clickedTag == "SECTION" || clickedTag == "NAV" || clickedTag == "HEADER" || clickedTag == "FOOTER") && checker == 'checked') {
if (alertMsg_EmptySpaces != "")show_wccp_pro_message(alertMsg_EmptySpaces);
return false;
}
else
{
if (exception_tags.indexOf(clickedTag)!=-1)
{
return true;
}
else
return false;
}
}
function disable_drag_images(e)
{
wccp_pro_log_to_console_if_allowed("function", "disable_drag_images");
var e = e || window.event; // also there is no e.target property in IE. instead IE uses window.event.srcElement
var target = e.target || e.srcElement;
//For contenteditable tags
if (apply_class_exclusion(e) == "Yes") return true;
var elemtype = e.target.nodeName;
if (elemtype != "IMG") {return;}
elemtype = elemtype.toUpperCase();
var disable_drag_drop_images = 'checked';
if (disable_drag_drop_images != "checked") return true;
if (window.location.href.indexOf("/user/") > -1) {
return true; //To allow users to drag & drop images when editing thier profiles
}
show_wccp_pro_message(alertMsg_IMG);
return false;
}
var alertMsg_IMG = "<b>Alert:</b> Protected image";
var alertMsg_A = "<b>Alert:</b> This link is protected";
var alertMsg_PB = "<b>Alert:</b> Right click on text is disabled";
var alertMsg_INPUT = "<b>Alert:</b> Right click is disabled";
var alertMsg_H = "<b>Alert:</b> Right click on headlines is disabled";
var alertMsg_TEXTAREA = "<b>Alert:</b> Right click is disabled";
var alertMsg_EmptySpaces = "<b>Alert:</b> Right click on empty spaces is disabled";
var alertMsg_VIDEO = "<b>Alert:</b> Right click on videos is disabled";
document.oncontextmenu=null;
document.oncontextmenu = nocontext;
document.addEventListener("contextmenu",nocontext);
window.addEventListener("contextmenu",nocontext);
function wccp_pro_msieversion()
{
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE");
var msie2 = ua.indexOf("Edge");
var msie3 = ua.indexOf("Trident");
if (msie > -1 || msie2 > -1 || msie3 > -1) // If Internet Explorer, return version number
{
return "IE";
}
else // If another browser, return 0
{
return "otherbrowser";
}
}
var e = document.getElementsByTagName('H1')[0];
if(e && wccp_pro_msieversion() == "IE")
{
e.setAttribute('unselectable',"on");
}
function copyToClipboard(elem) {
// create hidden text element, if it doesn't already exist
var targetId = "_wccp_pro_hiddenCopyText_";
{
// must use a temporary form element for the selection and copy
target = document.getElementById(targetId);
if (!target) {
var target = document.createElement("textarea");
target.style.position = "absolute";
target.style.left = "-9999px";
target.style.top = "0";
target.id = targetId;
document.body.appendChild(target);
}
target.textContent = elem.textContent;
}
// select the content
var currentFocus = document.activeElement;
target.focus();
target.setSelectionRange(0, target.value.length);
// copy the selection
var succeed;
try {
succeed = document.execCommand("copy");
} catch(e) {
succeed = false;
}
// restore original focus
if (currentFocus && typeof currentFocus.focus === "function") {
currentFocus.focus();
}
// clear temporary content
target.textContent = "";
document.getElementsByTagName('span')[0].innerHTML = " ";
return succeed;
}
/**************************************************/
function wccp_pro_log_to_console_if_allowed(title = "title", data = "")
{
var myName = "";
if(wccp_pro_log_to_console_if_allowed.caller != null) myName = wccp_pro_log_to_console_if_allowed.caller.toString();
myName = myName.substr('function '.length);
myName = myName.substr(0, myName.indexOf('('));
//console.log("function_name: " + myName);
}
/**************************************************/
function fallbackCopyTextToClipboard(text) {
var textArea = document.createElement("textarea");
textArea.value = text;
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
try {
var successful = document.execCommand("copy");
var msg = successful ? "successful" : "unsuccessful";
console.log("Fallback: Copying text command was " + msg);
} catch (err) {
console.error("Fallback: Oops, unable to copy", err);
}
document.body.removeChild(textArea);
}
/*****************************************/
function copyTextToClipboard(text) {
if (!navigator.clipboard) {
fallbackCopyTextToClipboard(text);
return;
}
navigator.clipboard.writeText(text).then(
function() {
console.log("Async: Copying to clipboard was successful!");
},
function(err) {
console.error("Async: Could not copy text: ", err);
}
);
}
/*****************************************/
/*getSelectionTextAndContainerElement*/
function getSelectionTextAndContainerElement()
{
var text = "", containerElement = null;
if (typeof window.getSelection != "undefined") {
var sel = window.getSelection();
if (sel.rangeCount) {
var node = sel.getRangeAt(0).commonAncestorContainer;
containerElement = node.nodeType == 1 ? node : node.parentNode;
if (typeof(containerElement.parentElement) != 'undefined') current_clicked_object = containerElement.parentElement;
text = sel.toString();
}
} else if (typeof document.selection != "undefined" && document.selection.type != "Control")
{
var textRange = document.selection.createRange();
containerElement = textRange.parentElement();
text = textRange.text;
}
return {
text: text,
containerElement: containerElement
};
}
function getSelectionParentElement() {
var parentEl = null, sel;
if (window.getSelection) {
sel = window.getSelection();
if (sel.rangeCount) {
parentEl = sel.getRangeAt(0).commonAncestorContainer;
//sel.getRangeAt(0).startContainer.parentNode;
if (parentEl.nodeType != 1) {
parentEl = parentEl.parentNode;
}
}
} else if ( (sel = document.selection) && sel.type != "Control") {
parentEl = sel.createRange().parentElement();
}
let arr = new Array();
arr["nodeName"] = "cant_find_parent_element";
if(parentEl != null)
return parentEl;
else
return arr;
}
/*****************************************/
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
/*****************************************/
function apply_class_exclusion(e)
{
wccp_pro_log_to_console_if_allowed("function", "apply_class_exclusion" + e);
var my_return = 'No';
var e = e || window.event; // also there is no e.target property in IE. instead IE uses window.event.srcElement
var target = e.target || e.srcElement || 'nothing';
//if(target.parentElement != null) console.log (target.parentElement.className);
var excluded_classes = '' + '';
var class_to_exclude = "";
if(target.parentElement != null)
{
class_to_exclude = target.className + ' ' + target.parentElement.className || '';
}else{
class_to_exclude = target.className;
}
var class_to_exclude_array = Array();
//console.log(class_to_exclude);
if (typeof(class_to_exclude) != 'undefined') class_to_exclude_array = class_to_exclude.split(" ");
//console.log (class_to_exclude_array);
class_to_exclude_array.forEach(function(item)
{
if(item != '' && excluded_classes.indexOf(item)>=0)
{
target.style.cursor = "text";
console.log ('Yes');
my_return = 'Yes';
}
});
try {
class_to_exclude = target.parentElement.getAttribute('class') || target.parentElement.className || '';
}
catch(err)
{
class_to_exclude = '';
}
if(class_to_exclude != '' && excluded_classes.indexOf(class_to_exclude)>=0)
{
target.style.cursor = "text";
my_return = 'Yes';
}
return my_return;
}
Επαγγελματική φωτογράφιση ξενοδοχείων, ξενώνων και airbnb που θα δώσει νέα πνοή στους χώρους σας αναδεικνύοντας τους. Είναι η ποιότητα των φωτογραφιών που που θα ανανεώσει την παρουσία σας σε ταξιδιωτικές εφαρμογές (booking, airbnb, tripadvisor κλπ) και στο site σας, αυξάνοντας τις on line κρατήσεις σας.
γιατί πρέπει να επενδύσετε σε μια σωστή φωτογράφιση ξενοδοχείων και airbnb
Οι online κρατήσεις σε ξενοδοχεία και ξενώνες έχουν κερδίσει έδαφος 73,25% τα τελευταία χρόνια έναντι των υπολοίπων κρατήσεων. Μπαίνοντας ένας πελάτης στο site σας, ή σε εφαρμογές κρατήσεων (τύπου booking, tripadvisor, κλπ) το πρώτο που βλέπει είναι η εικόνα σας. Μια περιποιημένη παρουσία τον προδιαθέτει θετικά. Οι φωτογραφίες σας είναι το πρώτο πράγμα που θα δεί ο πελάτης σας.
Για αυτόν τον λόγο, μια επαγγελματική φωτογράφιση των χώρων ξενοδοχείων, ξενώνων ή rbnb είναι πραγματική επένδυση (που συχνά αμελείται) αφού αυξάνει κατακόρυφα την διάθεση του πελάτη να ολοκληρώσει την κράτηση του εφόσον εισέλθει στο site σας.
Πρόκειται για μια επένδυση που θα κάνει πολύ γρήγορα απόσβεση. Θυμηθείτε: καλύτερη παρουσία = καλύτερες φωτογραφίες = περισσότερες κρατήσεις
πως χειριζόμαστε την φωτογράφιση ξενοδοχείων και airbnb
01
παράδοση πλήρως επεξεργασμένων αρχείων
Με εξελιγμένες τεχνικές και μέσα χειριζόμαστε την φωτογράφιση για ενοικιαζόμενα δωμάτια και rbnb. Μπορείτε να εκμεταλλευτείτε τις φωτογραφίες που θα παραδώσουμε είτε σε έντυπη είτε σε ηλεκτρονική μορφή. Φυσικά μπορείτε να αξιοποιήσετε το υλικό σε σχετικές πλατφόρμες όπως booking, google maps κλπ και να σας αποδώσει τα μέγιστα.
02
με έμφαση στον αρχιτεκτονικό σχεδιασμό και διακόσμηση
Στη φωτογράφιση ξενοδοχείων και ενοικιαζόμενων δίνουμε μεγάλη σημασία στον αρχιτεκτονικό τους σχεδιασμό και την εσωτερική τους διακόσμηση. Προσεκτικά κάδρα θα αναδείξουν τους χώρους σας.
Η φωτογράφιση ξενοδοχείων και καταλυμάτων μπορεί κατόπιν σχεδιασμού, να παρουσιάσει στο κοινό σας τις εμπειρίες που πρόκειται να ζήσει. Αφήστε το κοινό σας να ονειρευτεί τη διαμονή του πριν καν κάνει κράτηση.
Δίνουμε ιδιαίτερη προσοχή σε όλες αυτές τις λεπτομέρειες που θα τραβήξουν την προσοχή των υποψηφίων πελατών σας και θα τονίσουν την αίσθηση φιλοξενίας. Η φωτογράφιση ξενοδοχείων δεν αφορά αποκλειστικά τον χώρο. Σίγουρα υπάρχουν μικροπράγματα που έχουν κάτι να πουν. Είναι αυτά που συνήθως θα τραβήξουν και την προσοχή των πελατών, είναι ίσως καμία φορά ο λόγος που θα καταλήξουν σε κράτηση!
κερδίστε την πρώτη εντύπωση
πανοραμική φωτογράφιση ξενοδοχείων
Με ειδικό εξοπλισμό λήψεων και προγραμμάτων επεξεργασίας δημιουργούμε για σας εντυπωσιακά πανοράματα. Ιδανικό για μεγάλες εγκαταστάσεις που θα πρέπει να φανεί η συνέχεια τους στο χώρο.
μια σειρά εξελιγμένων τεχνικών φωτογράφισης που είναι ικανές ανά περίπτωση να κερδίσουν τις εντυπώσεις των πελατών από την πρώτη στιγμή
drone εναέριες λήψεις ιδιοκτησίας
Εντυπωσιακές λήψεις από μια άλλη οπτική γωνία, ασυνήθιστη στο ανθρώπινο μάτι είναι η φωτογράφιση με drone. Ιδανική εάν θέλετε να προβάλετε τη σχέση της ιδιοκτησίας σας με τον χώρο που βρίσκεται ή την ιδιαίτερη αρχιτεκτονική της.
Μια φωτογράφιση αρκετά απαιτητική που σε συνεργασία με ειδικό λογισμικό δημιουργεί την αίσθηση της περιήγησης στο χώρο σας. Μπορεί να είναι από μια εικονική περιήγηση 360 μοιρών ώστε να έχει αντίληψη ο πελάτης τον χώρο έως και μια εικονική περιήγηση εικονικής πραγματικότητας VR σε διαφορετικούς χώρους της ιδιοκτησίας σας.
βίντεο παρουσίασης χώρων
Ένα σύντομο και περιεκτικό βίντεο που θα τονίζει τα ατού της επιχείρησής σας και των χώρων της είναι ίσως η καλύτερη προβολή της στα social. Θα δώσει άμεσα στους πελάτες να καταλάβουν περί τίνος πρόκειται, τη λειτουργία και τις παροχές σας. Είμαστε έτοιμοι να φτιάξουμε το δικό σας βίντεο, να ξεναγήσουμε οπτικά τους πελάτες σας στο χώρο σας! Είναι η σύγχρονη εναλλακτική της φωτογράφισης ξενοδοχείων.
παρουσίαση πολυχώρου αθλητισμού
Το βίντεο έγινε για την προβολή των δυνατοτήτων, των υπηρεσιών και των εγκαταστάσεων του χώρου. Έγινε με σκοπό την πρόσκληση επενδυτών αλλά και κοινού.
παρουσίαση αίθουσας εκδηλώσεων
Το συγκεκριμένο ξενοδοχείο διαθέτει αίθουσα εκδηλώσεων και η απαίτηση ήταν να γίνει ένα βίντεο γι’ αυτόν το λόγο. Το βίντεο έγινε με σκοπό την κοινοποίηση σε social λογαριασμούς..
let’s get the highest rate
Η σχέση μας θα είναι win-win. Η σωστή φωτογράφιση της ιδιοκτησίας σας θα είναι πολύ πιο αποδοτική από όσο μπορείτε να φανταστείτε. Ο συνδυασμός των σωστών παροχών σας με την σωστή προβολή της εικόνας της επιχείρησής σας θα αυξήσει τις κρατήσεις και τις θετικές κριτικές.
ρεαλιστικές εικόνες
Οι πελάτες εκτιμούν την ειλικρίνεια! Στη φωτογράφιση ξενοδοχείων και ξενώνων, οι χώροι και τα δωμάτια θα πρέπει να φαίνονται ρεαλιστικά. Θα πρέπει να έχουν συνέπεια ως προς τη σύνθεση, ως προς το περιεχόμενο ακόμα και ως χρωματική απόδοση.
Μετρήσεις με τον πιο σύγχρονο εξοπλισμό μπορούν να ισορροπήσουν το φως από διαφορετικές φωτιστικές πηγές. Να διαβάσουν με αξιοπιστία τα χρώματα κατά τη διάρκεια των λήψεων αλλά και της μετέπειτα επεξεργασίας. Εν τέλει θα φέρουν ένα άκρως επαγγελματικό και αξιόπιστο αποτέλεσμα, έτοιμο για να δεχτείτε την ειλικρινή υψηλή κριτική των πελατών σας!
φωτογράφιση υψηλού δυναμικού εύρους
Χωρίς να τροποποιούμε την φωτογραφία ενός δωματίου δημιουργούμε εικόνες υψηλής δυναμικού εύρους και ευκρίνειας αντίστοιχες με την προσαρμοστικότητα που έχει το ανθρώπινο μάτι. Έτσι η ένταση του φωτισμού σε σκοτεινές και φωτισμένες περιοχές ισοσταθμίζονται αρμονικά δίνοντας το καλύτερο δυνατό αποτέλεσμα. Ιδανική τεχνική για να τονιστεί η θέα από τα παράθυρα, ή η ατμόσφαιρα του spa και της σάουνας.
Τμήματα με ιδιαίτερο αρχιτεκτονικό φωτισμό και δωμάτια με φυσικό φωτισμό αναδεικνύονται πλήρως. Οι φωτογραφίες είναι ικανές να μεταφέρουν στον πελάτη σας αυτούσια την αίσθηση παραμονής.
Δείτε τι προτείνει η ίδια η booking για την φωτογράφιση της ιδιοκτησίας σας εδώ
var Ngg_Pro_Cart_Settings = {"currency_format":"<i class='fa fa-eur'><\/i> %.2f","checkout_url":"https:\/\/snapix.gr\/shopping-cart\/","use_cookies":"true","country_list_json_url":"https:\/\/snapix.gr\/wp-content\/plugins\/nextgen-gallery-pro\/modules\/ecommerce\/static\/country_list.json","i18n":{"image_header":"Image","quantity_header":"Quantity","item_header":"Description","crop_button":"Edit Crop","crop_button_close":"Save Crop","price_header":"Price","total_header":"Totals","subtotal":"Subtotal:","shipping":"Shipping:","total":"Total:","no_items":"There have been no items added to your cart.","continue_shopping":"Continue shopping","empty_cart":"Empty cart","ship_to":"Ship to:","ship_via":"Ship via:","ship_elsewhere":"International","tax":"Tax:","update_shipping":"Update shipping & taxes","coupon_undiscounted_subtotal":"Subtotal before discount:","coupon_discount_amount":"Discount:","coupon_placeholder":"Coupon code","coupon_apply":"Apply","coupon_notice":"Coupon has been applied","shipping_name_label":"Full Name","shipping_name_tip":"Full Name","shipping_email_label":"Email","shipping_email_tip":"Email","shipping_street_address_label":"Address Line 1","shipping_street_address_tip":"Address Line 1","shipping_address_line_label":"Address Line 2","shipping_address_line_tip":"Address Line 2","shipping_city_label":"City","shipping_city_tip":"City","shipping_country_label":"Country","shipping_country_tip":"Country","shipping_state_label":"State \/ Region","shipping_state_tip":"State \/ Region","shipping_zip_label":"Postal Code","shipping_zip_tip":"Zip \/ Postal Code","shipping_phone_label":"Phone","shipping_phone_tip":"Phone","unshippable":"We're sorry, but one or more items you've selected cannot be shipped to this country.","tbd":"Please Add Address","select_country":"Select Country","select_region":"Select Region","error_empty":"%s cannot be empty.","error_minimum":"%s needs to be at least %s characters.","error_invalid":"%s is in an invalid format.","error_form_invalid":"Form contains errors, please correct all errors before submitting the order.","calculating":"Calculating...","pay_with_card":"Pay with Card","cancel_payment":"Cancel","choose_payment_method":"Choose method","submit_in_progress":"Processing...","submit_payment":"Submit order","button_text":"Free checkout","processing_msg":"Processing...","headline":"Shipping information","button_text_submit":"Place order","button_text_cancel":"Cancel","field_name":"Name","field_email":"Email","field_address":"Address","field_city":"City","field_state":"State","field_postal":"Zip","field_country":"Country"},"sources":{"ngg_whcc_pricelist":true,"ngg_manual_pricelist":false,"ngg_digital_downloads":false}};
var Getwid = {"settings":[],"ajax_url":"https:\/\/snapix.gr\/wp-admin\/admin-ajax.php","isRTL":"","nonces":{"recaptcha_v2_contact_form":"3a39362ccc"}};
var kadence_blocks_form_params = {"ajaxurl":"https:\/\/snapix.gr\/wp-admin\/admin-ajax.php","error_message":"Please fix the errors to proceed","nonce":"816fa35c4a","required":"is required","mismatch":"does not match","validation":"is not valid","duplicate":"requires a unique entry and this value has already been used","item":"Item"};