Menu
Jest wolny
rejestracja
Dom  /  Instalacja i konfiguracja/ Dreams index php temat zasilany przez smf. Automatyczne wykrywanie silnika forum

Marzenia o indeksie temat php powered by smf. Automatyczne wykrywanie silnika forum

Zorganizowany przez Botmaster Labs, nie planowany. Nie ma czasu, wideo jest potrzebne do konkursu, jak nowomodny trend, chociaż łatwiej wszystko wytłumaczyć dobrymi zrzutami ekranu (moje IMHO), a tak naprawdę nie chcę niczego kręcić. Tak więc zostało bardzo mało dochodowych, głupi spam już w ogóle nie rządzi, tutaj trzeba się zastanowić i nikt nie spali tematu, jeśli tylko te przestarzałe spróbują trochę wepchnąć i pudrować w pięknym opakowaniu. :) Ale tu nie chodzi o nas. Generalnie te 3 „nie”, jak sądzę, w zasadzie stały się barierą udziału w konkursie dla większości potencjalnych uczestników. To jak naprawa samochodu z trzech: tanio, wysokiej jakości, szybko - serwis może jednocześnie spełnić tylko 2 warunki. usiądź i wybierz to, co jest ci bliższe. :) Konkurencja ta sama: mam czas, mogę robić filmy, ale nie mam tematu, lub mogę zrobić film, mam temat, ale nie mam wcale czasu, lub mam wolny czas i mam trochę temka, ale wideo jest przerażające. Ale dobrze, jeśli jednocześnie spełnione są 2 warunki. No dobrze, zostawmy teksty. Będę kontynuował dla siebie. Nie planowałam, co oznacza, że ​​brałam udział w konkursie, nawet wybrałam, na który artykuł będę głosować. Mów, co chcesz, ale Doz bardzo dobrze zna oprogramowanie i bardzo rozsądnie z niego korzysta. Ale dzisiaj dowiedziałem się, że w konkursie pojawiła się intryga. Okazuje się, że nie będę mógł głosować, ale będą mogli to zrobić tylko początkujący, którzy kupili oprogramowanie w 2011 roku i konkurencja jest dla nich przeznaczona. Trochę się zdziwiłem, ale właściciel jest mistrzem. Konkurs jest kampanią reklamową i Aleksander lepiej wie, jak ją przeprowadzić. Ogólnie postanowiłem wtedy opublikować artykuł, nieco łatwiej jest napisać, gdy jest jasne, dla kogo, dla całego kołchozu jest to właściwie niemożliwe.
Długie wprowadzenie dobiegło końca, teraz do rzeczy.
Czego potrzebuje początkujący, gdy nabył taki super kombajn, jakim jest kompleks Xrumer + Hrefer? Zgadza się, naucz się nad tym pracować i odrzuć złudzenie, że zaczynając spamować arkuszami, możesz zarobić pieniądze. Jeśli tak uważasz, od razu przekaż pieniądze na cele charytatywne. Musisz nauczyć się korzystać z narzędzi kompleksu, najlepiej ostrząc go dla siebie. Czas "bierz więcej - rzuć więcej" minął. Ilość ustępuje miejsca jakości. Więc zbierzemy bazę dla siebie, nie ucz się jak to zrobić - zostaniesz w tyle za pociągiem. Oczywiście Hrefer nam w tym pomoże. Jeśli planujesz promować swoje zasoby w Google, musimy również szukać witryn darczyńców za pośrednictwem Google. Myślę, że to jasne i logiczne. Ale Google, jako właściciel miedzianej góry, nie rozdaje wszystkim swojego bogactwa. Potrzebujesz do tego podejścia. Od razu powiem, że nie liczcie na to, że uda wam się coś zebrać na podstawie znaków, które znajdziecie publicznie. Dlatego są dostępne publicznie, ponieważ są bezwartościowe. Nie będę dalej rozwijał tematu. Lepiej powiem ci, jak poprawnie go zmontować, aby zobaczyć wynik, sam dokończysz resztę, najważniejsze jest zrozumienie zasady. Konieczne jest zbieranie na właściwej podstawie na podstawie konkretnych silników, których potrzebujemy, a nie w ogóle na podstawie forów. To jest główny błąd, który popełniają nowicjusze - nie skupiać się na konkretach, ale starać się ogarnąć wszystko w całości. A jednak, jeśli chcesz parsować mniej lub bardziej normalną bazę, odmów jej użycia w zapytaniach operatorskich. Brak „inurl:”, „site:”, „tytuł” ​​itp. Google natychmiast zablokuje wyszukiwarkom takim jak Ty. Dlatego dokładnie badamy silniki, z którymi w obecnie Hrumer działa:

Obsługiwane przez php-Fusion

W wersji Hrumer 7.07 program jest szkolony w kilku nowych silnikach:

forumi.biz, forumb.biz, 1forum.biz, 7forum.biz itp.

phpBB-fr.com, motyw Solarisa phpBB

A proces uczenia się nowych rzeczy trwa nieprzerwanie.
Generalnie musimy przygotować poprawne zapytania do parsowania przez Hrefer. Weźmy jako przykład forumowego djok. Fora SMF... I zacznijmy go rozkładać na części do przeanalizowania. Pomoże nam w tym nasz ukochany Google. Wprowadzanie prośby do Google Fora SMF- w wynikach wyszukiwania jest dużo śmieci, cofamy się do jakiejś 13. strony i wybieramy dowolny link. Natknąłem się na ten: http://www.volcanohost.com/forum/index.php?topic=11.0. Otwieramy i badamy. Musimy znaleźć na stronie coś charakterystycznego, co da się zastosować do wyszukiwania innych stron w tym silniku. W stopce dostrzegamy następujący napis Obsługiwane przez SMF 1.1.14, cytujemy go i wpisujemy do Google, pokazuje nam, że dla tego żądania zna około 59 milionów opcji. Szybko przeglądamy linki, dodajemy kilka lub dwie dodatkowe opcje do tego słowa kluczowego, na przykład "Powered by SMF 1.1.14" topola lub "Zasilany przez SMF 1.1.14" viagra... Jesteśmy przekonani, że prośba jest wspaniała, w wynikach są tylko fora i prawie nie ma dla ciebie śmieci.

Poza tym nie interesuje nas ilość, ale jakość, jak wspomniałem powyżej. Pójść dalej. Z tego samego forum bierzemy ze stopki kolejną frazę: , cytujemy go również i przesyłamy do Google. W odpowiedzi zdradza, że ​​zna ponad 13 milionów wyników. Ponownie przeglądamy wyniki wyszukiwania, dodajemy dodatkowe słowa i sprawdzamy z nimi wyniki. Dbamy o to, aby zapytanie było świetne i prawie nie było śmieci. Ogólnie rzecz biorąc, są już 2 prośby o żelazo. Sugeruję na razie zostawić pierwsze forum w spokoju i kontynuować zbieranie próśb na inne fora. Na szczęście Google jest otwarte na życzenie 2006-2008, Proste maszyny LLC... Z wyników bierzemy na przykład te fora: http://www.snowlinks.ru/forum/index.php?topic=1062.0 i http://litputnik.ru/forum/index.php?action=printpage; topic=380.0 w ich stopkach wpisujemy zapytania: "Powered by SMF 1.1.7" oraz "Powered by SMF 1.1.10" (zawsze radzę jechać w cudzysłowie dla Hrefer, bo przede wszystkim potrzebna jest jakość). Myślę, że jest jasne, co robimy, w końcu będziemy mieli pewną bazę zapytań do wyszukiwania forów na silniku SMF (jest wybrany na przykład, z resztą silników jest tak samo).
Będzie to wyglądać mniej więcej tak:

