ان كنت استفدت من محتوى المنتدى فاضغط على الاعلانات..

كود تسهيل نظام الوسم في المنتدى ـ شرح حصري لمنتديات تقنيات

  افضل مساهمة1
السلام عليكم و رحمة الله و بركاته
أقدم لكم اليوم كود رائع جدا يساعد في تسهيل نظام الوسم في المشاركات و المواضيع
في كثير من المرات نريد أن نجيب عضوا معينا ــ فلماذا ننقل و نقتبس كل كلامه ،ــ
هذا الكود و بضغطة واحدة يمكنك توجيه الكلام لعضو معين + رسالة على الخاص تخبره أنك وجهت له لكلام في الموضوع ....




نبدأ بسم الله باستعراض مثال من منتداي التجريبي
عند كل إسم مستخدم نجد هذه العلامة :

نضغط عليها فتعطينا :

تكتب ما تريد توجيهه للعضو و تصل رسالة تخبره أنك وجهت له الحديث


الآن للأكواد
إذهب إلى لوحة الإدارة + عناصر إضافية + HTML و JAVASCRIPT + إدارة صفحات Javascript+ أكواد Javascript
ضع الكود في جميع الصفحات و يجب أن تفعل نظام Javascript طبعا + العنوان أكتب فيه ما تريد

:) ثم ضع ردا ليظهر لك الكود /


ثم بعدها نذهب إلى ورقة سي إس إس و نظع الكود التالي :
ضع ردا ليظهر لك الكود :)


الجزء الثاني من الشرح ــ عمل أيقونة مثل التي في الإقتباس تحت عنوان وسم العضو

بالطببع أنت يمكنك تعديل الأيقونة و وضع ما تريد
يجب عليك فقط تعديل الكود الأول ــ فتضع سفله مباشرة الكود التالي :
الكود:

/* FORUM VERSIONS
 * 0 = PHPBB2
 * 1 = PHPBB3
 * 2 = PUNBB
 * 3 = INVISION
 */
$(function() {
  var version = 0,
      image = 'http://i19.servimg.com/u/f19/18/21/60/73/mentio10.png';
 
  if (/mode=reply/.test(window.location.search) && my_getcookie('fa_mention')) {
    document.post.message.value += '@"' + my_getcookie('fa_mention') + '" ';
    my_setcookie('fa_mention','');
  } if (!/\/t\d+/.test(window.location.pathname)) return;
 
  for (var a = $(['.post-options', '.profile-icons', '.post-options', '.posting-icons'][version]), b, c, d = ['.name strong a', '.author a', '.username a', '.author a'][version], e, i = 0, j = a.length, t = document.getElementById('text_editor_textarea'), l = version == 1 || version == 3; i<j; i++) {
    b = document.createElement('IMG');
    b.src = image;
    b.alt = 'Mentionner';
    b.title = 'Mentionner ' + $(a[i]).closest('.post').find(d + ':not(.fa-mention)').text();
    b.className = 'i_icon_mention';
    b.onclick = function() {
      var n = this.title.replace(/^.*?\s/,'');
    
      if ($.sceditor) t.insertText('@"' + n + '" ');
      else {
        my_setcookie('fa_mention', n);
        window.location.href = '/post?t=' + window.location.pathname.replace(/\/t(\d+)-.*/,'$1') + '&mode=reply';
      }
    };
 
    if (l) {
      c = document.createElement('LI');
      c.appendChild(b);
    }
  
    a[i].insertBefore(l ? c : b, a[i].firstChild);
  }
 
  $(function(){
    if (!$.sceditor) return;
    t=$(t).sceditor('instance');
  });
});

الخطوة الأخيرة و هي وضع نظام الوسوم في صندوق الرد

عدل نفس الكود السابق بوضع هذا الكود تحته مباشرة :
الكود:

