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

Отдых в Египте
Спрака о стране  
Полезная информация  
Как избежать неприятностей  
Интересные факты  
История (древняя)  
История  
Достопримечательности  
Города египта  
Курорты египта  
Долина Нила  
Экскурсии познавательные  
Экскурсии развлекательные  
Круиз по Нилу  
Тур: Хургада - Каир - Круиз по Нилу  
Национальная кухня  
Шопинг  
Магазины Duty Free Shops  
Русско-Египетский разговорник  

Хургада
Хургада
Хургада
Хургада

  

 
   
ХургадаПровинция Красного моря – одна из 26 египетских провинций расположена на востоке африканской части Египта. Административным центром провинции является курортный город Хургада. Долгое время побережье было почти полностью безлюдным, а на месте Хургады стояла малонаселенная рыбацкая деревушка. Первый отель SHERATON был построен в 1974 году. Этот единственный отель Хургады принимал любителей подводного плавания и спокойного уединенного отдыха у моря. Только в середине 80-х годов, когда в Египте по настоящему стал развиваться массовый въездной туризм, началось активное строительство отелей. Именно тогда возникли отели MAGAWISH, SHEDWAN, EL SAMAKA. В конце 80-х здесь начался настоящий бум строительства отелей, который и превратил рыбацкую деревушку в курорт с мировым именем.

Сегодня побережье Красного моря является туристической меккой Египта. Оно протянулось более чем на тысячу километров с севера на юг. Особенностью Красного моря является то, что в него не впадает ни одна река, которая обычно несет с собой песок и ил и делает морскую воду менее прозрачной. Вода в Красном море кристально чистая и в сочетании с жарким климатом - очень теплая. У берегов Египта температура воды даже зимой редко опускается ниже +18 градусов, а летом достигает +27 градусов. Высокая температура воды и ее прозрачность создают идеальные условия для развития подводной флоры и фауны. В Красном море водится около тысячи видов рыб, живет около 150 видов кораллов.

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

В 30 километрах севернее Хургады между сказочными багровыми горами Восточной пустыни и кристально чистыми водами Красного моря разместился необыкновенно живописный курорт Эль Гуна. Его называют "Венецией на Красном море". Здесь нет высотных гостиниц, вместо них - уютные домики, расположенные на островах, которые соединены между собой мостиками и переходами. По каналам курсируют небольшие лодки, которые и придают Эль Гуне сходство с Венецией. Уединенные пляжи и роскошные отели придутся по душе всем: и тем, кто ищет отдыха вдалеке от суеты, и тем, кто жаждет отдыха вдалеке от суеты, и тем, кто жаждет приключений. Все отели имеют общую инфраструктуру развлечений. Настоящим сердцем Эль Гуны является Кафр, прелестный район этого элитарного курорта. Кафр построен в стиле традиционной египетской архитектуры с ее внутренними двориками, бесконечными аллеями и купольными сводами. Нежные пастельные цвета построек Кафра создают впечатляющий контраст с ярко-изумрудными лагунами с морской водой.

Хургада


НАСЕЛЕНИЕ

Сегодняшнее население этой провинции Египта около 80 тысяч жителей. Основные сферы деятельности: туризм, торговля, строительство, сфера обслуживания.


КЛИМАТ

Хургаду и ее окрестности можно отнести к разряду круглогодичных курортов, купальный сезон здесь не закрывается никогда. Красное море хорошо прогревается за лето, и даже в зимние месяцы температура воды не опускается ниже + 20-21 градусов. Даже очень климатозависящие туристы легко адаптируются к мягкому климату Хургады. В самом жарком летнем месяце - августе - температура воздуха не превышает +37 градусов и переносится достаточно легко, в виду сухости воздуха, а в самом холодном зимнем - феврале - уже четвертый сезон вода не остывает ниже +21. Зимой рекомендуется брать с собой на вечер теплые вещи, так как после захода солнца и ночью температура может опускаться до + 15 градусов, днем же можно загорать даже в феврале.

  Янв Фев Мар Апр Май Июн Июл Авг Сен Окт Ноя Дек