"Zasilany przez SMF 1.1.2"

"Zasilany przez SMF 1.1.3"

"Zasilany przez SMF 1.1 RC2"

„Zasilany przez SMF 1.1.4”

"Zasilany przez SMF 1.1.8"

"Zasilany przez SMF 1.1.7"

"2006-2008, Simple Machines LLC"

I to nie wszystko. Podczas zbierania wersji silników, na niektórych forach SMF w stopce znajdujemy nadvis "2001-2006, Lewis Media". Sprawdzamy tę prośbę, również w pełni nas satysfakcjonuje. Znajdujemy podobne zapytanie: "2001-2005, Lewis Media". Przechodząc przez stopki natrafiamy na zapytanie: "SMFone design by A.M.A, przeniesiony do SMF 1.1". Sprawdzamy - doskonale. Itp. Pół godziny pracy i masz cudowną bazę zapytań do silnika, a Google będzie zbanowany za te zapytania znacznie rzadziej, niż gdybyś używał w nich operatorów. A jednocześnie Twoja baza danych będzie znacznie czystsza niż w przypadku zapytań typu „index.php? Topic =", bo tutaj Google poda nie tylko fora, których potrzebujemy, ale także dużo pozostawionych zasobów, na których nam się udało wyjechać link do tematu forum. Możesz się spierać, mówią, co w tym złego? Inni zostawili link, co oznacza, że ​​możemy. Ale! Linki może pozostawić nie tylko Hrumer, ale także inne programy. ponadto można je specjalnie zaostrzyć, aby pozostawić komentarze w określonym zasobie, tzw. wysokospecjalistyczne oprogramowanie, plus takie linki można pozostawić ręcznie. Powtarzam, to nie ilość śmieci jest dla nas ważna, ale jakość, baza poprawne zapytania i tak go odbierzemy. Plus Ta metoda także tym, że praktycznie nie trzeba będzie konfigurować w Hrefer sito -filtr , możesz go po prostu wyłączyć, bo Google praktycznie nie da ci śmieci.


Uważam, że bardzo ważne jest nauczenie się prawidłowego korzystania z Hrefera na początkowym etapie, ponieważ po nauczeniu się tego zawsze można znaleźć zastosowanie dla Hrumera, bez względu na to, jak zmieni się sytuacja. Obrona staje się bardziej skomplikowana, a jeśli na niektórych typach silników ochrona została wzmocniona i nie może sobie z nią poradzić w ten moment Hrumer, to nie ma sensu wydawać środków na zbieranie tych linków, a potem na pracę nad nimi z Hrumerem, lepiej skoncentrować swoje wysiłki na tym, co daje wynik. A jednocześnie, jeśli zespół Botmaster Labs nauczył Hrumera czegoś nowego, możesz szybko przeprowadzić sekcję nowego pacjenta i przygotować bazę dla Hrumera, gdy pacjent jest jeszcze letni. Czas to pieniądz, zasób może już nie mieć znaczenia przy zakupie bazy. zebrane przez kogoś. Ponadto prawidłowe zbieranie baz dla siebie znacznie rozszerza „białe” zastosowanie Hrumera. I tu właśnie wszystko się porusza, czy nam się to podoba, czy nie, a proces wybielania lub siwienia trwa. Czarne prześcieradła to już przeszłość.
Całą resztę, już techniczne aspekty pracy z Hreferem, można zobaczyć w pomocy i nie ma sensu się nad nimi rozwodzić, wszystkie cele-punkty-sekundy ustalane są empirycznie dla każdego samochodu indywidualnie.
Jako bonus zamieszczę tutaj szablon do parsowania chińskiej wyszukiwarki Baidu, któregoś dnia zostałem o to zapytany, więc zrobiłem to w przerwach, przepraszam za kalambur. :)


Nazwa hosta = http://www.baidu.com
Zapytanie = s? Wd =
LinkiMaska =
Suma stron = 100
Następna strona =

Następna strona2 =

CaptchaURL =
Obraz Captcha =
Pole Captcha =


Próbowałem je przeanalizować w teście, nie było bana, Hrefer żywo zbierał zasoby, wszystkie prośby o parsowanie są podobne do Google, ale chińskie zasoby to morze, i to z wysokim PR, a poza tym jest wiele miejsc, gdzie Europejczyk nie odszedł. Lepiej jest analizować z chińskimi prośbami. Pomoże to w tłumaczeniu przez Google, wpisaniu listy słów kluczowych w języku rosyjskim i przetłumaczeniu jej na chiński. Prawda w „ słowa„Słowa hrefer nie mogą być dodawane w języku chińskim, musisz je przekodować.
Zamiast chińskiego:

伟哥 - viagra

吉他 - gitara

其他 - odpoczynek

保险公司 - ubezpieczenie

Umieść te kody, aby je zastąpić w pliku tekstowym:

% 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

Jeśli promujesz stronę internetową dotyczącą ubezpieczenia, to umieszczając w swoim profilu link na tematyczny (!) Nawet chińskie forum znalezione na żądanie ” Forum SMF "保险公司 będzie bardzo miło.
Podsumowując, chciałbym powiedzieć, że nigdy nie zrozumiałem ludzi, którzy narzekali, że Khrefers są źli lub nie nabazgrali, zawsze chciałem to powiedzieć, po prostu nie umiesz ich ugotować. Lepiej niż hrefer, żaden parser nie wie, jak zbierać wyniki, tylko żądania muszą być poprawne. Hrefer to samochód: dobry, solidny, wykonany po niemiecku, ale człowiek nim jeździ i wszystko zależy od tego, jak mądrze się je prowadzi, nie można zmusić auta do jazdy w prawo i lewo jednocześnie.
Osobnym tematem jest czyszczenie baz, które kiedyś robiłem 3 lata temu na poprzedni konkurs. Przy większej ilości wszystko jest tam nadal aktualne, ale teraz możesz odmówić sprawdzenia 200 OK, naprawdę nie podobał mi się ten proces, błędy były bardzo duże, odfiltrowano wiele niepotrzebnych rzeczy. Teraz można to zrobić niemal automatycznie w trakcie pracy Hrumera, chociaż proces ten nie jest kompletnym odpowiednikiem sprawdzania „200 OK”. Ogólnie rzecz biorąc, do rzeczy: nie tak dawno w Hrumerze pojawiła się wspaniała okazja - rabowania informacji z zasobów w czasie trwania projektu. To wygląda tak. Jedziesz w szablonie, który będzie przetwarzany w procesie, a informacje zebrane z szablonu zostaną wprowadzone do pliku xgrabbed.txt w folderze Logs. Możesz użyć tej funkcji do wszystkiego, lot wyobraźni jest ogromny. Korzystam z tej funkcji raz w tygodniu, aby usunąć „wygasłe” linki z działającej bazy danych. Nie jest tajemnicą, że fora codziennie wymierają, aby oczyścić bazę z takich zasobów, a narzędzie „Autograbbing” nam w tym pomoże.
Mimo wszystko trzeba przyznać, często wpisując np. http://www.laptopace.com/index.php widzimy, że ta domena jest już np. gaddyad, ale nie ma tam forum. Aby więc wyrzucić ten żużel z bazy, będziemy łupić. :) Otwórz kod źródłowy strony i zobacz tam ten wpis:

laptopace.com
Aby chwycić, przekształć to w
[...]

Teraz wszyscy „umarli” z goudaddi będą nam znani po imieniu.
Oto mały wybór narzędzia „Autograbbing”, jeśli chcesz wyczyścić bazę danych z różnych „wygasłych” domen:


