{"id":1113,"date":"2021-01-29T10:46:17","date_gmt":"2021-01-29T10:46:17","guid":{"rendered":"https:\/\/carloscheca.com\/?page_id=1113"},"modified":"2021-02-02T18:23:33","modified_gmt":"2021-02-02T17:23:33","slug":"blog","status":"publish","type":"page","link":"https:\/\/carloscheca.com\/en\/blog\/","title":{"rendered":"Blog"},"content":{"rendered":"\n<link rel='stylesheet' id='ff-dynamic-css14' type='text\/css' href='https:\/\/carloscheca.com\/wp-content\/resources\/flow-flow\/css\/stream-id14.css?ver=1612275024'\/><!-- Flow-Flow \u2014 Social stream plugin for WordPress -->\n<div class=\"ff-stream\" data-plugin=\"flow_flow\" id=\"ff-stream-14\">\n\t<span class=\"ff-loader\">\n\t\t<span class=\"ff-square\" ><\/span>\n\t\t<span class=\"ff-square\"><\/span>\n\t\t<span class=\"ff-square ff-last\"><\/span>\n\t\t<span class=\"ff-square ff-clear\"><\/span>\n\t\t<span class=\"ff-square\"><\/span>\n\t\t<span class=\"ff-square ff-last\"><\/span>\n\t\t<span class=\"ff-square ff-clear\"><\/span>\n\t\t<span class=\"ff-square\"><\/span>\n\t\t<span class=\"ff-square ff-last\"><\/span>\n\t<\/span>\n<\/div>\n<svg aria-hidden=\"true\" style=\"position: absolute; width: 0; height: 0; overflow: hidden;\" version=\"1.1\"><defs><symbol id=\"ff-icon-heart\" viewBox=\"0 0 48 48\"><path d=\"M34.6 3.1c-4.5 0-7.9 1.8-10.6 5.6-2.7-3.7-6.1-5.5-10.6-5.5C6 3.1 0 9.6 0 17.6c0 7.3 5.4 12 10.6 16.5.6.5 1.3 1.1 1.9 1.7l2.3 2c4.4 3.9 6.6 5.9 7.6 6.5.5.3 1.1.5 1.6.5s1.1-.2 1.6-.5c1-.6 2.8-2.2 7.8-6.8l2-1.8c.7-.6 1.3-1.2 2-1.7C42.7 29.6 48 25 48 17.6c0-8-6-14.5-13.4-14.5z\"><\/path><\/symbol><\/defs><\/svg>\n\n\n<script type=\"text\/javascript\" class=\"ff-stream-inline-js\" id=\"ff-stream-inline-js-14\">\n\n    (function () {\n        var timer, abortTimer;\n\n        timer = setInterval( function() {\n            if ( window.jQuery ) {\n                clearInterval( timer );\n                afterContentArrived( window.jQuery );\n            }\n        }, 67);\n\n        abortTimer = setTimeout( function () {\n\n            if ( !window.jQuery ) {\n                clearInterval( timer );\n                console.log('FLOW-FLOW DEBUG MESSAGE: No jQuery on page, please make sure it is loaded because jQuery is plugin requirement');\n            }\n        }, 20000);\n\n        function afterContentArrived ( $ ) {\n\n            \"use strict\";\n\n            var hash = '1673955364.7e4e18cdd2149c7fbcc492784916964f3705da0a864ac31f170e6f3bd0d41a86b51e3cf6731629b9c4643acf09b4dd7f';\n\n            var opts = window.FlowFlowOpts || {\"streams\":{},\"open_in_new\":\"yep\",\"filter_all\":\"All\",\"filter_search\":\"Search\",\"expand_text\":\"Expand\",\"collapse_text\":\"Collapse\",\"posted_on\":\"Posted on\",\"followers\":\"Followers\",\"following\":\"Following\",\"posts\":\"Posts\",\"show_more\":\"Show more\",\"date_style\":\"agoStyleDate\",\"dates\":{\"Yesterday\":\"Yesterday\",\"s\":\"s\",\"m\":\"m\",\"h\":\"h\",\"ago\":\"ago\",\"months\":[\"Jan\",\"Feb\",\"March\",\"April\",\"May\",\"June\",\"July\",\"Aug\",\"Sept\",\"Oct\",\"Nov\",\"Dec\"]},\"lightbox_navigate\":\"Navigate with arrow keys\",\"view_on\":\"View on\",\"view_on_site\":\"View on site\",\"view_all\":\"View all\",\"comments\":\"comments\",\"scroll\":\"Scroll for more\",\"no_comments\":\"No comments yet.\",\"check_comments\":\"Check all comments\",\"be_first\":\"Be the first!\",\"loading\":\"Loading\",\"server_time\":1775412604,\"forceHTTPS\":\"yep\",\"isAdmin\":false,\"ajaxurl\":\"https:\\\/\\\/carloscheca.com\\\/wp-admin\\\/admin-ajax.php\",\"isLog\":false,\"plugin_base\":\"https:\\\/\\\/carloscheca.com\\\/wp-content\\\/plugins\\\/flow-flow\",\"plugin_ver\":\"4.8.6\",\"domain\":\"carloscheca.com\",\"token\":\"\"};\n\n            var isLS = isLocalStorageNameSupported();\n\n            var FF_resource = window.FF_resource ||\n                {\n                    scriptDeferred: $.Deferred(),\n                    styleDeferred:  $.Deferred(),\n                    scriptLoading: false,\n                    styleLoading: false\n                };\n\n            if ( !window.FF_resource ) window.FF_resource = FF_resource;\n            if ( !window.FlowFlowOpts ) window.FlowFlowOpts = opts;\n\n\t        \n            var data = {\n                'shop': 'carloscheca.com',\n                'action': 'fetch_posts',\n                'stream-id': '14',\n                'disable-cache': '',\n                'hash': hash,\n                'page': '0',\n                'preview': '0',\n                'token':  '',\n                'boosted': '0'\n            };\n\n            var isMobile = \/android|blackBerry|iphone|ipad|ipod|opera mini|iemobile\/i.test( navigator.userAgent );\n\t\t\t\t\t\t\/\/CAMBIO NESTO START\n\t\t\t\/\/ strip tags inside that could be present in a string one liner method (returns a string)\n\t\t\tconst stripHtmlStringTags = (strToStrip) => strToStrip.replace(\/<[^>]*>?\/gm, '');\n\t\t\t\/\/CAMBIO NESTO END\n\n            var streamOpts = {\"name\":\"Blog EN\",\"cloud\":\"nope\",\"mod\":\"nope\",\"order\":\"smartCompare\",\"posts\":\"30\",\"days\":\"\",\"page-posts\":\"20\",\"cache\":\"yep\",\"cache_lifetime\":\"10\",\"gallery\":\"nope\",\"gallery-type\":\"news\",\"private\":\"nope\",\"hide-on-desktop\":\"nope\",\"hide-on-mobile\":\"nope\",\"max-res\":\"yep\",\"show-only-media-posts\":\"nope\",\"titles\":\"nope\",\"hidemeta\":\"yep\",\"hidetext\":\"nope\",\"heading\":\"\",\"headingcolor\":\"rgb(33, 33, 33)\",\"subheading\":\"\",\"subheadingcolor\":\"rgb(114, 112, 114)\",\"hhalign\":\"center\",\"bgcolor\":\"rgb(255, 255, 255)\",\"filter\":\"nope\",\"filtercolor\":\"rgb(205, 205, 205)\",\"mobileslider\":\"nope\",\"viewportin\":\"yep\",\"width\":\"260\",\"margin\":\"20\",\"layout\":\"grid\",\"theme\":\"classic\",\"gc-style\":\"style-1\",\"upic-pos\":\"off\",\"upic-style\":\"square\",\"bradius\":\"15\",\"icon-style\":\"off\",\"cardcolor\":\"rgb(255, 255, 255)\",\"namecolor\":\"rgb(33, 33, 33)\",\"textcolor\":\"rgb(33, 33, 33)\",\"linkscolor\":\"rgb(192, 57, 43)\",\"restcolor\":\"rgb(33, 33, 33)\",\"shadow\":\"rgb(255, 255, 255)\",\"bcolor\":\"rgba(33, 33, 33, 0.9)\",\"talign\":\"left\",\"icons-style\":\"outline\",\"cards-num\":\"3\",\"scrolltop\":\"yep\",\"c-desktop\":\"2\",\"c-laptop\":\"2\",\"c-tablet-l\":\"2\",\"c-tablet-p\":\"2\",\"c-smart-l\":\"1\",\"c-smart-p\":\"1\",\"s-desktop\":\"10\",\"s-laptop\":\"10\",\"s-tablet-l\":\"10\",\"s-tablet-p\":\"10\",\"s-smart-l\":\"10\",\"s-smart-p\":\"10\",\"m-c-desktop\":\"5\",\"m-c-laptop\":\"4\",\"m-c-tablet-l\":\"3\",\"m-c-tablet-p\":\"2\",\"m-c-smart-l\":\"2\",\"m-c-smart-p\":\"1\",\"m-s-desktop\":\"10\",\"m-s-laptop\":\"10\",\"m-s-tablet-l\":\"10\",\"m-s-tablet-p\":\"10\",\"m-s-smart-l\":\"10\",\"m-s-smart-p\":\"10\",\"j-h-desktop\":\"260\",\"j-h-laptop\":\"240\",\"j-h-tablet-l\":\"220\",\"j-h-tablet-p\":\"200\",\"j-h-smart-l\":\"180\",\"j-h-smart-p\":\"160\",\"j-s-desktop\":\"0\",\"j-s-laptop\":\"0\",\"j-s-tablet-l\":\"0\",\"j-s-tablet-p\":\"0\",\"j-s-smart-l\":\"0\",\"j-s-smart-p\":\"0\",\"c-r-desktop\":\"2\",\"c-r-laptop\":\"2\",\"c-r-tablet-l\":\"2\",\"c-r-tablet-p\":\"2\",\"c-r-smart-l\":\"2\",\"c-r-smart-p\":\"2\",\"c-c-desktop\":\"5\",\"c-c-laptop\":\"4\",\"c-c-tablet-l\":\"3\",\"c-c-tablet-p\":\"3\",\"c-c-smart-l\":\"2\",\"c-c-smart-p\":\"2\",\"c-s-desktop\":\"0\",\"c-s-laptop\":\"0\",\"c-s-tablet-l\":\"0\",\"c-s-tablet-p\":\"0\",\"c-s-smart-l\":\"0\",\"c-s-smart-p\":\"0\",\"c-autoplay\":\"\",\"c-arrows-always\":\"yep\",\"c-arrows-mob\":\"nope\",\"c-dots\":\"yep\",\"c-dots-mob\":\"nope\",\"wallwidth\":\"\",\"wallvm\":\"20\",\"wallhm\":\"0\",\"wallcomments\":\"yep\",\"g-ratio-w\":\"1\",\"g-ratio-h\":\"1\",\"g-ratio-img\":\"1\\\/2\",\"g-overlay\":\"nope\",\"m-overlay\":\"yep\",\"css\":\".ff-item-bar {display:none;}\",\"template\":[\"meta\",\"image\",\"header\",\"text\"],\"tv\":\"nope\",\"tv-int\":\"5\",\"tv-logo\":\"\",\"tv-bg\":\"\",\"big\":\"nope\",\"id\":\"14\",\"status\":\"1\",\"moderation\":\"nope\",\"last_changes\":1612275024,\"feeds\":[{\"id\":\"zm23551\",\"errors\":[],\"status\":\"1\",\"enabled\":\"yep\",\"last_update\":\"Apr 5 17:22\",\"cache_lifetime\":\"60\",\"system_enabled\":\"1\",\"boosted\":\"nope\",\"wordpress-type\":\"posts\",\"category-name\":\"blog-en\",\"post-id\":\"\",\"slug\":\"\",\"shortcodes\":\"expand\",\"include-post-title\":\"yep\",\"use-excerpt\":\"nope\",\"posts\":\"10\",\"mod\":\"nope\",\"type\":\"wordpress\",\"include\":\"\",\"filter-by-words\":\"\",\"page\":\"1\"}],\"preview\":false};\n            var ads = false;\n\t        streamOpts.shop = data.shop;\n            streamOpts.plugin = 'flow_flow';\n            streamOpts.trueLayout = streamOpts.layout;\n\n            \/*we will modify 'grid' layout to get 'carousel' layout*\/\n            if ( streamOpts.layout == 'carousel' ) {\n                streamOpts['layout'] = 'grid';\n                streamOpts['g-ratio-h'] = \"1\";\n                streamOpts['g-ratio-img'] = \"1\/2\";\n                streamOpts['g-ratio-w'] = \"1\";\n                streamOpts['g-overlay'] = \"yep\";\n                streamOpts['c-overlay'] = \"yep\";\n                streamOpts['s-desktop'] = \"0\";\n                streamOpts['s-laptop'] = \"0\";\n                streamOpts['s-smart-l'] = \"0\";\n                streamOpts['s-smart-p'] = \"0\";\n                streamOpts['s-tablet-l'] = \"0\";\n                streamOpts['s-tablet-p'] = \"0\";\n            }\n            else if ( streamOpts.layout == 'list' ) {  \/*the same with list, we only need news feed style*\/\n                streamOpts['layout'] = 'masonry';\n            }\n\n\t        if ( ads ) streamOpts.ads = ads;\n\n            opts.streams['stream' + streamOpts.id] = streamOpts;\n\n            var $cont = $(\"[data-plugin='flow_flow']#ff-stream-\"+data['stream-id']);\n            var ajaxDeferred;\n            var script, style;\n            var layout_pre = streamOpts.layout.charAt(0);\n            var isOverlay = layout_pre === 'j' || streamOpts[layout_pre + '-overlay'] === 'yep' && streamOpts.trueLayout !== 'list';\n            var imgIndex;\n            if (isOverlay) {\n                if (streamOpts.template[0] !== 'image') {\n                    for (var i = 0, len = streamOpts.template.length; i < len; i++) {\n                        if (streamOpts.template[i] === 'image') imgIndex = i;\n                    }\n                    streamOpts.template.splice(0, 0, streamOpts.template.splice(imgIndex, 1)[0]);\n                }\n                streamOpts.isOverlay = true;\n            };\n            if (FF_resource.scriptDeferred.state() === 'pending' && !FF_resource.scriptLoading) {\n                script = document.createElement('script');\n                script.src = \"https:\/\/carloscheca.com\/wp-content\/plugins\/flow-flow\/js\/public.js?ver=4.8.6\";\n                script.onload = function( script, textStatus ) {\n                    FF_resource.scriptDeferred.resolve();\n                };\n                document.body.appendChild(script);\n                FF_resource.scriptLoading = true;\n            };\n            if (FF_resource.styleDeferred.state() === 'pending' && !FF_resource.styleLoading) {\n                style = document.createElement('link');\n                style.type = \"text\/css\";\n                style.id = \"ff_style\";\n                style.rel = \"stylesheet\";\n                style.href = \"https:\/\/carloscheca.com\/wp-content\/plugins\/flow-flow\/css\/public.css?ver=4.8.6\";\n                style.media = \"screen\";\n                style.onload = function( script, textStatus ) {\n                    FF_resource.styleDeferred.resolve();\n                };\n                document.getElementsByTagName(\"head\")[0].appendChild(style);\n                FF_resource.styleLoading = true;\n            }\n            $cont.addClass('ff-layout-' + streamOpts.trueLayout);\n            if (!isMobile && streamOpts.trueLayout !== 'carousel') $cont.css('minHeight', '500px');\n            ajaxDeferred = isLS && sessionStorage.getItem(hash) ? {} : $.get(opts.ajaxurl, data)\n;\n            $.when( ajaxDeferred, FF_resource.scriptDeferred, FF_resource.styleDeferred ).done(function ( data ) {\n                var response, $errCont, err;\n                var moderation = 0;\n                var original = (isLS && sessionStorage.getItem(hash)) ? JSON.parse( sessionStorage.getItem(hash) ) : data[0];\n                try {\n                    \/* response = JSON.parse(original); *\/\n                    response = original; \/* since 4.1 *\/\n                } catch (e) {\n                    window.console && window.console.log('Flow-Flow gets invalid data from server');\n                    if (opts.isAdmin || opts.isLog) {\n\t                    $errCont = $('<' + 'div class=\"ff-errors\"><' + 'div class=\"ff-disclaim\">If you see this message then you have administrator permissions and Flow-Flow got invalid data from server. Please provide error message below if you are doing support request.<' + '\/div><' + 'div class=\"ff-err-info\"><'+'\/div><'+'\/div>');\n\t                    $cont.before($errCont);\n                        $errCont.find('.ff-err-info').html(original == '' ? 'Empty response from server' : original);\n                    }\n                    return;\n                }\n\n                if ( ! response ) {\n                \tconsole.log( 'FLOW-FLOW: null response from server' );\n                \treturn;\n                }\n\n                \/\/ injecting ads for cloud streams\n                if ( ads ) {\n\n                \tvar newArr = [];\n\n                \tvar post, ad;\n\n                \tfor ( var i = 0, len = response.items.length; i < len; i++ ) {\n\n\t\t                post = response.items[ i ];\n\t\t\t\t\t\tconsole.log('post: ',post);\n\n                \t\tif ( ads[ i ] ) {\n\n                \t\t\tad = ads[ i ];\n                            ad.id = 'ad_el_' + ad.id;\n                            newArr.push ( ad );\n\n\t\t\t                delete ads[ i ];\n                        }\n\n                        newArr.push( post );\n                    }\n\n                    response.items = newArr;\n                }\n\n                opts.streams['stream' + streamOpts.id]['items'] = response;\n                if (!FlowFlowOpts.dependencies) FlowFlowOpts.dependencies = {};\n                \n                FlowFlow.extensionResourcesRequests = FlowFlow.extensionResourcesRequests || [];\n                var request, extension, style;\n\n                for ( extension in FlowFlowOpts.dependencies ) {\n                    if ( FlowFlowOpts.dependencies[extension] && FlowFlowOpts.dependencies[extension] !== 'loaded') {\n                        request = $.getScript( opts.plugin_base + '-' + extension + '\/js\/ff_' + extension + '_public.js?ver=4.8.6');\n                        FlowFlow.extensionResourcesRequests.push(request);\n\n                        style = document.createElement('link');\n                        style.type = \"text\/css\";\n                        style.rel = \"stylesheet\";\n                        style.id = \"ff_ad_style\";\n                        style.href = opts.plugin_base + '-' + extension + '\/css\/ff_' + extension + '_public.css?ver=4.8.6';\n                        style.media = \"screen\";\n                        document.getElementsByTagName(\"head\")[0].appendChild(style);\n\n                        FlowFlowOpts.dependencies[extension] = 'loaded';\n                    }\n                }\n\n                var resourcesLoaded = $.when.apply($, FlowFlow.extensionResourcesRequests);\n\n                resourcesLoaded.done(function(){\n                    var $stream, width;\n\t\t\t\t\t\/\/ deletion of possible html tags in the text attribute of the items\n\t\t\t\t\t\/\/CAMBIO NESTO START\n\t\t\t\t\tresponse.items.forEach(item => {\n\t\t\t\t\t\titem.text = stripHtmlStringTags(item.text);\n\t\t\t\t\t});\n\t\t\t\t\t\/\/CAMBIO NESTO END\n\n                    $stream = FlowFlow.buildStreamWith(response, streamOpts, moderation, FlowFlowOpts.dependencies);\n                    if (isLS && response.items.length > 0 && response.hash.length > 0) sessionStorage.setItem(  response.hash , JSON.stringify( original ));\n\n                    var num = streamOpts.layout === 'compact' || (streamOpts.mobileslider === 'yep' && isMobile)? (streamOpts.mobileslider === 'yep' ? 3 : streamOpts['cards-num']) : false;\n\n                    $cont.append( $stream );\n\n                    if ( typeof $stream !== 'string' ) {\n                        FlowFlow.setupGrid($cont.find('.ff-stream-wrapper'), num, streamOpts.scrolltop === 'yep', streamOpts.gallery === 'yep', streamOpts, $cont);\n                    }\n\n                    setTimeout(function(){\n                        $cont.find('.ff-header').removeClass('ff-loading').end().find('.ff-loader').addClass('ff-squeezed').delay(300).hide();\n                    }, 0);\n\n                    \n                }).fail(function(){\n                    console.log('Flow-Flow: resource loading failed');\n                });\n\n                var isErr = response.status === \"errors\";\n                if ((opts.isAdmin || opts.isLog) && isErr) {\n\t                $errCont = $('<'+'div class=\"ff-errors\"><'+'div class=\"ff-err-info\">If you see this then you are administrator and Flow-Flow got errors from APIs while requesting data. Please go to plugin admin and after refreshing page check for error(s) on stream settings page. Please provide error message info if you are doing support request.<'+'\/div><'+'\/div>');\n\t                $cont.before($errCont);\n                }\n            });\n\n            function isLocalStorageNameSupported() {\n                var testKey = 'test', storage = window.sessionStorage;\n                try {\n                    storage.setItem(testKey, '1');\n                    storage.removeItem(testKey);\n                    return true;\n                } catch (error) {\n                    return false;\n                }\n            };\n\n            return false;\n        }\n    })()\n\n<\/script>\n<!-- Flow-Flow \u2014 Social streams plugin for Wordpress -->\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":4,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/carloscheca.com\/en\/wp-json\/wp\/v2\/pages\/1113"}],"collection":[{"href":"https:\/\/carloscheca.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/carloscheca.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/carloscheca.com\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/carloscheca.com\/en\/wp-json\/wp\/v2\/comments?post=1113"}],"version-history":[{"count":2,"href":"https:\/\/carloscheca.com\/en\/wp-json\/wp\/v2\/pages\/1113\/revisions"}],"predecessor-version":[{"id":1254,"href":"https:\/\/carloscheca.com\/en\/wp-json\/wp\/v2\/pages\/1113\/revisions\/1254"}],"wp:attachment":[{"href":"https:\/\/carloscheca.com\/en\/wp-json\/wp\/v2\/media?parent=1113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}