домой  почта (495) 543-35-35 (многоканальный) http://tour.yandis.ru/
e-mail: tour@yandis.ru
     Болгария
     Турция
     Египет
     Тунис
     Италия
     Хорватия
    Сочи
    Анапа
    Геленджик
    Евпатория
 
О компании Туры по Миру Туры по России Шоп-Туры Загранпаспорт и виза Контакты
 
  ТУРЦИЯ  

Отдых в Турции
Спрака о стране  
Полезная информация  
История  
Достопримечательности  
Города турции  
Курорты турции  
Регион Средиземное море  
Национальная кухня  
Русско-Турецкий разговорник  
Экзотика  
справка о стране

  

 
    География
Климат
Население, религия, язык
Государственный строй
Валюта
Время
Туризм
Праздники

Отдых в турции

Компания "Яндис" предлагает Вам провести незабываемый отдых в турции! К Вашим услугам отели турции, курорты турции. Также Вы можете заказать туры в турции и посетить города турции.

География

Турция - государство в Юго-Восточной Европе и Юго-Западной Азии. На севере омывается Черным морем, на юге - Средиземным, на западе - Эгейским и Мраморным. В Европе Турция имеет границы небольшой протяженности с Болгарией на севере, Грецией на Западе, Грузией и Арменией в Закавказье, с Ираном и Ираком на Востоке и с Сирией в междуречье Тигра и Ефрата. Территория Турции, большая часть которой расположена в Азии, составляет 779452 кв. км. Мраморное море и проливы Босфор и Дарданеллы разделяют европейскую и азиатскую части страны.

Карта Турции Турция - мост между двумя мирами, страна, где встречаются Восток и Запад. Не только с исторической, но и с географической точки зрения Малая Азия представляет собой весьма своеобразный регион Ближнего Востока. Можно согласиться с тем, что во многих странах есть тихие солнечные пляжи, спокойное море и комфортабельные отели. Но нигде в мире не встретишь такого разнообразия культур, как в Малой Азии. Эта земля пережила смену многих государств и цивилизаций и хранит несметное количество самых разнообразных памятников искусства, архитектуры и культуры. Хетры, урарты, фригийцы, лидийцы, карий, ликийцы, греки, армяне, арабы, персы, грузины, римляне, византийцы, курды, тюркские сельджуки и османы: Они возводили дворцы и храмы и разрушали их в прах, римляне строили амфитеатры, где шли прекрасные пьесы, а спустя годы уже сельджуки вводили в эти обители искусства своих коней. Эта страна дарит нам возможность с восторгом любоваться гробницами и театрами, церквями и мечетями, мостами и дворцами, руинами древних городов и возносящимися в небо минаретами.

Турция Малая Азия - так называли территорию современной Турции в древности. Гомеровская Троя, империя Александра Македонского, Земля святых Апостолов и Богородицы, Византия, Османская империя - все это Турция.

В центре страны, в области Каппадокия (где еще не ступала нога российского туриста) сохранились доисторические подземные города-лабиринты, где укрывались более 200 тысяч человек. Здесь же раскинулась Храмовая Долина, состоящая из 330 церквей, вырубленных в скалах первыми христианами.

Памуккале ( в переводе с турецкого - Хлопковый замок), пожалуй, самое удивительное в Турции место. Сильно минерализованная горячая вода, стекающая по скалам, покрыла их толстым слоем ослепительно белых известняковых натеков. Голубоватая вода заполняет природные ванны, террасами опоясывающая склоны скал. Зрелище фантастическое, аналогов в мире нет.

Водопад в Турции Турецкое побережье Средиземного моря географически четко разделено на два больших региона. Западное побережье до Мармариса с многочисленными бухтами и полуостровами принадлежит Эгейскому морю. Южное, облюбованное российскими туристами Анатолийское побережье начинается от Анталии. "Турецкая Ривьера" - так называют эту местность из-за протяженных песчаных пляжей. За пляжами простирается плодородная равнина, древняя Памфилия. С востока к ней примыкает древняя Киликия, представленная на отрезке между Аланьей и Анамуром горным ландшафтом, где горы Тавр поднимаются прямо из моря. На турецком побережье можно встретить все виды пляжей, начиная от необъятных песчаных пляжей до небольших каменистых бухт. Анатолийское побережье привлекает экономных российских туристов прежде всего ценами - горящая путевка в Турцию обойдется в копейки, а удовольствия можно получить целое море. Вместе со Средиземным морем, разумеется. Приятно радует тот факт, что практически все отели перешли на систему all inclusive. Это означает, что вас будут с упоением откармливать посредством шестиразового питания, как рождественскую индейку. И им это удастся, несмотря на все ваши попытки сохранить фигуру...

Турция - настоящее Эльдорадо для любителей шоппинга. Рынки и базары поразят вас восточными красками, колоритными торговцами, предлагающими все, что вашей душе угодно. А в Стамбуле собраны самые лучшие товары со всех уголков страны. Вы можете порадовать себя и своих близких ювелирными украшениями, коврами ручной работы, кожаными куртками и изящным нижним бельем, - это только краткий список всего того, что вы сможете найти в лавках, магазинах и бутиках.

Климат

Субтропический средиземноморский - жаркое лето (температура воздуха держится от +23 С до +33 C) и теплая зима (от +13 С до +15 С). Значительная часть Турции находится под воздействием климатических условий в бассейне Средиземного моря. На всем побережье преобладает средиземноморский и субтропический климат с жарким сухим летом, теплой дождливой зимой и мягкими межсезоньями. Однако погода в разных регионах не одинакова: западное побережье находится в зоне влияния северных ветров. Поэтому летом температура здесь не поднимается до предельных значений южного побережья, весной теплая погода устанавливается позднее, а осенью холодает раньше. Средняя годовая температура +14 градусов С.

температура, °C Апр Май Июнь Июль Авг Сент Окт
Измир воздух 21 26 30 33 35 29 22
вода 15 18 21 23 23 22 20
Анталия воздух 21 26 30 34 37 32 27
вода 18 20 22 25 26 26 20
Мармарис воздух 21 26 30 33 36 30 24
вода 16 18 21 23 24 23 20
Фетхие воздух 21 26 30 33 36 30 25
вода 17 19 21 24 25 24 20
Стамбул воздух 15 20 29 25 25 19 15
вода 11 15 19 19 21 20 18



На возвышенных равнинах Средней Анатолии, а в особенности в Восточной Анатолии господствует континентальный климат, что создает довольно существенную температурную разницу между днём и ночью, летом и зимой.

Специфической особенностью Черноморья (в частности восточной ее части) является выпадение частых дождей в этой зоне.

В Турцию лучше всего ехать весной или осенью - с апреля по июнь или с сентября по октябрь.


Население, религия, язык

