Konuyu Oyla:
  • Toplam: 1 Oy - Ortalama: 4
  • 1
  • 2
  • 3
  • 4
  • 5
MyBB header'da özel mesajlar gösterme [Modifikasyon]
#1
Lightbulb 
Bu modifikasyon sayesinde eklentiye ihtiyaç duymadan header'a içerisinde gelen özel mesajlarınızın bulunduğu açılır-kapanr menü ekleyeceksiniz.
Farklı bir sitede paylaşırken yapımcı ismi belirtmenizi rica ediyorum, örn: Modifikasyon Yapımcısı: Novruz.

Admin KP » Temalar ve şablonlar » Şablonlar » Kullandığınız temanın şablon seti » Header Şablonlar » header_welcomeblock_member_pms içeriğini aşağıdaki kodlar ile değiştirin.

PHP Kod:
<span style="display:inline-block;position: relative"><li><a href="{$mybb->settings['bburl']}/private.php">{$lang->welcome_pms}</a> {$lang->welcome_pms_usage} <span class="icontoggle"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 320 512"  ><path d="M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"/></svg></span></li>
<
div class="popups_menu pm_header">
<
div class="pm_show_head"><span class="pm_show_title">Gelen kutusu</span></div>
<
ul class="pm_show" ></ul></div>
</
span>
<
script>let show document.getElementsByClassName("pm_show")[0];
fetch('private.php')
 
 .then(res => res.text())
 
 .then((responseText) => {
 
   const doc = new DOMParser().parseFromString(responseText'text/html');
    const 
elms = Array.from(doc.getElementsByClassName("pm_source"));
    
show.innerHTML += elms.reduce((ael) => += el.innerHTML'')
 
 });
    
document.getElementsByClassName("icontoggle")[0].onclick = function(){
document.getElementsByClassName("pm_header")[0].classList.toggle("toggle");
};
    
document.body.onclick = function(e){
if(
e.target.classList.contains("icontoggle") != true && e.target.parentElement.classList.contains("icontoggle") != true && e.target.parentElement.parentElement.classList.contains("icontoggle") != true) {
    
document.getElementsByClassName("pm_header")[0].classList.remove("toggle")};
};
</
script



Admin KP » Temalar ve şablonlar » Şablonlar » Kullandığınız temanın şablon seti » Özel Mesajlaşma Şablonlar » private_messagebit aşağıdaki kodları en alta ekleyin.
PHP Kod:
<div class="pm_source">
    <
div class="pm_source_wrap">
        <
div class="pm_source_icon"><span class="pm_icon {$msgstatus}"><img src="{$theme['imgdir']}/{$msgstatus}.png" alt="{$msgalt}title="{$msgalt}/></span></div>
        <
div class="pm_source_info">
<
div class="pm_source_info_item"><class="{$msgstatus}href="private.php?action=read&amp;pmid={$message['pmid']}">{$message['subject']}</a></div>
<
div class="pm_source_info_item">{$tofromusername} {$senddate}</div>
        </
div>
    </
div>
</
div

Admin KP » Temalar ve şablonlar » Kullandığınız tema » global.css » Gelişmiş düzenleme » aşağıdaki kodları en alta ekleyin.
PHP Kod:
.icontoggle{
    
cursor:pointer;
    -
webkit-user-selectnone;
    
user-selectnone;
}

.
pm_header{
    
background:white;
    
opacity:0;
    
transformtranslateY(45px);
    
visibility:hidden;
    
transition:150ms ease;
    
positionabsolute;
    
z-index2;
    
top:0;
    
border-radius:5px;
    
padding10px 0;
    -
webkit-pointer-eventsnone;
    
pointer-eventsnone;
    
box-shadow:0 1px 8px 0px rgba(0,0,0,.3);
    
width:100%;
}

.
pm_header.toggle{
    
opacity:1!important;
    
transformtranslateY(30px)!important;
    
visibility:visible!important;
    
pointer-events: unset;
}

.
pm_header ul{
    
margin-top2%;
    
padding:0;
    
width100%;
    
max-height:15em;
    
overflow-yauto;
}

.
pm_show_head{
    
display:flex;
    
justify-contentcenter;
    
border-bottom:1px solid #ddd;
}

.
pm_show_title{
    
background:dodgerblue;
    
color:white;
    
font-size:15px;
    
padding4px 16px;
    
border-radius:3px;
    
margin-bottom:8px;
}

.
pm_source_wrap{
    
displaynone;
}

.
pm_show .pm_source_wrap{
    
display:flex;
    
align-items:center;
    
padding5px;
}

