Durumu
Çevrimdışı
DLE istatistik modülü LightStat 3.0 Bu modülün sayesinde web sitenizde oldukça şık bir istatistik elde edebilirsiniz.O zaman kısaca anlatalım; bu
CMS DataLife Engine için kolay ve çok işlevsel bir ziyaret istatistikleri modülüdür. Öncelikle modülün bu sürümünde nasıl bir değişiklik olduğuna hep birlikte göz atalım.
DLE istatistik modülü "LightStat" 3.0 özellikleri neledir? 1 ) Sayfayı yeniden yüklemeden otomatik veri güncelleme
2 ) Verileri önbelleğe alma
3 ) Uyarlanabilir tasarım
4 ) Arama motorlarının daha sağlıklı bir şekilde güncellemesini ve görünmesi sağlanmıştır
5 ) 2 adet widget rengi mevcuttur.Varsılyan widget rengi siyah renktedir.(Widget rengini CSS ile kendinize göre istediğiniz renge getirebilirsiniz)
6 ) Belirli bir süre boyunca bir kişi sitede herhangi bir etkinlik göstermediyse (örneğin, bilgisayardan uzun bir süre uzaklaştıysa) yok sayılır. Aktifliği süresince, sayfayı yenilemeye gerek kalmadan istatistikler otomatik olarak güncellenmektedir.
7 ) Sitenizde, o gün sitede bulunan tüm kullanıcıları uygun bir listede görüntüler. Varsayılan olarak, liste son 3 kullanıcıyı gösterir, daha büyük bir kısmıyla tüm kişi listesini göstermenizi sağlayan özel bir buton görünür. Sıralama, en küçükten en büyüğüne en son ziyarette gerçekleşir. Ayrıca, eğer sitede ise kullanıcının durumunu, ve en son ne zaman sitede olduğunu, belirli bir istatistik toplama zamanında aktif olmasa da göstermektedir.
8 ) Kullanıcı nicklerine ait özel bir grup eklendi. Bulunduğu grub ve diğer gruplar arasından bir kişiyi görsel olarak seçmenize izin verir. Sitede özel ayrıcalıklı yöneticileri ve grupları işaretlemek için kullanışlı bir özellik vardır.
9 ) Bir önceki sürüme göre hatalar ayıklanarak iyileştirilme yapıldı.
Modül Kurulumu Cpanelinizden SQL Sorgusu kısmına aşağıdaki kodu koplayıp çalıştırıyoruz.
PHP- Kodu:
CREATE TABLE ` [COLOR="Red"]veritabanı isminizi buraya yazınız[/COLOR] `.` dle_lightstat ` (` ip ` VARCHAR ( 32 ) NOT NULL , ` time ` INT NOT NULL , ` type ` INT ( 1 ) NOT NULL , UNIQUE (` ip `)) ENGINE = MyISAM ;
kırmızı olarak işaretlemiş olduğum alana kendi veri tabanı isminizi yazınız.Daha sonra
lightstat.php adında bir dosya oluşturup bu dosya içine aşağıda belirtmiş olduğum kodu yapıştırıyorsunuz.Yapıştırdıktan sonra
FTP yardımıyla ana dizininizden
engine/modules dosyasının içine atıyoruz.
PHP- Kodu:
<?php /* ============================================================ Modul Turkcelestirme: http://ircmedya.com ============================================================ */ if(! defined ( "DATALIFEENGINE" )) { die( "Hacking attempt!" ); } include( "engine/api/api.class.php" ); function sort_date_visit ( $a_new , $b_new ) { return $b_new [ "3" ] - $a_new [ "3" ]; } function isBot (& $botname = "" ) { $bots = array( "rambler" , "aport" , "yahoo" , "msnbot" , "turtle" , "mail.ru" , "omsktele" , "yetibot" , "picsearch" , "sape.bot" , "sape_context" , "gigabot" , "snapbot" , "alexa.com" , "megadownload.net" , "askpeter.info" , "igde.ru" , "ask.com" , "qwartabot" , "yanga.co.uk" , "scoutjet" , "similarpages" , "oozbot" , "shrinktheweb.com" , "aboutusbot" , "followsite.com" , "dataparksearch" , "liveinternet.ru" , "xml-sitemaps.com" , "agama" , "metadatalabs.com" , "h1.hrn.ru" , "seo -rus.com" , "yaDirectBot" , "yandeG" , "Copyscape.com" , "domaintools.com" , "Nigma.ru" , "dotnetdotcom" , "bing" , "Accoona" , "ia_archiver" , "Ask Jeeves" , "OmniExplorer_Bot" , "W3C_Validator" , "WebAlta" , "Yahoo" , "Ezooms" , "Tourlentabot" , "MJ12bot" , "AhrefsBot" , "SearchBot" , "SiteStatus" , "Baiduspider" , "Statsbot" , "SISTRIX" , "AcoonBot" , "findlinks" , "proximic" , "OpenindexSpider" , "statdom.ru" , "Exabot" , "Spider" , "SeznamBot" , "oBot" , "C-T bot" , "Updownerbot" , "Snoopy" , "heritrix" , "Yeti" , "DomainVader" , "DCPbot" , "PaperLiBot" , "a.pr -cy.ru" , "eSyndiCat Bot" , "YandexBot" , "YandexImages" , "YandexMetrika" , "YaDirectFetcher" , "YandexMobileBot" , "YandexMarket" , "YandexImageResizer" , "Yandex Market picture robot" , "YandexAccessibilityBot" , "YandexCatalog" , "Googlebot" , "AdsBot-Google" , "Mail.RU_Bot" , "bingbot" , "msnbot-media" , "Baiduspider-" , "Yahoo! Slurp" , "curl" , "SemrushBot" , "price.ru-image-robot" , "ltx71.com" , "Riddler" , "SurdotlyBot" , "ActivizmBot" , "glindahl-cocrawler" , "Twitterbot" , "facebookexternalhit" , "Virusdie crawler" , "Cliqzbot" , "statdom.ru/Bot" , "openstat.ru/Bot" , "linkdexbot" , "Linkbot" , "coccocbot-web" , "SMTBot" , "top100.rambler.ru crawler" , "WebMoney MegaStock robot" , "CommonCrawler Node" , "archive.org_bot" , "SEOkicks-Robot" , "TorgMailRuBot" , "Python-urllib/2.7" , "Yandex.Commerce.Pinger" , "BLEXBot" , "linux-gnu" , "Googlebot-Image" , "AdsBot-Google-Mobile" , "360Spider" , "Trident-не бот" , "YisouSpider" , "spider" , "PHP-Curl-Class" , "slurp" , "crawler" , "pinger" , "robot" , "WGet tools" , "FavIconizer" , "FaceBook bot" , "CFNetwork" , "NG 1.x (Exalead)" , "Phantom" , "RoadHouse Crawling System" , "SurveyBot" , "Perl tool" , "Sogou Spider" , "StackRambler" , "TITAN" , "Feedfetcher-Google" , "Netcraft" , "Fish search" , "RBSE Spider" , "Sift" , "W3C Validator" , "Konqueror" , "Yahoo Slurp" , "Mail.RU Bot" , "archive.org bot" , "Apache-HttpClient/" , "Flamingo_SearchEngine" , "Googlebot-Nes" , "Googlebot-Images" , "Googlebot-Video" , "Google-Mobile" , "Google-Mobile AdSense" , "Google-AdSense" , "Google-AdsBot" , "Teoma" , "Lycos" , "Aport" , ); foreach( $bots as $bot ) { if( stripos ( $_SERVER [ "HTTP_USER_AGENT" ], $bot ) !== false ) { $botname = $bot ; return 2 ; } } return 0 ; } function number_user_e ( $number_user , $titles_user ) { $cases = array( 2 , 0 , 1 , 1 , 1 , 2 ); return $titles_user [( $number_user % 100 > 4 && $number_user % 100 < 20 )? 2 : $cases [ min ( $number_user % 10 , 5 )]]; } if(isset( $member_id [ "user_id" ])) { $type_user = 1 ; $db -> query ( "UPDATE `dle_users` SET `lastdate` = '" . time (). "' WHERE `user_id`= '" . $member_id [ "user_id" ]. "'" ); } else { $type_user = isBot ( $bname ); } $check_user = $db -> query ( "SELECT * FROM `dle_lightstat` WHERE `ip` = '" . md5 ( $_SERVER [ 'REMOTE_ADDR' ]). "'" ); if( $check_user -> num_rows > 0 ) { $db -> query ( "UPDATE `dle_lightstat` SET `time` = '" . time (). "' WHERE `ip`= '" . md5 ( $_SERVER [ 'REMOTE_ADDR' ]). "'" ); } else { $db -> query ( "INSERT IGNORE INTO `dle_lightstat` VALUES ('" . md5 ( $_SERVER [ 'REMOTE_ADDR' ]). "', '" . time (). "', '" . $type_user . "')" ); } $result_numb = "" ; $result_numb_percent = "" ; $numb_online = 0 ; $user_numb = 0 ; $guest_numb = 0 ; $bot_numb = 0 ; $cache_lighstat = $dle_api -> load_from_cache ( "cache_lighstat" , 15 , "text" ); if( $cache_lighstat === false ) { $db -> query ( "DELETE FROM `dle_lightstat` WHERE `time` + '180' < " . time ()); $user_list_type = $db -> query ( "SELECT * FROM `dle_lightstat`" ); while( $row = $db -> get_row ( $user_list_type )) { $numb_online ++; if( $row [ "type" ] == "1" ) { $user_numb ++; } else if( $row [ "type" ] == "0" ) { $guest_numb ++; } else if( $row [ "type" ] == "2" ) { $bot_numb ++; } } $numb_online_head = number_format ( $numb_online , 0 , "" , " " ). " Ziyaretci" . number_user_e ( $numb_online , array( "ÑŒ" , "Ñ" , "ей" )); if( $user_numb > 0 ) { $result_numb .= '<div class="lightstat_user"><span></span>Kullanıcılar<span>' . number_format ( $user_numb , 0 , "" , " " ). '</span></div>' ; $result_numb_percent .= '<span class="lightstat_user_circle" style="width: ' . str_replace ( "," , "." , round (( $user_numb / $numb_online * 100 ), 3 )). '%"></span>' ; } if( $guest_numb > 0 ) { $result_numb .= '<div class="lightstat_guest"><span></span>Ziyaretciler<span>' . number_format ( $guest_numb , 0 , "" , " " ). '</span></div>' ; $result_numb_percent .= '<span class="lightstat_guest_circle" style="width: ' . str_replace ( "," , "." , round (( $guest_numb / $numb_online * 100 ), 3 )). '%"></span>' ; } if( $bot_numb > 0 ) { $result_numb .= '<div class="lightstat_bot"><span></span>Robotlar<span>' . number_format ( $bot_numb , 0 , "" , " " ). '</span></div>' ; $result_numb_percent .= '<span class="lightstat_bot_circle" style="width: ' . str_replace ( "," , "." , round (( $bot_numb / $numb_online * 100 ), 3 )). '%"></span>' ; } $user_list_visit = $db -> query ( "SELECT name, user_id, user_group, lastdate, foto FROM `dle_users` WHERE `lastdate` > " .( time () - 86400 )); $user_list_visit_last = []; while( $row = $db -> get_row ( $user_list_visit )) { if( date ( "m.d.Y" , $row [ "lastdate" ]) == date ( "m.d.Y" )) { $user_list_visit_last [] = array( $row [ "name" ], $row [ "user_id" ], $row [ "user_group" ], $row [ "lastdate" ], $row [ "foto" ]); } } usort ( $user_list_visit_last , "sort_date_visit" ); $user_list_visit_item = "" ; if( count ( $user_list_visit_last ) > 0 ) { foreach( $user_list_visit_last as $key ) { if( time () - $key [ 3 ] <= 180 ) { $online_now = "<span class=" online ">Online Olanlar</span>" ; } else { if(( time () - $key [ 3 ]) > 180 && ( time () - $key [ 3 ]) <= 3540 ) { $minute = round ((( time () - $key [ 3 ]) / 60 )); $online_now = "<span>Kullanıoı (a) dakika icinde " . $minute . " cevrimiciydi" . number_user_e ( $minute , array( "ту" , "Ñ‚Ñ‹" , "Ñ‚" )). " Once</span>" ; } else { $hour = round ((( time () - $key [ 3 ]) / 60 / 60 )); $online_now = "<span>Kullanıoı (a) saat icinde " . $hour . " cevrimiciydi" . number_user_e ( $hour , array( "" , "Ğ°" , "ов" )). " Once</span>" ; } } if( $key [ 4 ] == "" ) { $avatar_link = "/templates/" . $config [ "skin" ]. "/images/no_avatar_lightstat.png" ; } else { $avatar_link = $key [ 4 ]; } if( $config [ "allow_alt_url" ] == 1 ) { $user_link = "/user/" . $key [ 0 ]; } else { $user_link = "/index.php?subaction=userinfo&user=" . $key [ 0 ]; } $user_list_visit_item .= ' <div class="lightstat_user_list_item"> <a href="' . $user_link . '" title="Kullanıcı Profili" class="lightstat_user_list_item_avatar" style="background: url(' . $avatar_link . ')"></a> <div class="lightstat_user_list_item_info group_id_' . $key [ 2 ]. '"> <a href="' . $user_link . '" title="Kullanıcı Profili">' . $key [ 0 ]. '</a> ' . $online_now . ' </div> </div> ' ; } if( count ( $user_list_visit_last ) > 3 ) { $full_list_visit_link = ' <div class="full_list_visit_bg"> <a href="javascript : void(0);" class="full_list_visit">Hepsini göster</a> </div> ' ; } else { $full_list_visit_link = "" ; } $user_list_visit_item_result = ' <div class="lightstat_user_list"> <span class="lightstat_user_list_title">Kullanıcı listesi</span> ' . $user_list_visit_item . $full_list_visit_link . ' </div> ' ; $border_none_user = "" ; } else { $user_list_visit_item_result = "" ; $border_none_user = "border_none_user" ; } if(isset( $theme_light )) { $theme_type = "lightstat_light_theme" ; } else { $theme_type = "" ; } $result_lighstat = ' <!-- Copyright (c) 2019 Artem Malcov | https://www.pandoge.com/moduli_i_skripty/modul-statistiki-lightstat-30-dlya-dle --> <div class="lightstat_main ' . $theme_type . '"> <div id="lightstat_main_get_info"> <div class="lightstat_body ' . $border_none_user . '"> <div class="lightstat_progress"> ' . $result_numb_percent . ' </div> <div class="" style="clear: both;"></div> <span class="lightstat_is">' . $numb_online_head . ' Resmi web adresi:</span> <div class="result_numb">' . $result_numb . '</div> </div> ' . $user_list_visit_item_result . ' </div> </div> <script> $(function() { var no_active_time = 6; var now_time = 0; var run_lightstat_info = true; let timer_lightstat; function update_stat() { if(now_time >= no_active_time) { return; } $(".lightstat_main").load(window.********.pathname+" #lightstat_main_get_info"); } document.onmousemove = function() { now_time = 0; }; function update_lightstat() { if(run_lightstat_info) { update_stat(); now_time++; timer_lightstat = setTimeout(update_lightstat, 20000); } } $(document).on("mouseover", ".lightstat_main", function() { run_lightstat_info = false; clearTimeout(timer_lightstat); }); $(document).on("mouseleave", ".lightstat_main", function() { run_lightstat_info = true; timer_lightstat = setTimeout(update_lightstat, 20000); }); update_lightstat(); $(document).on("click", ".full_list_visit", function() { $(".lightstat_user_list_item").css({"display": "flex"}); $(".full_list_visit_bg").hide(); }); }); </script> ' ; $dle_api -> save_to_cache ( "cache_lighstat" , $result_lighstat ); echo $result_lighstat ; } else { echo $cache_lighstat ; } ?>
daha sonra
templates/{temaisminiz} klasörüne aşağıda vermiş olduğum
no_avatar_lightstat.zip dosyası içerisindeki
no_avatar_lightstat.png dosyasını
FTP yardımıyla atınız.
daha sonra temanızın
CSS dosyasından uygun olan her hangi bir dosyayı açarak örnek
style.css dosyasının içerisine aşağıdaki kodu yapıştırınız.
PHP- Kodu:
. lightstat_main * { - webkit - box - sizing : border - box ; - moz - box - sizing : border - box ; box - sizing : border - box ; } . lightstat_main *: before , . lightstat_main *: after { - webkit - box - sizing : border - box ; - moz - box - sizing : border - box ; box - sizing : border - box ; } . lightstat_main { min - width : 230px ; width : 100 %; margin : 0 auto ; font - family : arial ; box - shadow : 0 4px 10px rgba ( 0 , 0 , 0 , .1 ); border - radius : 8px ; } . lightstat_progress { width : 100 %; padding : 0 10px ; } . lightstat_progress span { height : 4px ; display : block ; float : left ; } . lightstat_progress span : nth - of - type ( 1 ) { border - top - left - radius : 2px ; border - bottom - left - radius : 2px ; } . lightstat_progress span : nth - last - of - type ( 1 ) { border - top - right - radius : 2px ; border - bottom - right - radius : 2px ; } . lightstat_body { background : #242043; border-radius: 8px 8px 0 0; padding: 15px 0 1px 0; } .lightstat_body.border_none_user { border-radius: 8px; } .lightstat_body .result_numb div { padding: 0 10px 11px 10px; color: #bbb; font-size: 14px; text-shadow: 0 -1px 0 rgba(0, 0, 0, .6); } .lightstat_body .result_numb div span:nth-of-type(1) { width: 8px; height: 8px; display: inline-block; border-radius: 99px; margin: 4px 10px 0 0; vertical-align: top; box-shadow: 0px -1px 1px rgba(0, 0, 0, .6); } .lightstat_body .result_numb div span:nth-of-type(2) { float: right; color: #fff; } .lightstat_body .result_numb .lightstat_user span:nth-of-type(1) { border: 2px solid #d9823b; } .lightstat_body .result_numb .lightstat_guest span:nth-of-type(1) { border: 2px solid #a963b9; } .lightstat_body .result_numb .lightstat_bot span:nth-of-type(1) { border: 2px solid #36a7a5; } .lightstat_user_circle { background: #d9823b; } .lightstat_guest_circle { background: #a963b9; } .lightstat_bot_circle { background: #36a7a5; } .lightstat_is { color: #fff; font-size: 10px; text-transform: uppercase; padding: 18px 0 15px 28px; display: block; text-shadow: 0 -1px 0 rgba(0, 0, 0, .6); } .lightstat_user_list { background: #fff; border-radius: 0 0 8px 8px; position: relative; } .lightstat_pandoge_com { width: 8px; height: 20px; position: relative; background: #222; display: block; position: absolute; top: 0; right: 20px; transition: .2s; } .lightstat_pandoge_com:after { content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 0; border-bottom: 4px solid #d1d5d8; border-left: 4px solid transparent; border-right: 4px solid transparent; } .lightstat_pandoge_com:hover { height: 24px; transition: .2s; } .lightstat_user_list_title { color: #242043; font-size: 10px; text-transform: uppercase; padding: 18px 0 17px 28px; display: block; font-weight: 700; } .lightstat_user_list_item { padding: 0 10px 20px 10px; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-wrap: wrap; -webkit-flex-wrap: wrap; flex-wrap: wrap; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; } .lightstat_user_list_item a { text-decoration: none !important; color: #242043; } .lightstat_user_list_item_avatar { background-size: cover !important; border-radius: 99px; width: 34px; height: 34px; display: block; } .lightstat_user_list_item_avatar:hover { opacity: .8; } .lightstat_user_list_item_info { font-size: 12px; font-weight: 700; width: calc(100% - 34px); padding: 1px 0 0 10px; } .lightstat_user_list_item_info span { display: block; font-weight: 400; padding: 2px 0 0 0; color: #888; } .lightstat_user_list_item_info span.online { color: #0e8952; } .lightstat_user_list_item_info a:hover { text-decoration: underline !important; } .full_list_visit { margin: auto; color: #242043; font-size: 10px; text-transform: uppercase; display: block; font-weight: 700; width: 120px; text-align: center; background: #fff; border-radius: 99px; height: 26px; line-height: 26px; border: 1px solid #888; box-shadow: 0 2px 4px rgba(0, 0, 0, .1); } .full_list_visit:hover { box-shadow: 0 4px 8px rgba(0, 0, 0, .2); } .full_list_visit_bg { position: absolute; bottom: 0; left: 0; right: 0; border-radius: 0 0 8px 8px; z-index: 2; background: -moz-linear-gradient(bottom, rgba(255, 255, 255, .1) 0, rgba(255, 255, 255, 1) 100%); background: -webkit-linear-gradient(bottom, rgba(255, 255, 255, .1) 0, rgba(255, 255, 255, 1) 100%); background: linear-gradient(to bottom, rgba(255, 255, 255, .1) 0, rgba(255, 255, 255, 1) 100%); padding: 20px 0; } .lightstat_user_list_item { display: none; } .lightstat_user_list .lightstat_user_list_item:nth-of-type(1), .lightstat_user_list .lightstat_user_list_item:nth-of-type(2), .lightstat_user_list .lightstat_user_list_item:nth-of-type(3) { display: flex; } .lightstat_light_theme .lightstat_body { background: #f1f5f7; } .lightstat_light_theme .lightstat_body { background: #f1f5f7; } .lightstat_light_theme .lightstat_user_list_item a { color: #030304; } .lightstat_light_theme .lightstat_user_list_title { color: #030304; } .lightstat_light_theme .lightstat_body .result_numb div span:nth-of-type(2) { color: #283e52; } .lightstat_light_theme .lightstat_body .result_numb div { color: #030304; text-shadow: none; } .lightstat_light_theme .lightstat_is { text-shadow: none; color: #283e52; } .lightstat_light_theme .lightstat_body .result_numb .lightstat_user span:nth-of-type(1) { border: 2px solid #0bb1d6; box-shadow: none; } .lightstat_light_theme .lightstat_body .result_numb .lightstat_guest span:nth-of-type(1) { border: 2px solid #ff6d00; box-shadow: none; } .lightstat_light_theme .lightstat_body .result_numb .lightstat_bot span:nth-of-type(1) { border: 2px solid #345471; box-shadow: none; } .lightstat_light_theme .lightstat_user_circle { background: #0bb1d6; } .lightstat_light_theme .lightstat_guest_circle { background: #ff6d00; } .lightstat_light_theme .lightstat_bot_circle { background: #345471; }
daha sonra temanızın uygun bir yerine örneğin;
main.tpl dosyasında uygun olan bir yere aşağıdaki kodu ekliyoruz.
PHP- Kodu:
{include file = "engine/modules/lightstat.php" }
son olarak; admin panelinden web sitemizin önbelleğini temizliyoruz.
Sitenizde bir jQuery kütüphanesi yoksa eğer, kapanış etiketinden
</body> önce aşağıdaki kodu eklemeyi unutmayın.
PHP- Kodu:
< script src = "https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js " > </script>
Modül Yazarı: Artem Malkov Modül Türkçeleştirme: IRCMedya.Com Eklentiyi ekten indiriniz.