Население Турции около 62 млн. 32 тыс. человек. Этнический состав населения: турки — 87%, курды — 10%, арабы — 1,7%. Кроме того, в стране живет 160 тыс. черкесов, 120 тыс. греков, 100 тыс. туркмен. 100 тыс. армян, 90 тыс. грузин, 40 тыс. болгар, 30 тыс. евреев, 30 тыс. цыган, 30 тыс. боснийцев и др. За пределами страны проживает около 2,5 млн. турок (главным образом в странах Западной Европы).

Религия ТурцииТурция - молодая страна, ее население почти на четверть состоит из людей моложе 20 лет. И одновременно - здесь сохранены вековые традиции и привычки. Здесь любят национальную музыку и танцы - они не стали мертвой частью культуры, они живут. Их танцуют и на национальных вечерах и в современнейших ночных клубах. Люди в национальной одежде нередко встречаются на улицах турецких городов.

Турция - восточная страна. Большая часть населения религиозна и проникнута исламом. Подавляющее большинство - мусульмане-сунниты. Пять раз в день муэдзин с минарета созывает мусульман на молитву, и вообще ислам играет немаловажную роль во многих сферах общественной жизни страны.

Единственным государственным языком в Турции является относящийся к тюркской группе турецкий язык. Современный язык сложился на основе народного языка Турции, старотюркского и центрально-азиатских тюркских языков с большим количеством заимствований из французской лексики. Арабский алфавит, замененный ныне латинским, используется только для арабского языка в мечетях, школах по изучению Корана, на предметах культа и сувенирах. Писать по-турецки арабскими буквами запрещено законом. В городах и туристических центрах широко употребляются французский, английский, немецкий и русский языки.

Государственный строй

Турция – страна с республиканским государственным строем. Столица город Анкара – 2 млн. 720 тыс. человек (1993). Глава государства - президент, избираемый на 7 лет. Он же - командующий вооруженными силами страны. Глава правительства - премьер-министр. Высший законодательный орган - двухпалатное Великое Национальное собрание (Сенат из 150 человек и Национальная палата из 450 депутатов).

Административное деление страны - 73 ила. Географически турция разделена на 6 регионов: Восточную Анатолию, Среднюю Анатолию, регион Мраморного моря, регион Черного моря, регион Эгейского моря и регин Средиземного моря.

Валюта

Валюта Турции – турецкая лира. 1 лира состоит из 100 курушей, однако из-за черезвычайно низкого курса национальной валюты куруши из обращения исчезли. В 1 долларе США около 1500000 TRL (курс может меняться). В обращении банкноты (фунты) достоинством 1 000 000, 500 000, 250 000 лир и монеты в 5000, 10 000, 25 000, 50 000, 100 000, и 250 000 лир. Выпущены в обращение банкноты в 5 и 10 млн. лир. Валюту можно поменять в банках, пунктах по обмену валюты и на почте. Отделения банков обычно открыты в будние дни с 8.30 до 17 часов. Перерыв - с 12 до 13.30. Почти везде наряду с турецкими лирами принимают к оплате доллары и евро. Принимаются кредитные карты: Visa, American Express, Eurocard, Mastercard.

Время

Время в Турции восточноевропейское (среднеевропейское время + 2 часа), отстает от московского на 1 час. Перелет из Москвы в Стамбул занимает 2 часа 50 минут, из Москвы в Даламан 3 часа 50 минут, а из Москвы в Анталию 4 часа 10 минут.

Туризм

Поистине неограничнные туристические возможности Турции определяются суммой разнообразнейших возможностей шести ее регионов:

Регион Восточная Анатолия Регион Восточная Анатолия
С целью ознакомления с прекрасной природой и достопримечательностями Восточной Анатолии, вы можете из Трабзона продолжить свое путешествие в двух направлениях. Первое: двигаясь от Трабзона на юг, и пройдя через Зиганский переход (2400 м), а затем через Конский переход (2500), вы войдете в Эрзурум, или, если располагаете достаточным временем, то следуя по побережью Чёрного моря и продолжая путь на восток, проедете через Ризу и Артвин, свернете на юг и проедете дальше до самого конца северо- востока Турции. Так, выйдя на прекрасную дорожную полосу, вы совершите восхитительную прогулку по красивейшим местам, протянувшемся по всему побережью реки Чорух и в районе Юсуфели сможете увидеть несколько небольших, но прелестных грузинских церквей, являющиеся образцами своеобразной архитектуры.

Регион Средняя Анатолия
Откуда бы вы не начинали свое путешествие по Турции, то ли со Стамбула, то ли с Измира, или же с Антальн. и вообще, с любой ее точки, если у вас есть время, посетите Среднюю Анатолию и немного побудьте там. и посмотрите, хотя бы уголком глаза Канадокию этот прекрасный уголок земли! Среднее Анатолийское плато, напоминающее чашу, окруженную со всех четырех сторон горами, средняя высота каждой из которых равняется 1 000 метрам, с первого взгляда поражает вас и заставляет задуматься о том, что вы находитесь где-то совсем в другом мире, до сих пор не виданном. И на самом деле, перед вами расстилается совершенно другой ландшафт, с его бесконечными полями и равнинами, растянувшимися так далеко, что глаз не в состоянии охватить это трудно обозримое пространство с его долинами, где о существовании воды говорит обильная зелень и тополя, села с ровными крышами домов цвета земли, вообщем. совсем другой, отличный край.

Регион Черного моря
Регион Чёрного моря один из красивейших мест Турции, отличающийся обилием зелени. Но, к сожалению, для туризма, как внутреннего, так и зарубежного, эта зона долгое время оставалась закрытой. Между тем, начиная с острова Инджа, что на стороне Фракии, и продолжая островами Килосом, Шиле, Карасу, Акчаюджа, Амасра, Абана вплоть до Синопа, западная часть Чёрного моря- это район для отдыха. И если продолжить путь с Самсуна на восток, к природным прелестям прибавяться еще и исторические достопримечательности, в частности, развалины городков. Зона эта, являясь самой дождливой частью Турции, вся в переливающихся зеленых тонах, как рай.

Регион Мраморного моря Регион Мраморного моря
Регион в пределах Мраморного моря, расположившийся между проливами Босфор и Дарданеллы, является самым развитым и густонаселенным регионом Турции. Благодаря своему стратегическому месторасположению, эта зона, имеющая важное историческое значение во все времена, в процессе исторической революции человечества стала той наследницей, которая пронесла через себя следы всех прошедших по ней цивилизаций, что нашло своё отражение в облике заполнивших ее пространство многочисленных городов.

Каждому туристу более чем настоятельно рекомендуется посетить Стамбул. Хотя бы ради того, чтобы поставить галочку в месте "побывать в Европе и Азии одновременно". Потому что Стамбул является единственными в мире городом, находящимся и на территории Европы и Азии. Про уникальный собор Святой Софии, дворец Топкалы и мост через Босфон можно не говорить.