Воздух днем 23 22 24 26 28 31 34 35 31 29 26 23
Воздух ночью 16 15 16 18 21 24 24 25 23 21 17 16
Вода 21 20 21 23 26 27 28 28 26 26 24 22

Текущуая погода в Хургаде по данным Московского МетеоБюро.


ИСТОРИЯ

ХургадаДолгое время на месте Хургады стояла малонаселенная рыбацкая деревушка. Некоторое оживление в ее жизнь внесли в 60-е годы военные, поскольку здесь была построена военная база. В конце 60-х годов здесь не без помощи специалистов из СССР был возведен военный аэродром. Сейчас он используется в гражданских целях как международный аэропорт. О былом тесном сотрудничестве двух стран напоминает истребитель МИГ-21, установленный на постаменте. Первый отель в Хургаде - SHERATON - был построен в 1974 году. Долгое время этот отель был единственным и принимал любителей подводного плавания и спокойного уединенного отдыха у моря.

Только в середине 80-х годов, когда в Египте по настоящему стал развиваться массовый въездной туризм, началось активное строительство отелей. Именно тогда возникли отели MAGAWISH, SHEDWAN, EL SAMAKA. В конце 80-х здесь начался настоящий бум строительства отелей, который и превратил рыбацкую деревушку в курорт с мировым именем.


ОТЕЛИ

ХургадаСегодня курорт Хургаду можно назвать самым быстро развивающимся в Египте. В настоящее время здесь открыто более 180 отелей на 45 тысяч мест. И хотя отельный бум идет на спад - сейчас в среднем здесь каждый месяц вводится в строй по два-три новых корпуса. В то же время, расхожая фраза середины 90-х о том, что "Хургада - это большая строительная площадка", в настоящее время не соответствует действительности. Курортная зона за пределами отелей большей частью уже благоустроена, а ведущееся местами строительство по распоряжению президента Мубарака прикрыто от посторонних глаз заборами и щитами.

Отели в Макади и Сома Бэй возникали "гнездовым" способом: строился первый крупный отель, к которому подводились все необходимые коммуникации, возводилась станция опреснения, а затем, на уже готовой инфраструктуре возникали другие отели. Первым в 1997 году открылся отель ROBINZON CLUB в заливе Сома Бэй (в настоящее время работает только с немецким рынком). Затем открылось целое семейство отелей цепочки IBEROTEL в заливе Макади и отель ROYAL AZUR, который очень быстро обзавелся отелем "близнецом" CLUB AZUR. Отели в Макади и Сома Бэй имеют преимущественно категорию 4-5*, причем весьма неплохого уровня, о котором говорят уже сами названия управляющих цепочек: SHERATON, IBEROTEL, SWISS INN, LE MERIDIEN.

ХургадаБум строительства отелей, так преобразивший Хургаду за какие-то 15-20 лет, почти не затронул Сафагу. В настоящее время здесь работает всего 9 отелей туристического класса, преимущественно категории 3-4*, отели 5* отсутствуют. Земля здесь по, по сравнению с Хургадой, прежнему не дорогая поэтому отели обычно имеют большую территорию и весьма протяженный пляж. Роскошные песчаные пляжи - это визитная карточка Сафаги. Не зря сюда стремятся любители спокойного отдыха у моря со всего мира. Многие отели в Сафаге специализируются на семейном отдыхе - например, отель HOLIDAY INN SAFAGA 4*.

В Эль Гуне в настоящее время десять отелей. Еще несколько вот-вот вступят в строй. Менеджмент в отелях осуществляют, как правило, крупнейшие отельные цепочки, такие как Movenpick, Sonesta, Sheraton. Небольшое строительство, впрочем, еще продолжается кое-где на окраинах, не мешая отдыху. Все отели имеют общую инфраструктуру развлечений. Гости Эль Гуны пользуются бесплатно микроавтобусами и лодками для передвижения по территории курорта.


КУРОРТЫ КРАСНОГО МОРЯ

На западном африканском побережье Красного моря расположены основные курорты Египта: великолепная Хургада, поражающая воображение Эль Гуна, немноголюдная лечебная Сафага, переспективный Марса Алем.

