Visi žino, kad aš tiesiog negaliu gyventi be Joomla, bet, mano nuomone, geras forumas komponentuose, Nr. Štai kodėl aš dirbu su forumo varikliais. Vienas iš naujų, kuriuos neseniai pradėjau naudoti, yra naujos SMF kategorijos pradžia, tikiuosi, su ja naudinga medžiaga. Pradedame nuo mažų, na, kaip pradedantiesiems labai naudinga.

Pirmieji žingsniai paieškos sistemos optimizavimas Paprastų mašinų forumas: pašalinkite autorių teises ir išorines nuorodas

Iš karto padarysiu išlygą, kad dirbu tik su smf 2, ir šiame straipsnyje bus konkrečiai kalbama apie šią nemokamo forumo variklio versiją.

Taigi, nuolatiniai skaitytojai žino, kaip aš nemėgstu dėti „10“ išorinių nuorodų į oficialias variklių svetaines, įskaitant forumus. Štai kodėl pirmiausia pašaliname autorių teises ir net 4, atkreipkite dėmesį į 4 išorines formos nuorodas “ SMF 2.0.2 | Paprastos mašinos | SMF © 2011 | XHTML" ! Norėdami tai padaryti, prisijunkite prie svetainės per FTP forumą/Temas/ jūsų temos pavadinimas/ ir redaguoti failą index.template.php. Natūralu, kad pačioje apačioje yra kodas (apie 330 eilutę), kuris rodo išorines nuorodas, kurios mums taip nepatinka. Todėl pašaliname: "

  • ", theme_copyright(), "
  • "ir"
  • ", $txt["xhtml"], "
  • ". Viskas taip paprasta ir lengva. Kituose leidiniuose laukite naujos medžiagos apie forumų reklamavimą ir optimizavimą SMF /

    Organizuoja Botmaster Labs, neplanuojama. Nėra laiko, video reikalingas konkursui, kaip nauja tendencija, nors su gerais ekrano vaizdais lengviau viską paaiškinti (mano IMHO), o filmuoti nieko nelabai noriu. Pelningų temų liko labai mažai, kvailas spamas jau visai nebevaldo, čia reikia pagalvoti ir niekas tos temos nenušaus, jei tik pasenę bandys įkišti į gražų įvyniojimą ir truputį pudruoti. :) Bet čia ne apie mus. Apskritai šie 3 „ne“, manau, daugumai potencialių dalyvių iš esmės tapo kliūtimis dalyvauti konkurse. Tai kaip su automobilio remontu iš trijų: pigus, kokybiškas, greitas - servise vienu metu gali įvykdyti tik 2 sąlygas. sėsk ir išsirink tai, kas tau arčiau. :) Su konkursu yra tas pats: turiu laiko, galiu filmuoti, bet nėra temos, arba galiu filmuoti, turiu temą, bet visai neturiu laiko arba yra laisvas laikas ir yra maža tema, bet video gąsdina. Bet gerai, jei vienu metu tenkinamos 2 sąlygos. Gerai, palikime dainų tekstus. Aš tęsiu sau. Neplanavau, tad dalyvausiu konkurse, net pasirinkau už kurį straipsnį balsuosiu. Sakyk, kas tau patinka, bet Dozas puikiai išmano programinę įrangą ir moka ja naudotis labai protingai. Bet šiandien sužinojau, kad konkurse atsirado intriga. Pasirodo, aš negalėsiu balsuoti, bet tai gali padaryti tik pradedantieji, kurie programinę įrangą įsigijo 2011 m. ir jiems skirtas konkursas. Truputį nustebau, bet šeimininkas džentelmenas. Konkursas yra reklaminė kampanija ir Aleksandras geriau žino, kaip ją vykdyti. Apskritai nusprendžiau tada paskelbti straipsnį, šiek tiek lengviau rašyti, kai aišku, kam, tiesą sakant, to neįmanoma padaryti visam kolūkiui.
    Ilga įžanga baigėsi, dabar prie esmės.
    Ko reikia pradedančiajam, įsigijus tokį superkombainą, kuris yra Xrumer + Hrefer kompleksas? Teisingai, išmokite dirbti ir atsisakykite iliuzijos, kad pradėję siųsti šlamšto lapus galite užsidirbti pinigų. Jei taip manote, nedelsdami paaukokite savo pinigus labdarai. Turite išmokti naudotis komplekso įrankiais, geriausia pagaląsti patiems. Laikas „imti daugiau – daugiau mesti“ baigėsi. Kiekybė užleidžia vietą kokybei. Taigi bazę rinksime sau, nemokyk to daryti – atsiliksi nuo traukinio. Žinoma, Khrefer mums tai padės. Jei planuojate reklamuoti savo išteklius „Google“, taip pat turime ieškoti donorų svetainių per „Google“. Manau, kad tai suprantama ir logiška. Tačiau Google, kaip vario kalno šeimininkė, savo turtus atiduoda ne kiekvienam. Tam reikia požiūrio. Iš karto noriu pasakyti, kad nesitikėk, kad pagal viešumoje aptiktus ženklus pavyks ką nors surinkti. Štai kodėl jie yra prieinami viešai, nes yra beverčiai. Toliau temos neplėtosiu. Geriau pasakyti, kaip teisingai surinkti, kad pamatytumėte rezultatą, o visa kita užbaigsite patys, svarbiausia suprasti principą. Reikia rinkti pagal teisingą pagal mums reikalingų konkrečių variklių ženklus, o ne į forumus apskritai. tai pagrindinė klaida pradedantiesiems - nesikoncentruokite į konkretų, o stenkitės viską aprėpti kaip visumą. Ir vis dėlto, jei norite išanalizuoti daugiau ar mažiau įprastą bazę, atsisakykite užklausose naudoti operatorių. Nėra „inurl:“, „site:“, „title“ ir kt. „Google“ iš karto uždraus tokius ieškančius kaip jūs. Todėl atidžiai tyrinėjame variklius, su kuriais Šis momentas Hrumerio darbai:

    Naudojama php-Fusion

    „Chrumer“ 7.07 versijoje programa buvo apmokyta naudojant kelis naujus variklius:

    forumi.biz, forumb.biz, 1forum.biz, 7forum.biz ir kt.

    phpBB-fr.com, Solaris phpBB tema

    O naujų dalykų mokymosi procesas vyksta nuolat.
    Apskritai turime paruošti teisingas užklausas, kurias Khrefer analizuotų. Paimkime forumą dizhok kaip pavyzdį. SMF forumai. Ir mes pradėsime jį išardyti į dalis, kad galėtume analizuoti. Mūsų mylima „Google“ mums padės tai padaryti. „Google“ užklausos įvedimas SMF forumai- leidime daug šiukšlių, atsukite į kokį 13 puslapį ir pasirinkite bet kurią nuorodą. Aš aptikau šį: http://www.volcanohost.com/forum/index.php?topic=11.0. Atidarykime jį ir pažiūrėkime. Puslapyje turime rasti kažką būdingo, ką būtų galima pritaikyti ieškant kitų šio variklio puslapių. Poraštėje pastebime tokį užrašą Veikia SMF 1.1.14, mes jį cituojame ir įvedame į Google, tai rodo, kad šiai užklausai ji žino apie 59 milijonus variantų. Perskaitome nuorodas, prie šio raktinio žodžio pridedame dar keletą parinkčių, pvz. "Maitina SMF 1.1.14" tuopa arba Parengta naudojant SMF 1.1.14 viagra. Esame įsitikinę, kad prašymas yra prašmatnus, išduodamas tik forumuose ir beveik jokių šiukšlių jums.

    Be to, mus domina ne kiekybė, o kokybė, kaip sakiau aukščiau. Pirmyn. Iš to paties forumo paimame kitą poraštės frazę: , taip pat cituokite jį ir pateikite „Google“. Atsakydamas jis atskleidžia, kad žino daugiau nei 13 mln. Vėlgi, perskaitome išvestį, pridedame papildomų žodžių ir su jais patikriname išvestį. Užtikriname, kad užklausa būtų puiki, o šiukšlių taip pat beveik nėra. Apskritai jau yra 2 geležiniai prašymai. Pirmąjį forumą siūlau kol kas palikti ramybėje ir toliau rinkti užklausas iš kitų forumų. Laimei, „Google“ yra atidaryta paprašius 2006-2008 Simple Machines LLC. Iš problemos paimame, pavyzdžiui, šiuos forumus: http://www.snowlinks.ru/forum/index.php?topic=1062.0 ir http://litputnik.ru/forum/index.php?action=printpage; topic=380.0 poraštėse paimame iš jų tokias užklausas: "Powered by SMF 1.1.7" ir "Powered by SMF 1.1.10" (Visada patariu pateikti užklausas Khrefer kabutėse, nes mums pirmiausia reikia kokybės visi). Manau, aišku, ką darome, galų gale turėsime tam tikrą užklausų duomenų bazę, skirtą SMF variklio forumų paieškai (jis buvo pasirinktas kaip pavyzdys, su kitais varikliais jis panašus).
    Tai atrodys maždaug taip:

    Veikia SMF 1.1.2

    Veikia SMF 1.1.3

    Maitinamas SMF 1.1 RC2

    Veikia SMF 1.1.4

    Veikia SMF 1.1.8

    Veikia SMF 1.1.7

    "2006-2008, Simple Machines LLC"

    Ir tai dar ne viskas. Renkant variklių versijas kai kurių SMF forumų poraštėje randame iškyšą „2001-2006, Lewis Media“. Mes patikriname šį prašymą, jis taip pat mus visiškai tenkina. Randame panašią užklausą: "2001-2005, Lewis Media". Vykdydami poraštes toliau randame tokią užklausą: „SMFone dizainas, sukurtas A.M.A, perkeltas į SMF 1.1“. Pažiūrėkite – puiku. Ir taip toliau. Pusvalandis darbo ir jūs turite nuostabią užklausų duomenų bazę variklyje, o šias užklausas Google uždraus daug rečiau nei tuo atveju, jei jose naudosite operatorius. Ir tuo pačiu jūsų duomenų bazė bus daug švaresnė nei naudojant tokias užklausas kaip "index.php?topic=", nes čia Google duos ne tik mums reikalingus forumus, bet ir daug paliktų resursų, kur buvo įmanoma palikite nuorodą į forumo temą. Galima ginčytis, sako, kas čia blogo? Kiti paliko nuorodą, todėl galime. Bet! Nuorodos gali palikti ne tik Hrumeris, bet ir kitos programos. be to, jas galima specialiai paryškinti komentarams palikti tam tikrame šaltinyje, vadinamojoje labai specializuotoje programinėje įrangoje, be to, tokias nuorodas galima palikti ranka. Dar kartą kartoju, mums svarbu ne šlamšto kiekis, o kokybė, vis tiek su tinkamais prašymais surinksime bazę. Pliusas šis metodas taip pat tuo, kad jums praktiškai nereikės konfigūruoti sietelis-filtras , jį galima tiesiog išjungti, nes Google šiukšlių praktiškai neduos.


    Manau, kad labai svarbu išmokti teisingai naudoti Chrefer pradiniame etape, nes tai išmokę visada galite rasti Chrumer panaudojimą, kad ir kaip keistųsi situacija. Apsauga tampa vis sudėtingesnė ir, jei kai kurių tipų varikliams jie sustiprino apsaugą ir negali su ja susidoroti Šis momentas Hrumeri, nėra prasmės leisti išteklius šioms nuorodoms rinkti, o tada dirbti su jais kaip Hrumeri, geriau sutelkti dėmesį į tai, kas duoda rezultatą. Ir tuo pačiu metu, jei „Botmaster Labs“ komanda išmokė Chrumer ko nors naujo, galite greitai išpjaustyti naują pacientą ir paruošti Chrumerio bazę, kol pacientas dar šiltas. Laikas yra pinigai, resursas gali būti nebeaktualus perkant bazę. ką nors surinko. Be to, teisingas bazių rinkimas sau labai išplečia „baltą“ Khrumer naudojimą. Ir kaip tik čia viskas juda, norime to ar ne, bet vyksta balinimo ar papilkėjimo procesas. Juodi paklodės už viską, ką galite nukeliauti į praeitį.
    Visus kitus, jau techninius darbo su „Hrefer“ aspektus galima peržiūrėti žinyne ir nėra prasmės ties jais gilintis, visi tikslai-taškai-sekundės nustatomi empiriškai kiekvienam automobiliui atskirai.
    Kaip premiją čia paskelbsiu šabloną, skirtą Kinijos paieškos variklio Baidu analizei, kitą dieną manęs apie tai paklausė, todėl aš tai padariau tarp kartų, atsiprašau už kalambūrą. :)


    Prieglobos pavadinimas = http://www.baidu.com
    Query=s?wd=
    LinksMask =
    Iš viso puslapių = 100
    Kitas puslapis =

    Kitas puslapis2 =

    CaptchaURL=
    CaptchaImage=
    CaptchaField =


    Bandžiau juos bandyti išanalizuoti, draudimų nebuvo, Khrefer greitai rinko išteklius, visi prašymai analizuoti buvo panašūs į Google, bet buvo daug kiniškų išteklių, ir su dideliu PR, be to, buvo daug vietų kur europiečiai nebuvo įkėlę kojos. Geriau analizuoti su Kinijos užklausomis. „Google“ vertėjas padės tai padaryti, įveskite raktinių žodžių sąrašą rusų kalba ir išvers jį į kinų kalbą. Tiesa viduje žodžius„Chreferio žodžių negalima sujungti kinų kalba, jie turi būti perkoduoti.
    Vietoj kinų kalbos:

    伟哥 - viagra

    吉他 – gitara

    其他 – poilsis

    保险公司 – draudimas

    Įdėkite šiuos kodus į Words failą, kad juos pakeistumėte:

    %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

    Jei reklamuojate draudimo svetainę, tada paskelbdami nuorodą į savo profilį teminėje (!) net kinų forume rasite paprašius " forumas SMF" 保险公司 bus labai gerai.
    Apibendrinant norėčiau pasakyti, kad niekada nesupratau žmonių, kurie skundėsi, kad Khrefers yra blogi ar neanalizuojami, aš visada norėjau tai pasakyti, jūs tiesiog nežinote, kaip juos virti. Nė vienas analizatorius nėra geresnis už nukreipiantįjį, jis tiesiog turi būti teisingas. Hrefer yra automobilis: geras, tvirtas, pagamintas vokiškai, bet žmogus jį valdo ir viskas priklauso nuo to, kaip protingai jis vairuojamas, negalima priversti mašinos važiuoti į dešinę ir į kairę vienu metu.
    Atskira tema yra bazių valymas, aš kažkada prieš 3 metus ankstesniam konkursui. Iš daugiau ten viskas vis dar aktualu, bet dabar galite atsisakyti tikrinti, ar 200 OK, man tikrai nepatiko šis procesas, klaidos buvo labai didelės, buvo išfiltruota daug nereikalingų dalykų. Dabar tai galima padaryti beveik automatiškai Chrumerio darbo metu, nors šis procesas nėra visiškas „200 OK“ tikrinimo analogas. Apskritai, prie esmės: ne taip seniai Khrumer pasirodė nuostabi galimybė - projekto vykdymo metu atimti informaciją iš išteklių. Tai atrodo taip. Važiuojate šablone, kuris bus apdorojamas darbo metu, o pagal šabloną surinkta informacija bus įvesta į xgrabbed.txt failą aplanke Logs. Šią funkciją galite naudoti bet kam, fantazijos skrydis didžiulis. Šią funkciją naudoju kartą per savaitę, kad pašalinčiau nuorodas iš „baigusios galiojimo“ duomenų bazės. Ne paslaptis, kad forumai kasdien miršta, norint išvalyti bazę nuo tokių resursų ir šiuo atveju mums padės „Autograbbing“ įrankis.
    Galų gale, turite pripažinti, dažnai įvesdami, pavyzdžiui, http://www.laptopace.com/index.php, matome, kad šis domenas jau yra, pavyzdžiui, goudyadya, bet ten nėra forumo. Taigi, norėdami išmesti šį šlaką iš bazės, plėšysime. :) Atsidarome puslapio šaltinio kodą ir ten matome šį įrašą:

    laptopace.com
    Griebimui konvertuojame į
    [...]

    Dabar visi „mirusieji“ iš goudaddi bus žinomi mums vardu.
    Čia yra nedidelis „Autograbbing“ įrankio pasirinkimas, jei norite išvalyti duomenų bazę iš skirtingų „pasibaigusių“ domenų:


    [...]

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

    [...]
    Šis domenas gali būti parduodamas. [...]Pirkite šį domeną

    [...]<body bgcolor="#ffffff" text="#000000"> </span><br>Sąrašas toli gražu nebaigtas, bet, manau, padės daug kartų nevairuoti milijoninių šiukšlių bazių. Nesunku sukurti šabloną, atidaryti pasibaigusią nuorodą ir pasidaryti šablono kaukę. <br>Naudodami tą patį automatinį griebimą, taip pat galite peržiūrėti esamas duomenų bazes ir rūšiuoti jas pagal išteklius, suskirstydami jas į variklius. Duomenų bazių rūšiavimas pagal variklius leis jums geriausiai išnaudoti visas „Hrumer“ funkcijas ir nustatymus, ypač mokymosi procesas. Be to, naudodamiesi „Autograbbing“, galite pašalinti šiukšles iš duomenų bazių, jei norite jas rinkti ne „Hrefer“, o atsisiųsdami iš įvairių failų prieglobos paslaugų. Norėdami tai padaryti, turite arba padaryti kaukę forumų pasirinkimui ir tada iš duomenų bazės surinkti tik tai, kas patraukta už kaukės, arba atvirkščiai, padaryti kaukę ne forumams ir tada ištrinti tai, kas paima. Pirmasis variantas yra logiškesnis ir patikimesnis, nes tiksliai žinome, ko ieškoti. <br>Sėkmės darbe. <br>PySy. Padariau siauro fokusavimo video (pakentėjau su juo, dariau pirmą kartą :)), nors Hrefer paleidau iš savo namų mašinos, neto greitis nelabai geras, čia turiu kopijų tik testams, tai daryk nekaltink manęs dėl darbo greičio. :) <br><p><span class="BlWV-EuxoOk"></span></p> <h4>16 komentarų:</h4> <p>Jacka komentuoja...</p><p>Su kokia programa pasirinkote raktinius žodžius?</p> Serge'as Glazko komentuoja... <p>jei reikia rinkti teminius resursus, tai žodžius renkuosi Words su rašikliais ir per Adwords. bet daugelyje temų man jau atrinkti žodžiai, čia galiu tik pridėti ar ištrinti kai kuriuos žodžius, bet ir ne automatiškai, bet peržvelgiu visus.</p> <p>Iš karto pradėkime nuo pagrindinio scenarijaus kodo:</p> <p>#!/usr/bin/perl</p><p># what-forum.pl scenarijus <br><span># (c) 2010 m. Aleksandras Aleksejevas, http://svetainė/</p><p>naudoti griežtai;</p><p># komentuotos eilutės – dėl griežtumo</span><br><span># jei užduotis yra rinkti variklio statistiką, palikite ją tokią, kokia yra</span><br><span># jei sudarysi forumų sąrašą – atšauki komentarą</p><p>mano $duomenys ; <br>$duomenys .= $_ while (<> ) ; </p><p># patikrinkite, kiek jų naudojo phpBB be poraštės nuorodos</span><br>spausdinti „phpbb <span>\n"</span><br>if ($duomenys =~ <span>/<a[^>]+href="[^"]*http:\/\/(?:www\.)?phpbb\.com\/?[^>]*>phpBB/i</span> arba <br><span># $data =~ /viewforum\.php\?[^""]*f=\d+/i arba</span><br>$duomenys =~ /phpBB\-SEO/i arba <br>$duomenys =~ <span>/<link rel="copyright" href="(?:http:\/\/)?phpBB\.com"/i </span>) ; <br>spausdinti „ipb <span>\n"</span><br>if ($duomenys =~ <span>/<a[^>]+href="[^"]*http:\/\/(?:www\.)?invision(?:board|power)\.com\/?[^"]*"[^>]*> [^<]*IP\.Board/i </span> arba <br>$duomenys =~ <span>/<a[^>]+href="[^"]*http:\/\/(?:www\.)?invisionboard\.com\/?[^>]*>Invision Power Board/i</span> arba <br>$duomenys =~ <span>/<div id=[""]{0,1}ipbwrapper[""]{0,1}>/i</span> arba <br>$duomenys =~ <span>/index\.php\?[^""]*showforum=\d+/i</span>) ; <br>spausdinti "vbulletin <span>\n"</span><br>if ($duomenys =~ <span>/Pagalba:?[^<]+vBulletin[^<]+(?:Version)?/i </span> arba <br>$duomenys =~ <span>/<meta name="generator" content="vBulletin/i </span> arba <br>$duomenys =~ <span>/forumdisplay\.php\?[^""]*f=\d+/i</span>) ; <br>spausdinti „smf <span>\n"</span><br>if ($duomenys =~ <span>/<a[^>]+href="[^"]*http:\/\/(?:www\.)?simplemachines\.org\/?[^>]*>Pagalba SMF/i</span> arba <br>$duomenys =~ <span>/index\.php\?[^""]*board=\d+\.0/i</span>) ; <br>spausdinti "punbb <span>\n"</span><br>if ($duomenys =~ <span>/<a[^>]+href="[^"]*http:\/\/(?:(?:www\.)?punbb\.org|punbb\.informer\.com)\/?"[^>]*> PunBB/i</span>) ; #arba <br><span># $duomenys =~ /viewforum\.php\?[^""]*id=\d+/i);</span><br>spausdinti "fluxbb <span>\n"</span><br><span># if($duomenys =~ /viewtopic\.php\?id=\d+/i arba</span><br>if ( $duomenys =~ <span>/<a[^>]+href="http:\/\/(?:www\.)fluxbb\.org\/?"[^>]*>FluxBB/i</span>) ; <br>spausdinti "exbb <span>\n"</span><br>if ($duomenys =~ <span>/<a[^>]+href="[^"]*http:\/\/(?:www\.)?exbb\.org\/?[^>]*>ExBB/i</span>) ; # arba <br><span># $duomenys =~ /forums\.php\?[^""]*forumas=\d+/i);</span><br>spausdinti "yabb <span>\n"</span><br>if ($duomenys =~ <span>/<a[^>]+href="[^"]*http:\/\/(?:www\.)?yabbforum\.com\/?[^>]*>YaBB/i</span> arba <br>$duomenys =~ /YaBB\.pl\?[^""]*num=\d+/i ) ; <br>spausdinti "dleforum <span>\n"</span><br>if ($duomenys =~ <span>/\(Parengė DLE forumas\)<\/title>/i</span> arba <br>$duomenys =~ <span>/<a[^>]+href="[^"]+(?:http:\/\/(?:www\.)?dle\-files\.ru|act=copyright)[^"]*">DLE forumas<\/a>/i</span>) ; <br>spausdinti "ikonų lentą <span>\n"</span><br>if ($duomenys =~ <span>/<a[^>]+href="[^"]*http:\/\/(?:www\.)?ikonboard\.com\/?[^"]*"[^>]*>Ikonboard/i</span> arba <br>$duomenys =~ <span>/<meta name="GENERATOR" content="Ikonboard/i </span> arba <br>$duomenys =~ /ikonboard\.cgi/i ) ; <br>spausdinti „bbpress <span>\n"</span><br>if ($duomenys =~ <span>/<meta name="generator" content="bbPress/i </span>) ; # arba <br><span># $duomenys =~ /topic\.php\?id=\d+/i arba</span><br><span># $duomenys =~ /forumas\.php\?id=\d+/i);</span><br>spausdinti „flashbb <span>\n"</span><br><span># if($duomenys =~ /forums\.php\?fid=\d+/i arba</span><br><span># $duomenys =~ /topic\.php\?fid=\d+/i arba</span><br>if ($duomenys =~ <span>/<a[^>]+href="http:\/\/(?:www\.)?flashbb\.net\/?"[^>]*>FlashBB/i</span>) ; <br>spausdinti "Stokesit <span>\n"</span><br><span># if($duomenys =~ /forumas\.php\?f=\d+/i arba</span><br>if ($duomenys =~ <span>/<a[^>]+href="http:\/\/(?:www\.)?stokesit\.com\.au\/?"[^>]*>[^\/]*Stokes IT/i</span>) ; <br>spausdinti "podiumas <span>\n"</span><br><span># if($duomenys =~ /tema\.php\?t=\d+/i arba</span><br>if ($duomenys =~ <span>/<a[^>]+href=[""]?http:\/\/(?:www\.)?sopebox\.com\/?[""]?[^>]*>Podiumas/i</span>) ; <br>spausdinti "usebb <span>\n"</span><br><span># if($duomenys =~ /forumas\.php\?id=\d+/i arba</span><br>if ($duomenys =~ <span>/<a[^>]+href="http:\/\/(?:www\.)?usebb\.net\/?"[^>]*>UseBB/i</span>) ; <br>spausdinti „wrforum <span>\n"</span><br><span># if($duomenys =~ /index\.php\?fid=\d+/i arba</span><br>if ($duomenys =~ <span>/<a[^>]+href="http:\/\/(?:www\.)?wr\-script\.ru\/?"[^>]*>WR\-Forum/i</span>) ; <br>spausdinti "dar vienas forumas <span>\n"</span><br>if ($duomenys =~ /dar vienas forumas\.net/i arba <br>$duomenys =~ <span>/default\.aspx\?g=posts&t=\d+/i</span>) ; </p> <p>Šį ir kitus įraše paminėtus scenarijus rasite šiame archyve.</p> <p>Scenarijus <i>kuris-forumas.pl</i> tiria html puslapio kodą, ar jame nėra forumo variklio parašų. Apibrėždami „WordPress“ ir „Joomla“ naudojome panašią techniką, tačiau yra keletas skirtumų. Pirma, pats scenarijus neįkelia puslapio kodo, o nuskaito jį iš stdin arba failo, perduodamo kaip argumentas. Tai leidžia mums vieną kartą atsisiųsti puslapį, pavyzdžiui, naudojant wget, o tada paleisti jį per kelis analizatorius, jei turime daugiau nei vieną. Antra, šiame scenarijuje parašo buvimas yra 100% variklio ženklas. Praėjusį kartą parašo buvimas tik suteikė svorio atitinkamam varikliui ir „laimėjo“ didžiausio svorio variklį. Nusprendžiau, kad šiuo atveju toks požiūris tik be reikalo apsunkins kodą.</p> <p>Norėdamas išbandyti scenarijų, atlikau nedidelį tyrimą. Sudariau kelių tūkstančių forumų sąrašą ir kiekvieną iš jų paleidau pagal savo scenarijų, taip nustatydamas programų aktyvavimo procentą ir įvairių variklių populiarumą.</p> <p>Norėdami gauti forumų sąrašą, naudojau „Google“ analizatorių. <a href="https://bar812.ru/lt/poiskovye-sistemy-rossii-i-lidiruyushchie-poiskoviki-interneta-kakaya.html">paieškos variklis</a> siųsti prašymus kaip</p> <p>site:forumas.*.ru <br>site:talk.*.ru <br>site:board.*.ru <br>site:smf.*.ru <br>site:phpbb.*.ru <br> ....</p> <p>ir taip toliau. Visą užklausų generatoriaus kodą galite rasti faile <i>gen-forumsearch-urls.pl</i>. Be .ru zonos, taip pat buvo naudojami .su .ua .kz ir .by. Praėjusį kartą atlikti tokį tyrimą buvo sunku, nes „WordPress“ ir „Joomla“ svetainėse nėra tokių parašų URL. Tokiuose kataloguose kaip cmsmagazine.ru/catalogue/ nepateikiamas pakankamas imties dydis. Kas yra 600 svetainių Drupal?</p> <p>Turiu pripažinti, kad eksperimento rezultatai mane nuvylė. Iš 12 590 tirtų vietų buvo sėkmingai identifikuoti tik 7 083 varikliai, tai yra tik 56% atvejų. Gal neatsižvelgiau į kažkokį variklį? Ar Bitrix stovėjo pusėje forumų? O gal turėjau daugiau laiko skirti parašų paieškai? Apskritai čia reikia daugiau tyrimų.</p> <p>Iš 56 % sėkmingai nustatytų variklių, kaip ir tikėtasi, populiariausi buvo IPB (31 %), phpBB (26,6 %) ir vBulletin (26,5 %).</p> <p>Nuo jų nedaug atsilieka SMF (5,8 %) ir DLEForum (5,3 %). Mano mėgstamiausias punBB buvo tik 6 vietoje (1,64%). Nepatarčiau labai pasitikėti šiais skaičiais (jie sako, kad kas trečias Runet forumas veikia IPB), tačiau, žinoma, galima padaryti tam tikras išvadas.</p> <p>Pavyzdžiui, jei ketinate sukurti svetainę forumo variklyje ir planuojate modifikuoti forumą, tarkime, mokėti vartotojams 0,01 USD už kiekvieną pranešimą su automatiniu lėšų išėmimu kartą per savaitę, tuomet turėtumėte pasirinkti vieną iš trijų populiariausių variklių. . Kuo populiaresnis forumas, tuo didesnė tikimybė rasti programuotoją, kuris jį gerai išmanytų.</p> <p>Jei variklyje nesitikima jokių reikšmingų pokyčių, tuomet gali būti prasminga rinktis ne tokį populiarų variklį, kaip SMF ar punBB. Tai sumažins skaičių <a href="https://bar812.ru/lt/hakerskaya-ataka-tp-link-kak-proverit-router-na-nalichie-virusov.html">įsilaužėlių atakų</a>į jūsų forumą ir automatiškai į jį išsiųsto šlamšto kiekį.</p> <p>Scenarijų, skirtų paieškai / forumų apibrėžimui, taip pat galima rasti daugiau nei vieną <a href="https://bar812.ru/lt/kak-primenit-ekshn-k-gruppe-fotografii-paketnaya-obrabotka-fotografii-v.html">praktinis naudojimas</a>. Pirmas dalykas, kuris man asmeniškai atėjo į galvą, buvo surūšiuoti identifikuotus forumus pagal TCI ir įrašyti įrašus su nuorodomis į vieną iš jų svetainių pirmajame šimte. Tačiau šimtas forumo dofollow nuorodų niekaip nepaveikė TIC (praėjo 2 atnaujinimai), todėl čia geriau nešvaistyti laiko, nebent jus domina perėjimai.</p> <p>Akivaizdu, kad įvardytas scenarijų naudojimas toli gražu nėra vienintelis. Manau, kad jūs galite lengvai suprasti, kaip dar galite juos panaudoti.</p> <p>Sveiki, mieli tinklaraščio svetainės skaitytojai. Taigi, tęsiame temą apie forumo variklio, vadinamo SMF, nustatymo, pradėtą ​​įraše apie tai. Ten mes dar nepadarėme forumo rusų kalba, kalbant apie vertimą iš angliškos sąsajos. Šiuo metu jis neatrodo labai reprezentatyviai, bet po rusifikacijos (jei tai dar nebuvo padaryta) ir sukūrus atitinkamas dalis, išvaizda gerokai pagerės.</p><p>Šiandien mes apsvarstysime temas ir padarysime jas rusiškais, taip pat įdiegsime JFusion komponentą, kuris gali veikti su abiem varikliais (tiek Jumla, tiek SMF), o tai leis mums turėti bendrą vartotojų bazę dviem ir tik vieną jų registracijos formą. ir prisijungti.</p><h2>Rusų kalbos paketo temos ir diegimas</h2><p>Paprastų mašinų forumo variklis palaiko galimybę keisti temas ir jas galima keisti tiek visam forumui, tiek atskiroms jo sekcijoms. Asmeniškai aš naudojau numatytąją temą, bet padariau daug jos pakeitimų rankiniu būdu. Visų pirma pakeičiau foną, kai kurių elementų spalvų schemas, pridėjau blykstės laikrodį, radiją ir daug daugiau, apie ką kalbėsiu tolesniuose šio skyriaus įrašuose.</p><p>Kodėl kurdamas forumą nenaudojau jokių papildomų temų? Na, tikriausiai viskas dėl mano tinginystės. Ne, aš netingėjau ieškoti ir atsisiųsti naujų temų, nes yra daug vietų, kur tai galima padaryti. Mano tinginystė slypi kitur.</p><p>Faktas yra tas, kad visa šio variklio modifikacijų įvairovė, skirta išplėsti jo galimybes, yra sutelkta būtent į numatytąją temą. paaiškinu. Jei turite numatytąją temą, tada to ar kito modifikavimo pridėjimas prie SMF užtrunka kelias sekundes ir, kaip taisyklė, nereikia rankiniu būdu redaguoti kodo.</p><p>Įdiegus modifikaciją ne pagal numatytąją dizaino temą, reikės, kaip sakoma, apdoroti visą neapdorotą informaciją su failu. Kitaip tariant, turėsite <a href="https://bar812.ru/lt/kak-stavit-shablony-osnovy-photoshop-sozdanie-besshovnoi-zalivki-pattern-dlya.html">naudojant FileZilla</a>(atsisiųskite ir sukonfigūruokite, galite pasiekti svetainę per FTP ir atidaryti redaguoti savo forumo variklio failus, kuriuose <a href="https://bar812.ru/lt/skyrim-launcher-ne-vidit-faily-launcher-skairim-ne-vidit-mody-kak-reshit.html">šis mod</a> daro pakeitimus.</p><p>Tada ieškok <a href="https://bar812.ru/lt/zachem-nuzhen-validnyi-kod-i-kak-ustranit-oshibki-validacii-url-adresa-v.html">Tinkama vieta</a> kode ir atlikti reikiamus veiksmus: arba pakeisti kodą, arba ištrinti, arba pridėti kodo fragmentą prieš arba po jums reikalingo fragmento. Atsižvelgiant į tai, kad gali būti apie tuziną failų, kuriuos reikės pakeisti, galima įsivaizduoti, kaip sunku tai padaryti. Tokiu atveju reikia būti labai atsargiems ir nedaryti klaidų, nes kitu atveju forumas gali visai neatsidaryti.</p><p>Jei visos aukščiau išvardytos nenumatytosios temos naudojimo problemos jūsų negąsdina, galite jas atsisiųsti iš čia. Temos ten suskirstytos į skyrius (minimalizmas, artimas klasikai, modernumas ir kt.) ir kiekvienos iš jų ekrano kopiją galite pamatyti <a href="https://bar812.ru/lt/kak-sdelat-polnoekrannyi-vyiti-na-polnyi-ekran-kak-nastroit.html">Per visą ekraną</a>. Kaip įdiegti tas pačias temas, pasakysiu šiek tiek vėliau.</p><p>Jei nerusifikavote forumo variklio failų įkėlimo į prieglobą etape, kaip aprašyta pirmoje šio opuso dalyje (žr. nuorodą pačioje straipsnio pradžioje), galite tai padaryti dabar. Rusų kalba iš anksto atsisiųsta iš šio puslapio <a href="https://bar812.ru/lt/posylaet-index-php-topic-powered-by-smf-temy-oformleniya-i-rusifikaciya-foruma-smf-a-tak-zhe.html">kalbos paketas</a> su norimu, turite išpakuoti ir nukopijuoti aplanką Temos į <a href="https://bar812.ru/lt/html-absolyutnye-i-otnositelnye-ssylki-sozdanie-ssylki-otnositelno.html">šakninis aplankas</a> kur jau yra katalogas tokiu pat pavadinimu.</p><p>Baigę kopijuoti, turite eiti į forumą naudodami administratoriaus prisijungimo vardą ir slaptažodį. Viršutiniame meniu pasirinkite „Administratorius“, tada kairiajame stulpelyje spustelėkite „Serverio nustatymai“.</p><p>Atsidariusiame lange raskite elementą „Numatytoji forumo kalba“ ir išskleidžiamajame sąraše pasirinkite rusų kalbą, tada puslapio apačioje spustelėkite mygtuką „Išsaugoti“.</p><p><img src='https://i1.wp.com/ktonanovenkogo.ru/image/16.092.png' width="100%" loading=lazy loading=lazy></p><p>Tai viskas, dabar jūsų konferencija yra visiškai rusų kalba.</p><h3>Problemų sprendimas diegiant modifikacijas, kurios nepalaiko rusų kalbos</h3><p>Atminkite, kad ateityje prie SMF pridedant modifikacijas, kurios neturi vertimo į rusų kalbą, kartais gali kilti problemų rodant mod nustatymų administratoriaus skydelyje. Tiesą sakant, tie patys nustatymai administratoriaus skydelyje tiesiog nebus matomi, nes. jiems nebus rusinimo bylų. Todėl turėsite du šios problemos sprendimo būdus.</p><p>Pirmas būdas – visam forumui pereiti prie anglų kalbos. Kaip tai padaryti, galite pamatyti keliose pastraipose aukščiau. Atitinkamai, atlikę reikiamus veiksmus su šiais parametrais, vėl turėsite grįžti į rusų kalbą.</p><p>Antrasis metodas yra sudėtingesnis, tačiau jis leis mums visada, o ne tik suaktyvinus, matyti įdiegtų modifikacijų nustatymus administratoriaus skydelyje <a href="https://bar812.ru/lt/trikolor-tv-akcii-po-oplate-akcii-trikolor-tv-besplatnyh-uroka.html">anglų kalbos</a>. Šiuo klausimu aš apsigyvenu taip išsamiai, nes klausimas, kad kažkas įdiegė modą ir neranda jo nustatymų savo plokštės administratoriaus skydelyje, yra labai dažnas.</p><p>Taigi, antrasis būdas yra pridėti vertimo eilutes į naujai pridėtų modifikacijų rusifikavimo failus. Kaip nustatyti, kuriuos rusinimo failus reikia keisti ir kur juos gauti, pasakysiu vėliau. Tuo tarpu laikinai galite naudoti pirmąjį metodą.</p><h2>JFusion diegimas norint integruoti svetainę ir forumą</h2><p>Pirmiausia turėsite atsisiųsti JFusion ir jos rusifikaciją. Įėję į Joomla administratoriaus skydelį, atliekame standartinius veiksmus: pasirinkite iš <a href="https://bar812.ru/lt/fiksirovannoe-verhnee-menyu-i-plavayushchii-saidbar-v-wordpress.html">viršutinis meniu</a> administratoriaus skydelio elementai "Plėtiniai" - "Įdiegti / pašalinti" - "Įkelti paketo failą" - mygtukas "Naršyti" - savo kompiuteryje randame failą su jfusion_package.zip komponentu - spustelėkite mygtuką "Įkelti failą ir įdiegti> “.</p><p>Po to pasirodys langas, informuojantis, kad komponentas buvo sėkmingai įdiegtas. Jei kyla problemų, galite susipažinti su kai kurių iš jų sprendimo galimybėmis aukščiau esančioje nuorodoje.</p><p>Dabar atėjo eilė rusifikacijai, kuri pridedama taip pat, kaip ir pats komponentas. Tie. pakartokite veiksmų seką: "Plėtiniai" - "Įdiegti / pašalinti" - "Įkelti paketo failą" - mygtukas "Naršyti" - raskite JFusion Russification failą savo kompiuteryje - spustelėkite mygtuką "Įkelti failą ir įdiegti". Dabar galime eiti į nustatymus keliu „Komponentai“ - „JFusion“ ir įsitikinti, kad rusifikacija buvo sėkmingai pridėta ir veikia.</p><p><img src='https://i1.wp.com/ktonanovenkogo.ru/image/16.093.png' width="100%" loading=lazy loading=lazy></p> <p>Sėkmės tau! Greitai pasimatysime tinklaraščio puslapių svetainėje</p><h3></h3><p>Jums gali būti įdomu</p><p><img src='https://i0.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/nastroika-jfusion.jpg' width="100%" loading=lazy loading=lazy><span>„JFusion“ konfigūravimas „Fusion“. <a href="https://bar812.ru/lt/prigotovil-index-php-topic-powered-by-smf-temy-oformleniya-i-rusifikaciya.html">Forumas SMF</a> ir Joomla svetainė</span> <br><img src='https://i2.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/moduli-jfusion.jpg' width="100%" loading=lazy loading=lazy><span>JFusion moduliai, skirti rodyti pranešimus iš forumo svetainėje, taip pat sukurti mygtuką SMF, norint grįžti į Joomla</span> <br><img src='https://i2.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/forum-joomla.jpg' width="100%" loading=lazy loading=lazy><span>Meniu elemento Joomla kūrimas, norint patekti į forumą, ir vartotojo registracijos perkėlimas iš SMF į svetainę</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 forumo diegimas – Joomla 1.5 ir Simple Machines forumo integravimas naudojant <a href="https://bar812.ru/lt/gordostyu-index-php-topic-powered-by-smf-temy-oformleniya-i-rusifikaciya-foruma-smf-a-tak-zhe.html">JFusion komponentas</a> </span> <br><img src='https://i1.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/rasshireniya-joomla.jpg' width="100%" loading=lazy loading=lazy><span>„Joomla“ plėtiniai - kas tai yra ir kur atsisiųsti „Joomla“ komponentus, modulius ir papildinius, kaip juos įdiegti ir pašalinti</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>K2 komponentas tinklaraščiams, katalogams ir portalams Joomla kurti – funkcijos, diegimas ir rusifikacija</span> <span>„Joomla“ nuotraukų galerija – 3 dalis – „Joomla 1.5“ galerijų kūrimas naudojant „Phoca Gallery“ komponentą – kategorijų įtraukimas ir vaizdų įkėlimas į nuotraukų galeriją</span> <br><img src='https://i1.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/artio-joomsef.jpg' width="100%" loading=lazy loading=lazy><span>ARTIO JoomSEF – CNC (SEF) nuorodų ir pavadinimo pritaikymas Joomla programoje, taip pat 404 klaidos puslapio kūrimas naudojant šį plėtinį</span> <br><img src='https://i2.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/joomlapack.jpg' width="100%" loading=lazy loading=lazy><span>„Akeeba Backup“ (buvęs „JoomlaPack“) – „Joomla“ svetainės atsarginės kopijos kūrimas ir atkūrimas iš <a href="https://bar812.ru/lt/mozhno-li-ustanavlivat-windows-10-sposoby-besplatnogo-poluchenie-licenzii.html">atsarginė kopija</a> dviem paspaudimais</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 ">2022 bar812.ru. Tik apie kompleksą. Programos. Geležis. Internetas. Windows</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://bar812.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="redaktorius" class="tdw-tab tdc-tab-active" href="#" data-tab-content="tdw-tab-editor">Redaguoti naudojant tiesioginį CSS</a> <div class="tdw-less-info" title="Jis bus raudonas, kai bus aptikta klaidų jūsų CSS ir LESS"></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">Sutaupyti</a> <div class="tdw-more-info-text">Parašykite CSS AR MAŽIAU ir paspauskite išsaugoti. CTRL + tarpo klavišas automatiniam užbaigimui.</div> <div class="tdw-resize"></div> </footer> </div> <script type="text/javascript" defer src="https://bar812.ru/wp-content/cache/autoptimize/js/autoptimize_d85127d8732b44d62e81e0455b3d3cb7.js"></script> </body> </html>