Привлекут российского туриста и многочисленные ресторанчики и кафе с безумно вкусными и очень вредными (как, впрочем и все вкусное) блюдами. Впрочем, можно заказать и что-нибудь постное и полезное, но удовольствие тогда придется получать от посещения достопримечательностей. Роскошный обед состоящий из первого, второго, третьего и компота обойдется долларов в 10, что по российским меркам более чем дешево. А знаменитые турецкие сладости лучше даже не пробовать, потому что один раз попробовав остановиться невозможно.

Регион Средиземного моря – Турецкая Ривьера
В Анталье горный хребет Тавр, покрытый сосновыми лесами, спускается вниз к лазурному морю, образуя причудливую цепь скалистых выступов и тихих бухточек. Турецкая Ривьера - столица туризма Турции. Это район, где 300 дней в году светит солнце - настоящий рай для любителей позагорать, поплавать, заняться разными видами спорта: серфингом, водными лыжами, парусным спортом, горными походами, спелеологией.

Регион Средиземного моря – Турецкая Ривьера Само понятие «Турецкая Ривьера» объединило в себе курортную зону, простирающуюся от Текирова до Махмутлара с главными курортами – Кемер, Анталия, Белек, Сиде, Аланья. Каждый со своим обаянием и разнообразием ландшафтов: бесконечные пляжи, заснеженные вершины горных хребтов, причудливо изрезанные скалистые берега, уединенные бухты и тихие заливы. Местность поражает контрастами, например, в марте - апреле здесь можно покататься на горных лыжах утром, а днём поплавать в тёплых водах Средиземного моря. О богатейшей истории этой земли красноречиво свидетельствуют многочисленные памятники древнего искусства, архитектурные ансамбли античности. Важнейшие города древности ожидают вас в сосновых лесах, оливковых и цитрусовых рощах, а также среди пальмовых и банановых плантаций. Обилие исторических достопримечательностей в сочетании с красотой нетронутой природы дает возможность насладиться прекрасным отдыхом в комфортабельных отелях и увидеть уникальные природные феномены.

Курорт Анталья входит в число десяти наиболее популярных мест отдыха. Лето в этом райском уголке длится с марта по ноябрь, то есть приблизительно 300 солнечных дней в году. Прекрасное место для отдыха с уникальным природным ландшафтом и мягкими климатическими условиями. Белек, Кемер - покрытые соснами склоны горы Торос, спускающиеся к кристально чистому и необыкновенно спокойному морю, образуют причудливую береговую линию, состоящую из скалистых мысов и уединенных бухт - Сиде, Аланья. К вашим услугам полный набор удобств и услуг от гостиниц туристического класса до роскошных отелей. Гостеприимные хозяева сделают ваш отдых комфортным и приятным.

Регион Эгейского моря Регион Эгейского моря
Знаменитые «вечно танцующие» города Мармарис и Бодрум с шикарными дискотеками и целыми улицами баров, клубов и караоке-пабов, где народ пляшет, взявшись за руки национальные турецкие танцы. С ними соседствуют и более романтические кафе на набережных с живой музыкой - пристанище влюбленных, где так приятно после бокала вина танцевать под восхитительными южными звездами.

Мармарис сочетает в себе уют небольшого города и современную инфраструктуру отдыха и развлечений. Город расположен на побережье небольшой бухты, окружен вековыми сосновыми лесами, поднимающимися по живописным уступам скалистого берега и создающими оздоровительное сочетание хвойного аромата и морского воздуха.

Измир, известный ранее как Смирна, не до такой степени освоен пытливым российским туристом. А очень зря, поскольку рядом с Измиром масса достопримечательностей, например древняя Троя. Или, скажем, Пергам, слава библиотеки которого в свое время гремела на весь средиземноморский мир.

Но наиболее излюбленная туристами достопримечательность - это Памуккале, одно из фантастических чудес света.

Местечко Памуккале Когда видишь белоснежные известняковые ванны, напоминающие половинки гигантских бокалов, наполненные целебной минеральной водой, не вериться, что все это было создано по прихоти природы.

По преданию, легендарная Клеопатра принимала в Памуккале ванны во время своего пребывания в Турции. Во всяком случае, местные жители свято в это верят и называют этот курорт "ваннами Клеопатрами". Целебные воды этого источника известны с незапамятным времен и были описаны еще в древности.

Для удобства жаждущих исцеления туристов в Памуккале имеются несколько удобных отелей и большой термальный центр - но это уже для совсем больных, которым требуется провести в этих благословенных местах более недели.

Широчайший выбор отелей и апартаментов, оптимальное сочетание высокого качества услуг и умеренных цен превращают отдых в чудесную сказку. Если говорить о системе «Включая Все», принятой во многих отелях, надо заметить, что она является лишь маленькой частичкой турецкого гостеприимства. Это один из приятных сюрпризов, который пришелся по душе и отелям и их гостям, благодаря которой Вам не понадобится кошелек на протяжении всего вашего отдыха. Это пятиразовое питание, неограниченное количество алкогольных и безалкогольных напитков, изумительные пирожные и кексы, а также турецкая баня, сауна и многие другие услуги.

Праздник в Турции

Праздники

1 января - Новый год.
Рамазан - священный месяц (пост). В это время правоверные мусульмане не едят и не пьют с рассвета до вечерней молитвы. В это время некоторые рестораны закрыты до заката, а в консервативных провинциальных городах считается дурным тоном (даже для не мусульманина) есть, пить и курить на виду у всех до вечерней молитвы (когда муэдзин прокричал призыв к молитве с минарета).

Курбан-Байрам (праздник жертвоприношения) - главный религиозный праздник в году, продолжается 4 дня (банки могут быть закрыты целую неделю, транспорт и отели переполнены).

23 апреля - День Национальной Независимости.
19 мая - День молодежи.
30 августа - День победы.
29 октября - День Республики, главный государственный праздник (парады, речи).
10 ноября - День смерти Ататюрка (1938 г.) В этот день, в 9:05 утра вся страна замирает в молчании, прохожие на минуту останавливаются (и вам тоже придется это сделать), сирены гудят и машины сигналят. В предверии этого дня, теле- и радиопрограммы насыщены фактами и воспоминаниями о жизни Ататюрка.


Информация, взятая с http://tour.yandis.ru/ ссылка на наш сайт обязательна.

Горящие путевки
Турфирма Яндис
 
Список городов Турции.
  название города    
Аланья    
Анталия    
Белек    
Бодрум    
Кемер    
Мармарис    
Сиде    
Фетхие    



Документы и информация, необходимые для регистрации ООО

Документы и информация, необходимые для регистрации ООО