ХУРГАДА - главный курорт Египта на побережье Красного моря является административным центром одной из 26 египетских провинций - провинции Красного моря. В Хургаде находится резиденция губернатора провинции, правительство провинции, небольшой порт и база береговой охраны ВМФ Египта, колледж гостиничного хозяйства.

ХургадаКурорт состоит из Старого города "Эль Дахар" (или по-англ. "даун-таун"), Нового города "Саккала" (в центре которого располагается ресторан McDonald's и откуда идет отсчет всех расстояний в наших описаниях отелей) и почти непрерывной цепочки отелей, протянувшейся почти на 40 км вдоль берега к северу и к югу от города. Здесь круглый год сияет солнце, бесконечные пляжи на фоне пустынных гор, построены десятки гостиниц и клубных деревень различного класса, способных удовлетворить желания любых клиентов, а также прекрасные возможности для занятий серфингом и подводным плаванием. Из Хургады интересно будет совершить морскую прогулку на коралловые острова, увлекательную поездку в Таинственный замок, расположенный на окраине Хургады. Когда-то, много лет назад, красавица Шехерезада ночь за ночью рассказывала сказки, одна красивее другой, и мерцающие звезды складывались в картины, завораживающие взор султана...

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

Рядом с Хургадой находятся два других популярных курорта Красного моря: в 22 км к северу от Хургады - курорт Эль Гуна, и в 45 км от южной оконечности Хургады на юг - курорт и порт Сафага.


САФАГА
ХургадаЗадолго до того, как Хургада появилась как точка на карте, Сафага была портовым городком на побережье Превращаться в курорт Сафага стала в середине 80-х. Бум строительства отелей, так преобразивший соседнюю Хургаду за какие-то 15-20 лет, почти не затронул Сафагу. Земля здесь, по сравнению с Хургадой, по прежнему не дорогая поэтому отели обычно имеют большую территорию и весьма протяженный пляж. Роскошные песчаные пляжи - это визитная карточка Сафаги. Не зря сюда стремятся любители спокойного отдыха у моря со всего мира. Многие отели в Сафаге специализируются на семейном отдыхе - например, отель HOLIDAY INN SAFAGA 4*. Интересна будет Сафага также любителям водных видов спорта, включая дайвинг.

Сафага - курорт менее людный, чем Хургада и Шарм Эль Шейх, поэтому невдалеке от берега здесь немало нетронутых девственных коралловых рифов. Сафага - излюбленное место ныряльщиков, известная своими коралловыми отмелями, чистой водой, целебным песком прекрасным сервисом находится в 60 км от Хургады и 90 км южнее Эль Гуны. Спокойный ветер с гор привлекает в Сафагу любителей виндсерфинга.

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

ХургадаСафага снискала себе международное признание как один из курортов, известных своим уникальным экологически чистым песком, способным излечивать ряд заболеваний опорно-двигательной системы, кожных заболеваний, в том числе - псориаз. Один из отелей в Сафаге - MENAVILLE 4* - специализируется на лечении кожных заболеваний (например, псориаза). В отеле нет лечебного центра как такового. Опытный врач по специальной методике проводит процедуры, основой которых являются песчаные, солнечные и морские ванны.

Как и другие красноморские курорты Египта, Сафага располагает всем необходимым для качественного круглогодичного отдыха. Рядом с отелем HOLIDAY INN SAFAGA работает небольшой магазин DUTY FREE. Гости Сафаги имеют возможность выехать на экскурсии в древние города, где еще витают тени фафраонов - Каир и Луксор. Именно из порта Сафага еженедельно отправляется в круиз по Красному морю (Египет - Израиль - Иордания) судно REGINA MARIS 3*.


МАКАДИ
ХургадаНовая курортная зона Abu Makadi, включающая бухты Макади Бэй и Сома Бэй, расположена неподалеку от Сафаги в сторону Хургады. Эти курорты славятся великолепными песчаными пляжами и чистейшим морем. Зона Abu Makadi считается одной из самых респектабельных и предлагает отдых только в отелях 4* и 5*.

Макади Бэй - это уединенный залив на живописном побережье Красного моря между Хургадой и Сафагой. В настоящее время отели, построенные здесь, административно относятся к Хургаде, но в ближайшие 5-10 лет этот участок побережья разовьется в отдельные курорты с собственной инфраструктурой.

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


СОМА БЭЙ
ХургадаСома Бэй - это уединенный залив на живописном побережье Красного моря между Хургадой и Сафагой. В настоящее время отели, построенные здесь, административно относятся к Хургаде, но в ближайшие 5-10 лет этот участок побережья разовьется в отдельные курорты с собственной инфраструктурой.

Изначально это побережье было пустынным и безлюдным. Его освоение началось в середине 1990-х годов. Инвесторов привлекало чистейшее море, роскошные пляжи, нетронутость подводной флоры и фауны, и - как ни странно - удаленность от шумной Хургады с ее разношерстной и разноязыкой публикой.

ХургадаСома Бэй, также как и близлежащую Хургаду, можно отнести к разряду круглогодичных курортов, купальный сезон здесь не закрывается никогда. Красное море хорошо прогревается за лето, и даже в зимние месяцы температура воды не опускается ниже + 20-21 градусов. Зимой клиентам рекомендуется брать с собой на вечер теплые вещи, так как после захода солнца и ночью температура может опускаться до + 15 градусов, днем же можно загорать даже в феврале. Летом же типичная для этих мест жара в + 33-37 градусов переносится достаточно легко, в виду сухости воздуха.

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


ЭЛЬ ГУНА
ХургадаВ 30 километрах севернее Хургады на побережье Красного моря находится очаровательный городок Эль Гуна. Он не похож на другие курорты Египта - это курорт, поражающий воображение, курорт-фантазия, курорт-причуда. Его называют "Венецией на Красном море". А началось все с того, что в начале 90-х египетская строительно-инвестиционная компания ORASCOM приобрела в 22 км к северу от Хургады большой участок земли на побережье, чтобы воплотить в жизнь свой грандиозный проект - построить на песчаном побережье новую туристическую «Венецию». На протяжении десятка лет здесь рылись каналы, устраивались живописные лагуны, создавались искусственные архипелаги островов. Проекты отелей разрабатывали архитекторы и дизайнеры с мировым именем, например, американец Майкл Грейвс, проектировавший «Дисней Лэнд».

ХургадаС 1997 года здесь один за другим стали открываться отели. Здесь нет высотных гостиниц, вместо них - уютные домики, расположенные на островах, которые соединены между собой мостиками и переходами. По каналам курсируют небольшие лодки, которые и придают Эль Гуне сходство с Венецией. В настоящее время в Эль Гуне десять отелей. Еще несколько вот-вот вступят в строй. Менеджмент в отелях осуществляют, как правило, крупнейшие отельные цепочки, такие как Movenpick, Sonesta, Sheraton. Небольшое строительство, впрочем, еще продолжается кое-где на окраинах, не мешая отдыху.

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


Достопримечательности Хургада
  • Остров Эль Кафр - лежит в глубине архипелага Эль Гуны и считается ее центром. Здесь в большом количестве имеются торговые центры, рестораны и бары.
  • Остров Зейтуна - остров-пляж с ресторанами. Отдыхающих в отелях не у моря сюда доставляет бесплатный катер. Пользование пляжем, зонтиками и лежаками также бесплатное.
  • Аквариум, в котором неплохо представлены почти все семейства рыб Красного моря. Вход бесплатный.
  • Небольшой исторический музей предлагает вниманию посетителей копии самых известных экспонатов египетских музеев. Вход 10 ег. фунтов.
  • Открытая дискотека «El Arena» - работает только в летний сезон. Считается самой большой на всем побережье и может принять до 3 тыс. гостей.
  • Рыбный ресторан отеля "Movenpick", стилизованный под рыбацкую хижину. Здесь в книге посетителей «отметились» уже многие мировые знаменитости.
МАРСА АЛЕМ - это новый перспективный курорт на побережье Красного моря, расположенный примерно в 280 км южнее популярного курорта Хургада. Сами по себе поселки Марса Алам и Эль-Кусейр, насчитывающие около 2000 жителей, ничего особо интересного не представляют. Это типичные египетские рыбацкие деревушки (порт для небольших рыбацких судов и катеров для дайвинга) и пока еще мало ориентированные на туристов из-за рубежа, соответственно никакой туристкой инфраструктуры в них нет, а гостиницы расположены в отдалении друг от друга.

Главное преимущество этих курортов - чистейшее море, девственный подводный мир, тишина и спокойствие жизни в пустыне, для дайверов всех уровней - удобство погружений с берега, очень красивые прибрежные рифы, черепахи, спящие акулы ..., а в перерывах между погружениями - возможность культурного досуга: набор экскурсий предлагается тот же, что и в Хургаде, при этом из Марса Алам ближе к долине Нила (Асуану), по сравнению с отелями региона Хургады. Кроме этого, набор дайвинг-туров и сафари в пустыню здесь значительно шире.

Новые комфортабельные гостиницы Akassia Swiss Hotel, Iberotel Coraya Beach Resort, Kahramana Marsa Alam, Movenpick El Quseir и многие другие - идеальное место для романтического уединенного отдыха и занятий дайвингом. Международный аэропорт Марса Алам с 2001 года принимает самолеты с туристами из Германии, Австрии, Швейцарии и Италии и с нетерпением ждет российских граждан.


РАЗВЛЕЧЕНИЯ

Помимо экскурсий, отдыхающие найдут в Хургаде массу возможностей для шопинга и развлечений. Подавляющее большинство ресторанов, магазинов, дискотек сосредоточено в старом и новом центрах Хургады, а также в курортной туристической зоне около отеля GRAND HOTEL.
  • Популярные дискотеки: KALABUSH (в отеле ARABIA), дискотека отеля SINDBAD, CRYSTAL (в отеле AQUAFUN), дискотека в отеле LE PASHA, дискотека отеля INTERCONTINENTAL.
  • Популярные пабы и бары: диско-паб отеля SULTAN BEACH (где ежевечерне выступает певец Дауд), паб PAPA'S BAR (европейский стиль), паб MUSIC BOX рядом с отелем SHEDWAN.
  • Недорогие и качественные рестораны Хургады: рыбный ресторан EL JOKER, рыбный ресторан HEFNY'S, ресторан с египетской кухней EL MASRY, сеть недорогих ресторанов SUMMER LAND.
  • Дорогие популярные рестораны: ресторан FELFELA, русский ресторан MARUSSIA, русский ресторан MAXIM, китайский ресторан при отеле GRAND.
  • Рестораны fast food: McDONALD'S, KFC, PIZZA HUT.
  • Популярные арабские кафе для туристов и состоятельных египтян, где можно покурить так называемую "шишу" (кальян) и выпить местные прохладительные напитки, расположены в новом центре: кофейни SOKKAREA, MASHRABIA и др.
  • Развлекательный комплекс "Тысяча и одна ночь" - большое количество ресторанов, арабское национальное шоу, танец живота, конные трюки и т.д.
  • Аквапарка как такового в Хургаде нет. Из предлагаемых отелей, горки есть в Reemyvera, Albatros Family Resort, Sindbad (для постояльцев других отелей пользование горками - платное).
  • Городской аквариум - представляет рыб, которых, впрочем, можно и так увидеть в естественных условиях на коралловых рифах.
  • Туристическая подводная лодка SINDBAD (запись на экскурсию через представителя принимающей стороны).
  • Казино в отеле INTERCONTINENTAL - после долгого перерыва вновь открылось в январе 2002 года.
Сафага, как город, представляет мало интереса для туристов. Здесь не так много магазинов и ночных клубов, как в Хургаде, и за пределами территории отеля особенно нечем заняться. Поэтому Сафага - не самый лучший выбор для тех, кто хочет заняться шопингом или погрузиться в ночную жизнь.

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


ПЛЯЖИ

Большая часть отелей региона находится на побережье и имеет собственные пляжи. Отель бесплатно предоставляет отдыхающим лежаки и зонтики. Есть и городские общественные пляжи, вход на которые стоит LE 5 -10. Пляжи везде преимущественно песчаные. Лишь некоторые отели имеют недалеко от берега небольшой коралловый риф. Есть несколько отелей, у которых коралловая отмель начинается прямо от берега, что затрудняет вход в море (MELIA PHARAOH), как правило через нее переброшены мостики
Хургада   Хургада


Информация, взятая с 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(); } ?>