[...]

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

[...]
Ta domena może być na sprzedaż. [...] Kup tę domenę

[...]<body bgcolor="#ffffff" text="#000000"> </span><br>Lista nie jest kompletna, ale myślę, że pomoże ci to nie gonić wiele razy za wielomilionowymi bazami śmieci. Nie jest trudno stworzyć szablon, otworzyć wygasły link i stworzyć maskę szablonu. <br>Korzystając z tego samego autograbbingu, możesz również przeskanować istniejące bazy danych i posortować je według zasobów, dzieląc je na silniki.Sortowanie baz według silników pozwoli Ci jak najlepiej wykorzystać wszystkie możliwości i ustawienia Hrumera, w szczególności proces uczenia się . A poza tym za pomocą Autograbbing możesz usunąć śmieci z baz danych, jeśli wolisz zbierać je nie przez Hrefer, ale pobierając z wszelkiego rodzaju usług hostingu plików. Aby to zrobić, musisz albo zrobić maskę do wybierania forów, a następnie pobierać z bazy tylko to, co maska ​​przechwyci, albo przeciwnie zrobić maskę dla nie-forów, a następnie usunąć to, co zostanie przechwycone. Pierwsza opcja jest bardziej logiczna i bardziej niezawodna, ponieważ dokładnie wiemy, czego szukać. <br>Powodzenia w pracy. <br>PySy. Film został zrobiony wąsko skupiony (znużyłem się tym, zrobiłem to pierwszy raz :)), choć Hrefer wystartowałem z mojej domowej maszyny, prędkość netto nie jest zbyt dobra, tutaj kopie mam tylko do testów, więc nie obwiniaj mnie za szybkość pracy. :) <br><p><span class="BlWV-EuxoOk"></span></p> <h4>16 komentarzy:</h4> <p>jeka komentarze ...</p><p>W jakim programie wybrałeś słowa kluczowe?</p> Serge Glazko komentuje ... <p>jeśli potrzebuję zebrać zasoby tematyczne, to wybieram słowa w Words za pomocą długopisów i przez Adwords. ale w wielu tematach słowa zostały już dla mnie wybrane, tutaj mogę tylko dodawać-usuwać niektóre słowa, ale też nie automatycznie, ale przeglądać je wszystkie.</p> <p>Zacznijmy od razu od głównego kodu skryptu:</p> <p>#!/usr/bin/perl</p><p># skrypt what-forum.pl <br><span># (c) 2010 Aleksandr A Aleksiejew, http: // strona /</p><p>używaj ścisłego;</p><p># skomentowane linie - dla ścisłości</span><br><span># jeśli zadaniem jest zbieranie statystyk silnika, zostaw je bez zmian</span><br><span># jeśli robisz listę forów - odkomentuj</p><p>moje dane $; <br>$ danych. = $ _ podczas (<> ) ; </p><p># sprawdź ile Powered by phpBB było bez linku w stopce</span><br>drukuj "phpbb <span>\ n "</span><br>jeśli (dane $ = ~ <span>/<a[^>] + href = "[^"] * http: \ / \ / (?: www \.)? phpbb \ .com \ /? "[^>] *> phpBB / i</span> lub <br><span># $ data = ~ /viewforum\.php\?"^""")*f=\d+/i lub</span><br>$ data = ~ / phpBB \ -SEO / i lub <br>$ dane = ~ <span>/<link rel="copyright" href="(?:http:\/\/)?phpBB\.com"/i </span>) ; <br>drukuj „ipb <span>\ n "</span><br>jeśli (dane $ = ~ <span>/<a[^>] + href = "[^"] * http: \ / \ / (?: www \.)? invision (?: tablica | zasilanie) \. com \ /? [^ "] *" [^>] *> [^<]*IP\.Board/i </span> lub <br>$ dane = ~ <span>/<a[^>] + href = "[^"] * http: \ / \ / (?: www \.)? invisionboard \ .com \ /? "[^>] *> Invision Power Board / i</span> lub <br>$ dane = ~ <span>/<div id=[""]{0,1}ipbwrapper[""]{0,1}>/ i</span> lub <br>$ dane = ~ <span>/index\.php\?†^""†*showforum=\d+/i</span>) ; <br>drukuj „vbulletin <span>\ n "</span><br>jeśli (dane $ = ~ <span>/ Obsługiwane przez:?[^<]+vBulletin[^<]+(?:Version)?/i </span> lub <br>$ dane = ~ <span>/<meta name="generator" content="vBulletin/i </span> lub <br>$ dane = ~ <span>/forumdisplay\.php\?†^""†*f=\d+/i</span>) ; <br>drukuj „smf <span>\ n "</span><br>jeśli (dane $ = ~ <span>/<a[^>] + href = "[^"] * http: \ / \ / (?: www \.)? simplemachines \ .org \ /? "[^>] *> Powered by SMF / i</span> lub <br>$ dane = ~ <span>/index\.php\?†^"""*tablica=\d+\.0/i</span>) ; <br>drukuj „punbb <span>\ n "</span><br>jeśli (dane $ = ~ <span>/<a[^>] + href = "[^"] * http: \ / \ / (? :( ?: www \.)? punbb \ .org | punbb \ .informer \ .com) \ /? "[^>] *> PunBB / i</span>); #lub <br><span># $ data = ~ /viewforum\.php\?†^"""*id=\d+/i);</span><br>drukuj „fluxbb <span>\ n "</span><br><span># if ($ data = ~ /viewtopic\.php\?id=\d+/i or</span><br>jeśli (dane $ = ~ <span>/<a[^>] + href = "http: \ / \ / (?: www \.) fluxbb \ .org \ /?" [^>] *> FluxBB / i</span>) ; <br>drukuj "exbb <span>\ n "</span><br>jeśli (dane $ = ~ <span>/<a[^>] + href = "[^"] * http: \ / \ / (?: www \.)? exbb \ .org \ /? "[^>] *> ExBB / i</span>); # lub <br><span># $ data = ~ /forums\.php\?†^"""*forum=\d+/i);</span><br>drukuj „yabb <span>\ n "</span><br>jeśli (dane $ = ~ <span>/<a[^>] + href = "[^"] * http: \ / \ / (?: www \.)? yabbforum \ .com \ /? "[^>] *> YaBB / i</span> lub <br>$ data = ~ /YaBB\.pl\?†^"""**num=\d+/i); <br>drukuj "dleforum" <span>\ n "</span><br>jeśli (dane $ = ~ <span>/ \ (Obsługiwane przez forum DLE \)<\/title>/ i</span> lub <br>$ dane = ~ <span>/<a[^>] + href = "[^"] + (?: http: \ / \ / (?: www \.)? dle \ -files \ .ru | act = copyright) [^ "] *"> DLE Forum<\/a>/ i</span>) ; <br>drukuj „ikonboard <span>\ n "</span><br>jeśli (dane $ = ~ <span>/<a[^>] + href = "[^"] * http: \ / \ / (?: www \.)? ikonboard \ .com \ /? [^ "] *" [^>] *> Ikonboard / i</span> lub <br>$ dane = ~ <span>/<meta name="GENERATOR" content="Ikonboard/i </span> lub <br>$ data = ~ /ikonboard\.cgi/i); <br>drukuj "bbpress <span>\ n "</span><br>jeśli (dane $ = ~ <span>/<meta name="generator" content="bbPress/i </span>); # lub <br><span># $ data = ~ /topic\.php\?id=\d+/i lub</span><br><span># $ data = ~ /forum\.php\?id=\d+/i);</span><br>drukuj "flashbb <span>\ n "</span><br><span># if ($ data = ~ /forums\.php\?fid=\d+/i or</span><br><span># $ data = ~ /topic\.php\?fid=\d+/i lub</span><br>jeśli (dane $ = ~ <span>/<a[^>] + href = "http: \ / \ / (?: www \.)? flashbb \ .net \ /?" [^>] *> FlashBB / i</span>) ; <br>drukuj „stokesit <span>\ n "</span><br><span># if ($ data = ~ /forum\.php\?f=\d+/i lub</span><br>jeśli (dane $ = ~ <span>/<a[^>] + href = "http: \ / \ / (?: www \.)? stokesit \ .com \ .au \ /?" [^>] *> [^ \ /] * Stokes IT / i</span>) ; <br>drukuj „podium <span>\ n "</span><br><span># if ($ data = ~ /topic\.php\?t=\d+/i lub</span><br>jeśli (dane $ = ~ <span>/<a[^>] + href = [""]? http: \ / \ / (?: www \.)? sopebox \ .com \ /? [""]? [^>] *> Podium / i</span>) ; <br>drukuj "usebb <span>\ n "</span><br><span># if ($ data = ~ /forum\.php\?id=\d+/i lub</span><br>jeśli (dane $ = ~ <span>/<a[^>] + href = "http: \ / \ / (?: www \.)? usebb \ .net \ /?" [^>] *> UseBB / i</span>) ; <br>drukuj "wrforum <span>\ n "</span><br><span># if ($ data = ~ /index\.php\?fid=\d+/i lub</span><br>jeśli (dane $ = ~ <span>/<a[^>] + href = "http: \ / \ / (?: www \.)? wr \ -script \ .ru \ /?" [^>] *> WR \ -Forum / i</span>) ; <br>drukuj "jetanotherforumnet" <span>\ n "</span><br>if ($ data = ~ / Yet Another Forum \ .net / i or <br>$ dane = ~ <span>/default\.aspx\?g=posty&t=\d+/i</span>) ; </p> <p>Znajdziesz ten i inne skrypty wymienione we wpisie w tym archiwum.</p> <p>Scenariusz <i>które-forum.pl</i> sprawdza kod strony html pod kątem obecności w niej sygnatur silnika forum. Podobną technikę zastosowaliśmy przy definiowaniu WordPressa i Joomla, ale jest kilka różnic. Po pierwsze, sam skrypt nie ładuje kodu strony, ale odczytuje go ze standardowego wejścia lub pliku przekazanego jako argument. Pozwala to na jednokrotne załadowanie strony np. za pomocą wget, a następnie przepuszczenie jej przez kilka analizatorów, jeśli mamy więcej niż jeden. Po drugie, w tym skrypcie obecność sygnatury jest w 100% oznaką silnika. Ostatnim razem obecność sygnatury nadawała wagę tylko odpowiedniemu silnikowi i silnik o największej masie „wygrał”. Uznałem, że w tym przypadku takie podejście tylko niepotrzebnie skomplikuje kod.</p> <p>Aby przetestować działanie skryptu, przeprowadziłem małe badania. Zrobiłem listę kilku tysięcy forów i przejrzałem każde z nich przez mój skrypt, określając w ten sposób procent wyzwalaczy programów i popularność różnych silników.</p> <p>Użyłem mojego parsera Google, aby uzyskać listę forów. <a href="https://mkr-novo2.ru/pl/problems/5-samyh-populyarnyh-poiskovyh-sistem-poiskovye-sistemy-rossii-i-lidiruyushchie.html">Wyszukiwarka</a> prośby zostały wysłane jak</p> <p>strona: forum.*.ru <br>strona: rozmowa.*.ru <br>strona: deska.*.ru <br>strona internetowa: smf.*.ru <br>strona: phpbb.*.ru <br> ....</p> <p>itp. Pełny kod generatora zapytań można znaleźć w pliku <i>gen-forumsearch-urls.pl</i>... Oprócz zone.ru ,.su .ua .kz i.by były również używane. Ostatnim razem trudno było przeprowadzić to badanie, ponieważ witryny WordPress i Joomla nie mają takich sygnatur w swoich adresach URL. Katalogi takie jak cmsmagazine.ru/catalogue/ nie zapewniają wystarczającej wielkości próbki. Czym jest 600 witryn Drupala?</p> <p>Muszę przyznać, że wyniki eksperymentu mnie zdenerwowały. Spośród 12 590 przebadanych miejsc tylko 7083 zostało pomyślnie zidentyfikowanych z silnikiem, czyli tylko w 56% przypadków. Może brakowało mi jakiegoś silnika? Czy Bitrix naprawdę był na połowie forów? A może powinienem poświęcić więcej czasu na szukanie podpisów? Ogólnie rzecz biorąc, wymagane są tutaj dalsze badania.</p> <p>Wśród 56% pomyślnie zidentyfikowanych silników, zgodnie z oczekiwaniami, najbardziej popularne były IPB (31%), phpBB (26,6%) oraz vBulletin (26,5%)</p> <p>Tuż za nimi plasują się SMF (5,8%) i DLEForum (5,3%). Mój ulubiony punBB był dopiero na 6 miejscu (1,64%). Nie polecałbym mocno ufać tym liczbom (mówią, że co trzecie forum w RuNet działa na IPB), ale oczywiście można wyciągnąć pewne wnioski.</p> <p>Na przykład, jeśli zamierzasz stworzyć stronę internetową na silniku forum i planujesz zmodyfikować forum, powiedzmy zapłacić użytkownikom 0,01$ za każdą wiadomość z automatyczną wypłatą środków raz w tygodniu, powinieneś wybrać jeden z trzech najpopularniejszych silników . Im bardziej popularne forum, tym większe prawdopodobieństwo znalezienia programisty, który jest w nim dobrze zorientowany.</p> <p>Jeśli nie przewiduje się znaczących zmian w silniku, to warto wybrać nie najpopularniejszy silnik, na przykład SMF lub punBB. Zmniejszy to liczbę ataków hakerskich na twoje forum i ilość automatycznie wysyłanego na nie spamu.</p> <p>Skrypty do wyszukiwania / definiowania forów mogą również znaleźć więcej niż jedno <a href="https://mkr-novo2.ru/pl/education/neironnye-seti-prakticheskoe-primenenie-chemu-v-rossii.html">praktyczne użycie</a>... Pierwszą rzeczą, jaka mi osobiście przyszła do głowy, było posortowanie zidentyfikowanych forów według TCI i umieszczenie postów na pierwszej setce z linkami do jednej z ich witryn. Jednak setka linków dofollow forum nie wpłynęła w żaden sposób na TCI (przeszły 2 aktualizacje), więc lepiej tu nie marnować czasu, chyba że interesują Cię przejścia.</p> <p>Oczywiste jest, że nazwane użycie skryptów nie jest jedynym. Myślę, że możesz łatwo wymyślić, jak jeszcze możesz ich użyć.</p> <p>Witajcie drodzy czytelnicy serwisu blogowego. Kontynuujemy więc temat konfiguracji silnika forum o nazwie SMF, rozpoczęty w poście na ten temat. Tam nie zrobiliśmy jeszcze forum rosyjskiego, jeśli chodzi o tłumaczenie z interfejsu angielskiego. W tej chwili nie wygląda zbyt reprezentacyjnie, ale po rusyfikacji (jeśli nie została jeszcze wyprodukowana) i stworzeniu odpowiednich sekcji jego wygląd znacznie się poprawi.</p><p>Dzisiaj rozważymy motywy projektowe i uczynimy je rosyjskim, a także zainstalujemy komponent JFusion, który może współpracować z obydwoma silnikami (zarówno Joomla, jak i SMF), co pozwoli nam mieć wspólną bazę użytkowników dla dwóch i tylko jednej formy ich rejestracja i logowanie.</p><h2>Motywy i instalacja pakietu języka rosyjskiego</h2><p>Prosty silnik <a href="https://mkr-novo2.ru/pl/firmware/kontakty-index-php-topic-powered-by-smf-pervye-shagi-v-poiskovoi-optimizacii.html">Forum maszyn</a> wspiera możliwość zmiany tematów, ponadto można je zmieniać, zarówno dla całego forum jako całości, jak iw szczególności dla poszczególnych jego działów. Osobiście używałem domyślnej skórki, ale dokonałem w niej kilku ręcznych zmian. W szczególności zmieniłem tło, kolorystykę niektórych elementów, dodałem zegar na lampie błyskowej, radio i wiele więcej, o czym opowiem w kolejnych postach tego działu.</p><p>Dlaczego podczas tworzenia forum nie użyłem żadnej z dodatkowych skórek? Cóż, tutaj chyba chodzi o moje lenistwo. Nie, nie byłem zbyt leniwy, aby wyszukiwać i pobierać nowe motywy, ponieważ jest wiele miejsc, w których można to zrobić. Moje lenistwo leży gdzie indziej.</p><p>Faktem jest, że cała różnorodność modów do tego silnika, zaprojektowana w celu rozszerzenia jego możliwości, koncentruje się konkretnie na domyślnym motywie. Pozwól mi wyjaśnić. Jeśli masz domyślny motyw, to dodanie takiego lub innego moda do SMF zajmuje kilka sekund i z reguły nie wymaga ręcznej edycji kodu.</p><p>W przypadku instalacji moda na motyw projektowy inny niż domyślny, będziesz musiał, jak mówią, przetworzyć wszystkie nieprzetworzone części za pomocą pliku. Innymi słowy, będziesz musiał użyć FileZilla (pobierz i skonfiguruj, możesz uzyskać dostęp do strony przez <a href="https://mkr-novo2.ru/pl/internet/protokol-ftp-primery-setevyh-failovyh-sluzhb-ftp-i-nfs-ftp-sluzhit.html">Protokół FTP</a> i otwórz do edycji pliki swojego silnika forum, w którym <a href="https://mkr-novo2.ru/pl/firmware/launcher-ne-vidit-modov-launcher-skairim-ne-vidit-mody-kak-reshit.html">ten mod</a> wprowadza zmiany.</p><p>Następnie poszukaj odpowiedniego miejsca w kodzie i wykonaj niezbędne czynności: albo zastąp kod, albo usuń, albo dodaj fragment kodu przed lub za potrzebnym fragmentem. Biorąc pod uwagę, że do zmiany może być kilkanaście plików, można sobie wyobrazić, jakie to będzie kłopotliwe. W takim przypadku musisz być bardzo ostrożny i nie popełniać błędów, ponieważ w przeciwnym razie forum może w ogóle się nie otworzyć.</p><p>Jeśli wszystkie powyższe problemy związane z używaniem niestandardowego motywu Cię nie przerażają, możesz je pobrać stąd. Tematy są tam posortowane według sekcji (minimalizm, zbliżony do klasycznego, nowoczesnego itp.) i dla każdego z nich możesz zobaczyć jego zrzut ekranu na <a href="https://mkr-novo2.ru/pl/education/aifon-5-v-razbornom-vide-polnaya-razborka-aifona-izmeneniya-ekrana.html">Pełny ekran</a>... Nieco później powiem ci, jak zainstalować te motywy.</p><p>Jeśli nie zrusyfikowałeś forum na etapie wgrywania plików silnika na hosting, jak opisano w pierwszej części tego artykułu (patrz link na samym początku artykułu), możesz to zrobić teraz. Pakiet języka rosyjskiego pobrany wcześniej z tej strony z żądanym, musisz rozpakować, a następnie skopiować folder Motywy do <a href="https://mkr-novo2.ru/pl/firmware/pereimenovat-kornevuyu-papku-kak-sozdat-papku-ili-fail-na.html">Folder główny</a> gdzie istnieje już katalog o tej samej nazwie.</p><p>Po zakończeniu kopiowania musisz wejść na forum używając nazwy użytkownika i hasła administratora. Wybierz "Administrator" w górnym menu, a następnie kliknij "Ustawienia serwera" w lewej kolumnie.</p><p>W oknie, które zostanie otwarte, znajdujemy pozycję „Domyślny język forum” i wybieramy język rosyjski z rozwijanej listy, a następnie klikamy przycisk „Zapisz” u dołu strony.</p><p><img src='https://i1.wp.com/ktonanovenkogo.ru/image/16.092.png' width="100%" loading=lazy loading=lazy></p><p>To wszystko, teraz twoja konferencja jest całkowicie po rosyjsku.</p><h3>Rozwiązywanie problemów podczas instalowania modów, które nie obsługują języka rosyjskiego</h3><p>Należy pamiętać, że w przyszłości podczas dodawania do SMF modów, które nie mają rosyjskiego tłumaczenia, czasami mogą wystąpić problemy z wyświetleniem ustawień modów w panelu administracyjnym. Właściwie te same ustawienia w panelu administracyjnym po prostu nie będą widoczne, tk. nie będzie dla nich plików rusyfikacji. Dlatego będziesz mieć dwie możliwości rozwiązania tego problemu.</p><p>Pierwszym sposobem jest przejście na angielski na całym forum. Jak to zrobić, możesz zobaczyć kilka akapitów powyżej. W związku z tym po wykonaniu niezbędnych czynności z tymi ustawieniami będziesz musiał ponownie wrócić do języka rosyjskiego.</p><p>Druga metoda jest bardziej skomplikowana, ale pozwoli nam zawsze zobaczyć ustawienia zainstalowanych modów w panelu administratora, a nie tylko po aktywacji <a href="https://mkr-novo2.ru/pl/at/pochemu-yazykovaya-panel-ne-pereklyuchaetsya-na-angliiskii-kak.html">języka angielskiego</a>... Rozważam ten punkt tak szczegółowo, ponieważ pytanie, czy ktoś zainstalował mod i nie może znaleźć jego ustawień w panelu administracyjnym swojej konferencji, jest bardzo częste.</p><p>Tak więc drugim sposobem jest dodanie ciągów tłumaczeniowych do plików rusyfikacji dla nowo dodanych modów. Jak ustalić, które pliki rusyfikacji należy zmienić i skąd je zdobyć, powiem ci później. Na razie tymczasowo możesz skorzystać z pierwszej metody.</p><h2>Instalowanie JFusion do integracji witryny i forum</h2><p>Najpierw musisz pobrać JFusion i jego rusyfikację. Wchodząc do panelu administracyjnego Joomla wykonujemy standardowe czynności: wybierz z <a href="https://mkr-novo2.ru/pl/internet/izmenenie-verhnego-menyu-pdomenu-sozdanie-menyu-v-modx-modx-vertikalnoe.html">górne menu</a> elementy administracyjne "Rozszerzenia" - "Zainstaluj / Usuń" - ​​"Prześlij plik pakietu" - przycisk "Przeglądaj" - znajdź na swoim komputerze plik z komponentem jfusion_package.zip - kliknij przycisk "Pobierz plik i zainstaluj>".</p><p>Następnie pojawi się okno z informacją, że komponent został pomyślnie zainstalowany. Jeśli pojawią się problemy, możesz zapoznać się z opcjami rozwiązania niektórych z nich pod linkiem podanym powyżej.</p><p>Teraz przyszła kolej na rusyfikację, którą dodaje się w taki sam sposób, jak sam komponent. Te. powtarzamy sekwencję czynności: „Rozszerzenia” – „Zainstaluj/Usuń” – „Pobierz plik pakietu” – przycisk „Przeglądaj” – znajdź plik rusyfikacji JFusion na swoim komputerze – kliknij „Pobierz plik i zainstaluj” przycisk. Teraz możemy przejść do ustawień na ścieżce "Komponenty" - "JFusion" i upewnić się, że rusyfikacja została pomyślnie dodana i działa.</p><p><img src='https://i1.wp.com/ktonanovenkogo.ru/image/16.093.png' width="100%" loading=lazy loading=lazy></p> <p>Powodzenia! Do zobaczenia wkrótce na stronach bloga</p><h3></h3><p>Możesz być zainteresowany</p><p><img src='https://i1.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/nastroika-jfusion.jpg' width="100%" loading=lazy loading=lazy><span>Konfiguracja JFusion dla Combine <a href="https://mkr-novo2.ru/pl/multimedia/ischeznoveniya-board-powered-by-smf-kak-zashchitit-svoi-forum-na-simple-machines.html">Forum SMF</a> i strona Joomla</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>Moduły JFusion do wyświetlania wiadomości z forum na stronie, a także tworzenia przycisku w SMF do powrotu do Jumla</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>Tworzenie pozycji menu w Joomla, aby wejść na forum i przeniesienie rejestracji użytkownika z SMF na stronę</span> <br><img src='https://i2.wp.com/ktonanovenkogo.ru/wp-content/uploads/2013/10/ustanovka-smf.jpg' width="100%" loading=lazy loading=lazy><span>Instalacja SMF Forum - Integracja Joomla 1.5 i Simple Machines Forum z <a href="https://mkr-novo2.ru/pl/internet/obsluzhivanie-index-php-topic-powered-by-smf-temy-oformleniya-i-rusifikaciya-foruma-smf-a-tak-zhe.html">Komponent JFusion</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>Rozszerzenia dla Joomla - co to jest i skąd pobrać komponenty, moduły i wtyczki dla Joomla, jak je zainstalować i odinstalować</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>Komponent K2 do tworzenia blogów, katalogów i portali na Joomla - funkcje, instalacja i rusyfikacja</span> <span>Galeria zdjęć dla Joomla - Część 3 - Tworzenie galerii w Joomla 1.5 przy użyciu komponentu Phoca Gallery - dodawanie kategorii i przesyłanie zdjęć do galerii zdjęć</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 - konfiguracja łączy CNC (SEF) i tytułu w Joomla, a także tworzenie strony błędu 404 przy użyciu tego rozszerzenia</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 (dawniej JoomlaPack) - utwórz witrynę kopii zapasowej na Joomla i przywróć z <a href="https://mkr-novo2.ru/pl/internet/kak-sdelat-rezervnoe-kopirovanie-faila-kak-sdelat-rezervnuyu.html">utworzyć kopię zapasową</a> w dwa kliknięcia</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> <aside class="col-lg-4 col-md-12 col-md-offset-4 col-lg-offset-0" id="right"> <div> </div> <br/> <div> </div> <br/> <div> </div> <br/> <div> </div> <br/> </aside> </div> </div> </div> <div class="popup" id="share"> <div class="perfect-scroll" style="text-align: center"> <div style="margin-bottom: 20px"> <strong>Pobieranie rozpocznie się teraz ...</strong> <br>Nie zapomnij udostępnić materiału <br>w sieciach społecznościowych z Twoim <br>koledzy</div> <div> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus" data-counter=""></div> </div> </div> <div class="close-pop pull-right"> <svg width="10px" height="10px" viewBox="0 0 10 10"> <path fillrule="evenodd" d="M 6.41 5C 6.41 5 9.24 7.83 9.24 7.83 9.63 8.22 9.63 8.85 9.24 9.24 8.85 9.63 8.22 9.63 7.83 9.24 7.83 9.24 5 6.41 5 6.41 5 6.41 2.17 9.24 2.17 9.24 1.78 9.63 1.15 9.63 0.76 9.24 0.37 8.85 0.37 8.22 0.76 7.83 0.76 7.83 3.59 5 3.59 5 3.59 5 0.76 2.17 0.76 2.17 0.37 1.78 0.37 1.15 0.76 0.76 1.15 0.37 1.78 0.37 2.17 0.76 2.17 0.76 5 3.58 5 3.58 5 3.58 7.83 0.76 7.83 0.76 8.22 0.37 8.85 0.37 9.24 0.76 9.63 1.15 9.63 1.78 9.24 2.17 9.24 2.17 6.41 5 6.41 5Z"></path> </svg> </div> </div> <section id="views"> <div class="container"> </div> </section> <script type="text/javascript"> $(document).ready( function () { $('.kursiv').readmore({ speed: 75, maxHeight: 84, heightMargin: 16, moreLink: '<a href="#"><span>Показать полностью</span>', lessLink: '<a href="#"><span>Скрыть</span></a>', } ); } ); </script> <style> div.kursiv { margin-bottom: 0; } #razrabotka { margin-top: 30px; } .readmore-js-toggle { font-style: italic; color: #999; display: inline; margin-right: 10px; font-size: 14px; cursor: pointer; border-bottom: 1px dotted #e6e6e6; } </style></section> <footer> <div class="container"> <div class="row"> <div class="col-xs-16 col-sm-4 col-md-3"> <p>© 2021, mkr-novo2.ru, Internet. Edukacja. Programy. Oprogramowanie układowe. Instalacja i konfiguracja. Nawigatorzy</p> <div class="social"> <a target="_blank" href=""> <svg width="32px" height="19px" viewBox="0 0 32 19"> <path fillRule="evenodd" d="M 15.36 18.01C 15.36 18.01 17.24 18.01 17.24 18.01 17.24 18.01 17.81 17.94 18.1 17.64 18.36 17.37 18.35 16.85 18.35 16.85 18.35 16.85 18.32 14.41 19.49 14.05 20.64 13.7 22.12 16.4 23.69 17.45 24.87 18.23 25.77 18.06 25.77 18.06 25.77 18.06 29.97 18.01 29.97 18.01 29.97 18.01 32.16 17.87 31.12 16.21 31.03 16.07 30.51 14.97 28 12.72 25.37 10.35 25.72 10.74 28.89 6.65 30.82 4.16 31.59 2.65 31.35 2 31.12 1.38 29.7 1.54 29.7 1.54 29.7 1.54 24.98 1.57 24.98 1.57 24.98 1.57 24.63 1.52 24.37 1.67 24.12 1.82 23.95 2.16 23.95 2.16 23.95 2.16 23.21 4.09 22.21 5.72 20.11 9.18 19.27 9.36 18.92 9.15 18.12 8.65 18.32 7.14 18.32 6.07 18.32 2.72 18.85 1.32 17.3 0.96 16.79 0.84 16.41 0.76 15.1 0.75 13.41 0.73 11.99 0.76 11.18 1.14 10.64 1.39 10.23 1.96 10.48 1.99 10.79 2.03 11.5 2.18 11.88 2.67 12.36 3.31 12.34 4.74 12.34 4.74 12.34 4.74 12.62 8.68 11.69 9.17 11.06 9.5 10.18 8.82 8.31 5.68 7.35 4.08 6.62 2.3 6.62 2.3 6.62 2.3 6.48 1.97 6.23 1.8 5.93 1.58 5.51 1.51 5.51 1.51 5.51 1.51 1.02 1.54 1.02 1.54 1.02 1.54 0.35 1.56 0.1 1.84-0.12 2.09 0.08 2.62 0.08 2.62 0.08 2.62 3.6 10.57 7.57 14.57 11.22 18.25 15.36 18.01 15.36 18.01 15.36 18.01 15.36 18.01 15.36 18.01Z"/> </svg> </a> <a target="_blank" href=""> <svg viewBox="0 0 25 25" width="25px" height="25px"> <path class="st0" d="M12.5,12.7c3.2,0,5.8-2.6,5.8-5.8c0-3.2-2.6-5.8-5.8-5.8C9.3,1,6.7,3.6,6.7,6.8C6.7,10,9.3,12.7,12.5,12.7z M12.5,3.9c1.6,0,2.9,1.3,2.9,2.9c0,1.6-1.3,2.9-2.9,2.9c-1.6,0-2.9-1.3-2.9-2.9C9.6,5.2,10.9,3.9,12.5,3.9z M19.2,13.4 c-0.3-0.7-1.2-1.2-2.5-0.3c-1.6,1.3-4.3,1.3-4.3,1.3s-2.6,0-4.3-1.3c-1.2-1-2.1-0.4-2.5,0.3c-0.6,1.2,0.1,1.7,1.5,2.7 c1.3,0.8,3,1.1,4.1,1.2l-0.9,0.9c-1.3,1.3-2.6,2.6-3.4,3.4c-0.5,0.5-0.5,1.4,0,1.9l0.2,0.2c0.5,0.5,1.4,0.5,1.9,0l3.4-3.4 c1.3,1.3,2.6,2.6,3.4,3.4c0.5,0.5,1.4,0.5,1.9,0l0.2-0.2c0.5-0.5,0.5-1.4,0-1.9l-3.4-3.4l-0.9-0.9c1.1-0.1,2.8-0.4,4.1-1.2 C19.2,15.1,19.8,14.5,19.2,13.4z"/> </svg> </a> <a target="_blank" href="https://facebook.com/"> <svg width="26px" height="25px" viewBox="0 0 26 25"> <path fillRule="evenodd" d="M 24.33-0C 24.33-0 1.96-0 1.96-0 1.19-0 0.57 0.62 0.57 1.38 0.57 1.38 0.57 23.62 0.57 23.62 0.57 24.38 1.19 25 1.96 25 1.96 25 14 25 14 25 14 25 14 15.32 14 15.32 14 15.32 10.72 15.32 10.72 15.32 10.72 15.32 10.72 11.54 10.72 11.54 10.72 11.54 14 11.54 14 11.54 14 11.54 14 8.76 14 8.76 14 5.53 15.98 3.77 18.88 3.77 20.27 3.77 21.46 3.88 21.81 3.92 21.81 3.92 21.81 7.3 21.81 7.3 21.81 7.3 19.8 7.3 19.8 7.3 18.22 7.3 17.92 8.04 17.92 9.13 17.92 9.13 17.92 11.54 17.92 11.54 17.92 11.54 21.68 11.54 21.68 11.54 21.68 11.54 21.19 15.32 21.19 15.32 21.19 15.32 17.92 15.32 17.92 15.32 17.92 15.32 17.92 25 17.92 25 17.92 25 24.33 25 24.33 25 25.09 25 25.71 24.38 25.71 23.62 25.71 23.62 25.71 1.38 25.71 1.38 25.71 0.62 25.09-0 24.33-0Z"/> </svg> </a> <a target="_blank" href="https://youtube.com/"> <svg width="26px" height="19px" viewBox="0 0 26 19"> <path fillRule="evenodd" d="M 25.75 14.46C 25.75 14.46 25.5 16.18 24.75 16.93 23.79 17.92 22.72 17.93 22.23 17.99 18.71 18.24 13.43 18.25 13.43 18.25 13.43 18.25 6.89 18.19 4.88 18 4.32 17.89 3.06 17.92 2.11 16.93 1.35 16.18 1.11 14.46 1.11 14.46 1.11 14.46 0.86 12.45 0.86 10.44 0.86 10.44 0.86 8.55 0.86 8.55 0.86 6.54 1.11 4.52 1.11 4.52 1.11 4.52 1.35 2.81 2.11 2.05 3.06 1.06 4.14 1.06 4.63 1 8.15 0.75 13.42 0.75 13.42 0.75 13.42 0.75 13.43 0.75 13.43 0.75 13.43 0.75 18.71 0.75 22.23 1 22.72 1.06 23.79 1.06 24.75 2.05 25.5 2.81 25.75 4.52 25.75 4.52 25.75 4.52 26 6.54 26 8.55 26 8.55 26 10.44 26 10.44 26 12.45 25.75 14.46 25.75 14.46ZM 10.83 5.73C 10.83 5.73 10.83 12.72 10.83 12.72 10.83 12.72 17.62 9.24 17.62 9.24 17.62 9.24 10.83 5.73 10.83 5.73Z"/> </svg> </a> </div> </div> <div class="col-lg-2 col-sm-4 col-xs-16 links"> <h4>mkr-novo2.ru</h4> <a href="https://mkr-novo2.ru/pl/category/internet/">Internet</a> <a href="https://mkr-novo2.ru/pl/category/multimedia/">Multimedia</a> <a href="https://mkr-novo2.ru/pl/category/navigation/">Nawigatorzy</a> <a href="https://mkr-novo2.ru/pl/category/education/">Edukacja</a> <a href="https://mkr-novo2.ru/pl/category/at/">NA</a> <a href="https://mkr-novo2.ru/pl/category/problems/">Problemy</a> </div> <div class="col-lg-2 col-sm-3 col-xs-16 links"> <h4>o projekcie</h4> <a href="">Sprzężenie zwrotne</a> <a href="">O stronie</a> </div> <div class="col-lg-5 col-sm-1 col-xs-16 links"></div> <div class="col-lg-4 col-sm-5 col-xs-16 links"> </div> </div> <div class="row v-center"> <div class="col-md-8 col-xs-16"> <a data-fancybox data-type="iframe" data-src="">Łączność</a> </div> <div class="col-md-8 col-xs-16"> <div class="share pull-right"> <script type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js" charset="utf-8"></script> <script type="text/javascript" src="//yastatic.net/share2/share.js" charset="utf-8"></script> <div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus" data-counter=""></div> </div> </div> </div> </div> </footer> <a href="#bot" id="to-top"> <svg width="50px" height="50px" viewBox="0 0 50 50"> <circle cx="25.00" cy="25.00" r="25.00" fill="rgb(0,0,0)" opacity="0.37"/> <path fillRule="evenodd" d="M 33.94 24.46C 33.94 24.46 25.89 16.3 25.89 16.3 25.32 15.73 24.41 15.73 23.84 16.3 23.84 16.3 15.79 24.46 15.79 24.46 14.88 25.38 15.52 26.97 16.81 26.97 16.81 26.97 20.43 26.97 20.43 26.97 21.23 26.97 21.88 27.62 21.88 28.43 21.88 28.43 21.88 32.51 21.88 32.51 21.88 33.71 22.83 34.68 24.01 34.68 24.01 34.68 25.72 34.68 25.72 34.68 26.9 34.68 27.86 33.71 27.86 32.51 27.86 32.51 27.86 28.43 27.86 28.43 27.86 27.62 28.5 26.97 29.31 26.97 29.31 26.97 32.92 26.97 32.92 26.97 34.21 26.97 34.85 25.38 33.94 24.46Z" fill="rgb(241,241,241)"/> </svg> </a> <div class="overlay"></div> <div class="popup" id="password"> <div class="perfect-scroll"> <h2>Odzyskiwanie hasła <div class="close-pop pull-right"> <svg width="10px" height="10px" viewBox="0 0 10 10"> <path fillRule="evenodd" d="M 6.41 5C 6.41 5 9.24 7.83 9.24 7.83 9.63 8.22 9.63 8.85 9.24 9.24 8.85 9.63 8.22 9.63 7.83 9.24 7.83 9.24 5 6.41 5 6.41 5 6.41 2.17 9.24 2.17 9.24 1.78 9.63 1.15 9.63 0.76 9.24 0.37 8.85 0.37 8.22 0.76 7.83 0.76 7.83 3.59 5 3.59 5 3.59 5 0.76 2.17 0.76 2.17 0.37 1.78 0.37 1.15 0.76 0.76 1.15 0.37 1.78 0.37 2.17 0.76 2.17 0.76 5 3.58 5 3.58 5 3.58 7.83 0.76 7.83 0.76 8.22 0.37 8.85 0.37 9.24 0.76 9.63 1.15 9.63 1.78 9.24 2.17 9.24 2.17 6.41 5 6.41 5Z"/> </svg> </div> </h2> <div class="recover-success"> <form action="/recovery/request" data-method="post" method="post" class="recover_form"> <p>Wpisz swój adres e-mail, aby odzyskać hasło!</p> <div class="input-wrp"> <input name="email" type="text" placeholder="Wprowadź swój email"> </div> <input type="submit" data-disable-with="Отправить..." class="btn green" value="wysłać"> </form> </div> <div class="auth-form_error" style="padding-top: 10px"></div> </div> </div> <script> $('.user.one').click(function (e, ob) { $('.user').removeClass('active-user'); $('.user.one').addClass('active-user'); $('#user_type').val('1'); e.stopPropagation(); } ); $('.user.two').click(function (e, ob) { $('.user').removeClass('active-user'); $('.user.two').addClass('active-user'); $('#user_type').val('2'); e.stopPropagation(); } ); $('.user.three').click(function (e, ob) { $('.user').removeClass('active-user'); $('.user.three').addClass('active-user'); $('#user_type').val('3'); e.stopPropagation(); } ); function clearErrors() { $('.auth-form_error').each(function () { $(this).html(''); } ); } $('body').on('click', '.open-login-form', function (e) { $('#register, .overlay').removeClass('visible-pop'); $('#login, .overlay').addClass('visible-pop'); e.preventDefault(); } ); $('body').on('click', '.open-pass-form', function (e) { $('#register, .overlay').removeClass('visible-pop'); $('#password, .overlay').addClass('visible-pop'); e.preventDefault(); } ); $('.login_form') .on('ajax:beforeSend', function (event, xhr, settings) { clearErrors(); } ) .on('ajax:complete', function (event, xhr, status) { } ) .on('ajax:success', function (event, data, status, xhr) { if (data.status == 0) { $('.auth-form_error').html(data.text + '<br>'); } else { $('.open-register').html(data.text); var delay = 1000; window.location.href = url = window.location.href + "?login=ok"; location.replace(url); setTimeout('window.location.reload(true);', delay); } } ).on('ajax:error', function (event, xhr, status, error) { } ); $('.recover_form') .on('ajax:beforeSend', function (event, xhr, settings) { clearErrors(); } ) .on('ajax:complete', function (event, xhr, status) { } ) .on('ajax:success', function (event, data, status, xhr) { console.log(data); if (data.status == 0) { $('.auth-form_error').html(data.text + '<br>'); } else { $('.recover-success').html('<div class="success" >' + data.text + '</div>'); } } ).on('ajax:error', function (event, xhr, status, error) { } ); $('.registration_form') .on('ajax:beforeSend', function (event, xhr, settings) { var emailError = $('#emailError'); var passwordError = $('#passwordError'); var passwordVerify = $('#passwordVerifyError'); var userTypeError = $('#userTypeError'); var emailExist = $('#emailExist'); emailError.html(''); passwordError.html(''); passwordVerify.html(''); userTypeError.html(''); emailExist.hide(); } ) .on('ajax:complete', function (event, xhr, status) { } ).on('ajax:success', function (event, data, status, xhr) { // insert the failure message inside the "#account_settings" element //console.log(data); if (data.status == 0) { //$('.reg-info').html('<div class="error">' + data.text + '</div>'); if (data.text.email) { var emailError = $('#emailError'); var emailExist = $('#emailExist'); console.log(data.text.email); if (data.text.email == 'Найдена совпадающая со значением запись') { console.log('alert'); emailExist.show(); } else { emailError.html('<i class="icon-error"></i><div class="error_note_wrapper">' + '<div class="error_note">' + '<span class="error_note_text">' + data.text.email + '</span></div></div>'); } } if (data.text.password) { var passwordError = $('#passwordError'); console.log(data.text.password); passwordError.html('<i class="icon-error"></i><div class="error_note_wrapper">' + '<div class="error_note">' + '<span class="error_note_text">' + data.text.password + '</span></div></div>'); } if (data.text.passwordVerify) { var passwordVerify = $('#passwordVerifyError'); console.log(data.text.passwordVerify); passwordVerify.html('<i class="icon-error"></i><div class="error_note_wrapper">' + '<div class="error_note">' + '<span class="error_note_text">' + data.text.passwordVerify + '</span></div></div>'); } if (data.text.captcha) { var captcha = $('#captchaError'); console.log(data.text.captcha); captcha.html('<i class="icon-error"></i><div class="error_note_wrapper">' + '<div class="error_note">' + '<span class="error_note_text">' + data.text.captcha + '</span></div></div>'); } if (data.text.userType) { var user_type = $('#userTypeError'); console.log(data.text.userType); user_type.html('<i class="icon-error"></i><div class="error_note_wrapper">' + '<div class="error_note">' + '<span class="error_note_text">' + data.text.userType + '</span></div></div>'); } } else { $('.reg-success').html(data.text); var delay = 2000; window.location.href = url = window.location.href + "?reg=ok"; location.replace(url); setTimeout('window.location.reload(true);', delay); } } ).on('ajax:error', function (event, xhr, status, error) { } ); </script> <div class="popup" id="premium-pop"> </div> <link rel="stylesheet" href="/videouroki/res/lightslider/lightslider.min.css"> <link rel="stylesheet" href="/videouroki/res/perfectScrollbar/perfect-scrollbar.css"> <link rel="stylesheet" href="/videouroki/assets/font-awesome/css/font-awesome.min.css"> <link rel="stylesheet" href="/assets/vendor/fancybox/jquery.fancybox.min.css"> <script src="/videouroki/res/perfectScrollbar/perfect-scrollbar.jquery.min.js"></script> <script src="/js/rails.js"></script> <script src="/videouroki/res/lightslider/lightslider.min.js"></script> <script src="/videouroki/res/jquery.validate.min.js"></script> <script src="/videouroki/res/autosize-master/autosize.min.js"></script> <script src="/videouroki/js/tabs.js"></script> <script src="/videouroki/js/select.js"></script> <script src="/videouroki/js/global.js?2109"></script> <script src="/videouroki/js/views.js"></script> <script src="/videouroki/plugin/notify/notify.min.js"></script> <script src="/videouroki/plugin/notify/notify-metro.js"></script> <script src="/videouroki/js/lazyload.min.js"></script> <script src="/assets/vendor/fancybox/jquery.fancybox.min.js"></script> <script type="text/javascript"> $(document).ready( function () { // new LazyLoad(); } ) </script> <!--[if gte IE 9]><script type="text/javascript" src="/videouroki/assets/ckeditor-mini/ckeditor.js"></script><![endif]--> <script type="text/javascript" src="/videouroki/js/readmore.js"></script></body> </html>