# Name: s2l_getlocation v0.1 # Type: Public plugin # Получаем местоположение по IP-адресу или текущее положение # Author: itshaman # URL: http://ilovetxp.ru # Recommended load order: 5 # ..................................................................... # This is a plugin for Textpattern CMS - http://textpattern.com/ # To install: textpattern > admin > plugins # Paste the following text into the 'Install plugin' box: # ..................................................................... YToxMTp7czo0OiJuYW1lIjtzOjE1OiJzMmxfZ2V0bG9jYXRpb24iO3M6NjoiYXV0aG9yIjtz Ojg6Iml0c2hhbWFuIjtzOjEwOiJhdXRob3JfdXJpIjtzOjE4OiJodHRwOi8vaWxvdmV0eHAu cnUiO3M6NzoidmVyc2lvbiI7czozOiIwLjEiO3M6MTE6ImRlc2NyaXB0aW9uIjtzOjEwNzoi 0J/QvtC70YPRh9Cw0LXQvCDQvNC10YHRgtC+0L/QvtC70L7QttC10L3QuNC1INC/0L4gSVAt 0LDQtNGA0LXRgdGDINC40LvQuCDRgtC10LrRg9GJ0LXQtSDQv9C+0LvQvtC20LXQvdC40LUi O3M6NDoiY29kZSI7czoxNTc1OiJmdW5jdGlvbiBzMmxfZ2V0bG9jYXRpb24oJGF0dHIpIHsN CiAgZ2xvYmFsICRzMmxfZ2V0bG9jYXRpb25fZGF0YTsNCg0KICBleHRyYWN0KGxBdHRzKGFy cmF5KA0KICAgICduYW1lJyA9PiAnY2l0eScgIC8vINCn0YLQviDQv9C+0LrQsNC30YvQstCw 0YLRjD8NCiAgKSwkYXR0cikpOw0KDQogIGlmICggIWlzc2V0KCRzMmxfZ2V0bG9jYXRpb25f ZGF0YSkgKSB7DQogICAgJGlwID0gJF9TRVJWRVJbJ1JFTU9URV9BRERSJ107IC8vINGD0LfQ vdCw0LXQvCBJUCDQv9C+0YHQtdGC0LjRgtC10LvRjw0KICAgICRkYXRhID0gZ2V0TG9jYXRp b25CeUlQKCRpcCk7DQogICAgJHMybF9nZXRsb2NhdGlvbl9kYXRhID0gJGRhdGE7DQogIH0g ZWxzZSB7DQogICAgJGRhdGEgPSAkczJsX2dldGxvY2F0aW9uX2RhdGE7DQogIH0NCg0KICBy ZXR1cm4gJGRhdGFbJG5hbWVdOw0KfQ0KDQoNCmZ1bmN0aW9uIGlmX3MybF9nZXRsb2NhdGlv bigkYXR0ciwgJHRoaW5nPU5VTEwpIHsNCiAgZ2xvYmFsICRzMmxfZ2V0bG9jYXRpb25fZGF0 YTsNCg0KICBleHRyYWN0KGxBdHRzKGFycmF5KA0KICAgICduYW1lJyA9PiAnY2l0eScsICAv LyDQp9GC0L4g0L/QvtC60LDQt9GL0LLQsNGC0Yw/DQogICAgJ3ZhbHVlJyA9PiAnJyAgICAg Ly8g0LfQvdCw0YfQtdC90LjQtQ0KICApLCRhdHRyKSk7DQoNCiAgaWYgKCAhaXNzZXQoJHMy bF9nZXRsb2NhdGlvbl9kYXRhKSApIHsNCiAgICAkaXAgPSAkX1NFUlZFUlsnUkVNT1RFX0FE RFInXTsgLy8g0YPQt9C90LDQtdC8IElQINC/0L7RgdC10YLQuNGC0LXQu9GPDQogICAgJGRh dGEgPSBnZXRMb2NhdGlvbkJ5SVAoJGlwKTsNCiAgICAkczJsX2dldGxvY2F0aW9uX2RhdGEg PSAkZGF0YTsNCiAgfSBlbHNlIHsNCiAgICAkZGF0YSA9ICRzMmxfZ2V0bG9jYXRpb25fZGF0 YTsNCiAgfQ0KDQogICRjb25kaXRpb24gPSAkZGF0YVskbmFtZV0gPT0gJHZhbHVlOw0KICBy ZXR1cm4gcGFyc2UoRXZhbGVsc2UoJHRoaW5nLCAkY29uZGl0aW9uKSk7DQp9DQoNCg0KZnVu Y3Rpb24gZ2V0TG9jYXRpb25CeUlQKCRpcCkgew0KDQogICAgJHhtbCA9IHNpbXBsZXhtbF9s b2FkX2ZpbGUoJ2h0dHA6Ly9pcGdlb2Jhc2UucnU6NzAyMC9nZW8/aXA9JyAuICRpcCk7DQoJ JGRhdGFbJ2lwJ10gPSAkaXA7DQoJDQogICAgZm9yZWFjaCAoJHhtbC0+aXAgYXMgJGl0ZW0p IHsNCgkJJGRhdGFbJ2NvdW50cnknXSA9ICRpdGVtLT5jb3VudHJ5OyAJCS8vINCa0L7QtNC+ 0LLQvtC1INC+0LHQvtC30L3QsNGH0LXQvdC40LUg0YHRgtGA0LDQvdGLIA0KCQkkZGF0YVsn Y2l0eSddID0gJGl0ZW0tPmNpdHk7CQkJLy8g0JPQvtGA0L7QtA0KCQkkZGF0YVsncmVnaW9u J10gPSAkaXRlbS0+cmVnaW9uOwkJLy8g0J7QsdC70LDRgdGC0YwgKNGA0LXQs9C40L7QvSkN CgkJJGRhdGFbJ2xhdCddID0gJGl0ZW0tPmxhdDsJCQkvLyDQqNC40YDQvtGC0LANCgkJJGRh dGFbJ2xuZyddID0gJGl0ZW0tPmxuZzsJCQkvLyDQlNC+0LvQs9C+0YLQsA0KCQkkZGF0YVsn ZGlzdHJpY3QnXSA9ICRpdGVtLT5kaXN0cmljdDsJCS8vINCe0LrRgNGD0LMgKNC60YDQsNC5 KQ0KCX0NCg0KICAgIHJldHVybiAkZGF0YTsNCn0iO3M6NDoidHlwZSI7czoxOiIwIjtzOjU6 Im9yZGVyIjtzOjE6IjUiO3M6NToiZmxhZ3MiO3M6MToiMCI7czo0OiJoZWxwIjtzOjQ0Njc6 IjxkaXYgaWQ9InMybCI+CjxoMT5zMmxfZ2V0bG9jYXRpb248L2gxPgo8cD7Qn9C70LDQs9C4 0L0g0L/QvtC30LLQvtC70Y/QtdGCINC+0L/RgNC10LTQtdC70LjRgtGMINC80LXRgdGC0L7Q v9C+0LvQvtC20LXQvdC40LUg0LLQsNGI0LXQs9C+INC/0L7RgdC10YLQuNGC0LXQu9GPINC/ 0L4g0LXQs9C+IElQLdCw0LTRgNC10YHRgyDQtNC70Y8g0KDQvtGB0YHQuNC50YHQutC+0Lkg 0KTQtdC00LXRgNCw0YbQuNC4INC4INCj0LrRgNCw0LjQvdGLLiDQlNC70Y8g0L7Qv9GA0LXQ tNC10LvQtdC90LjRjyDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0YHQsNC50YIgPGEgaHJl Zj0iaHR0cDovL2lwZ2VvYmFzZS5ydSIgdGFyZ2V0PSJfYmxhbmsiPmlwZ2VvYmFzZS5ydTwv YT4uPC9wPgo8cD7Qn9C70LDQs9C40L0g0L/QvtC30LLQvtC70Y/QtdGCINC/0L7Qu9GD0YfQ uNGC0Ywg0YLQsNC60LjQtSDQtNCw0L3QvdGL0LUg0LrQsNC6OjwvcD4KPHVsPgo8bGk+0YHQ sNC8IElQOzwvbGk+CjxsaT7QutC+0LTQvtCy0L7QtSDQvtCx0L7Qt9C90LDRh9C10L3QuNC1 INGB0YLRgNCw0L3RiyAo0LTQu9GPINCg0L7RgdGB0LjQuCDRjdGC0L4g0LHRg9C00LXRgiA8 ZW0+UlU8L2VtPik7PC9saT4KPGxpPtCz0L7RgNC+0LQ7PC9saT4KPGxpPtC+0LHQu9Cw0YHR gtGMICjRgNC10LPQuNC+0L0pOzwvbGk+CjxsaT7RiNC40YDQvtGC0YM7PC9saT4KPGxpPtC0 0L7Qu9Cz0L7RgtGDOzwvbGk+CjxsaT7QvtC60YDRg9CzICjQutGA0LDQuSkuPC9saT4KPC91 bD4KCjxwPtCf0LvQsNCz0LjQvSDQuNC80LXQtdGCINC+0LTQuNC90LDRgNC90YvQuSDRgtC1 0LMg0Lgg0L/QsNGA0L3Ri9C5INGC0LXQsyDRg9GB0LvQvtCy0LjRjy48L3A+Cgo8aDI+0KPR gdGC0LDQvdC+0LLQutCwINC4INGD0LTQsNC70LXQvdC40LUg0L/Qu9Cw0LPQuNC90LA8L2gy Pgo8cD7Qo9GB0YLQsNC90L7QstC60LAg0Lgg0YPQtNCw0LvQtdC90LjQtSDQv9GA0L7QuNGB 0YXQvtC00LjRgiDRgdGC0LDQvdC00LDRgNGC0L3Qviwg0LrQsNC6INC4INC70Y7QsdC+0Lkg 0LTRgNGD0LPQvtC5INC/0LvQsNCz0LjQvSBUWFAuPC9wPgoKPGgyPtCi0Y3Qs9C4PC9oMj4K PHA+PGNvZGU+Jmx0O3R4cDpzMmxfZ2V0bG9jYXRpb24gLyZndDs8L2NvZGU+IOKAkyDQktGL 0LLQvtC00LjRgiDQtdC00LjQvdGB0YLQstC10L3QvdC+0LUg0LfQvdCw0YfQtdC90LjQtS4g 0K3RgtC+INC+0LTQuNC90L7Rh9C90YvQuSDRgtC10LMuPC9wPgo8dGFibGU+Cgk8dHI+CgkJ PHRoPtCQ0YLRgtGA0LjQsdGD0YI8L3RoPgoJCTx0aD7QktC+0LfQvNC+0LbQvdGL0LUg0LfQ vdCw0YfQtdC90LjRjzwvdGg+CgkJPHRoPtCX0L3QsNGH0LXQvdC40LUg0L/Qvi3Rg9C80L7Q u9GH0LDQvdC40Y48L3RoPgoJCTx0aD7QntC/0LjRgdCw0L3QuNC1PC90aD4KCTwvdHI+Cgk8 dHI+CgkJPHRkPm5hbWU8L3RkPgoJCTx0ZD4KCQkJPHVsPgoJCQkJPGxpPjxpPmlwPC9pPiAt IElQLdCw0LTRgNC10YE7PC9saT4KCQkJCTxsaT48aT5jb3VudHJ5PC9pPiAtINC60L7QtNC+ 0LLQvtC1INC+0LHQvtC30L3QsNGH0LXQvdC40LUg0YHRgtGA0LDQvdGLOzwvbGk+CgkJCQk8 bGk+PGk+Y2l0eTwvaT4gLSDQs9C+0YDQvtC0OzwvbGk+CgkJCQk8bGk+PGk+cmVnaW9uPC9p PiAtINC+0LHQu9Cw0YHRgtGMICjRgNC10LPQuNC+0L0pOzwvbGk+CgkJCQk8bGk+PGk+bGF0 PC9pPiAtINGI0LjRgNC+0YLQsDs8L2xpPgoJCQkJPGxpPjxpPmxuZzwvaT4gLSDQtNC+0LvQ s9C+0YLQsDs8L2xpPgoJCQkJPGxpPjxpPmRpc3RyaWN0PC9pPiAtINC+0LrRgNGD0LMgKNC6 0YDQsNC5KS48L2xpPgoJCQk8L3VsPgoJCTwvdGQ+CgkJPHRkPmNpdHk8L3RkPgoJCTx0ZD7Q ndCw0LfQstCw0L3QuNC1INCw0YLRgtGA0LjQsdGD0YLQsCwg0LrQvtGC0L7RgNGL0Lkg0L3R g9C20L3QviDQv9C+0LrQsNC30LDRgtGMLjwvdGQ+Cgk8L3RyPgo8L3RhYmxlPgoKPHA+PGNv ZGU+Jmx0O3R4cDppZl9zMmxfZ2V0bG9jYXRpb24gLyZndDs8L2NvZGU+IOKAkyDQo9GB0LvQ vtCy0L3Ri9C5INGC0LXQsywg0L/QvtC30LLQvtC70Y/RjtGJ0LjQuSDQv9GA0L7QstC10YDQ uNGC0Ywg0L/RgNC40L3QsNC00LvQtdC20LjRgiDQu9C4ICDQv9C+0LvRg9GH0LXQvdC90L7Q tSDQt9C90LDRh9C10L3QuNC1INC90YPQttC90L7QvNGDLiDQrdGC0L4g0L/QsNGA0L3Ri9C5 INGC0LXQsyDRgSDQstC+0LfQvNC+0LbQvdC+0YHRgtGM0Y4g0LjRgdC/0L7Qu9GM0LfQvtCy 0LDRgtGMIDxpPnR4cDplbHNlPC9pPi48L3A+Cjx0YWJsZT4KCTx0cj4KCQk8dGg+0JDRgtGC 0YDQuNCx0YPRgjwvdGg+CgkJPHRoPtCS0L7Qt9C80L7QttC90YvQtSDQt9C90LDRh9C10L3Q uNGPPC90aD4KCQk8dGg+0JfQvdCw0YfQtdC90LjQtSDQv9C+LdGD0LzQvtC70YfQsNC90LjR jjwvdGg+CgkJPHRoPtCe0L/QuNGB0LDQvdC40LU8L3RoPgoJPC90cj4KCTx0cj4KCQk8dGQ+ bmFtZTwvdGQ+CgkJPHRkPgoJCQk8dWw+CgkJCQk8bGk+PGk+aXA8L2k+IC0gSVAt0LDQtNGA 0LXRgTs8L2xpPgoJCQkJPGxpPjxpPmNvdW50cnk8L2k+IC0g0LrQvtC00L7QstC+0LUg0L7Q sdC+0LfQvdCw0YfQtdC90LjQtSDRgdGC0YDQsNC90Ys7PC9saT4KCQkJCTxsaT48aT5jaXR5 PC9pPiAtINCz0L7RgNC+0LQ7PC9saT4KCQkJCTxsaT48aT5yZWdpb248L2k+IC0g0L7QsdC7 0LDRgdGC0YwgKNGA0LXQs9C40L7QvSk7PC9saT4KCQkJCTxsaT48aT5sYXQ8L2k+IC0g0YjQ uNGA0L7RgtCwOzwvbGk+CgkJCQk8bGk+PGk+bG5nPC9pPiAtINC00L7Qu9Cz0L7RgtCwOzwv bGk+CgkJCQk8bGk+PGk+ZGlzdHJpY3Q8L2k+IC0g0L7QutGA0YPQsyAo0LrRgNCw0LkpLjwv bGk+CgkJCTwvdWw+CgkJPC90ZD4KCQk8dGQ+Y2l0eTwvdGQ+CgkJPHRkPtCd0LDQt9Cy0LDQ vdC40LUg0LDRgtGC0YDQuNCx0YPRgtCwLCDQutC+0YLQvtGA0YvQuSDQvdGD0LbQvdC+INC/ 0L7QutCw0LfQsNGC0YwuPC90ZD4KCTwvdHI+Cgk8dHI+CgkJPHRkPnZhbHVlPC90ZD4KCQk8 dGQ+JyAnPC90ZD4KCQk8dGQ+JyAnPC90ZD4KCQk8dGQ+0JfQvdCw0YfQtdC90LjQtSwg0YEg 0LrQvtGC0L7RgNGL0Lwg0L3Rg9C20L3QviDRgdGA0LDQstC90LjRgtGMINC/0L7Qu9GD0YfQ tdC90L3Ri9C1INC30L3QsNGH0LXQvdC40Y88L3RkPgoJPC90cj4KPC90YWJsZT4KCjxoMj7Q n9GA0LjQvNC10YDRizwvaDI+CjxwPtCa0L7QtDo8L3A+Cjxjb2RlPiZsdDt0eHA6czJsX2dl dGxvY2F0aW9uIG5hbWU9InJlZ2lvbiIgLyZndDs8L2NvZGU+CjxwPtCS0YvQstC+0LQsINC6 INC/0YDQuNC80LXRgNGDOjwvcD4KPGNvZGU+0J7QvNGB0LrQsNGPINC+0LHQu9Cw0YHRgtGM PC9jb2RlPgoKPHA+0JrQvtC0OjwvcD4KPHByZT48Y29kZT4mbHQ7dHhwOmlmX3MybF9nZXRs b2NhdGlvbiBuYW1lPSJjaXR5IiB2YWx1ZT0i0J7QvNGB0LoiJmd0OwoJ0JTQsAombHQ7dHhw OmVsc2UgLyZndDsKCdCd0LXRggombHQ7L3R4cDppZl9zMmxfZ2V0bG9jYXRpb24mZ3Q7PC9j b2RlPjwvcHJlPgo8cD7Qn9GA0L7QstC10YDRj9C10YLRgdGPINCyINC60LDQutC+0Lwg0LPQ vtGA0L7QtNC1INC/0L7RgdC10YLQuNGC0LXQu9GMINGB0LDQudGC0LAg0Lgg0LXRgdC70Lgg 0Y3RgtC+ICLQntC80YHQuiIsINGC0L4g0JLRi9Cy0L7QtNC40YLRgdGPICLQlNCwIi4g0JIg 0L7QsdGA0LDRgtC90L7QvCDRgdC70YPRh9Cw0LUg0LLRi9Cy0L7QtNC40YLRgdGPICLQndC1 0YIiLjwvcD4KCjwvZGl2Pgo8IS0tICoqKiBCRUdJTiBQTFVHSU4gQ1NTICoqKiAtLT4KPHN0 eWxlIHR5cGU9InRleHQvY3NzIj4KI3MybCBoMSB7IGNvbG9yOiAjMDAwMDAwOyBmb250OiAy MHB4IHNhbnMtc2VyaWY7fQojczJsIGgyIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJs YWNrOyBwYWRkaW5nOjEwcHggMCAwOyBjb2xvcjogIzAwMDAwMDsgZm9udDogMTVweCBzYW5z LXNlcmlmOyB9CiNzMmwgdGFibGUge3dpZHRoOiAxMDAlO30KI3MybCB0aCB7CgliYWNrZ3Jv dW5kLWNvbG9yOiAjRTNFM0RCOwoJYm9yZGVyOjFweCBzb2xpZDsKCWJvcmRlci1jb2xvcjoj ZGRkICM5OTkgIzg4OCAjZGRkOwoJcGFkZGluZzogMTBweCA1cHg7Cgl0ZXh0LWFsaWduOiBj ZW50ZXI7Cn0KI3MybCB0aDpsYXN0LWNoaWxkIHsKCWJvcmRlci1jb2xvcjogI2RkZCAjZGRk ICM4ODggI2RkZDsKfQoKI3MybCB0ZCB7CgliYWNrZ3JvdW5kLWNvbG9yOiAjRjdGN0Y3OwoJ cGFkZGluZzogNXB4OwoJYm9yZGVyOiAxcHggc29saWQ7Cglib3JkZXItY29sb3I6ICNkZGQg Izk5OSAjODg4ICNkZGQ7Cn0KI3MybCB0ZDpsYXN0LWNoaWxkIHsKCWJvcmRlci1jb2xvcjog I2RkZCAjZGRkICM4ODggI2RkZDsKfQojczJsIHByZSB7CnBhZGRpbmc6IDVweDsKbGluZS1o ZWlnaHQ6IDEuNmVtOwpmb250LWZhbWlseTogVmVyZGFuYSwgQXJpYWw7CmZvbnQtc2l6ZTog MTAwJTsKYm9yZGVyOiAxcHggZGFzaGVkICMwMDAwMDA7Cm1hcmdpbjogMS41ZW0gMDsKfQo8 L3N0eWxlPgo8IS0tICoqKiBFTkQgUExVR0lOIENTUyAqKiogLS0+CiI7czozOiJtZDUiO3M6 MzI6IjAzMjNkMzZhNWVjNGI5ZmI1NDIzYjFiYWQ5YWNmZWQxIjt9