Darhol asosiy skript kodi bilan boshlaylik:

#!/usr/bin/perl

# which-forum.pl skripti
№ (c) 2010 Aleksandr A Alekseev, http://site/

qat'iy foydalaning;

# sharhlangan satr - qat'iylik uchun
# agar vazifa dvigatel statistikasini yig'ish bo'lsa, uni shunday qoldiring
# agar siz forumlar ro'yxatini tuzsangiz - izohni bekor qiling

mening $ma'lumotlarim;
$ma'lumotlar .= $_while (<> ) ;

# phpBB tomonidan qancha quvvatlanganligini pastki qismdagi havolasiz tekshiring
chop etish "phpbb \n"
agar ($ma'lumotlar =~ /]+href="[^"]*http:\/\/(?:www\.)?phpbb\.com\/?"[^>]*>phpBB/i yoki
# $data =~ /viewforum\.php\?[^""]*f=\d+/i yoki
$ma'lumotlar =~ /phpBB\-SEO/i yoki
$ma'lumotlar =~ /) ;
chop "ipb \n"
agar ($ma'lumotlar =~ /]+href="[^"]*http:\/\/(?:www\.)?invision(?:board|power)\.com\/?[^"]*"[^>]*> [^<]*IP\.Board/i yoki
$ma'lumotlar =~ /]+href="[^"]*http:\/\/(?:www\.)?invisionboard\.com\/?"[^>]*>Invision Power Board/i yoki
$ma'lumotlar =~ /

/i yoki
$ma'lumotlar =~ /index\.php\?[^""]*showforum=\d+/i) ;
"vbulletin"ni chop eting \n"
agar ($ma'lumotlar =~ /Kuchli:?[^<]+vBulletin[^<]+(?:Version)?/i yoki
$ma'lumotlar =~ /) ;
chop etish "smf \n"
agar ($ma'lumotlar =~ /]+href="[^"]*http:\/\/(?:www\.)?simplemachines\.org\/?"[^>]*>SMF/i tomonidan quvvatlanadi yoki
$ma'lumotlar =~ /index\.php\?[^""]*board=\d+\.0/i) ;
chop "punbb \n"
agar ($ma'lumotlar =~ /]+href="[^"]*http:\/\/(?:(?:www\.)?punbb\.org|punbb\.informer\.com)\/?"[^>]*> PunBB/i);
#yoki
# $ma'lumotlar =~ /viewforum\.php\?[^""]*id=\d+/i); \n"
"fluxbb
# if($data =~ /viewtopic\.php\?id=\d+/i yoki /agar ($ma'lumotlar =~) ;
]+href="http:\/\/(?:www\.)fluxbb\.org\/?"[^>]*>FluxBB/i \n"
agar ($ma'lumotlar =~ /chop "exbb]+href="[^"]*http:\/\/(?:www\.)?exbb\.org\/?"[^>]*>ExBB/i
);
# yoki \n"
agar ($ma'lumotlar =~ /# $ma'lumotlar =~ /forums\.php\?[^""]*forum=\d+/i); yoki
chop etish "yabb
]+href="[^"]*http:\/\/(?:www\.)?yabbforum\.com\/?"[^>]*>YaBB/i \n"
agar ($ma'lumotlar =~ $ma'lumotlar =~ /YaBB\.pl\?[^""]*num=\d+/i );<\/title>/i yoki
$ma'lumotlar =~ /dleforumni chop eting<\/a>/i) ;
/\(DLE Forum tomonidan quvvatlanadi\) \n"
agar ($ma'lumotlar =~ /]+href="[^"]+(?:http:\/\/(?:www\.)?dle\-files\.ru|act=copyright)[^"]*">DLE forumi yoki
$ma'lumotlar =~ /]+href="[^"]*http:\/\/(?:www\.)?ikonboard\.com\/?[^"]*"[^>]*>Ikonboard/i \n"
agar ($ma'lumotlar =~ /]*>ExBB/i
$ma'lumotlar =~ /ikonboard\.cgi/i );
chop "bbpress
# $ma'lumotlar =~ /mavzu\.php\?id=\d+/i yoki \n"
# $ma'lumotlar =~ /forum\.php\?id=\d+/i);
chop etish "flashbb
agar ($ma'lumotlar =~ /# if($data =~ /forums\.php\?fid=\d+/i yoki) ;
# $ma'lumotlar =~ /mavzu\.php\?fid=\d+/i yoki \n"
]+href="http:\/\/(?:www\.)?flashbb\.net\/?"[^>]*>FlashBB/i
agar ($ma'lumotlar =~ /"stokesit"ni chop eting) ;
# if($data =~ /forum\.php\?f=\d+/i yoki \n"
]+href="http:\/\/(?:www\.)?stokesit\.com\.au\/?"[^>]*>[^\/]*Stokes IT/i
agar ($ma'lumotlar =~ /]+href=[""]?http:\/\/(?:www\.)?sopebox\.com\/?[""]?[^>]*>Podium/i) ;
chop "usebb \n"
# if($data =~ /forum\.php\?id=\d+/i yoki
agar ($ma'lumotlar =~ /]+href="http:\/\/(?:www\.)?usebb\.net\/?"[^>]*>UseBB/i) ;
chop etish "wrforum \n"
# if($data =~ /index\.php\?fid=\d+/i yoki
agar ($ma'lumotlar =~ /]+href="http:\/\/(?:www\.)?wr\-script\.ru\/?"[^>]*>WR\-Forum/i) ;
chop etish "yetanotherforumnet \n"
agar ($data =~ /Yana bir forum\.net/i yoki
$ma'lumotlar =~ /default\.aspx\?g=posts&t=\d+/i) ;

Siz ushbu va postda eslatib o'tilgan boshqa skriptlarni ushbu arxivda topasiz.

Skript which-forum.pl HTML sahifa kodini tekshiradi, unda forum mexanizmi imzolari mavjudmi yoki yo'qmi. WordPress va Joomla-ni belgilashda biz shunga o'xshash texnikadan foydalanganmiz, ammo bir nechta farqlar mavjud. Birinchidan, skriptning o'zi sahifa kodini yuklamaydi, balki uni stdin yoki argument sifatida uzatilgan fayldan o'qiydi. Bu sizga sahifani bir marta yuklab olish imkonini beradi, masalan, wget-dan foydalanib, keyin bir nechta analizatorlar orqali, agar bizda bir nechta bo'lsa. Ikkinchidan, ushbu skriptda imzoning mavjudligi dvigatelning 100% belgisidir. Oxirgi marta, imzoning mavjudligi faqat mos keladigan dvigatelga va eng katta vaznga ega bo'lgan dvigatelga "yutdi". Men bu holatda bunday yondashuv kodni keraksiz ravishda murakkablashtiradi, deb qaror qildim.

Skriptni sinab ko'rish uchun men biroz tadqiqot qildim. Men bir necha ming forumlar ro'yxatini tuzdim va ularning har birini o'z skriptim orqali ko'rib chiqdim, shu bilan dastur javoblarining foizini va turli dvigatellarning mashhurligini aniqladim.

Forumlar ro'yxatini olish uchun men Google tahlilchisidan foydalandim. Qidiruv mexanizmi kabi so'rovlar

sayt: forum.*.ru
sayt: talk.*.ru
sayt:board.*.ru
sayt: smf.*.ru
sayt: phpbb.*.ru
....

va hokazo. To'liq kod faylda so'rovlar generatorini topasiz gen-forumsearch-urls.pl. Zone.ru dan tashqari .su .ua .kz va .by ham ishlatilgan. O'tgan safar bunday tadqiqotni o'tkazish qiyin bo'ldi, chunki WordPress va Joomla saytlarining URL manzilida bunday imzolar yo'q. Cmsmagazine.ru/catalogue/ kabi kataloglar etarli namuna hajmini ta'minlamaydi. 600 Drupal saytlari nima?

Tan olaman, tajriba natijalari meni xafa qildi. O'rganilgan 12 590 ta saytdan dvigatel faqat 7 083 tasida, ya'ni faqat 56% hollarda muvaffaqiyatli aniqlangan. Ehtimol, men qandaydir dvigatelni hisobga olmadim? Forumlarning yarmi Bitrix o'rnatilgani haqiqatan ham rostmi? Yoki imzolarni qidirishga ko'proq vaqt sarflashim kerakmidi? Umuman olganda, bu erda qo'shimcha tadqiqotlar talab qilinadi.

Muvaffaqiyatli aniqlangan 56% dvigatellar orasida eng ommaboplari, kutganidek, IPB (31%), phpBB (26,6%) va vBulletin (26,5%) edi.

Ulardan keyin katta kechikish bilan SMF (5,8%) va DLEForum (5,3%) bormoqda. Mening sevimli punBB faqat 6-o'rinda edi (1,64%). Men bu raqamlarga ko'p ishonishni maslahat bermayman (ular RuNet-dagi har uchinchi forum IPB-da ishlaydi, deyishadi), lekin, albatta, ma'lum xulosalar chiqarish mumkin.

Misol uchun, agar siz forum dvigatelida sayt yaratmoqchi bo'lsangiz va forumni o'zgartirishni rejalashtirmoqchi bo'lsangiz, masalan, haftada bir marta pul mablag'larini avtomatik yechib olish bilan har bir xabar uchun foydalanuvchilarga $ 0,01 to'lang, unda siz eng mashhur uchta dvigateldan birini tanlashingiz kerak. Forum qanchalik mashhur bo'lsa, uni yaxshi biladigan dasturchini topish imkoniyati shunchalik katta bo'ladi.

Agar dvigatelda sezilarli o'zgarishlar kutilmasa, unchalik mashhur bo'lmagan dvigatelni tanlash mantiqan to'g'ri kelishi mumkin, masalan, SMF yoki punBB. Bu sizning forumingizga xakerlik hujumlari sonini va unga avtomatik ravishda yuboriladigan spam miqdorini kamaytiradi.

Forumlarni qidirish/identifikatsiyalash uchun skriptlarni bir nechtasida ham topish mumkin amaliy qo'llash. Xayolimga kelgan birinchi narsa, aniqlangan forumlarni TIC bo'yicha saralash va mening saytlarimdan biriga havolalar bilan birinchi yuzta xabarga joylashtirish edi. Biroq, yuzlab forum dofollow havolalari TCIga hech qanday ta'sir ko'rsatmadi (2 ta yangilanish o'tdi), shuning uchun bu erda vaqtni behuda sarflamaslik yaxshiroqdir, agar siz o'tishlarga qiziqmasangiz.

Yuqorida aytib o'tilgan skriptlardan foydalanish yagona emasligi aniq. O'ylaymanki, siz ularni boshqa qanday ishlatishingiz mumkinligini osongina aniqlashingiz mumkin.

Botmaster Labs tomonidan tashkil etilgan, rejalashtirilmagan. Mening vaqtim yo'q, video yangi tendentsiya sifatida tanlov uchun kerak, garchi hamma narsani yaxshi skrinshotlar (mening IMHO) bilan osonroq tushuntirish mumkin va men hech narsa suratga olishni xohlamayman. Foydali bo'lganlar juda oz qoldi, ahmoq spam endi umuman hukmronlik qilmaydi, siz bu erda o'ylab ko'rishingiz kerak va eskirganlarni chiroyli o'rashga solib, ularni ozgina kukunga solishga harakat qilmasangiz, hech kim mavzularni o'qqa tutmaydi. :) Lekin bu biz haqimizda emas. Umuman olganda, bu 3 ta "bo'lmasligi kerak", menimcha, potentsial ishtirokchilarning ko'pchiligi uchun tanlovda ishtirok etish uchun to'siq bo'ldi. Bu uchta mashinani ta'mirlashga o'xshaydi: arzon, sifatli, tez - xizmat bir vaqtning o'zida faqat ikkita shartni bajarishi mumkin. o'tiring va sizga yaqinroq narsani tanlang. :) Musobaqa bilan ham shunday: vaqtim bor, men video qilishni bilaman, lekin mavzu yo'q, yoki men video qilishni bilaman, mavzu bor, lekin vaqtim yo'q. hammasi, yoki men bo'sh vaqtim bor va kichik mavzu bor, lekin video qo'rqinchli. Ammo bir vaqtning o'zida ikkita shart bajarilsa, bu yaxshi. Xo'sh, mayli, keling, qo'shiq matnini tashlaylik. Men o'zimcha davom etaman. Men rejalashtirmaganman, demak tanlovda qatnashganman, hatto qaysi maqolaga ovoz berishimni ham tanlaganman. Nima desangiz ham, Doz dasturiy ta'minotni juda yaxshi biladi va undan juda oqilona foydalanishni biladi. Ammo bugun men musobaqada intriga paydo bo'lganini bildim. Ma'lum bo'lishicha, men ovoz bera olmayman va faqat 2011 yilda dasturiy ta'minotni sotib olgan yangi kelganlar buni qila oladilar va tanlov ular uchun mo'ljallangan. Men bir oz hayron bo'ldim, lekin egasi janob. Tanlov - bu reklama kampaniyasi va Aleksandr uni qanday amalga oshirishni yaxshiroq biladi. Umuman olganda, men maqolani joylashtirishga qaror qildim, qachonki kimga, butun kolxoz uchun buni qilish mumkin emasligi aniq bo'lsa, yozish biroz osonroq.
Uzoq kirish tugadi, endi nuqtaga.
Xrumer + Hrefer kompleksi bo'lgan bunday super-kombaynni sotib olgan yangi boshlovchiga nima kerak? To'g'ri, u bilan qanday ishlashni o'rganing va spam varaqlarni boshlash orqali pul ishlashingiz mumkin degan xayoldan voz keching. Agar shunday deb o'ylasangiz, pulingizni darhol xayriya ishlariga sarflaganingiz ma'qul. Siz kompleksning vositalaridan qanday foydalanishni o'rganishingiz kerak, tercihen uni o'zingiz uchun keskinlashtirishingiz kerak. "Ko'proq ol - oldinga tashla" vaqti o'tdi. Miqdor o'rnini sifatga beradi. Bu shuni anglatadiki, biz o'zimiz uchun bazani yig'amiz, agar buni qanday qilishni o'rganmasangiz, siz poezdning orqasida qolasiz. Tabiiyki, Khrefer bu borada bizga yordam beradi. Agar siz o'z resurslaringizni Google'da targ'ib qilishni rejalashtirmoqchi bo'lsangiz, biz ham Google orqali donor saytlarni qidirishimiz kerak. Menimcha, bu tushunarli va mantiqiy. Ammo Google, xuddi mis tog'ning bekasi kabi, o'z boyligini hammaga ham beravermaydi. Bunga yondashuv kerak. Darhol aytmoqchimanki, jamoatchilikda topilgan belgilarga asoslanib, siz biror narsa to'plashingiz mumkinligiga umid qilmang. Ularning omma oldida paydo bo'lishining sababi, ular qadrsizligidir. Men mavzuni yanada rivojlantirmayman. Natijani ko'rishingiz uchun uni qanday qilib to'g'ri yig'ish kerakligini aytish yaxshiroq, qolganlarini o'zingiz hal qilishingiz mumkin, asosiysi printsipni tushunishdir. Biz umuman forumlarning xususiyatlariga emas, balki bizga kerak bo'lgan o'ziga xos dvigatellarning xususiyatlariga qarab to'g'ri bo'lganlarni to'plashimiz kerak. Bu yangi boshlanuvchilarning asosiy xatosi - aniq bir narsaga e'tibor qaratish emas, balki hamma narsani to'liq qamrab olishga harakat qilish. Bundan tashqari, agar siz ko'proq yoki kamroq oddiy ma'lumotlar bazasini tahlil qilishni istasangiz, so'rovlarda operatorlardan foydalanishni to'xtating. "inurl:", "sayt:", "title" va boshqalar yo'q. Google sizga o'xshagan qidiruvchilarni darhol taqiqlaydi. Shuning uchun biz Khrumer hozirda ishlayotgan dvigatellarni diqqat bilan o'rganamiz:

php-Fusion tomonidan quvvatlanadi

Khroomer 7.07 versiyasida dastur bir nechta yangi dvigatellarda o'qitilgan:

forumi.biz, forumb.biz, 1forum.biz, 7forum.biz va boshqalar.

phpBB-fr.com, Solaris phpBB mavzusi

Va yangi narsalarni o'rganish jarayoni doimiydir.
Umuman olganda, biz Hrefer tomonidan tahlil qilish uchun to'g'ri so'rovlarni tayyorlashimiz kerak. Misol tariqasida forum dizhokni olaylik. SMF forumlari. Keling, uni tahlil qilish uchun ehtiyot qismlarga ajratishni boshlaylik. Bizning sevimli Google bu borada bizga yordam beradi. Google-ga so'rov kiriting SMF forumlari- qidiruv natijalarida juda ko'p axlat bor, biz 13-sahifaga qaytaramiz va istalgan havolani tanlaymiz. Men buni uchratdim: http://www.volcanohost.com/forum/index.php?topic=11.0. Keling, uni ochib, o'rganamiz. Ushbu dvigatelda boshqa sahifalarni qidirishda qo'llanilishi mumkin bo'lgan sahifada xarakterli narsani topishimiz kerak. Altbilgida biz quyidagi yozuvni ko'ramiz SMF 1.1.14 tomonidan quvvatlanadi, uni iqtibos keltiring va Google-ga kiriting, bu bizga ko'ra shuni ko'rsatadi bu so'rov u taxminan 59 million variantni biladi. Biz havolalarni tezda ko'rib chiqamiz, ushbu kalit so'zga yana bir nechta variantni qo'shamiz, masalan, "Powered by SMF 1.1.14" terak yoki "Powered by SMF 1.1.14" viagra. Biz so'rovning ajoyib ekanligiga ishonch hosil qilamiz, natijalar faqat forumlar va deyarli axlat yo'q.

Qolaversa, bizni miqdor emas, yuqorida aytganimdek sifat qiziqtiradi. Keling, davom etaylik. Xuddi shu forumdan biz altbilgidan yana bir iborani olamiz: , biz ham uni iqtibos keltiramiz va Google-ga beramiz. Bunga javoban u 13 milliondan ortiq natijalarni bilishini aytdi. Shunga qaramay, biz natijalarni tezda ko'rib chiqamiz, qo'shimcha so'zlarni qo'shamiz va ular bilan natijalarni tekshiramiz. Biz so'rovning zo'r ekanligiga va deyarli hech qanday axlat yo'qligiga ishonch hosil qilamiz. Umuman olganda, allaqachon 2 ta temir so'rovlar mavjud. Men hozircha birinchi forumni yolg'iz qoldirishni va boshqa forumlardan so'rovlarni yig'ishni davom ettirishni taklif qilaman. Yaxshiyamki, bizda so'rov bo'yicha Google ochiladi. 2006-2008, Oddiy mashinalar MChJ. Biz qidiruv natijalaridan olamiz, masalan, ushbu forumlar: http://www.snowlinks.ru/forum/index.php?topic=1062.0 va http://litputnik.ru/forum/index.php?action=printpage ;mavzu=380.0 pastki kolontiterlarda biz ulardan quyidagi soʻrovlarni olamiz: “Powered by SMF 1.1.7” va “Powered by SMF 1.1.10” (Hrefer uchun soʻrovlarni har doim qoʻshtirnoq ichida kiritishni tavsiya qilaman, chunki bizga birinchi navbatda sifat kerak. hammasi). O'ylaymanki, biz nima qilayotganimiz aniq, oxirida biz SMF dvigatelida forumlarni qidirish uchun ma'lum ma'lumotlar bazasiga ega bo'lamiz (u misol sifatida tanlangan, boshqa dvigatellarda ham xuddi shunday).
Bu shunday ko'rinadi:

"SMF 1.1.2 tomonidan quvvatlanadi"

"SMF 1.1.3 tomonidan quvvatlanadi"

"SMF 1.1 RC2 tomonidan quvvatlanadi"

"SMF 1.1.4 tomonidan quvvatlanadi"

"SMF 1.1.8 tomonidan quvvatlanadi"

"SMF 1.1.7 tomonidan quvvatlanadi"

"2006-2008, Simple Machines MChJ"

Va bu hammasi emas. Dvigatel versiyalarini yig'ishda, ba'zi SMF forumlarida biz altbilgida "2001-2006, Lewis Media" sarlavhasini topamiz. Biz ushbu so'rovni tekshirmoqdamiz, u ham bizni to'liq qondiradi. Biz shunga o'xshash so'rovni topamiz: "2001-2005, Lyuis Media". Altbilgilarni ko'rib chiqsak, biz quyidagi so'rovni topamiz: "SMFone dizayni A.M.A, SMF 1.1 ga o'tkazildi". Biz tekshiramiz - ajoyib. Va hokazo. Yarim soatlik ish va sizda dvigatel uchun so'rovlarning ajoyib ma'lumotlar bazasi mavjud va Google sizni ushbu so'rovlar uchun operatorlardan foydalanganingizdan ko'ra kamroq taqiqlaydi. Va shu bilan birga, sizning ma'lumotlar bazangiz "index.php?topic=" kabi so'rovlardan foydalanganingizdan ko'ra ancha toza bo'ladi, chunki bu erda Google nafaqat bizga kerak bo'lgan forumlarni, balki iloji bo'lgan ko'plab chap qanot resurslarini ham beradi. forum mavzusiga havola qoldiring. E'tiroz bildirishingiz mumkin, buning nimasi yomon? Boshqalar havola qoldirdi, shuning uchun biz ham qila olamiz. Lekin! Havolalar nafaqat Khrumer, balki boshqa dasturlar tomonidan ham qoldirilishi mumkin. Bundan tashqari, ular yuqori darajada ixtisoslashgan dasturiy ta'minot deb ataladigan ma'lum bir manbaga sharh qoldirish uchun maxsus moslashtirilgan bo'lishi mumkin, shuningdek, bunday havolalarni qo'lda qoldirish mumkin. Yana takror aytaman, biz uchun axlat miqdori emas, balki biz kerakli so'rovlar bilan ma'lumotlar bazasini to'playmiz; Ushbu usulning afzalligi shundaki, siz deyarli sozlashingiz shart emas elak - filtr , siz uni shunchaki o'chirib qo'yishingiz mumkin, chunki Google sizga deyarli axlat bermaydi.


O'ylaymanki, dastlabki bosqichda Hrumerdan to'g'ri foydalanishni o'rganish juda muhim, chunki buni o'rganganingizdan so'ng, vaziyat qanday o'zgarishidan qat'i nazar, har doim Hrumerdan foydalanishni topishingiz mumkin. Himoyalar yanada murakkablashmoqda va agar ba'zi turdagi dvigatellarda himoya kuchaytirilgan bo'lsa va u bilan bardosh bera olmasa. hozirgi paytda Xrumer, bu havolalarni yig'ish uchun resurslarni sarflashning ma'nosi yo'q va keyin Xrumer bilan ular ustida ishlash, energiyani natija beradigan narsaga jamlash yaxshiroqdir. Va shu bilan birga, agar Botmaster Labs jamoasi Khroomerga yangi narsalarni o'rgatgan bo'lsa, siz tezda yangi bemorni ajratib olishingiz va bemor hali ham issiq bo'lganda Khroomer uchun bazani tayyorlashingiz mumkin. Vaqt - bu pul; siz bazani sotib olganingizda resurs endi ahamiyatsiz bo'lishi mumkin. kimdir tomonidan yig'ilgan. Bundan tashqari, o'zingiz uchun asoslarni to'g'ri yig'ish Xrumerdan "oq" foydalanishni sezilarli darajada kengaytiradi. Va aynan shu erda hamma narsa harakat qiladi, biz xohlaymizmi yoki yo'qmi, va oqartirish yoki oqartirish jarayoni davom etmoqda. Qora choyshablar har tomonlama o'tmishdagi narsaga aylanib bormoqda.
Hrefer bilan ishlashning boshqa barcha texnik jihatlari yordamda ko'rib chiqilishi mumkin va ularga to'xtalib o'tishning ma'nosi yo'q, barcha maqsadlar, nuqtalar, soniyalar har bir mashina uchun alohida-alohida o'rnatiladi.
Bonus sifatida men bu erda Xitoyning Baidu qidiruv tizimini tahlil qilish uchun shablonni joylashtiraman, boshqa kuni ular mendan bu haqda so'rashdi, shuning uchun men buni tasodifiy qildim, so'zni kechiraman. :)


Xost nomi=http://www.baidu.com
Query=s?wd=
LinksMask=
Jami sahifalar=100
Keyingi sahifa=

Keyingi sahifa2=

CaptchaURL=
CaptchaImage=
CaptchaField=


Men ularni sinashga harakat qildim, hech qanday taqiq yo'q edi, Khrefer tezda resurslarni to'pladi, tahlil qilish uchun barcha so'rovlar Google-ga o'xshash edi, ammo Xitoyning ko'plab resurslari bor edi, yuqori PR bilan, va bundan tashqari, ko'p joylar bor edi. Yevropa hech qachon oyoq bosgan edi. Xitoy so'rovlarini tahlil qilish yaxshiroqdir. Bunda Google translate yordam beradi, rus tilidagi kalit so'zlar ro'yxatini kiriting va uni xitoy tiliga tarjima qiling. Haqiqat " So'zlar“Xitoy tilidagi soʻzlarni qoʻshib boʻlmaydi, ularni qayta kodlash kerak.
Xitoy o'rniga:

mín - Viagra

mín - gitara

mín - dam olish

chàngàng - sugʻurta

Ushbu almashtirish kodlarini Words fayliga qo'ying:

%E4%BC%9F%E5%93%A5

%E5%90%89%E4%BB%96

%E5%85%B6%E4%BB%96

%E4%BF%9D%E9%99%A9%E5%85%AC%E5%8F%B8

Agar siz sug'urta veb-saytini targ'ib qilsangiz, profilingizga havolani so'rov bo'yicha topilgan tematik (!) hatto Xitoy forumiga qo'ying " SMF forumi" juda yaxshi bo'ladi.
Xulosa qilib shuni aytmoqchimanki, men bunga javoban Khrefers yomon yoki yomon pishirilganidan shikoyat qilgan odamlarni hech qachon tushunmaganman, men har doim aytmoqchi edim, siz ularni qanday pishirishni bilmaysiz; Hech bir tahlilchi so'rovlar to'g'ri bo'lishi kerak. Hrefer - bu mashina: yaxshi, mustahkam, nemis tilida ishlab chiqarilgan, lekin u odam tomonidan boshqariladi va barchasi uning qanchalik yaxshi boshqarilishiga bog'liq, siz mashinani bir vaqtning o'zida ham o'ngga, ham chapga haydashga majbur qila olmaysiz;
Alohida mavzu - ma'lumotlar bazalarini tozalash, men buni 3 yil oldin oldingi tanlov uchun qilganman. Ko'pincha, u erda hamma narsa hali ham dolzarbdir, lekin endi siz 200 OKni tekshirishdan bosh tortishingiz mumkin, menga bu jarayon juda yoqmadi, juda katta xatolar bor edi, juda ko'p keraksiz narsalar filtrlangan. Endi bu Xrumerning ishlashi paytida deyarli avtomatik ravishda amalga oshirilishi mumkin, garchi bu jarayon "200 OK" ni tekshirishning to'liq analogi emas. Yaxshiyamki, gap: yaqinda Xrumerda ajoyib imkoniyat paydo bo'ldi - loyihani amalga oshirish vaqtida resurslardan ma'lumotni o'g'irlash. Bu shunday ko'rinadi. Siz ish paytida qayta ishlanadigan shablonni kiritasiz va shablondan to'plangan ma'lumotlar Jurnallar papkasidagi xgrabbed.txt fayliga kiritiladi. Siz ushbu funktsiyadan har qanday narsa uchun foydalanishingiz mumkin, tasavvurning parvozi juda katta. Men bu funksiyadan haftada bir marta ishlayotgan "muddati o'tgan" ma'lumotlar bazasidan havolalarni olib tashlash uchun foydalanaman. Hech kimga sir emaski, bizning ma'lumotlar bazamizni bunday resurslardan tozalash uchun har kuni forumlar yo'q bo'lib ketadi va "Avtograbbing" vositasi bu holatda bizga yordam beradi.
Axir, tan olishingiz kerakki, biz tez-tez yozganimizda, masalan, http://www.laptopace.com/index.php, biz bu domen allaqachon, masalan, pul sotadigan yaxshi yigit ekanligini ko'ramiz, lekin yo'q. u erda forum. Shunday qilib, bu cürufni bazadan tashlash uchun biz talon-taroj qilamiz. :) Sahifaning manba kodini oching va u erda ushbu yozuvni ko'ring:

laptopace.com
Qabul qilish uchun biz uni aylantiramiz
[...]

Endi goudaddidagi barcha "o'liklar" bizga nomlari bilan ma'lum bo'ladi.
Agar siz turli xil "muddati o'tgan" domenlar ma'lumotlar bazasini tozalashni istasangiz, Autograbbing vositasi uchun kichik tanlov:


[...]

[...]
[...]
[...]

[...]
Bu domen sotilishi mumkin. [...]Ushbu domenni sotib oling

[...]<body bgcolor="#ffffff" text="#000000"> </span><br>Ro'yxat to'liq emas, lekin menimcha, bu sizga ko'p million dollarlik axlat ma'lumotlar bazalarini bir necha marta ishlatishdan qochishingizga yordam beradi. Shablonni yaratish qiyin emas, faqat muddati o'tgan havolani oching va shablon niqobini qiling. <br>Xuddi shu avtograbbingdan foydalanib, siz mavjud ma'lumotlar bazalaringizni tarashingiz va ularni resurslar bo'yicha saralashingiz mumkin, ularni dvigatellar bo'yicha saralash Khrumerning barcha imkoniyatlari va sozlamalaridan, xususan, o'quv jarayonidan optimal foydalanish imkonini beradi. Bundan tashqari, Autograbbing yordamida siz ma'lumotlar bazalaridan axlatni olib tashlashingiz mumkin, agar siz ularni Hrefer bilan emas, balki ularni turli xil fayl hosting xizmatlaridan yuklab olishni xohlasangiz. Buni amalga oshirish uchun siz forumlarni tanlash uchun niqob yasashingiz va keyin ma'lumotlar bazasidan faqat niqob tutgan narsalarni to'plashingiz yoki aksincha, forum bo'lmaganlar uchun niqob yasashingiz va keyin tutilgan narsalarni o'chirishingiz kerak. Birinchi variant yanada mantiqiy va ishonchli, chunki biz nimani izlash kerakligini aniq bilamiz. <br>Ishlaringizga omad. <br>PySy. Men tor yoʻnaltirilgan video tayyorladim (bu bilan koʻp muammoga duch keldim, buni birinchi marta qildim :)), garchi men Hreferni ishga tushirdim. <a href="https://jolly-me.ru/uz/windows-10/russkoyazychnaya-dokumentaciya-po-ubuntu-ustanovka-virtualnoi-mashiny-qemu-kvm-na/">uy mashinasi</a>, tarmoq tezligi juda yaxshi emas, menda bu erda faqat testlar uchun nusxalar bor, shuning uchun ish tezligi uchun meni ayblamang. :) <br><p><span class="BlWV-EuxoOk"></span></p> <h4>16 ta fikr:</h4> <p>izohlar...</p><p>Kalit so'zlarni tanlash uchun qaysi dasturdan foydalangansiz?</p> Serj Glazko sharhlaydi... <p>Agar men tematik resurslarni to'plashim kerak bo'lsa, men qo'lda va AdWords orqali Words-dagi so'zlarni tanlayman. lekin ko'p mavzular uchun men uchun so'zlar allaqachon tanlangan, bu erda men faqat ba'zi so'zlarni qo'shishim yoki olib tashlashim mumkin, lekin avtomatik ravishda emas, balki barchasini ko'rib chiqing.</p> <p>Salom, aziz blog o'quvchilari. Shunday qilib, biz bu haqda postda boshlagan SMF deb nomlangan forum mexanizmini o'rnatish mavzusini davom ettiramiz. U erda biz forumni inglizcha interfeysdan tarjima qilish nuqtai nazaridan hali rus tiliga aylantirmadik. Ayni paytda u juda ko'rinadigan ko'rinmaydi, lekin ruslashtirishdan keyin (agar u hali amalga oshirilmagan bo'lsa) va tegishli bo'limlar yaratilgandan so'ng, uning ko'rinishi sezilarli darajada yaxshilanadi.</p><p>Bugun biz dizayn mavzularini ko'rib chiqamiz va uni rus tiliga aylantiramiz, shuningdek, ikkala dvigatel (Jumla va SMF) bilan ishlay oladigan JFusion komponentini o'rnatamiz, bu sizga ega bo'lish imkonini beradi. <a href="https://jolly-me.ru/uz/prilozheniya-i-po/chto-mozhno-sdelat-s-pomoshchyu-tranzistora-kak-rabotaet-tranzistor-vklyuchenie/">umumiy asos</a> foydalanuvchilar ro'yxatdan o'tish va kirish uchun ikkita va faqat bitta shakl.</p><h2>Rus tili to'plami mavzular va o'rnatish</h2><p>Oddiy dvigatel <a href="https://jolly-me.ru/uz/prilozheniya-i-po/pervye-shagi-v-poiskovoi-optimizacii-simple-machines-forum-udalyaem-kopirait/">Mashina forumi</a> mavzularni o'zgartirish qobiliyatini qo'llab-quvvatlaydi va ular butun forum uchun ham, xususan uning alohida bo'limlari uchun ham o'zgartirilishi mumkin. Shaxsan men standart mavzudan foydalandim, lekin unga qo'lda juda ko'p o'zgarishlar kiritdim. Xususan, men fonni, ba'zi elementlarning ranglarini o'zgartirdim, flesh-diskga soat, radio va boshqa ko'p narsalarni qo'shdim, bu haqda men ushbu bo'limdagi keyingi xabarlarda gaplashaman.</p><p>Nega forumni yaratishda qo'shimcha mavzulardan foydalanmadim? Mayli, hammasi mening dangasaligim bilan bog‘liqdir. Yo'q, men yangi mavzularni qidirish va yuklab olish uchun dangasa emas edim, xayriyatki, buni amalga oshirish mumkin bo'lgan joylar ko'p. Mening dangasaligim boshqa joyda.</p><p>Gap shundaki, ushbu dvigatel uchun uning imkoniyatlarini kengaytirish uchun mo'ljallangan barcha xilma-xil modlar, ayniqsa, standart mavzuga qaratilgan. Keling, tushuntiraman. Agar sizda standart mavzu bo'lsa, SMF-ga ma'lum bir mod qo'shish bir necha soniya ichida amalga oshiriladi va qoida tariqasida kodni qo'lda tahrirlashni talab qilmaydi.</p><p>Agar siz standartdan farqli dizayn mavzusiga ega modni o'rnatsangiz, ular aytganidek, barcha xom qismlarni fayl bilan qayta ishlashingiz kerak bo'ladi. Boshqacha qilib aytganda, siz FileZilla-dan foydalanishingiz kerak bo'ladi (uni yuklab oling va sozlang; siz saytga quyidagi yordamida kirishingiz mumkin <a href="https://jolly-me.ru/uz/windows-vista/protokol-ftp-protokol-ftp-chto-eto-takoe-dlya-chego-ispolzuyut-setevoi/">FTP protokoli</a> va ushbu mod o'zgartirishlar kiritadigan forum dvigatelingiz fayllarini tahrirlash uchun oching.</p><p>Keyin kodda kerakli joyni qidiring va ishlab chiqaring <a href="https://jolly-me.ru/uz/sistema/pochemu-chelovek-bet-drugih-tokom-kak-snyat-staticheskoe/">zarur harakatlar</a>: kodni almashtirish yoki o'chirish yoki kerakli bo'lakdan oldin yoki keyin kod qismini qo'shish. Agar o'zgartirishlar kiritilishi kerak bo'lgan o'nga yaqin fayl bo'lishi mumkinligini hisobga olsangiz, buni qilish qanchalik qiyin bo'lishini tasavvur qilishingiz mumkin. Bunday holatda siz juda ehtiyot bo'lishingiz va xato qilmasligingiz kerak, chunki aks holda forum umuman ochilmasligi mumkin.</p><p>Agar standart bo'lmagan mavzudan foydalanishning yuqoridagi barcha muammolari sizni qo'rqitmasa, ularni shu yerdan yuklab olishingiz mumkin. U erdagi mavzular bo'limlarga ajratilgan (minimalizm, klassikaga yaqin, zamonaviy va boshqalar) va ularning har biri uchun to'liq ekranda uning skrinshotini ko'rishingiz mumkin. Men sizga bir xil mavzularni qanday o'rnatishni birozdan keyin aytib beraman.</p><p>Agar siz ushbu asarning birinchi qismida tavsiflanganidek, dvigatel fayllarini hostingga yuklash bosqichida forumni ruslashtirmagan bo'lsangiz (maqolaning boshida havolaga qarang), unda siz buni hozir qilishingiz mumkin. Ilgari ushbu sahifadan yuklab olingan rus tilidagi kerakli to'plamni ochish kerak va keyin "Mavzular" papkasini ildiz papkasiga ko'chirish kerak, u erda allaqachon xuddi shu nomdagi katalog mavjud.</p><p>Nusxalash tugallangach, administrator foydalanuvchi nomi va parolidan foydalanib forumga kirishingiz kerak. Yuqori menyuda "Administrator" ni tanlang va chap ustundagi "Server sozlamalari" ni bosing.</p><p>Ochilgan oynada "Standart forum tili" bandini toping va ochiladigan ro'yxatdan rus tilini tanlang, so'ngra sahifaning pastki qismidagi "Saqlash" tugmasini bosing.</p><p><img src='https://i0.wp.com/ktonanovenkogo.ru/image/16.092.png' width="100%" loading=lazy loading=lazy></p><p>Bo‘ldi, endi konferensiyangiz butunlay rus tilida.</p><h3>Rus tilini qo'llab-quvvatlamaydigan modlarni o'rnatishda muammolarni hal qilish</h3><p>E'tibor bering, kelajakda SMF-ga rus tiliga tarjimasi bo'lmagan modlarni qo'shganda, ba'zida administrator panelida mod sozlamalarini ko'rsatishda muammo paydo bo'lishi mumkin. Aslida, xuddi shu sozlamalar administrator panelida ko'rinmaydi, chunki... ular uchun ruslashtirish fayllari bo'lmaydi. Shunday qilib, siz ushbu muammoni hal qilish uchun ikkita variantga ega bo'lasiz.</p><p>Birinchi usul - butun forum uchun ingliz tiliga o'tish. Buni qanday qilish mumkinligini yuqoridagi bir necha paragrafda ko'rishingiz mumkin. Shunga ko'ra, ushbu sozlamalar bilan kerakli harakatlarni bajarganingizdan so'ng, siz yana rus tiliga qaytishingiz kerak bo'ladi.</p><p>Ikkinchi usul murakkabroq, ammo bu bizga administrator panelida o'rnatilgan modlarning sozlamalarini faqat faollashtirilganda emas, balki har doim ko'rish imkonini beradi. <a href="https://jolly-me.ru/uz/zhelezo/programmy-po-angliiskomu-yazyku-dlya-android-prilozheniya-dlya-izucheniya/">Ingliz tili</a>. Men bu haqda batafsil to'xtalib o'tmoqchiman, chunki kimdir mod o'rnatgan va uning sozlamalarini o'z konferentsiyasining boshqaruv panelida topa olmayapti degan savol juda keng tarqalgan.</p><p>Shunday qilib, ikkinchi usul - yangi qo'shilgan modlar uchun ruslashtirish fayllariga tarjima satrlarini qo'shish. Qaysi rusifikatsiya fayllarini o'zgartirish kerakligini va ularni qaerdan olish kerakligini qanday aniqlashni keyinroq aytaman. Ayni paytda, vaqtinchalik, siz birinchi usuldan foydalanishingiz mumkin.</p><h2>Veb-sayt va forum integratsiyasi uchun JFusion o'rnatilmoqda</h2><p>Avval siz JFusion va uning rusifikatsiyasini yuklab olishingiz kerak bo'ladi. Joomla boshqaruv paneliga kirganingizdan so'ng, bajaring <a href="https://jolly-me.ru/uz/microsoft/d-link-dir-615-proshivka-bilain-nastroika-routera-d-link-bilain-podrobno-standartnaya/">standart harakatlar</a>: tanlang <a href="https://jolly-me.ru/uz/windows-10/modx-revo-sozdanie-menyu-izmenenie-verhnego-menyu-chto-takoe-wayfinder/">yuqori menyu</a> administrator paneli, "Kengaytmalar" - "O'rnatish/O'chirish" - "Paket faylini yuklab olish" - "Ko'rish" tugmasi - jfusion_package.zip komponenti bo'lgan faylni kompyuteringizda toping - "Faylni yuklab olish va o'rnatish" tugmasini bosing.</p><p>Shundan so'ng, komponent muvaffaqiyatli o'rnatilganligi haqida xabar beruvchi oyna paydo bo'ladi. Agar muammolar yuzaga kelsa, yuqorida keltirilgan havolada ularning ba'zilarining echimlari bilan tanishishingiz mumkin.</p><p>Endi ruslashtirish vaqti keldi, bu komponentning o'zi bilan bir xil tarzda qo'shiladi. Bular. harakatlar ketma-ketligini takrorlang: "Kengaytmalar" - "O'rnatish/O'chirish" - "Paket faylini yuklab olish" - "Ko'rish" tugmasi - kompyuteringizda JFusion Russification faylini toping - "Faylni yuklab olish va o'rnatish" tugmasini bosing. Endi biz "Komponentlar" - "JFusion" yo'li bo'ylab sozlamalarga o'tamiz va ruslashtirish muvaffaqiyatli qo'shilganiga va ishlayotganiga ishonch hosil qilishimiz mumkin.</p><p><img src='https://i2.wp.com/ktonanovenkogo.ru/image/16.093.png' width="100%" loading=lazy loading=lazy></p> <p>Sizga omad! Tez orada blog sayti sahifalarida ko'rishguncha</p><h3></h3><p>Sizni qiziqtirishi mumkin</p><p><img src='https://i2.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/nastroika-jfusion.jpg' width="100%" loading=lazy loading=lazy><span>SMF forumi va Joomla saytini birlashtirish uchun JFusion-ni sozlash</span> <br><img src='https://i0.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/moduli-jfusion.jpg' width="100%" loading=lazy loading=lazy><span>JFusion modullari forumdagi xabarlarni veb-saytda ko'rsatish, shuningdek, Joomla-ga qaytish uchun SMF-da tugma yaratish.</span> <br><img src='https://i0.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/forum-joomla.jpg' width="100%" loading=lazy loading=lazy><span>Forumga kirish uchun Joomla'da menyu elementini yaratish va foydalanuvchi ro'yxatini SMF dan saytga o'tkazish</span> <br><img src='https://i0.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/ustanovka-smf.jpg' width="100%" loading=lazy loading=lazy><span>SMF forumini o'rnatish - Joomla 1.5 va Simple Machines Forum yordamida birlashtirish <a href="https://jolly-me.ru/uz/windows-vista/temy-oformleniya-i-rusifikaciya-foruma-smf-a-tak-zhe-ustanovka/">JFusion komponenti</a> </span> <br><img src='https://i2.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/rasshireniya-joomla.jpg' width="100%" loading=lazy loading=lazy><span>Joomla uchun kengaytmalar - ular nima va Joomla uchun komponentlar, modullar va plaginlarni qaerdan yuklab olish, ularni qanday o'rnatish va olib tashlash</span> <br><img src='https://i0.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/k2-joomla.jpg' width="100%" loading=lazy loading=lazy><span>Joomla-da bloglar, kataloglar va portallar yaratish uchun K2 komponenti - xususiyatlar, o'rnatish va ruslashtirish</span> <span>Joomla uchun foto galereya - 3-qism - Phoca Gallery komponenti yordamida Joomla 1.5 da galereyalar yaratish - toifalar qo'shish va rasmlarni foto galereyaga yuklash</span> <br><img src='https://i2.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/artio-joomsef.jpg' width="100%" loading=lazy loading=lazy><span>ARTIO JoomSEF - Joomla'da CNC (SEF) havolalarini va sarlavhasini o'rnatish, shuningdek, ushbu kengaytmadan foydalangan holda 404 xato sahifasini yaratish</span> <br><img src='https://i0.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/joomlapack.jpg' width="100%" loading=lazy loading=lazy><span>Akeeba Backup (sobiq JoomlaPack) - Joomla-da saytning zaxira nusxasini yaratish va uni qayta tiklash. <a href="https://jolly-me.ru/uz/microsoft/kak-vosstanovit-imei-na-android-posle-proshivki-telefona/">zaxira nusxasi</a> ikki marta bosish bilan</p> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> </div> </div> </div> <div class="td-pb-span4 td-main-sidebar" role="complementary"> <div class="td-ss-main-sidebar"> </div> </div> </div> </div> </article> <script type="text/javascript"> try { var sbmt = document.getElementById('submit'), npt = document.createElement('input'), d = new Date(), __ksinit = function() { sbmt.parentNode.insertBefore(npt, sbmt); }; npt.value = d.getUTCDate() + '' + (d.getUTCMonth() + 1) + 'uniq9065'; npt.name = 'ksbn_code'; npt.type = 'hidden'; sbmt.onmousedown = __ksinit; sbmt.onkeypress = __ksinit; } catch (e) {} </script> <div class="td-sub-footer-container td-container-wrap "> <div class="td-container "> <div class="td-pb-row "> <div class="td-pb-span td-sub-footer-menu "></div> <div class="td-pb-span td-sub-footer-copy ">2024 jolly-me.ru. Operatsion tizimlarni sozlash va optimallashtirish</div> </div> </div> </div> </div> <script data-cfasync="false" type="text/javascript"> if (window.addthis_product === undefined) { window.addthis_product = "wpwt"; } if (window.wp_product_version === undefined) { window.wp_product_version = "wpwt-3.1.2"; } if (window.wp_blog_version === undefined) { window.wp_blog_version = "4.9.1"; } if (window.addthis_share === undefined) { window.addthis_share = {}; } if (window.addthis_config === undefined) { window.addthis_config = { "data_track_clickback": true, "ui_language": "ru", "ui_atversion": "300" }; } if (window.addthis_plugin_info === undefined) { window.addthis_plugin_info = { "info_status": "enabled", "cms_name": "WordPress", "plugin_name": "Website Tools by AddThis", "plugin_version": "3.1.2", "plugin_mode": "AddThis", "anonymous_profile_id": "wp-f2d21fd70bfc0c32605b4e5e1e4ff912", "page_info": { "template": "posts", "post_type": "" }, "sharing_enabled_on_post_via_metabox": false }; } (function() { var first_load_interval_id = setInterval(function() { if (typeof window.addthis !== 'undefined') { window.clearInterval(first_load_interval_id); if (typeof window.addthis_layers !== 'undefined' && Object.getOwnPropertyNames(window.addthis_layers).length > 0) { window.addthis.layers(window.addthis_layers); } if (Array.isArray(window.addthis_layers_tools)) { for (i = 0; i < window.addthis_layers_tools.length; i++) { window.addthis.layers(window.addthis_layers_tools[i]); } } } }, 1000) }()); </script> <script type='text/javascript'> var tocplus = { "smooth_scroll": "1", "visibility_show": "\u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c", "visibility_hide": "\u0441\u043a\u0440\u044b\u0442\u044c", "width": "Auto" }; </script> <script type='text/javascript' src='https://jolly-me.ru/wp-content/plugins/disqus-comment-system/media/js/disqus.js?ver=bbebb9a04042e1d7d3625bab0b5e9e4f'></script> <script> (function() { var html_jquery_obj = jQuery('html'); if (html_jquery_obj.length && (html_jquery_obj.is('.ie8') || html_jquery_obj.is('.ie9'))) { var path = '/wp-content/themes/Newspaper/style.css'; jQuery.get(path, function(data) { var str_split_separator = '#td_css_split_separator'; var arr_splits = data.split(str_split_separator); var arr_length = arr_splits.length; if (arr_length > 1) { var dir_path = '/wp-content/themes/Newspaper'; var splited_css = ''; for (var i = 0; i < arr_length; i++) { if (i > 0) { arr_splits[i] = str_split_separator + ' ' + arr_splits[i]; } //jQuery('head').append('<style>' + arr_splits[i] + '</style>'); var formated_str = arr_splits[i].replace(/\surl\(\'(?!data\:)/gi, function regex_function(str) { return ' url(\'' + dir_path + '/' + str.replace(/url\(\'/gi, '').replace(/^\s+|\s+$/gm, ''); }); splited_css += "<style>" + formated_str + "</style>"; } var td_theme_css = jQuery('link#td-theme-css'); if (td_theme_css.length) { td_theme_css.after(splited_css); } } }); } })(); </script> <div id="tdw-css-writer" style="display: none" class="tdw-drag-dialog tdc-window-sidebar"> <header> <a title="muharrir" class="tdw-tab tdc-tab-active" href="#" data-tab-content="tdw-tab-editor">Live CSS yordamida tahrirlash</a> <div class="tdw-less-info" title="CSS va LESS-da xatolar aniqlanganda bu qizil rangda bo'ladi"></div> </header> <div class="tdw-content"> <div class="tdw-tabs-content tdw-tab-editor tdc-tab-content-active"> <script> (function(jQuery, undefined) { jQuery(window).ready(function() { if ('undefined' !== typeof tdcAdminIFrameUI) { var $liveIframe = tdcAdminIFrameUI.getLiveIframe(); if ($liveIframe.length) { $liveIframe.load(function() { $liveIframe.contents().find('body').append('<textarea class="tdw-css-writer-editor" style="display: none"></textarea>'); }); } } }); })(jQuery); </script> <textarea class="tdw-css-writer-editor td_live_css_uid_1_5a5dc1e76f1d6"></textarea> <div id="td_live_css_uid_1_5a5dc1e76f1d6" class="td-code-editor"></div> <script> jQuery(window).load(function() { if ('undefined' !== typeof tdLiveCssInject) { tdLiveCssInject.init(); var editor_textarea = jQuery('.td_live_css_uid_1_5a5dc1e76f1d6'); var languageTools = ace.require("ace/ext/language_tools"); var tdcCompleter = { getCompletions: function(editor, session, pos, prefix, callback) { if (prefix.length === 0) { callback(null, []); return } if ('undefined' !== typeof tdcAdminIFrameUI) { var data = { error: undefined, getShortcode: '' }; tdcIFrameData.getShortcodeFromData(data); if (!_.isUndefined(data.error)) { tdcDebug.log(data.error); } if (!_.isUndefined(data.getShortcode)) { var regex = /el_class=\"([A-Za-z0-9_-]*\s*)+\"/g, results = data.getShortcode.match(regex); var elClasses = {}; for (var i = 0; i < results.length; i++) { var currentClasses = results[i] .replace('el_class="', '') .replace('"', '') .split(' '); for (var j = 0; j < currentClasses.length; j++) { if (_.isUndefined(elClasses[currentClasses[j]])) { elClasses[currentClasses[j]] = ''; } } } var arrElClasses = []; for (var prop in elClasses) { arrElClasses.push(prop); } callback(null, arrElClasses.map(function(item) { return { name: item, value: item, meta: 'in_page' } })); } } } }; languageTools.addCompleter(tdcCompleter); window.editor = ace.edit("td_live_css_uid_1_5a5dc1e76f1d6"); // 'change' handler is written as function because it's called by tdc_on_add_css_live_components (of wp_footer hook) // We did it to reattach the existing compiled css to the new content received from server. window.editorChangeHandler = function() { //tdwState.lessWasEdited = true; window.onbeforeunload = function() { if (tdwState.lessWasEdited) { return "You have attempted to leave this page. Are you sure?"; } return false; }; var editorValue = editor.getSession().getValue(); editor_textarea.val(editorValue); if ('undefined' !== typeof tdcAdminIFrameUI) { tdcAdminIFrameUI.getLiveIframe().contents().find('.tdw-css-writer-editor:first').val(editorValue); // Mark the content as modified // This is important for showing info when composer closes tdcMain.setContentModified(); } tdLiveCssInject.less(); }; editor.getSession().setValue(editor_textarea.val()); editor.getSession().on('change', editorChangeHandler); editor.setTheme("ace/theme/textmate"); editor.setShowPrintMargin(false); editor.getSession().setMode("ace/mode/less"); editor.setOptions({ enableBasicAutocompletion: true, enableSnippets: true, enableLiveAutocompletion: false }); } }); </script> </div> </div> <footer> <a href="#" class="tdw-save-css">Saqlash</a> <div class="tdw-more-info-text">CSS yoki kamroq yozing va saqlash tugmasini bosing. Avtomatik to'ldirish uchun CTRL + SPACE.</div> <div class="tdw-resize"></div> </footer> </div> <script type="text/javascript" defer src="https://jolly-me.ru/wp-content/cache/autoptimize/js/autoptimize_d85127d8732b44d62e81e0455b3d3cb7.js"></script> </body> </html>