.
pm_show .pm_source_icon{
    
displayinline-flex;
 
   flex0 0 2.5rem;
 
   align-itemscenter;
 
   justify-contentcenter;
}

.
pm_show .pm_source_info{
    
display:flex;
    
flex-direction:column
}

.
pm_show .pm_source_info_item:first-child{
    
font-size:15px;
}

.
pm_show .pm_source_info_item:last-child{
    
font-size:13px;


10TR.NET siteleri için fetch api kullanmadan yapım;
Admin KP » Temalar ve şablonlar » Şablonlar » Kullandığınız temanın şablon seti » Header Şablonlar » header_welcomeblock_member_pms içeriğini aşağıdaki kodlar ile değiştirin.
PHP Kod:
<span style="display:inline-block;position: relative"><li><a href="{$mybb->settings['bburl']}/private.php">{$lang->welcome_pms}</a> {$lang->welcome_pms_usage} <span class="icontoggle"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 320 512"  ><path d="M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"/></svg></span></li>
<
div class="popups_menu pm_header">
<
div class="pm_show_head"><span class="pm_show_title">Gelen kutusu</span></div>
<
ul class="pm_show" ></ul></div>
</
span>
<
script>
window.onload = function(){
if(
document.readyState === "complete"){

    for(
0privatemessages.lengthi++){
document.getElementsByClassName("pm_show")[0].innerHTML +=  '<div class="pm_source_wrap"><div class="pm_source_icon"><span class="pm_icon"></span></div><div class="pm_source_info"><div class="pm_source_info_item"><a href="private.php?action=read&amp;pmid=' privatemessages[i].pmid '">' privatemessages[i].subject '</a></div><div class="pm_source_info_item">' '<a href="member.php?action=profile&uid=' privatemessages[i].fromid '">' privatemessages[i].fromusername '</a>' ' ' privatemessages[i].tarihzaman.replace("T"" ") + '</div></div></div></div>';

var 
pr privatemessages[i].readtime;     
var 
zr Math.round(new Date().getTime() / 1000);
var 
fark Math.abs(zr pr );    
if(
pr === 0){
document.getElementsByClassName("pm_source_wrap")[i].getElementsByClassName("pm_source_icon")[0].classList.add("new");
        }    
else{
    
document.getElementsByClassName("pm_source_wrap")[i].getElementsByClassName("pm_source_icon")[0].classList.add("old");
}            
    }
    }
};
<
script

Admin KP » Temalar ve şablonlar » Kullandığınız tema » global.css » Gelişmiş düzenleme » aşağıdaki kodları en alta ekleyin.
PHP Kod:
.icontoggle{
    
cursor:pointer;
    -
webkit-user-selectnone;
    
user-selectnone;
}

.
pm_header{
    
background:white;
    
opacity:0;
    
transformtranslateY(45px);
    
visibility:hidden;
    
transition:150ms ease;
    
positionabsolute;
    
z-index2;
    
top:0;
    
border-radius:5px;
    
padding10px 0;
    -
webkit-pointer-eventsnone;
    
pointer-eventsnone;
    
box-shadow:0 1px 8px 0px rgba(0,0,0,.3);
    
width:100%;
}

.
pm_header.toggle{
    
opacity:1!important;
    
transformtranslateY(30px)!important;
    
visibility:visible!important;
    
pointer-events: unset;
}

.
pm_header ul{
    
margin-top2%;
    
padding:0;
    
width100%;
    
max-height:15em;
    
overflow-yauto;
}

.
pm_show_head{
    
display:flex;
    
justify-contentcenter;
    
border-bottom:1px solid #ddd;
}

.
pm_show_title{
    
background:dodgerblue;
    
color:white;
    
font-size:15px;
    
padding4px 16px;
    
border-radius:3px;
    
margin-bottom:8px;
}

.
pm_source_wrap{
    
displaynone;
}

.
pm_show .pm_source_wrap{
    
display:flex;
    
align-items:center;
    
padding5px;
}

.
pm_show .pm_source_icon{
    
displayinline-flex;
 
   flex0 0 2.5rem;
 
   align-itemscenter;
 
   justify-contentcenter;
}

.
pm_source_icon.old > .pm_icon{
    
background:url(/images/old_pm.png);
    
width16px;
    
height16px;
}

.
pm_source_icon.new > .pm_icon{
    
background:url(/images/new_pm.png);
    
width16px;
    
height16px;
}

.
pm_show .pm_source_info{
    
display:flex;
    
flex-direction:column
}

.
pm_show .pm_source_info_item:first-child{
    
font-size:15px;
}

.
pm_show .pm_source_info_item:last-child{
    
font-size:13px;


Önizleme :
YdJvda.png

Not : Modifikasyon default tema baz alınarak yapılmıştır, farklı temalarda küçük sorunlar oluşa bilir, oluşa bilecek sorunlar için işlemleri yapmadan önce yedek almayı unutmayın.
ücretli grafik - tasarım ve kodlama işleri yapılır
MyBB Dizayn
iletişim için;
özel mesaj, sosyal medya adreslerim:
facebook | twitter | instagram | behance | github
Cevapla PGM
Teşekkür verenler: Alex. , kaRanLık-6 , admin , NextWorld , Dream41 , Time Trave , Burak Acil
#2
Elinize sağlık, çok güzel görünüyor.
WWW.SİNEMATİK.10TL.NET
[img width=250 height=100]https://images.typeform.com/images/yL8ACj9nR7/image/default[/img]
Cevapla PGM
Teşekkür verenler:
#3
Bu gerçekten çok harika ve bir o kadar da kullanışlı bir şey. Sen çok yetenekli birisisin Novruz. Yeteneğini sınayabileceğin bir şeyler yapman dileğiyle.
Neden imzamı değiştirdiniz yetkili beyler? Öpüyorum sizi :*
"Son Tema Ekibi Lideri"

1
Cevapla PGM
Teşekkür verenler: kaRanLık-6
#4
hocam kodları ekledimde : forumbull.10tl.net bi bakarmısınız default temada bile çalışmadı
Ara
Cevapla PGM
Teşekkür verenler:
#5
_pms  şablonuna eklenen js de problem var. ben düzelttim, destekte uyguladım, çalıştı. Yukarıdaki kodu da düzeltiyorum.
Ama tüm browser/js cache yenilemek gerekiyor. (ctrl f5 ya da, yeni özel pencerede aç).
Güzel görünüyor. Teşekkürler.. Rep+SP verdim.

Kod:
<span style="display:inline-block;position: relative"><li><a href="{$mybb->settings['bburl']}/private.php">{$lang->welcome_pms}</a> {$lang->welcome_pms_usage} <i class="fas fa-caret-down icontoggle"></i></li>
<div class="pm_header">
<div class="pm_show_head"><span class="pm_show_title">Gelen kutusu</span></div>
<ul class="pm_show" ></ul></div>
</span>
<script>document.getElementsByClassName("icontoggle")[0].onclick = function(){
document.getElementsByClassName("pm_header")[0].classList.toggle("toggle"); };
document.body.onclick = function(e){
    if(e.target.classList.contains("icontoggle") != true) {
           document.getElementsByClassName("pm_header")[0].classList.remove("toggle");
        };
    };
    
let show = document.getElementsByClassName("pm_show")[0];
fetch('private.php')
 .then(res => res.text())
 .then((responseText) => {
   const doc = new DOMParser().parseFromString(responseText, 'text/html');
   const elms = Array.from(doc.getElementsByClassName("pm_source"));
   console.log(elms);
   show.innerHTML += elms.reduce((a, el) => a += el.innerHTML, '')
 });
</script>
Ana prensibimiz "İnsana Saygı" Amacımız sadece para kazanmak ya da geyik değil, aynı zamanda faydalı şeyler yapmak. sadece para kazanmak olsaydı, yapılacak birçok şey vardı...  Haksızlığa uğrayan varsa sırayla diğer görevlilere, sonra adminlere, tatmin olmazlarsa da bana yazabilirler. Elimizden geldiği kadar adaletli olmaya, evrensel hukuk kaidelerine uymaya çalışacağız. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Yeni Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
Ara
Cevapla PGM
Teşekkür verenler: kaRanLık-6
#6
Normal ÖM okumadaki ÖM listesi bozuldu, önceki haline döndürüyorum.
Ana prensibimiz "İnsana Saygı" Amacımız sadece para kazanmak ya da geyik değil, aynı zamanda faydalı şeyler yapmak. sadece para kazanmak olsaydı, yapılacak birçok şey vardı...  Haksızlığa uğrayan varsa sırayla diğer görevlilere, sonra adminlere, tatmin olmazlarsa da bana yazabilirler. Elimizden geldiği kadar adaletli olmaya, evrensel hukuk kaidelerine uymaya çalışacağız. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Yeni Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
Ara
Cevapla PGM
Teşekkür verenler:
#7
(30-06-2019 Saat: 01:12)admin Nickli Kullanıcıdan Alıntı: _pms  şablonuna eklenen js de problem var. ben düzelttim, destekte uyguladım, çalıştı.  Yukarıdaki kodu da düzeltiyorum.
Ama tüm browser/js cache yenilemek gerekiyor. (ctrl f5 ya da, yeni özel pencerede aç).
Güzel görünüyor. Teşekkürler.. Rep+SP verdim.

Kod:
<span style="display:inline-block;position: relative"><li><a href="{$mybb->settings['bburl']}/private.php">{$lang->welcome_pms}</a> {$lang->welcome_pms_usage} <i class="fas fa-caret-down icontoggle"></i></li>
<div class="pm_header">
<div class="pm_show_head"><span class="pm_show_title">Gelen kutusu</span></div>
<ul class="pm_show" ></ul></div>
</span>
<script>document.getElementsByClassName("icontoggle")[0].onclick = function(){
document.getElementsByClassName("pm_header")[0].classList.toggle("toggle"); };
document.body.onclick = function(e){
    if(e.target.classList.contains("icontoggle") != true) {
           document.getElementsByClassName("pm_header")[0].classList.remove("toggle");
        };
    };
    
let show = document.getElementsByClassName("pm_show")[0];
fetch('private.php')
 .then(res => res.text())
 .then((responseText) => {
   const doc = new DOMParser().parseFromString(responseText, 'text/html');
   const elms = Array.from(doc.getElementsByClassName("pm_source"));
   console.log(elms);
   show.innerHTML += elms.reduce((a, el) => a += el.innerHTML, '')
 });
</script>

Kodlarda sorun yoktu default temada sorunsuz çalışıyordu, hangi değişikliği yaptığınızı anlayamadım fakat.

(30-06-2019 Saat: 03:41)admin Nickli Kullanıcıdan Alıntı: Normal ÖM okumadaki ÖM listesi bozuldu, önceki haline döndürüyorum.

Herhangi bir sorun oluşmaması gerekiyor. CSS kodlarının işlemesi için CTRL+F5 yaptınız mı hocam?


Kodlar güncellendi, Font Awesome kullanılarak eklenen icon svg versiyonu ile değiştirildi ek kütüphane çekmeye gerek yok. Şuan için default yapılı temalarda sorunsuz çalışması gerekiyor. Tekrar deneye bilirsiniz. @admin

Diğer yorumlar için de teşekkür ederim.
ücretli grafik - tasarım ve kodlama işleri yapılır
MyBB Dizayn
iletişim için;
özel mesaj, sosyal medya adreslerim:
facebook | twitter | instagram | behance | github
Cevapla PGM
Teşekkür verenler: NextWorld , kaRanLık-6 , admin
#8
Hocam eline sağlık , böyle şeylerden bahsediyordum , işte bunlar ... Özgün içerik...
Edep ile gelen lütuf ile gider...
(------ keyifsizm.10tl.net ------)
Bağışta bulunmak için Tıklayınız... :)
1
Cevapla PGM
Teşekkür verenler:
#9
Bizim burada kullandığımız tema default değil.
Aynı zamanda, /private.php sayfasındaki ÖM listesinde hem tablo yapısı var, hem de mesajları seçerek silme falan var. Bunda ise onlar olmayınca, private_messagebit şablonunu da yukardaki gibi değiştirince, normal ÖM listesinin yapısı, mesaj seçip silme falan bozuluyor. o nedenle buraya şuan uygulayamıyorum.
Normal ÖM listesi ile, headerda gösterilen listenin messagebit şablonları bağımsız ve ayrı olmalı sanki.
Ana prensibimiz "İnsana Saygı" Amacımız sadece para kazanmak ya da geyik değil, aynı zamanda faydalı şeyler yapmak. sadece para kazanmak olsaydı, yapılacak birçok şey vardı...  Haksızlığa uğrayan varsa sırayla diğer görevlilere, sonra adminlere, tatmin olmazlarsa da bana yazabilirler. Elimizden geldiği kadar adaletli olmaya, evrensel hukuk kaidelerine uymaya çalışacağız. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Yeni Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
Ara
Cevapla PGM
Teşekkür verenler:
#10
(30-06-2019 Saat: 14:12)admin Nickli Kullanıcıdan Alıntı: Bizim burada kullandığımız tema default değil.
Aynı zamanda, /private.php sayfasındaki ÖM listesinde hem tablo yapısı var, hem de mesajları seçerek silme falan var. Bunda ise onlar olmayınca, private_messagebit şablonunu da yukardaki gibi değiştirince, normal ÖM listesinin yapısı, mesaj seçip silme falan bozuluyor. o nedenle buraya şuan uygulayamıyorum.
Normal ÖM listesi ile,  headerda gösterilen listenin messagebit şablonları bağımsız ve ayrı olmalı sanki.

Hocam düzenlenen kodlarda tablo yapısına herhangi bir düzenleme yapılmıyor, sadece gözükmeyecek şekilde bir takım kodlar ekleniyor. Header'da gösterilen listeni sadece messagebit şablonundan alına biliniyor, değişkenler başka şablonlarda çalışmıyor çünkü. Son düzenlediğim kodlar da mı aynı hatayı veriyor? Eğer öyle ise bir süreliğine aktif bırakırsanız kodları inceleyip tekrar düzenleye bilirim.
ücretli grafik - tasarım ve kodlama işleri yapılır
MyBB Dizayn
iletişim için;
özel mesaj, sosyal medya adreslerim:
facebook | twitter | instagram | behance | github
Cevapla PGM
Teşekkür verenler:
#11
Problem şu;
https://destek.10tl.net/private.php
burada görünen ÖM listesi, tablo yapısı ile çalışıyor. Zira orada, belli mesajları seçip silme/taşıma v.b. var.

Oradaki normalde olan private_messagebit şablonkodu şöyle:

PHP Kod:
<tr>
<
td align="center" class="trow1" width="1%"><img src="{$theme['imgdir']}/old_pm.png" alt="{$msgalt}title="{$msgalt}/></td>
<
td align="center" class="trow2" width="1%">{$icon}</td>
<
td class="trow1" width="35%">{$msgprefix}<a href="private.php?action=read&amp;pmid={$message['pmid']}">{$message['subject']}</a>{$msgsuffix}{$denyreceipt}</td>
<
td align="center" class="trow2">{$tofromusername}</td>
<
td class="trow1" align="right" style="white-space: nowrap"><span class="smalltext">{$senddate}</span></td>
<
td class="trow2" align="center"><input type="checkbox" class="checkbox" name="check[{$message['pmid']}]" value="1" /></td>
</
tr

Gördüğünüz üzere, tablo yapısı var.
Bunu, sizin yaptığınız hale getirince, ozaman header'daki açılır menü çalışıyor, ama busefer https://destek.10tl.net/private.php adresindeki normal Öm okuma yeri çalışmıyor. Orası da, mesajları okumak, silmek, taşımak v.b. için lazım.

Sizin yeni kod şöyle, yani tablo yapısı (silme, checkbox) v.b yok:
PHP Kod:
<div class="pm_source">
 
   <div class="pm_source_wrap">
 
       <div class="pm_source_icon"><span class="pm_icon {$msgstatus}"><img src="{$theme['imgdir']}/{$msgstatus}.png" alt="{$msgalt}title="{$msgalt}/></span></div>
 
       <div class="pm_source_info">
<
div class="pm_source_info_item"><class="{$msgstatus}href="private.php?action=read&amp;pmid={$message['pmid']}">{$message['subject']}</a></div>
<
div class="pm_source_info_item">{$tofromusername} {$senddate}</div>
 
       </div>
 
   </div>
</
div

bunu şuan destek'te aktif ediyorum tekrar, bakın görün durumu, /private.php ye girerek görün.
Tüm denemelerimi zaten herşeyi refresh ederek yapıyorum. yani js/css v.b. cache problemi olmaz.

Galiba bunu düzeltmek için, php koduna müdahale gerekecek.
Ana prensibimiz "İnsana Saygı" Amacımız sadece para kazanmak ya da geyik değil, aynı zamanda faydalı şeyler yapmak. sadece para kazanmak olsaydı, yapılacak birçok şey vardı...  Haksızlığa uğrayan varsa sırayla diğer görevlilere, sonra adminlere, tatmin olmazlarsa da bana yazabilirler. Elimizden geldiği kadar adaletli olmaya, evrensel hukuk kaidelerine uymaya çalışacağız. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Yeni Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
Ara
Cevapla PGM
Teşekkür verenler:
#12
(30-06-2019 Saat: 18:22)admin Nickli Kullanıcıdan Alıntı: Problem şu;
https://destek.10tl.net/private.php
burada görünen ÖM listesi, tablo yapısı ile çalışıyor. Zira orada, belli mesajları seçip silme/taşıma v.b. var.

Oradaki normalde olan private_messagebit şablonkodu şöyle:

PHP Kod:
<tr>
<
td align="center" class="trow1" width="1%"><img src="{$theme['imgdir']}/old_pm.png" alt="{$msgalt}title="{$msgalt}/></td>
<
td align="center" class="trow2" width="1%">{$icon}</td>
<
td class="trow1" width="35%">{$msgprefix}<a href="private.php?action=read&amp;pmid={$message['pmid']}">{$message['subject']}</a>{$msgsuffix}{$denyreceipt}</td>
<
td align="center" class="trow2">{$tofromusername}</td>
<
td class="trow1" align="right" style="white-space: nowrap"><span class="smalltext">{$senddate}</span></td>
<
td class="trow2" align="center"><input type="checkbox" class="checkbox" name="check[{$message['pmid']}]" value="1" /></td>
</
tr

Gördüğünüz üzere, tablo yapısı var.
Bunu, sizin yaptığınız hale getirince, ozaman header'daki açılır menü çalışıyor, ama busefer https://destek.10tl.net/private.php adresindeki normal Öm okuma yeri çalışmıyor. Orası da, mesajları okumak, silmek, taşımak v.b. için lazım.

Sizin yeni kod şöyle, yani tablo yapısı (silme, checkbox) v.b yok:
PHP Kod:
<div class="pm_source">
 
   <div class="pm_source_wrap">
 
       <div class="pm_source_icon"><span class="pm_icon {$msgstatus}"><img src="{$theme['imgdir']}/{$msgstatus}.png" alt="{$msgalt}title="{$msgalt}/></span></div>
 
       <div class="pm_source_info">
<
div class="pm_source_info_item"><class="{$msgstatus}href="private.php?action=read&amp;pmid={$message['pmid']}">{$message['subject']}</a></div>
<
div class="pm_source_info_item">{$tofromusername} {$senddate}</div>
 
       </div>
 
   </div>
</
div

bunu şuan destek'te aktif ediyorum tekrar, bakın görün durumu, /private.php ye girerek görün.
Tüm denemelerimi zaten herşeyi refresh ederek yapıyorum. yani js/css v.b. cache problemi olmaz.

Galiba bunu düzeltmek için, php koduna müdahale gerekecek.

private_messagebit içerisindeki kodları konuda kodlarla değiştirmişsiniz fakat verilen kodları şablonun en altına eklemeniz gerekli, diğer kodlar kalacak.
ücretli grafik - tasarım ve kodlama işleri yapılır
MyBB Dizayn
iletişim için;
özel mesaj, sosyal medya adreslerim:
facebook | twitter | instagram | behance | github
Cevapla PGM
Teşekkür verenler:
#13
şuan ben farklı denemeler yapıyorum, stabil değil, sizin uğraşmanıza gerek yok destek sitesi ile ilgili
Ana prensibimiz "İnsana Saygı" Amacımız sadece para kazanmak ya da geyik değil, aynı zamanda faydalı şeyler yapmak. sadece para kazanmak olsaydı, yapılacak birçok şey vardı...  Haksızlığa uğrayan varsa sırayla diğer görevlilere, sonra adminlere, tatmin olmazlarsa da bana yazabilirler. Elimizden geldiği kadar adaletli olmaya, evrensel hukuk kaidelerine uymaya çalışacağız. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Yeni Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
Ara
Cevapla PGM
Teşekkür verenler:
#14
Tamamdır niyahet oldu.
Ben orada kodları alta eklemiyordum, onu yanlış anlamışım (iyi okumamışım).
Sorun şimdi anlaşıldı. destekte de aynen çalışıyor.
Teşekkürler.

Bence burada asıl güzel olan, kullanılan yöntem. Kullandığın yöntemi de biraz yazabilirsen, güzel olur.
Ben biraz anladım.. header'daki kodla, private.php yi jquery ile tekrar çağırıyorsun, içinden css class'larına göre mesajları seçiyorsun ve gösteriyorsun. Orijinal güzel bir yöntem. ben daha önce farketmemiştim böyle bir yöntem. Yani şu kısım:
Kod:
fetch('private.php')
  .then(res => res.text())
  .then((responseText) => {
    const doc = new DOMParser().parseFromString(responseText, 'text/html');
    const elms = Array.from(doc.getElementsByClassName("pm_source"));
    show.innerHTML += elms.reduce((a, el) => a += el.innerHTML, '')
  });
Ana prensibimiz "İnsana Saygı" Amacımız sadece para kazanmak ya da geyik değil, aynı zamanda faydalı şeyler yapmak. sadece para kazanmak olsaydı, yapılacak birçok şey vardı...  Haksızlığa uğrayan varsa sırayla diğer görevlilere, sonra adminlere, tatmin olmazlarsa da bana yazabilirler. Elimizden geldiği kadar adaletli olmaya, evrensel hukuk kaidelerine uymaya çalışacağız. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Yeni Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
1
Ara
Cevapla PGM
Teşekkür verenler:
#15
(30-06-2019 Saat: 18:48)admin Nickli Kullanıcıdan Alıntı: Tamamdır niyahet oldu.
Ben orada kodları alta eklemiyordum, onu yanlış anlamışım (iyi okumamışım).
Sorun şimdi anlaşıldı. destekte de aynen çalışıyor.
Teşekkürler.

Bence burada asıl güzel olan, kullanılan yöntem. Kullandığın yöntemi de biraz yazabilirsen, güzel olur.
Ben biraz anladım.. header'daki kodla, private.php yi jquery ile tekrar çağırıyorsun, içinden css class'larına göre mesajları seçiyorsun ve gösteriyorsun. Orijinal güzel bir yöntem. ben daha önce farketmemiştim böyle bir yöntem.  Yani şu kısım:
Kod:
fetch('private.php')
 .then(res => res.text())
 .then((responseText) => {
   const doc = new DOMParser().parseFromString(responseText, 'text/html');
   const elms = Array.from(doc.getElementsByClassName("pm_source"));
   show.innerHTML += elms.reduce((a, el) => a += el.innerHTML, '')
 });

Aslında javascripti yeni-yeni öğrendiğim için pek açıklayıcı bilgi veremem, fetch yeni bir html istemcisi, yani dış sayfa çağırıcısı. jQuery'deki .load() fonksiyonu ile aynı işlevi görüyor(farkl özellikleri ola bilir). Tek kusuru şu ki, özel mesaj sayfasını çağırdığı zaman sistem sizi o sayfayı ziyaret etmiş gibi algılıyor ve kimler çevrim içi kısmında sizi özel mesaj sayfasında gösteriyor. Sorunun çözümünü bula bilirsem kodları düzenleyeceğim.
ücretli grafik - tasarım ve kodlama işleri yapılır
MyBB Dizayn
iletişim için;
özel mesaj, sosyal medya adreslerim:
facebook | twitter | instagram | behance | github
Cevapla PGM
Teşekkür verenler:
#16
Bence ona ugrasmana gerek yok.
Sistem illaki oyle algilayacak.
Bence asil mevzu, her sayfada, ekstradan private.php yi cagirmasi. Hafif yuku artirir ama ona da cozum zor gibi.
Ana prensibimiz "İnsana Saygı" Amacımız sadece para kazanmak ya da geyik değil, aynı zamanda faydalı şeyler yapmak. sadece para kazanmak olsaydı, yapılacak birçok şey vardı...  Haksızlığa uğrayan varsa sırayla diğer görevlilere, sonra adminlere, tatmin olmazlarsa da bana yazabilirler. Elimizden geldiği kadar adaletli olmaya, evrensel hukuk kaidelerine uymaya çalışacağız. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Yeni Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
Ara
Cevapla PGM
Teşekkür verenler:
#17
(01-07-2019 Saat: 01:13)admin Nickli Kullanıcıdan Alıntı: Bence ona ugrasmana gerek yok.
Sistem illaki oyle algilayacak.
Bence asil mevzu, her sayfada, ekstradan private.php yi cagirmasi. Hafif yuku artirir ama ona da cozum zor gibi.

Sistem dosyalarını değişmeden sadece sayfayı çağırmayla yapıla bilinecek bir işlem maalesef.
ücretli grafik - tasarım ve kodlama işleri yapılır
MyBB Dizayn
iletişim için;
özel mesaj, sosyal medya adreslerim:
facebook | twitter | instagram | behance | github
Cevapla PGM
Teşekkür verenler:
#18
Senin bu son sorununla ilgili şöyle birşey yaptım, bunu kullanarak o sorunlara çözüm bulabilirsin:
https://destek.10tl.net/index2.php

Burayı çağır şimdilik, hazır olunca index.php üzerinde yaparım.
Özel mesajları direk js içinde "privatemessages" diye bir değişkene atıyor, dokuman tamamen yüklenince, js konsola bakarsan görürsün.
Yani, ekstradan private.php çağırmadan, direk index2.php içinde js ile hazır vaziyette özel mesajlar geliyor.
senin yapman gereken, bunu istediğin yerde, js ile göstermek.
Yani, şuanda fetch ile yaptığın iş, jsde bir değişkende hazır vaziyette var.

Tabi, doküman tamamen yüklendikten sonra çağırmalısın, ondocumentload ya da complete miydi neydi.

Anlatabildim mi? anlaşılmayan biryer var mı ?

Bu sayede, 2 soruna çözüm oluyor:
- kullanıcı öm okuyor diye görünmüyor,
- ayrıca private.php çağrılmamış oluyor.
Ana prensibimiz "İnsana Saygı" Amacımız sadece para kazanmak ya da geyik değil, aynı zamanda faydalı şeyler yapmak. sadece para kazanmak olsaydı, yapılacak birçok şey vardı...  Haksızlığa uğrayan varsa sırayla diğer görevlilere, sonra adminlere, tatmin olmazlarsa da bana yazabilirler. Elimizden geldiği kadar adaletli olmaya, evrensel hukuk kaidelerine uymaya çalışacağız. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Yeni Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
Ara
Cevapla PGM
Teşekkür verenler:
#19
header_welcomeblock_member_pms şablonunda artık aşağıdaki kodu kullanırsanız, kullanıcı private.php de görünmeyecektir.. Yani yeri doğru görünecektir, üstelik biraz daha hızlı çalışır:

PHP Kod:
<span style="display:inline-block;position: relative"><li><a href="{$mybb->settings['bburl']}/private.php">{$lang->welcome_pms}</a> {$lang->welcome_pms_usage} <span class="icontoggle"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 320 512"  ><path d="M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"/></svg></span></li>
<
div class="popups_menu pm_header">
<
div class="pm_show_head"><span class="pm_show_title">Gelen kutusu</span></div>
<
ul class="pm_show" ></ul></div>
</
span>

<
script>    
    
window.onload = function(){ 
    if(
document.readyState === "complete"){
     
   for(0privatemessages.lengthi++){
     
       pr=privatemessages[i];
     
       document.getElementsByClassName("pm_show")[0].innerHTML +=  '<div class="pm_source_wrap"><div class="pm_source_icon"><span class="pm_icon {$msgstatus}"></span></div><div class="pm_source_info"><div class="pm_source_info_item"><a class="{$msgstatus}" href="private.php?action=read&amp;pmid=' pr.pmid '">' pr.subject '</a></div><div class="pm_source_info_item">' '<a href="member.php?action=profile&uid=' pr.fromid '">' pr.fromusername '</a>' ' ' pr.tarihzaman.replace("T"" ") + '</div></div></div></div>';
     
   }
    }
}; 
 
   
document
.getElementsByClassName("icontoggle")[0].onclick = function(){
document.getElementsByClassName("pm_header")[0].classList.toggle("toggle");
};
 
   
document
.body.onclick = function(e){
if(
e.target.classList.contains("icontoggle") != true && e.target.parentElement.classList.contains("icontoggle") != true && e.target.parentElement.parentElement.classList.contains("icontoggle") != true) {
 
   document.getElementsByClassName("pm_header")[0].classList.remove("toggle")};
};
</
script

Bu sistemi geliştiren @Novruz a tekrar teşekkürler.

Bu yöntemle, ÖM leri sayfanızda istediğiniz yerde gösterebilirsiniz, hatta başka şekiller de verebilirsiniz..
Ana prensibimiz "İnsana Saygı" Amacımız sadece para kazanmak ya da geyik değil, aynı zamanda faydalı şeyler yapmak. sadece para kazanmak olsaydı, yapılacak birçok şey vardı...  Haksızlığa uğrayan varsa sırayla diğer görevlilere, sonra adminlere, tatmin olmazlarsa da bana yazabilirler. Elimizden geldiği kadar adaletli olmaya, evrensel hukuk kaidelerine uymaya çalışacağız. 

Önemli konular listesi: https://destek.10tl.net/showthread.php?tid=99072
Android 10tl programı: https://destek.10tl.net/showthread.php?tid=98074
Yeni Görevli kuralları: https://destek.10tl.net/showthread.php?tid=99597
Ara
Cevapla PGM
Teşekkür verenler: Novruz , NextWorld
#20
Konu güncellenmiştir, 10TR.NET siteleri için @admin 'in oluşturduğu değişken sayesinde fetch api kullanmadan(ek sayfa çağırmadan) yapımı eklenmiştir.
ücretli grafik - tasarım ve kodlama işleri yapılır
MyBB Dizayn
iletişim için;
özel mesaj, sosyal medya adreslerim:
facebook | twitter | instagram | behance | github
Cevapla PGM
Teşekkür verenler:


Hızlı Menü:


Şu anda bu konuyu okuyanlar: 1 Ziyaretçi



***