$(function(){
   if (!$.sceditor || /\/privmsg/.test(window.location.pathname)) return;
   var storage = window.localStorage, s = document.createElement('SELECT'), amis;
 
   if (storage && storage.faAmis && storage.faAmisExp > +new Date - 29*59*1000 && storage.faAmisUser == _userdata.username) s.innerHTML = storage.faAmis;
   else {
      $.get('/privmsg?mode=post', function(d) {
         amis = $('select[name="userfriend"]', d)[0] || 0;
  
         if (amis) {
            amis.firstChild.innerHTML = 'Sélectionner un ami';
            s.innerHTML = amis.innerHTML;
         }
  
         if (storage) {
            storage.faAmis = amis ? amis.innerHTML : 0;
            storage.faAmisUser = _userdata.username;
            storage.faAmisExp = +new Date;
         }
      });
   }
 
 
   $.sceditor.command.set('mention', {
      dropDown : function(editor, caller, callback) {
         var a = document.createElement('DIV'), b = document.createElement('INPUT'), c = document.createElement('INPUT');
         b.type = 'button';
         b.value = 'Insert';
         b.className = 'button';
 
         c.type = 'text';
         c.id = 'fa-mention';
 
         a.innerHTML = '<div><label for="fa-mention">Pseudo de l\'utilisateur :</label></div>' + ( s.innerHTML ? '<div><label>Mentionner un ami :</label></div>' : '' ) + '<div></div>';
         a.firstChild.appendChild(c);
         a.lastChild.appendChild(b);
 
         if (s.innerHTML != 0) {
            s.value = '';
            a.getElementsByTagName('DIV')[1].appendChild(s);
            s.onchange = function() {
               c.value = s.value;
            };
         }
 
         b.onclick = function() {
            c.value && callback(c.value);
            editor.closeDropDown(true);
         };
 
         editor.createDropDown(caller, 'insertmention', a);
      },
 
      exec : function(c) { mention(c, this) },
      txtExec : function(c) { mention(c, this) },
 
      tooltip : 'Mentionner un membre'
   });
 
   toolbar = toolbar.replace(/quote,/,'mention,quote,');
 
   function mention(c, e) {
      $.sceditor.command.get('mention').dropDown(e, c, function(pseudo) {
         e.insertText('@"' + pseudo + '" ');
      });
   }
});

تم بوضع هذا الكود في ورقة سي إس إس
:
الكود:

/* image du bouton mentionner */
.sceditor-button-mention div { background-image:url(http://i19.servimg.com/u/f19/18/21/60/73/scemen10.png) !important }
 
/* menu déroulant du bouton mentionner */
#fa-mention {
  background:url(http://i19.servimg.com/u/f19/18/21/60/73/scemen10.png) no-repeat 3px 50% #FFF;
  padding-left:22px;
}

ملاحظات عامة

أولا : يمكنك وضع كود دون آخر ليس بالضرورة وضع كل هذه المراحل ـ إذا كنت تريد النظام في صندوق الرد فلا بأس
ثانيا : الكود صالح لجميع النسخ ـ و لمن لهم النسخة الثانية الأكواد تماما متطابقة ـ بالنسبة للنسخ الأخرى يمكنكم التعديل بتغيير الرقم version=0 إلى الرقم المناسب لكل نسخة
الكودمنقول على فكرة لكن الشرح بواسطتي ، يمنع النشر بدون ذكر المصدر الرئيسي و مصمم الشرح و الله رقيب على العالمين
لأي إستفسار حول الكود أنا في الخدمة طبعا ، يمكنك كتابة موضوع في القسم المخصص أو عير رسالة خاصة
  افضل مساهمة2

موضوع بطل وخاصية جميله
كود رائع وفقك الله على العطاء اللامتناهي
واصلي يابطل
دمت بخير


m13
  افضل مساهمة3
الحفو أختي الكريمة :^_^:
شكفني مرورك عل الموضوع
  افضل مساهمة4
شرح منسق ومفهوم بوضوح الشمس ..
موضوع رائع تسلم ايدك



وهبة الساحر
القلوب المكسورة كالزجاج المكسور خطرة و مؤذية لا تحتاج للحب بقدر ما تحتاج للوحدة حتى يتم شفاؤها . . !!
     

  افضل مساهمة5
الله يسلمك يا غالي ،
شكرا لمرورك على الموضوع :)
  افضل مساهمة6
شكرآ جزيلا على الموضوع الرائع و المميز 
واصل تالقك معنا في المنتدى 
بارك الله فيك اخي ... 
ننتظر منك الكثير من خلال ابداعاتك المميزة 
لك منـــــــ اجمل تحية ــــــــــي

  افضل مساهمة7
شكرا ك على المرور العطر
  افضل مساهمة8
بارك الله فيك
  افضل مساهمة9
السلام عليكم ورحمة الله وبركاته
ألف شكر لكَ على هذا الموضوع المميز و المعلومات القيمة
إنـجاز أكثر رائــــــع
لكن أرجو منكَ عدم التوقف عند هذا الحد
مـنتظرين ابداعتــــــك
دمتـ ودام تألقـك
تحياتــي
  افضل مساهمة10
بارك الله فيك
  افضل مساهمة11
احسنت النشر


  افضل مساهمة12
موضوع رائع تسلم ايدك
بورك مجهودك
  افضل مساهمة13
رررررررروعه
لاتستطيع الرد على المواضيع في هذا المنتدى