{"id":796,"date":"2025-12-19T20:23:52","date_gmt":"2025-12-19T20:23:52","guid":{"rendered":"https:\/\/mygreenplanet.am\/%d0%bb%d0%be%d0%ba%d0%b0%d1%86%d0%b8%d0%b8\/"},"modified":"2025-12-30T07:50:12","modified_gmt":"2025-12-30T07:50:12","slug":"locations","status":"publish","type":"page","link":"https:\/\/mygreenplanet.am\/ru\/locations\/","title":{"rendered":"\u041b\u043e\u043a\u0430\u0446\u0438\u0438"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"796\" class=\"elementor elementor-796 elementor-72\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8657b9 e-flex e-con-boxed e-con e-parent\" data-id=\"8657b9\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d8a7759 elementor-widget elementor-widget-shortcode\" data-id=\"d8a7759\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">        <div class=\"tpl-public-container\">\n            <div class=\"tpl-public-header\">\n                <div class=\"tpl-header-top\">\n                                        <div class=\"tpl-inline-stats\">\n                        <span class=\"tpl-stat-badge\">0<\/span>\n                        <span class=\"tpl-stat-text\">\u041f\u043e\u0441\u0430\u0436\u0435\u043d\u043d\u044b\u0435 \u0434\u0435\u0440\u0435\u0432\u044c\u044f<\/span>\n                    <\/div>\n                                        \n                                    <\/div>\n                \n                            <\/div>\n            \n            <div id=\"tpl-public-map\" style=\"height: 600px; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);\"><\/div>\n            \n            <div id=\"tpl-no-trees-message\" style=\"display: none; text-align: center; padding: 30px; background: #f9f9f9; border-radius: 8px; margin-top: 20px;\">\n                <p style=\"font-size: 16px; color: #666; margin: 0;\">\n                    You don't have any trees planted yet. Toggle off to see all trees!                <\/p>\n            <\/div>\n            \n                        <div class=\"tpl-public-empty\">\n                <p>No trees have been planted yet.<\/p>\n            <\/div>\n                    <\/div>\n        \n        <script>\n        (function() {\n            if (typeof L === 'undefined') {\n                setTimeout(arguments.callee, 100);\n                return;\n            }\n            \n            \/\/ Initialize map\n            var map = L.map('tpl-public-map').setView([40.1776, 44.5126], 7);\n            \n            L.tileLayer('https:\/\/{s}.tile.openstreetmap.org\/{z}\/{x}\/{y}.png', {\n                attribution: '\u00a9 OpenStreetMap contributors',\n                maxZoom: 19\n            }).addTo(map);\n            \n            \/\/ Custom icon\n            var treeIcon = L.icon({\n                iconUrl: 'https:\/\/mygreenplanet.am\/wp-content\/uploads\/2025\/12\/icon.png',\n                iconSize: [32, 32],\n                iconAnchor: [16, 32],\n                popupAnchor: [0, -32]\n            });\n            \n            var markers = [];\n            var allLocations = [];\n            \n                        \n            \/\/ User filter settings\n            var isLoggedIn = false;\n            var currentUserEmail = '';\n            var currentUserId = 0;\n            var filterActive = isLoggedIn; \/\/ Default: show only user's trees if logged in\n            function isMine(data) {\n    \/\/ Logged-in order (best case)\n    if (data.customerUserId && currentUserId) {\n        return data.customerUserId === currentUserId;\n    }\n\n    \/\/ Guest order fallback (email match)\n    return currentUserEmail && data.customerEmail === currentUserEmail;\n}\n            console.log('User filter debug:', {\n                isLoggedIn: isLoggedIn,\n                currentUserEmail: currentUserEmail,\n                filterActive: filterActive,\n                totalMarkers: markers.length\n            });\n            \n            \/\/ Apply initial filter\n            function applyFilter() {\n                var visibleMarkers = [];\n                markers.forEach(function(marker) {\n                    if (!filterActive || isMine(marker.locationData)) {\n\n                        marker.addTo(map);\n                        visibleMarkers.push(marker);\n                    } else {\n                        map.removeLayer(marker);\n                    }\n                });\n                \n                console.log('Filter applied:', {\n                    filterActive: filterActive,\n                    visibleMarkers: visibleMarkers.length,\n                    currentUserEmail: currentUserEmail\n                });\n                \n                \/\/ Show\/hide no trees message\n                var noTreesMessage = document.getElementById('tpl-no-trees-message');\n                if (noTreesMessage) {\n                    if (filterActive && visibleMarkers.length === 0 && markers.length > 0) {\n                        noTreesMessage.style.display = 'block';\n                    } else {\n                        noTreesMessage.style.display = 'none';\n                    }\n                }\n                \n                \/\/ Fit bounds to visible markers\n                if (visibleMarkers.length > 0) {\n                    var group = new L.featureGroup(visibleMarkers);\n                    map.fitBounds(group.getBounds().pad(0.5), {maxZoom: 12});\n                } else if (markers.length > 0) {\n                    \/\/ If no visible markers but filter is active, show message\n                    if (filterActive) {\n                        console.log('No trees found for user:', currentUserEmail);\n                        \/\/ Still fit to all markers bounds even if hidden\n                        var group = new L.featureGroup(markers);\n                        map.fitBounds(group.getBounds().pad(0.5), {maxZoom: 12});\n                    } else {\n                        var group = new L.featureGroup(markers);\n                        map.fitBounds(group.getBounds().pad(0.5), {maxZoom: 12});\n                    }\n                }\n            }\n            \n            \/\/ Apply initial filter\n            applyFilter();\n            \n            \/\/ Toggle handler\n            var toggleInput = document.getElementById('tpl-my-trees-toggle');\n            if (toggleInput) {\n                toggleInput.addEventListener('change', function(e) {\n                    filterActive = e.target.checked;\n                    applyFilter();\n                });\n            }\n            \n            \/\/ Highlight specific tree if tree_id in URL\n            var highlightId = 0;\n            if (highlightId > 0) {\n                \/\/ Disable filter temporarily to show the highlighted tree\n                if (toggleInput && filterActive) {\n                    var highlightedMarker = null;\n                    markers.forEach(function(marker) {\n                        if (marker.locationData.id === highlightId) {\n                            highlightedMarker = marker;\n                            \/\/ If this tree doesn't belong to current user, disable filter\n                            if (!isMine(marker.locationData)) {\n    toggleInput.checked = false;\n    filterActive = false;\n    applyFilter();\n}\n\n                        }\n                    });\n                }\n                \n                markers.forEach(function(marker) {\n                    if (marker.locationData.id === highlightId) {\n                        marker.addTo(map); \/\/ Ensure it's visible\n                        map.setView([marker.locationData.lat, marker.locationData.lng], 15);\n                        marker.openPopup();\n                    }\n                });\n            }\n            \n            \/\/ Search functionality\n            var searchInput = document.getElementById('tpl-tree-search');\n            if (searchInput) {\n                searchInput.addEventListener('input', function(e) {\n                    var query = e.target.value.toLowerCase();\n                    \n                    if (query.length < 2) {\n                        \/\/ Reapply filter\n                        applyFilter();\n                        return;\n                    }\n                    \n                    \/\/ Filter markers (respect user filter)\n                    var foundMarkers = [];\n                    markers.forEach(function(marker) {\n                        var data = marker.locationData;\n                        \n                        \/\/ Check if marker should be visible based on user filter\n                        var passesUserFilter = !filterActive || isMine(data);\n\n                        \n                        \/\/ Check if marker matches search query\n                        var match = data.name.toLowerCase().includes(query) ||\n                                  data.order.toLowerCase().includes(query) ||\n                                  data.customer.toLowerCase().includes(query);\n                        \n                        if (passesUserFilter && match) {\n                            marker.addTo(map);\n                            foundMarkers.push(marker);\n                        } else {\n                            map.removeLayer(marker);\n                        }\n                    });\n                    \n                    \/\/ Fit to found markers\n                    if (foundMarkers.length > 0) {\n                        var group = new L.featureGroup(foundMarkers);\n                        map.fitBounds(group.getBounds().pad(0.5), {maxZoom: 12});\n                    }\n                });\n            }\n        })();\n        <\/script>\n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-796","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>\u041b\u043e\u043a\u0430\u0446\u0438\u0438 - My Green Planet<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u041b\u043e\u043a\u0430\u0446\u0438\u0438 - My Green Planet\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mygreenplanet.am\/ru\/locations\/\" \/>\n<meta property=\"og:site_name\" content=\"My Green Planet\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-30T07:50:12+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/mygreenplanet.am\/ru\/locations\/\",\"url\":\"https:\/\/mygreenplanet.am\/ru\/locations\/\",\"name\":\"\u041b\u043e\u043a\u0430\u0446\u0438\u0438 - My Green Planet\",\"isPartOf\":{\"@id\":\"https:\/\/mygreenplanet.am\/#website\"},\"datePublished\":\"2025-12-19T20:23:52+00:00\",\"dateModified\":\"2025-12-30T07:50:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/mygreenplanet.am\/ru\/locations\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/mygreenplanet.am\/ru\/locations\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/mygreenplanet.am\/ru\/locations\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/mygreenplanet.am\/ru\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u041b\u043e\u043a\u0430\u0446\u0438\u0438\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/mygreenplanet.am\/#website\",\"url\":\"https:\/\/mygreenplanet.am\/\",\"name\":\"Tree\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/mygreenplanet.am\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/mygreenplanet.am\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ru-RU\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/mygreenplanet.am\/#organization\",\"name\":\"My green planet\",\"url\":\"https:\/\/mygreenplanet.am\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\/\/mygreenplanet.am\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/mygreenplanet.am\/wp-content\/uploads\/2025\/12\/new-logo.png\",\"contentUrl\":\"https:\/\/mygreenplanet.am\/wp-content\/uploads\/2025\/12\/new-logo.png\",\"width\":200,\"height\":200,\"caption\":\"My green planet\"},\"image\":{\"@id\":\"https:\/\/mygreenplanet.am\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u041b\u043e\u043a\u0430\u0446\u0438\u0438 - My Green Planet","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"ru_RU","og_type":"article","og_title":"\u041b\u043e\u043a\u0430\u0446\u0438\u0438 - My Green Planet","og_url":"https:\/\/mygreenplanet.am\/ru\/locations\/","og_site_name":"My Green Planet","article_modified_time":"2025-12-30T07:50:12+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/mygreenplanet.am\/ru\/locations\/","url":"https:\/\/mygreenplanet.am\/ru\/locations\/","name":"\u041b\u043e\u043a\u0430\u0446\u0438\u0438 - My Green Planet","isPartOf":{"@id":"https:\/\/mygreenplanet.am\/#website"},"datePublished":"2025-12-19T20:23:52+00:00","dateModified":"2025-12-30T07:50:12+00:00","breadcrumb":{"@id":"https:\/\/mygreenplanet.am\/ru\/locations\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mygreenplanet.am\/ru\/locations\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/mygreenplanet.am\/ru\/locations\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mygreenplanet.am\/ru\/"},{"@type":"ListItem","position":2,"name":"\u041b\u043e\u043a\u0430\u0446\u0438\u0438"}]},{"@type":"WebSite","@id":"https:\/\/mygreenplanet.am\/#website","url":"https:\/\/mygreenplanet.am\/","name":"Tree","description":"","publisher":{"@id":"https:\/\/mygreenplanet.am\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mygreenplanet.am\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ru-RU"},{"@type":"Organization","@id":"https:\/\/mygreenplanet.am\/#organization","name":"My green planet","url":"https:\/\/mygreenplanet.am\/","logo":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/mygreenplanet.am\/#\/schema\/logo\/image\/","url":"https:\/\/mygreenplanet.am\/wp-content\/uploads\/2025\/12\/new-logo.png","contentUrl":"https:\/\/mygreenplanet.am\/wp-content\/uploads\/2025\/12\/new-logo.png","width":200,"height":200,"caption":"My green planet"},"image":{"@id":"https:\/\/mygreenplanet.am\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/mygreenplanet.am\/ru\/wp-json\/wp\/v2\/pages\/796","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mygreenplanet.am\/ru\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mygreenplanet.am\/ru\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mygreenplanet.am\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mygreenplanet.am\/ru\/wp-json\/wp\/v2\/comments?post=796"}],"version-history":[{"count":1,"href":"https:\/\/mygreenplanet.am\/ru\/wp-json\/wp\/v2\/pages\/796\/revisions"}],"predecessor-version":[{"id":847,"href":"https:\/\/mygreenplanet.am\/ru\/wp-json\/wp\/v2\/pages\/796\/revisions\/847"}],"wp:attachment":[{"href":"https:\/\/mygreenplanet.am\/ru\/wp-json\/wp\/v2\/media?parent=796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}