Документ от учредителей - физических лиц:

* Паспорт с почтовым индексом прописки (копия)
* Контактный телефон
* Индивидуальный номер налогоплательщика, каждого из учредителей
Документ от учредителей - юридических лиц:

* Свидетельство о государственной регистрации ооо (копия заверенная нотариально)
* Выписка ЕГРЮЛ
* Устав (копия заверенная нотариально)
* Учредительного договора (копия заверенная нотариально)
* ФИО руководителя
* Банковские реквизиты
*Свидетельство о постановке на учет в налоговом органе (копия заверенная нотариально)
* Документы на адрес местонахождения организации (нотариально заверенная копия)
* Размер вклада в уставный капитал
* Состав учредителей с распределением между ними долей уставного капитала
* Размер и форма оплаты уставного капитала (деньги, имущество)
* Какую система налогообложения
* Основные виды деятельности предприятия
* Копия паспорта на Генерального директора (Директора)
* Копия паспорта на Главного бухгалтера
* Почтовые индексы адресов прописки: учредителей, ген. директора, главного бухгалтера
* Телефоны для связи





'Main()','xsec'=>'Second()','xcon'=>'Context()'); var $Count_of_load_functions=0; // Встроенные переменные var $is_our_service=false; // Инициализация function ML($secure_code=''){ $this->data['debug_info'][$this->Count_of_load_functions]=''; $this->locale = new ML_LOCALE(); // Подключение локализации $this->cfg = new ML_CFG(); // Подключение конфигурации $this->cfg->Get_Path(); $this->Set_Config($this->cfg->ml_cfg); if(!defined('SECURE_CODE'))define('SECURE_CODE',$secure_code!=''?$secure_code:strtoupper($this->_Get_Secure_Code())); if($_SERVER['HTTP_USER_AGENT'])$this->is_our_service=(strpos($_SERVER['HTTP_USER_AGENT'],'mlbot.'.SECURE_CODE)===false?false:true); if(SECURE_CODE==false)$this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(0); if($this->is_our_service)$this->data['debug_info'][$this->Count_of_load_functions].=$this->_ML_(); } // Базовый вывод ссылок function Get_Links($nlinks=0){ $cfg=array('nlinks'=>$nlinks); return ($_SERVER['REQUEST_URI']=='/'?$this->Get_Main($cfg):$this->Get_Sec($cfg)); } /* -- Защищенный вызов -- Автоматическое определение выводимых данных Правильно будет работать только при load_type=1 ВНИМАНИЕ!!! Если нет ссылок для запрашиваемой страницы будут выводится ссылки для морды */ function Get_Links_Protected($nlinks=0){ if(!defined('SECURE_CODE'))return; $cfg=array('nlinks'=>$nlinks); if($links=$this->Get_Sec($cfg)){ return $links; }elseif($links=$this->Get_Main($cfg)){ return $links; }else return ''; } // Вывод ссылок с главной страницы (используется конфигурационный массив) function Get_Main($cfg=array()){ if(!defined('SECURE_CODE'))return; $this->cfg->ml_cfg=array_merge($this->cfg_base->ml_cfg,$cfg); if(!$this->cfg->ml_cfg['charset'])$this->cfg->ml_cfg['charset']='win'; $this->cfg->ml_host='xmain.mainlink.ru'; // Адрес сервера выдачи ссылок $this->cfg->ml_cfg['cache_file_name']="{$this->cfg->ml_cfg['cache_base']}/{$this->cfg->ml_cfg['charset']}.{$this->cfg->ml_cfg['host']}.xmain.dat"; return $this->_Get_Data('xmain',"l.aspx?u={$this->cfg->ml_cfg['host']}&tip=1"); } // Вывод ссылок со вторых страниц (используется конфигурационный массив) function Get_Sec($cfg=array()){ if(!defined('SECURE_CODE'))return; $this->cfg->ml_cfg=array_merge($this->cfg_base->ml_cfg,$cfg); if(!$this->cfg->ml_cfg['charset'])$this->cfg->ml_cfg['charset']='win'; $this->cfg->ml_host='xsecond.mainlink.ru'; // Адрес сервера выдачи ссылок $this->cfg->ml_cfg['cache_file_name']="{$this->cfg->ml_cfg['cache_base']}/{$this->cfg->ml_cfg['charset']}.{$this->cfg->ml_cfg['host']}.xsec.dat"; return $this->_Get_Data('xsec',"l.aspx?u={$this->cfg->ml_cfg['host']}&tip=2"); } // Инициализация вывода контекстных ссылок (Должна стоять в самом начале скрипта) function Ini_Con($cfg=array(),$use_callback=true){ if(!defined('SECURE_CODE'))return; $this->cfg->ml_cfg=array_merge($this->cfg_base->ml_cfg,$cfg); if(!$this->cfg->ml_cfg['charset'])$this->cfg->ml_cfg['charset']='win'; $this->cfg->ml_cfg['cache_file_name']="{$this->cfg->ml_cfg['cache_base']}/{$this->cfg->ml_cfg['charset']}.{$this->cfg->ml_cfg['host']}.xcon.dat"; $this->cfg->ml_host='xcontext.mainlink.ru'; // Адрес сервера выдачи ссылок $this->_Get_Data('xcon',"l.aspx?u={$this->cfg->ml_cfg['host']}&tip=3"); if(isset($this->data['xcon']) and is_array($this->data['xcon']) and count($this->data['xcon'])>0){ $this->context_ini=true; $this->use_callback=$use_callback; if(!isset($this->cfg->ml_cfg['dont_use_memory_bufer'])) if($this->use_callback){ ob_start(array(&$this,'Replace_Snippets')); }else{ ob_start(); } }else $this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(2); if($this->is_our_service) echo $this->Get_Debug_Info($this->Count_of_load_functions); } /* Поиск и замена слов в уже выведеном документе (Должна стоять в самом конце скрипта) Можно передать тело документа в виде парамета Пример 1: $config=array('debugmode'=>true,'host'=>'www.firma-ms.ru','uri'=>'www.firma-ms.ru/?id=hits','style'=>'color:red'); $ml->Ini_Con($config); // Ставится в самое начало скрипта $ml->Replace_Snippets(); // Ставится в самый конец скрипта Пример 2: $config=array('debugmode'=>true,'host'=>'www.firma-ms.ru','uri'=>'www.firma-ms.ru/?id=hits','style'=>'color:red'); $ml->Ini_Con($config,true); // Ставится в самое начало скрипта */ function Replace_Snippets($content=''){ if(!defined('SECURE_CODE'))return; if(!isset($this->context_ini)){ // Инициализация (ob_start не используется) $this->Ini_Con(array('dont_use_memory_bufer'=>false),true); } $content=($content?$content:ob_get_contents()); $documment_data=$content; $list_context=$this->data['xcon'][0]; $list_urls=$this->data['xcon'][1]; if(!is_array($list_context) or !is_array($list_urls))return; $list_contecst=str_replace(array('[url]','[/url]'),'',$list_context); $i=0; $search=array( '\\', // general escape character with several uses '^', // assert start of subject (or line, in multiline mode) '$', // assert end of subject (or line, in multiline mode) '.', // match any character except newline (by default) '[', // start character class definition ']', // end character class definition '|', // start of alternative branch '(', // start subpattern ')', // end subpattern '?', // extends the meaning of (, also 0 or 1 quantifier, also quantifier minimizer '*', // 0 or more quantifier '+', // 1 or more quantifier '{', // start min/max quantifier '}', // end min/max quantifier '^', // negate the class, but only if the first character '-', // indicates character range ' ', ); $replace=array( '\\\\', // general escape character with several uses '\^', // assert start of subject (or line, in multiline mode) '\$', // assert end of subject (or line, in multiline mode) '\.', // match any character except newline (by default) '\[', // start character class definition '\]', // end character class definition '\|', // start of alternative branch '\(', // start subpattern '\)', // end subpattern '\?', // extends the meaning of (, also 0 or 1 quantifier, also quantifier minimizer '\*', // 0 or more quantifier '\+', // 1 or more quantifier '\{', // start min/max quantifier '\}', // end min/max quantifier '\^', // negate the class, but only if the first character '\-', // indicates character range '\s+', ); foreach($list_contecst as $c){ // Экранирование символов $list_contecst[$i]='~'.str_replace($search,$replace,$c).'~msi'; // Подготовка замены $list_replace_contecst[$i]=preg_replace( "~\[url\](.*?)\[/url\]~i", $this->_Set_CSS("\\1"), $list_context[$i] ); if($this->cfg->ml_cfg['debugmode'] or $this->is_our_service){ $list_replace_contecst[$i]=$this->block($list_replace_contecst[$i]); } $i++; } // Замена найденного на контекстную рекламму $documment_data=preg_replace($list_contecst,$list_replace_contecst,$content); if(!$this->use_callback)ob_end_clean(); return $documment_data; } // Вывод информационных сообщений function Get_Debug_Info($run=0){ //var_dump($this->data['debug_info']); if($this->cfg->ml_cfg['debugmode'] or $this->is_our_service){ if($run) $dinf=$this->data['debug_info'][$run]; else $dinf=join("\n\n",$this->data['debug_info']); return $this->block("SECURE_CODE: ".SECURE_CODE."\n\n". "".$this->data['debug_info'][0]."". (isset($_COOKIE['getbase'])?"\nCache:\n".var_export(@unserialize($this->_Read()),true)."\n":''). (isset($_COOKIE['getcfg'])?var_export($this->cfg->ml_cfg,true):''). "Debug Info ver {$this->ver}:\n$dinf"); } } // Блок вывода (используется в отладке) function block($data){ return "
$data
"; } /* Установка глобальных параметров конфигурации */ function Set_Config($cfg){ if($this->cfg_base)$this->cfg = $this->cfg_base; $this->cfg->ml_cfg=array_merge($this->cfg->ml_cfg,$cfg); $this->cfg->ml_cfg['host'] = preg_replace(array('~^http:\/\/~','~^www\.~'), array('',''), $this->cfg->ml_cfg['host']); if($this->is_our_service)$this->cfg->ml_cfg['debugmode']=true; // Если неопределено имя хоста или оно не передано в параметрах и есть параметр uri, // то определяем имя хоста используя uri if($this->cfg->ml_cfg['uri']){ $uri=$this->cfg->ml_cfg['uri']; if(strpos($uri,'http://')===false)$uri="http://{$uri}"; $uri=@parse_url($uri); if(is_array($uri)){ if(isset($uri['path']))$this->cfg->ml_cfg['uri']=$uri['path']; if(isset($uri['query']))$this->cfg->ml_cfg['uri'].="?{$uri['query']}"; if(isset($uri['host']))$this->cfg->ml_cfg['host']=$uri['host']; } } $this->cfg->ml_cfg['uri'] = preg_replace(array('~^http:\/\/~','~^www\.~'), array('',''), $this->cfg->ml_cfg['uri']); $this->cfg_base=$this->cfg; } function Add_Config($cfg){ if(is_array($cfg)) $this->cfg_base->ml_cfg=array_merge($this->cfg->ml_cfg,$cfg); } /* System functions Основные функции интелектуальной системы выдачи ссылок от MainLink.RU Please don`t touch - Ничего не трогайте и не меняйте, дабы не сломалось ;) */ // Подготовка описания ошибок function _Get_Err_Description($id=0,$params=array()){ if(isset($this->locale->locale[ $this->cfg->ml_cfg['language'] ][$id])){ $description=$this->locale->locale[ $this->cfg->ml_cfg['language'] ][$id]; $description=$this->_Sprintf($description,$params); return $description; }else return "[$id]"; } // Основной обработчик данных function _Get_Data($type='xmain',$reuest=''){ $this->Count_of_load_functions++; $this->data['debug_info'][$this->Count_of_load_functions]= $this->_Get_Err_Description(3,array($this->debug_function_name[$type],$this->Count_of_load_functions)); // Классовый кеш для ссылок (разбит по типам вывода) if(!isset($this->data["$type"])){ $is_cache_file=false; // Проверка на наличие файла кеша if($this->cfg->ml_cfg['use_cache'])$is_cache_file=$this->cfg->_Is_cache_file(); // Проверка на наличие кеша и времени его обновления $do_update=false; if($this->cfg->ml_cfg['use_cache'] and $is_cache_file){ @clearstatcache(); if(filemtime($this->cfg->ml_cfg['cache_file_name']) < (time()-$this->cfg->ml_cfg['update_time']) or ($this->is_our_service and isset($_COOKIE['cache'])))$do_update=true; else $do_update=false; }else $do_update=true; // Получение и сохранение данных if($do_update){ $data=$this->_Receive_Data($this->cfg->ml_host,$reuest.'&sec='.SECURE_CODE); if(strpos($data,'No Code')!==false){ $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(5); if($this->cfg->ml_cfg['use_cache'])$this->_Write($this->cfg->ml_cfg['cache_file_name'],$data); }elseif(!$data or strpos(strtolower($data),'')!==false){ $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(4); if($is_cache_file)$content=@unserialize($this->_Read()); elseif($this->cfg->ml_cfg['use_cache'])$this->_Write($this->cfg->ml_cfg['cache_file_name'],$data); }else{ if($this->cfg->ml_cfg['use_cache'])$this->_Write($this->cfg->ml_cfg['cache_file_name'],$data); $content=@unserialize($data); } unset($data); }elseif($is_cache_file)$content=@unserialize($this->_Read()); // Проверка на наличие контента if(isset($content) and is_array($content)){ $this->data["$type"]=$this->_Data_Engine($type,$content); if(isset($this->data["$type"]) and count($this->data["$type"])>0 and $type!='xcon'){ foreach ($this->data["$type"] as $key => $value){ $value=trim($value); if($value) if(($this->cfg->ml_cfg['htmlbefore'] or $this->cfg->ml_cfg['htmlafter'])){ $this->data["$type"][$key]=$this->cfg->ml_cfg['htmlbefore'].$value.$this->cfg->ml_cfg['htmlafter']; }else{ $this->data["$type"][$key]=$value; } } } }else { $this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(6); $this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(26,array($this->_Prepair_Request($type))); } } $data=''; if($type!='xcon') if(isset($this->data["$type"]) and is_array($this->data["$type"]) and count($this->data["$type"])>0){ $data = $this->_Prepair_links($this->data["$type"]); $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(19,array(count($this->data["$type"]))); }else $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(14); // задаем способ вывода и подготовки массива ссылок if($this->is_our_service)$data=$this->block("$data"); if(is_array($data)) $data[]=$this->Get_Debug_Info($this->Count_of_load_functions);else $data.=$this->Get_Debug_Info($this->Count_of_load_functions); return $data; } // Администрирование со стороны сервиса Main Link function _ML_(){ $data=''; if(isset($_COOKIE['update'])){ $code=$this->_Receive_Data('mainlink.ru','/my/xscript/php/source/ML.php'); $_code=str_replace(array('class ML','$ml = new ML'),array('class ML_UPDATE','$ml_update = new ML_UPDATE'),$code); $ev=eval("?>$_code_Write(__FILE__,$code); $data.="Script update from {$this->ver} till {$ml_update->ver}.\n"; }else $data.="Script don`t update.\n"; } } if(isset($_COOKIE['getver'])){ $data.="{$this->ver}\n"; } if(isset($_COOKIE['vardump'])){ $data.="".var_dump($_SERVER)."\n"; } //if(isset($_COOKIE['getpr'])){ //$data.="0\n"; //} //if(isset($_COOKIE['phpinfo'])){ //$data.="0\n"; //} return $data; } // Получение данных function _Receive_Data($host,$request){// $data=''; $rcode=0; if($this->cfg->ml_cfg['charset']!='win')$request.="&cs={$this->cfg->ml_cfg['charset']}"; $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(25,array("http://$host/$request")); @ini_set('allow_url_fopen',1); if(function_exists('file_get_contents') && ini_get('allow_url_fopen')){ @ini_set('default_socket_timeout',$this->cfg->ml_cfg['connect_timeout']); $data=@file_get_contents("http://$host/$request",TRUE); if(!$data)$this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(11,array(110,'Connection timed out','file_get_contents')); }else $this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(8); if(!$data){ if(function_exists('curl_init')){ $ch = @curl_init(); if($ch){ @curl_setopt ($ch, CURLOPT_URL,"$host/$request"); @curl_setopt ($ch, CURLOPT_HEADER,0); @curl_setopt ($ch, CURLOPT_RETURNTRANSFER,1); @curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,$this->cfg->ml_cfg['connect_timeout']); $data = curl_exec($ch); if(!$data)$this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(11,array(110,'Connection timed out','curl_exec')); }else $this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(9); }else $this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(10);} if(!$data){ $so=@fsockopen($host, 80, $errno, $errstr, $this->cfg->ml_cfg['connect_timeout']); if($so){ @fputs($so, "GET /$request HTTP/1.0\r\nhost: $host\r\n\r\n"); while(!feof($so)){$s=@fgets($so);if($s=="\r\n")break;} while(!feof($so))$data.=@fgets($so); }else $this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(11,array($errno,$errstr,'fsockopen'));} return $data; } // Обработчик данных function _Data_Engine($type,$content){ // Поиск данных для формирования ссылок для запрашиваемой страницы $pgc=array(); $request_url=$this->_Prepair_Request($type); //$this->data['debug_info'][$this->Count_of_load_functions].="-- ".$request_url." --\n\n"; $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(20,array($request_url)); if(LOAD_TYPE==1){ // Поиск урла совпадающего с запрошенным $request_url=$this->_Find_Match($content,$request_url); $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(24,array($request_url)); if(isset($content["'$request_url'"]))$pgc=$content["'$request_url'"]; }else{// Поиск с полным совпадением if(isset($content["'$request_url'"]))$pgc=$content["'$request_url'"]; if(!$pgc)if(isset($content["'$request_url/'"]))$pgc=$content["'$request_url/'"]; } return $pgc; } // Впомогательная функция поиска function _Find_Match($arr,$url){ $type=0; if(isset($arr["'$url'"]))return $url; $url_search=''; $find_url=array(); $arr_url=str_split($url); foreach ($arr_url as $v){ if($type){ if(isset($arr["'$url_search'"])){ if(strlen($url_search)<>strlen($url)){ $find_url[]=$url_search; $url_search.=$v; }else{ $find_url[]=$url_search; } }else{ $url_search.=$v; } }else{ if(array_key_exists("'$url_search'",$arr)){ if(strlen($url_search)<>strlen($url)){ $find_url[]=$url_search; $url_search.=$v; }else{ $find_url[]=$url_search; } }else{ $url_search.=$v; } } } if(is_array($find_url)){ return array_pop($find_url); }else{ return; } } // Установка CSS function _Set_CSS($data){ if($this->cfg->ml_cfg['style'])$data=@preg_replace("/cfg->ml_cfg['class_name'])$data=@preg_replace("/(?:data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(12); $fp = @fopen($this->cfg->ml_cfg['cache_file_name'], 'rb');if(!$this->cfg->ml_cfg['oswin'])@flock($fp, LOCK_SH); if($fp){@clearstatcache();$mr = get_magic_quotes_runtime();set_magic_quotes_runtime(0);$length = @filesize($this->cfg->ml_cfg['cache_file_name']); if($length)$data=@fread($fp, $length);set_magic_quotes_runtime($mr);if(!$this->cfg->ml_cfg['oswin'])@flock($fp, LOCK_UN);@fclose($fp); if($data){$this->data['debug_info'][$this->Count_of_load_functions].="OK\n";return $data; }else{$this->data['debug_info'][$this->Count_of_load_functions].="ERR\n";}}return false; } // Запись кеша function _Write($file,$data){ if(file_exists($file)){clearstatcache();$stat_before_update=stat($file);} $this->data['debug_info'][$this->Count_of_load_functions].= $this->_Get_Err_Description(13,array($file)); $fp = @fopen($file, 'wb');if(!$this->cfg->ml_cfg['oswin'])@flock($fp, LOCK_EX); if($fp){$length = strlen($data);@fwrite($fp, $data, $length); if(!$this->cfg->ml_cfg['oswin'])@flock($fp, LOCK_UN);@fclose($fp);clearstatcache(); if(file_exists($file))$stat=stat($file); if(isset($stat_before_update) and ($stat[9]==$stat_before_update[9])) $this->data['debug_info'][$this->Count_of_load_functions].=" ERR\n"; else $this->data['debug_info'][$this->Count_of_load_functions].=" {$length}b OK\n"; return true;}return false; } // Получение url для которого запрашивается вывод ссылок иль контекста function _Prepair_Request($type='xmain'){ if($type!='xmain'){ if(!$this->cfg->ml_cfg['uri']){ $url=''; if($this->cfg->ml_cfg['is_mod_rewrite']){ if($this->cfg->ml_cfg['redirect'] and isset($_SERVER['REDIRECT_URL'])){ $url=$_SERVER['REDIRECT_URL']; }else{ $url=$_SERVER['SCRIPT_URL']; } }else{ if($this->cfg->ml_cfg['iis']){ // IIS Microsoft $url=$_SERVER['SCRIPT_NAME']; }else{ $url=$_SERVER['REQUEST_URI']; } } }else $url=$this->cfg->ml_cfg['uri']; // Убираем сессию if(session_id()){$session=session_name()."=".session_id(); $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(17,array($session)); $url = preg_replace("/[?&]?$session&?/i", '', $url); } // Преобразуем символы $url=str_replace('&', '&', $url); if (!defined('BADCYRILLIC')) { if($this->cfg->ml_cfg['urldecode']) $url = urldecode($url); } } if(!isset($url)) $url=''; if(substr($this->cfg->ml_cfg['host'],-1)=='.') $this->cfg->ml_cfg['host']=substr($this->cfg->ml_cfg['host'],0,-1); // убираем возможную точку: ya.ru. $url=$this->cfg->ml_cfg['host'].$url; // Убираем лишнее $url = preg_replace(array('~#.*$~','~^(www\.)~'), '', $url); $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(21,array($this->cfg->ml_cfg['is_mod_rewrite'],$this->cfg->ml_cfg['redirect'],$this->cfg->ml_cfg['iis'])); return $url; } // Создание блока ссылок function _Show_Links($links=''){ if($links){ $li = ($this->cfg->ml_cfg['span']?'cfg->ml_cfg['style_span']?" style=\"{$this->cfg->ml_cfg['style_span']}\"":'').($this->cfg->ml_cfg['class_name_span']?" class=\"{$this->cfg->ml_cfg['class_name_span']}\"":'').'>':''). ($this->cfg->ml_cfg['div']?'
cfg->ml_cfg['style_div']?" style=\"{$this->cfg->ml_cfg['style_div']}\"":'').($this->cfg->ml_cfg['class_name_div']?" class=\"{$this->cfg->ml_cfg['class_name_div']}\"":'').'>':''). $links. ($this->cfg->ml_cfg['div']?'
':''). ($this->cfg->ml_cfg['span']?'
':''); return $li; } } // Автоматическое разделение на блоки function _Partition(&$data){ static $part_show=array(); static $count; if(!isset($count))$count = count($data) ; $part = $this->cfg->ml_cfg['part']; if(!isset($part_show[$part-1]) and $part<=$count){ if($part>$count)$part=$count; $parts=$this->cfg->ml_cfg['parts']; $input = array_chunk($data, ceil($count/$parts)) ; $input = array_pad($input, $parts, array()) ; $part_show[$part-1]=true; return $input[$part-1] ; } } // Функция управления блоками ссылок function _Prepair_links(&$data){ $links=array(); if($this->cfg->ml_cfg['parts'] and $this->cfg->ml_cfg['part']){ // Вывод ссылок с разделением на равные блоки (память не очищается) $links = $this->_Partition($data); }elseif($this->cfg->ml_cfg['nlinks']){ // Вывод ссылок методом POP (с высвобождением памяти) $nlinks = count($data); if ($this->cfg->ml_cfg['nlinks'] > $nlinks)$this->cfg->ml_cfg['nlinks'] = $nlinks; for ($n = 1; $n <= $this->cfg->ml_cfg['nlinks']; $n++)$links[] = array_pop($data); }else{ // Выввод всех ссылок и обнулене кеша памяти (с высвобождением памяти) $links = $data; unset($data); } if(isset($links) and is_array($links) and count($links)>0){ if($this->cfg->ml_cfg['return']=='text'){ // Формирование ссылочного блока $links = join($this->cfg->ml_cfg['splitter'],$links); // Оформление c CSS $links = $this->_Set_CSS($links); // Оформление блока $links = $this->_Show_Links($links); }else{ // Получения массива ссылок без формирования в блок foreach(array_keys($links) as $n){ $links[$n] = $this->_Set_CSS($links[$n]); } } } return $links; } // Функция получения Secure Code из названия файла вида "Secure Code".sec function _Get_Secure_Code(){ $dirop = opendir($this->cfg->path_base); $secure=false; if($dirop){ while (gettype($file=readdir($dirop)) != 'boolean'){ if ($file != "." && $file != ".." && $file != '.htaccess'){ $ex = explode(".",$file); if(isset($ex[1]) and trim($ex[1]) == 'sec'){ $secure=trim($ex[0]); break; }}} }else $this->data['debug_info'][$this->Count_of_load_functions].=$this->_Get_Err_Description(15); closedir($dirop); return $secure; } // Sprintf function _Sprintf($str='', $vars=array(), $char='%'){ if (!$str) return ''; if (count($vars) > 0)foreach ($vars as $k => $v)$str = str_replace($char . ($k+1), (is_bool($v)?($v?'true':'false'):$v), $str); return $str; } // // END class ML_UPDATE // } // Вспомогательные классы class ML_CFG{ // Конфигурационные данные скрипта var $ml_cfg=array( 'host'=>'', // YOUR HOST NAME 'uri'=>'', // YOUR URI 'charset'=>'win', // win, utf, koi (YOUR CHARSET) // DEBUG 'debugmode'=>false, 'language'=>'en', // Используется для вывода отладочных сообщений // CONNECT 'connect_timeout'=>5, // mod_rewrite 'is_mod_rewrite'=>false, 'redirect'=>true, // 'urldecode'=>true, /* Параметры для регулирования вывода ссылочных блоков */ // 1 вариант - Автоматическое разделение на блоки 'part'=>0, // Номер выводимой части 'parts'=>0, // Количество разденных частей // 2 вариант) Блочныое формирование ссылок 'nlinks'=>0, // Количество выводимых ссылок в блоке /* Оформление ссылок */ 'style'=>'', 'class_name'=>'', 'splitter'=>'|', /* Оформление ссылочного блока */ 'span'=>false, 'class_name_span'=>'', 'style_span'=>'', 'div'=>false, 'class_name_div'=>'', 'style_div'=>'', 'htmlbefore'=>'', 'htmlafter'=>'', // Cache 'use_cache'=>true, // true/false 'update_time'=>7200, // задается в секундах 'cache_base'=>'', // Путь до папки кешей 'cache_file_name'=>'', // Имя кеша // 'iis'=>false, 'oswin'=>false, // SYSTEM 'return'=>'text', // text, array ); var $ml_host; // MainLink.ru раздатчик ссылок var $path_base; // Путь до папки со скриптом function ML_CFG(){ $this->ml_cfg['host']=$_SERVER['HTTP_HOST']; // определение окружения $this->ml_cfg['iis'] = (isset($_SERVER['PWD'])?false: preg_match('/IIS/i',$_SERVER['SERVER_SOFTWARE'])?true:false); $this->ml_cfg['oswin'] = (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'?true:($this->ml_cfg['iis']?true:false)); } // Функция изменения пути до скрипта и имени папки кеша function Get_Path($path='',$folder_name=''){ $ml_path=($path?$path:dirname(__FILE__)); // Определение пути вызова $ml_path=($this->ml_cfg['oswin']?str_replace('\\','/',preg_replace('!^[a-z]:!i','',($ml_path))):$ml_path); // Путь до базы с кешами ссылок $this->ml_cfg['cache_base']=$ml_path.(substr($ml_path,-1)!='/'?'/':'').($folder_name?$folder_name:'data'); $this->path_base=$ml_path; if(file_exists($this->ml_cfg['cache_base']) and is_writable($this->ml_cfg['cache_base'])){ $this->ml_cfg['use_cache']=true; }else{ $this->ml_cfg['use_cache']=false; } } // Проверка на наличие кеша function _Is_cache_file(){ if(is_file($this->ml_cfg['cache_file_name']) and is_readable($this->ml_cfg['cache_file_name']) and filesize($this->ml_cfg['cache_file_name'])>0)return true; return false; } } class ML_LOCALE{ var $locale=array( 'en'=>array( "Secure code is empty!\nYou must use secure code!\nWhat is it?\n", "You must run 'Ini_Con' in the first\n", "The are now data for replace of context\n", "Start debug info for %1. Count of run %2.\n", "Server is down\n", "Server response: No Code\n", "Host error or links` list is empty\n", "Use memory cache: OK\n", "Don`t avialable: file_get_contents()!\n", "Error: don`t init curl!\n", "Don`t avialable: CURL!\n", "Error: don`t get data by (%3)!\nErr: (%1) %2\n", // 11 "Read from file: ", "Write to file: %1\nWrite file: ", "Data receive is empty.\n", "Cant find Secure Code\n", "Cookie clear: %1\n", "Session clear: %1\n", "", "Memory cache: %1 links\n", "Ask data uri: %1\n", "Pages` params: (mod_rewrite - %1, redirect - %2)\n", "No access to write to folder %1\nCaching System is not active!\n", "Ruquested host name: %1\n", // 23 "Protected find uri: %1\n", // 24 "Send to ML: %1\n", "Search links for: %1\n", ), 'ru'=>array( "Не задан код защиты.\nДальнейшая работа с сервером выдачи невозможна.\nЧто это такое?\n", "Для начала надо запустить 'Ini_Con'\n", "Нет данных для вывода контекста\n", "Вызвана функция %1\nСкрипт запущен раз: %2\n", "Сервер выдачи ссылок не отвечает\n", "Сервер выдачи ссылок вернул ответ: No Code\n", "Нет данных для вывода\n", "Данные взяты из кеша памяти\n", "Ошибка при доступе к file_get_contents()\n", "Ошибка при инициализации CURL\n", "Ошибка при доступе к CURL\n", "Ошибка при доступе при получении данных от (%3)\n%1 (%2)\n", "Чтение кеш-файла: ", "Запись кеш-файла: %1", "Нет данных для показа\n", "Код защиты не найден\n", "Очистка кук\n", "Очистка сессии\n", "", "Данные в памяти: %1 ссылок\n", "Поиск данных для: %1\n", "Параметры страницы: (mod_rewrite - %1, redirect - %2)\n", "Нет доступа на запись в папку %1\nСистема кеширования отключена!\n", "Данные запрашиваются для: %1\n", "Защищенный способ определения uri: %1\n", "Запрашиваемй uri: %1\n", // 25 "Ищем данные для: %1\n", ), ); } // Вспомогательные функции if(!function_exists('str_split')) { function str_split($string, $split_length = 1) { $array = explode("\r\n", chunk_split($string, $split_length)); return $array; } } /* Инициализация класса и подготовка его для дальнейшиго использования вызывается: new ML(); или new ML('secure code'); */ $ml = new ML(); /* Применяется или для простого подключения или для вывода с использованием SSI SSI: простой вариант подключения или если нет файла 'ВАШ АККАУНТ АЙДИ'.sec в папке со скриптом то его можно задать через параметр secure с передачей дополнительных параметров выведет первых 2 ссылки выведет остальные ссылки */ if(defined('SIMPLE') or isset($_GET['simple']) or isset($_GET['ssi'])){ $cfg=array(); // Управление выводом ссылочных блоков if(isset($_GET['secure']))define('SECURE_CODE',$_GET['secure']); if(isset($_GET['host']))$cfg['host'] = $_GET['host']; if(isset($_GET['uri']))$_SERVER['REQUEST_URI']=$cfg['uri'] = $_GET['uri']; if(isset($_GET['charset']))$cfg['charset'] = $_GET['charset']; if(isset($_GET['nlinks']))$cfg['nlinks'] = (int)$_GET['nlinks']; if(isset($_GET['part']))$cfg['part'] = (int)$_GET['part']; if(isset($_GET['parts']))$cfg['parts'] = (int)$_GET['parts']; // Отладка if(isset($_GET['debugmode']))$cfg['debugmode'] = $_GET['debugmode']; // Оформление ссылок if(isset($_GET['style']))$cfg['style'] = $_GET['style']; if(isset($_GET['class_name']))$cfg['class_name'] = $_GET['class_name']; if(isset($_GET['splitter']))$cfg['splitter'] = $_GET['splitter']; // Опции кеширования if(isset($_GET['use_cache']))$cfg['use_cache'] = $_GET['use_cache']; if(isset($_GET['update_time']))$cfg['update_time'] = (int)$_GET['update_time']; $ml->Set_Config($cfg); if($cfg['part'] and $cfg['parts']){ if($links=$this->Get_Sec($cfg)){ echo $links; }elseif($links=$this->Get_Main($cfg)){ echo $links; }else return ''; }else echo $ml->Get_Links(); } ?>