طريقة اظهار عنوان الموضوع عند وضع الروابط من نفس المنتدى
السلام عليكم ورحمة الله وبركاته
تحية طيبة للجميع
اخواني الكرام
يوجد في منتديات المودة
حركات مميزة من حركات أبو راشد
ربي يطول بعمره انشالله
ومن هالحركات
عند وضع الروابط
في المواضيع
اقصد مواضيع المنتدى
فمثلا اردت ان تشير الى موضوع
في اي قسم بالمنتدى
واخذت رابط الموضوع
ووضعته بالموضوع
يتحول الرابط
بعد الاعتماد على الموضوع
الى عنوان الموضوع
هل هناك طريقة لعمل مثل هالحركة
رد: طريقة اظهار عنوان الموضوع عند وضع الروابط من نفس المنتدى
ضمن ادوات المودة للادارة على مااتذكر
وهناك ايضا كود سوف ابحث لك عنه لو كنت اخذت موضوع يكتب موضوع : ................... او اذا اخذت مشاركه يكتب لك مشاركه .................
رد: طريقة اظهار عنوان الموضوع عند وضع الروابط من نفس المنتدى
النسخ الحديثة متوفرة فيها هذه الميزة
رد: طريقة اظهار عنوان الموضوع عند وضع الروابط من نفس المنتدى
اقتباس:
المشاركة الأصلية كتبت بواسطة ابو عيسى
النسخ الحديثة متوفرة فيها هذه الميزة
السلام عليكم
أخي الأستاذ الفاضل ابو عيسى
الرجاء التفضل علينا بطريقة هذه الميزة في النسخ الحديثة
ومن أين يتم تفعيلها
ننتظر الرد:mwalat39:
رد: طريقة اظهار عنوان الموضوع عند وضع الروابط من نفس المنتدى
طيب وش الطريقة يا ابو عيسى
رد: طريقة اظهار عنوان الموضوع عند وضع الروابط من نفس المنتدى
الطريقة
تذهب الى المجلد includes
داخل المجلد ابحث عن الملف ..functions_bbcodeparse.p hp
خذ نسخة من هذا الملف لان نريد ان نعدل عليه
افتح الملف للتعديل
ابحث عن
كود:
function handle_bbcode_url($text, $link, $type = 'url')
{
global $wysiwygparse;
استبدله بالكود التالى
كود:
function handle_bbcode_url($text, $link, $type = 'url')
{
global $wysiwygparse, $DB_site, $vboptions, $bbuserinfo;
ثم ابحث عن
كود:
$rightlink = strip_smilies(str_replace('\\"', '"', $rightlink));
$rightlink = str_replace('"', '"', $rightlink);
اضف بعده مباشرة الكود التالى
كود:
$local_links = preg_replace ("~http://(www.|)~i", "", $vboptions["bburl"]);
if (preg_match("~".$local_links."[^ ]+\.php\?~",$rightlink)) {
$rightlink = preg_replace (array("~[^ ]*/([a-z]+\.php[^ ]*)~i", "~forumid~i", "~threadid~i", "~postid~i"), array("\\1", "f", "t", "p"), $rightlink);
$rtext = $rightlink;
if (preg_match("~showthread\.php|printthread\.php~", $rightlink)) {
if (preg_match("~[^a-z]p=([0-9]+)~", $rightlink, $num)) {
$check_post = $DB_site->query_first("SELECT post.postid,thread.forumid,thread.title FROM " . TABLE_PREFIX . "post AS post LEFT JOIN " . TABLE_PREFIX . "thread AS thread ON thread.threadid = post.threadid WHERE post.postid = ". intval($num[1]));
if (is_array($check_post)) {
$forumperms = fetch_permissions($check_post["forumid"]);
if (!($forumperms & CANVIEW)) {
return "<b>غير مصرح بظهور العنوان</b>";
} else {
$rtext = "-*".$check_post["title"]."*-";
}
} else {
return "<b>مشاركة غير موجود</b>";
}
}
if (preg_match("~[^a-z]t=([0-9]+)~", $rightlink, $num)) {
$check_thread = $DB_site->query_first("SELECT forumid,title FROM " . TABLE_PREFIX . "thread AS thread WHERE threadid = ". intval($num[1]));
if (is_array($check_thread)) {
$forumperms = fetch_permissions($check_thread["forumid"]);
if (!($forumperms & CANVIEW)) {
return "<b>غير مصرح بظهور العنوان</b>";
} else {
$rtext = "-=".$check_thread["title"]."=-";
}
} else {
return "<b>موضوع غير موجود</b>";
}
}
} elseif (preg_match("~forumdisplay\.php~", $rightlink)) {
if (preg_match("~[^a-z]f=([0-9]+)~", $rightlink, $num)) {
$foruminfo = verify_id('forum', $num[1], 0, 1);
if (is_array($foruminfo)) {
$forumperms = fetch_permissions($foruminfo['forumid']);
if (!($forumperms & CANVIEW)) {
return "<b>غير مصرح بظهور العنوان</b>";
} else {
$rtext = "~".$foruminfo["title"]."~";
}
} else {
return "<b>منتدى غير موجود</b>";
}
}
}
return "<a href=\"$rightlink\" target=\"_blank\"><font class=\"alt2\"><u>$rtext</u></font></a>";
}
ثم احفظ العمل وجرب
رد: طريقة اظهار عنوان الموضوع عند وضع الروابط من نفس المنتدى
ايضا طريقه الاخرى
يستبدل روابط المرفقات , الاقسام , المجموعات , المواضيع , المشاركات , الاعضاء
بعنوان الرابط
التركيب
بواسطة الاف تي بي
اذهب الي ملف class_bbcode.php الموجود داخل مجلد includes
vb/includes/class_bbcode.php
حمل الملف الي جهازك ثم اجري التعديل الاتي
ملاحظة اخد نسخه احتياطيه لاى طوارئ
ابحث في الملف عن
ضع اعلاه الكود المرفق ثم اعد رفع الملف
كود PHP:
/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ *\
|* | BY MGHOOL FOR LINKS - A | *|
\* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ */
if (@empty($link) AND @preg_match('#(' . @str_replace('www.', '', $_SERVER['HTTP_HOST']) . ')#i', $rightlink)) {
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
if (@preg_match('#\.html#', $rightlink)) {
$rightlink = @preg_replace('#\/f\-([0-9]+)\-([0-9]+)\.html#', '/forumdisplay.php?f=$1&page=$2', $rightlink);
$rightlink = @preg_replace('#\/f\-([0-9]+)\.html#', '/forumdisplay.php?f=$1', $rightlink);
$rightlink = @preg_replace('#\/t\-([0-9]+)\-([0-9]+)\.html#', '/showthread.php?t=$1&page=$2', $rightlink);
$rightlink = @preg_replace('#\/t\-([0-9]+)\.html#', '/showthread.php?t=$1', $rightlink);
$rightlink = @preg_replace('#\/v\-([0-9]+)\.html#', '/showthread.php?p=$1#post$1', $rightlink);
$rightlink = @preg_replace('#\/s\-([0-9]+)\-([0-9]+)\.html#', '/showthread.php?p=$1&posted=$2', $rightlink);
$rightlink = @preg_replace('#\/s\-([0-9]+)\.html#', '/showthread.php?p=$1', $rightlink);
$rightlink = @preg_replace('#\/p\-([0-9]+)\-([0-9]+)\.html#', '/showpost.php?p=$1&postcount=$2', $rightlink);
$rightlink = @preg_replace('#\/p\-([0-9]+)\.html#', '/showpost.php?p=$1', $rightlink);
$rightlink = @preg_replace('#\/u\-([0-9]+)\.html#', '/member.php?u=$1', $rightlink);
}
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
$rightlink = @preg_replace('#(|)#i', '', $rightlink);
if (@preg_match('#\/(attachment|forumdisplay|group|showthread|showpost|member)\.php\?(attachmentid|f|groupid|t|p|u)\=([0-9]+)#i', $rightlink, $i)) {
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
if ($i[1] == 'attachment' AND $i[2] == 'attachmentid' AND @intval($i[3])) {
$Sqls = $this->registry->db->query_first_slave("SELECT filename, filesize FROM " . TABLE_PREFIX . "attachment WHERE attachmentid = '" . $i[3] . "'");
if ($Sqls['filename']) { $text = 'مرفق : ' . $Sqls['filename'] . ' - <span dir="rtl">' . @vb_number_format($Sqls['filesize'], 0, true) . '</span>'; }
}
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
if ($i[1] == 'forumdisplay' AND $i[2] == 'f' AND @intval($i[3])) {
$Sqls = $this->registry->db->query_first_slave("SELECT title FROM " . TABLE_PREFIX . "forum WHERE forumid = '" . $i[3] . "'");
if ($Sqls['title']) { $text = 'قسم : ' . $Sqls['title']; }
}
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
if ($i[1] == 'group' AND $i[2] == 'groupid' AND @intval($i[3])) {
$Sqls = $this->registry->db->query_first_slave("SELECT name FROM " . TABLE_PREFIX . "socialgroup WHERE groupid = '" . $i[3] . "'");
if ($Sqls['name']) { $text = 'مجموعة : ' . $Sqls['name']; }
}
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
if ($i[1] == 'showthread' AND $i[2] == 't' AND @intval($i[3])) {
$Sqls = $this->registry->db->query_first_slave("SELECT title FROM " . TABLE_PREFIX . "thread WHERE threadid = '" . $i[3] . "'");
if ($Sqls['title']) { $text = 'موضوع : ' . $Sqls['title']; }
}
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
if (($i[1] == 'showpost' OR $i[1] == 'showthread') AND $i[2] == 'p' AND @intval($i[3])) {
$Sqls = $this->registry->db->query_first_slave("SELECT title, threadid FROM " . TABLE_PREFIX . "post WHERE postid = '" . $i[3] . "'");
if (!$Sqls['title']) {
$Sqls = $this->registry->db->query_first_slave("SELECT title FROM " . TABLE_PREFIX . "thread WHERE threadid = '" . $Sqls['threadid'] . "'");
}
if ($Sqls['title']) { $text = 'مشاركة : ' . $Sqls['title']; }
}
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
if ($i[1] == 'member' AND $i[2] == 'u' AND @intval($i[3])) {
$Sqls = $this->registry->db->query_first_slave("SELECT username FROM " . TABLE_PREFIX . "user WHERE userid = '" . $i[3] . "'");
if ($Sqls['username']) { $text = 'عضوية : ' . $Sqls['username']; }
}
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
}
}
/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ *\
|* | BY MGHOOL FOR LINKS - V | *|
\* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ */
الشرح منقول للاخ معتز
رد: طريقة اظهار عنوان الموضوع عند وضع الروابط من نفس المنتدى
مشكور اخى علوان على الاضافة الرائعة
والاهم من ذلك كله هو اخذ نسخة احتايطية من اى ملف
ليسهل استرجاعها فى حالة اى خطأ
بالتوفيق ان شاء الله
رد: طريقة اظهار عنوان الموضوع عند وضع الروابط من نفس المنتدى
مشكور اخى ابو عيسى جزاك الله خيرا
بالتأكيد هذه نقطه اساسيه اخذ نسخه احتياطية فى كل الاعمال
نسئل الله التوفيق للجميع
رد: طريقة اظهار عنوان الموضوع عند وضع الروابط من نفس المنتدى
المستخدم في المودة هو هاكي الفي بي سيو وهي التي تقوم بتحويل الروابط لعناوينها ... تحياتي .
رد: طريقة اظهار عنوان الموضوع عند وضع الروابط من نفس المنتدى
طيب يا ابو راشد
انا استخدم
هاك في بي سيو
ومرخص
هل هناك تعديل في خيارات الهاك
رد: طريقة اظهار عنوان الموضوع عند وضع الروابط من نفس المنتدى
اقتباس:
المشاركة الأصلية كتبت بواسطة ابو عيسى
الطريقة
تذهب الى المجلد includes
داخل المجلد ابحث عن الملف ..functions_bbcodeparse.p hp
خذ نسخة من هذا الملف لان نريد ان نعدل عليه
افتح الملف للتعديل
ابحث عن
كود:
function handle_bbcode_url($text, $link, $type = 'url')
{
global $wysiwygparse;
استبدله بالكود التالى
كود:
function handle_bbcode_url($text, $link, $type = 'url')
{
global $wysiwygparse, $DB_site, $vboptions, $bbuserinfo;
ثم ابحث عن
كود:
$rightlink = strip_smilies(str_replace('\\"', '"', $rightlink));
$rightlink = str_replace('"', '"', $rightlink);
اضف بعده مباشرة الكود التالى
كود:
$local_links = preg_replace ("~http://(www.|)~i", "", $vboptions["bburl"]);
if (preg_match("~".$local_links."[^ ]+\.php\?~",$rightlink)) {
$rightlink = preg_replace (array("~[^ ]*/([a-z]+\.php[^ ]*)~i", "~forumid~i", "~threadid~i", "~postid~i"), array("\\1", "f", "t", "p"), $rightlink);
$rtext = $rightlink;
if (preg_match("~showthread\.php|printthread\.php~", $rightlink)) {
if (preg_match("~[^a-z]p=([0-9]+)~", $rightlink, $num)) {
$check_post = $DB_site->query_first("SELECT post.postid,thread.forumid,thread.title FROM " . TABLE_PREFIX . "post AS post LEFT JOIN " . TABLE_PREFIX . "thread AS thread ON thread.threadid = post.threadid WHERE post.postid = ". intval($num[1]));
if (is_array($check_post)) {
$forumperms = fetch_permissions($check_post["forumid"]);
if (!($forumperms & CANVIEW)) {
return "<b>غير مصرح بظهور العنوان</b>";
} else {
$rtext = "-*".$check_post["title"]."*-";
}
} else {
return "<b>مشاركة غير موجود</b>";
}
}
if (preg_match("~[^a-z]t=([0-9]+)~", $rightlink, $num)) {
$check_thread = $DB_site->query_first("SELECT forumid,title FROM " . TABLE_PREFIX . "thread AS thread WHERE threadid = ". intval($num[1]));
if (is_array($check_thread)) {
$forumperms = fetch_permissions($check_thread["forumid"]);
if (!($forumperms & CANVIEW)) {
return "<b>غير مصرح بظهور العنوان</b>";
} else {
$rtext = "-=".$check_thread["title"]."=-";
}
} else {
return "<b>موضوع غير موجود</b>";
}
}
} elseif (preg_match("~forumdisplay\.php~", $rightlink)) {
if (preg_match("~[^a-z]f=([0-9]+)~", $rightlink, $num)) {
$foruminfo = verify_id('forum', $num[1], 0, 1);
if (is_array($foruminfo)) {
$forumperms = fetch_permissions($foruminfo['forumid']);
if (!($forumperms & CANVIEW)) {
return "<b>غير مصرح بظهور العنوان</b>";
} else {
$rtext = "~".$foruminfo["title"]."~";
}
} else {
return "<b>منتدى غير موجود</b>";
}
}
}
return "<a href=\"$rightlink\" target=\"_blank\"><font class=\"alt2\"><u>$rtext</u></font></a>";
}
ثم احفظ العمل وجرب
اشكرك اخوي ابو عيسى على شرحك الوافي
بصراحة تم عمل كل هاذا بزر واحد
من اعدادت هاك الفي بي سيو المرخص :mwalat4:
طريقة أبو راشد
الله يعطيه طولة العمر
رد: طريقة اظهار عنوان الموضوع عند وضع الروابط من نفس المنتدى
اقتباس:
المشاركة الأصلية كتبت بواسطة علوان
ايضا طريقه الاخرى
يستبدل روابط المرفقات , الاقسام , المجموعات , المواضيع , المشاركات , الاعضاء
بعنوان الرابط
التركيب
بواسطة الاف تي بي
اذهب الي ملف class_bbcode.php الموجود داخل مجلد includes
vb/includes/class_bbcode.php
حمل الملف الي جهازك ثم اجري التعديل الاتي
ملاحظة اخد نسخه احتياطيه لاى طوارئ
ابحث في الملف عن
ضع اعلاه الكود المرفق ثم اعد رفع الملف
كود PHP:
[CENTER]/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ *\
|* | BY MGHOOL FOR LINKS - A | *|
\* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ */
if (@empty($link) AND @preg_match('#(' . @str_replace('www.', '', $_SERVER['HTTP_HOST']) . ')#i', $rightlink)) {
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
if (@preg_match('#\.html#', $rightlink)) {
$rightlink = @preg_replace('#\/f\-([0-9]+)\-([0-9]+)\.html#', '/forumdisplay.php?f=$1&page=$2', $rightlink);
$rightlink = @preg_replace('#\/f\-([0-9]+)\.html#', '/forumdisplay.php?f=$1', $rightlink);
$rightlink = @preg_replace('#\/t\-([0-9]+)\-([0-9]+)\.html#', '/showthread.php?t=$1&page=$2', $rightlink);
$rightlink = @preg_replace('#\/t\-([0-9]+)\.html#', '/showthread.php?t=$1', $rightlink);
$rightlink = @preg_replace('#\/v\-([0-9]+)\.html#', '/showthread.php?p=$1#post$1', $rightlink);
$rightlink = @preg_replace('#\/s\-([0-9]+)\-([0-9]+)\.html#', '/showthread.php?p=$1&posted=$2', $rightlink);
$rightlink = @preg_replace('#\/s\-([0-9]+)\.html#', '/showthread.php?p=$1', $rightlink);
$rightlink = @preg_replace('#\/p\-([0-9]+)\-([0-9]+)\.html#', '/showpost.php?p=$1&postcount=$2', $rightlink);
$rightlink = @preg_replace('#\/p\-([0-9]+)\.html#', '/showpost.php?p=$1', $rightlink);
$rightlink = @preg_replace('#\/u\-([0-9]+)\.html#', '/member.php?u=$1', $rightlink);
}
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
$rightlink = @preg_replace('#(|)#i', '', $rightlink);
if (@preg_match('#\/(attachment|forumdisplay|group|showthread|showpost|member)\.php\?(attachmentid|f|groupid|t|p|u)\=([0-9]+)#i', $rightlink, $i)) {
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
if ($i[1] == 'attachment' AND $i[2] == 'attachmentid' AND @intval($i[3])) {
$Sqls = $this->registry->db->query_first_slave("SELECT filename, filesize FROM " . TABLE_PREFIX . "attachment WHERE attachmentid = '" . $i[3] . "'");
if ($Sqls['filename']) { $text = 'مرفق : ' . $Sqls['filename'] . ' - <span dir="rtl">' . @vb_number_format($Sqls['filesize'], 0, true) . '</span>'; }
}
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
if ($i[1] == 'forumdisplay' AND $i[2] == 'f' AND @intval($i[3])) {
$Sqls = $this->registry->db->query_first_slave("SELECT title FROM " . TABLE_PREFIX . "forum WHERE forumid = '" . $i[3] . "'");
if ($Sqls['title']) { $text = 'قسم : ' . $Sqls['title']; }
}
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
if ($i[1] == 'group' AND $i[2] == 'groupid' AND @intval($i[3])) {
$Sqls = $this->registry->db->query_first_slave("SELECT name FROM " . TABLE_PREFIX . "socialgroup WHERE groupid = '" . $i[3] . "'");
if ($Sqls['name']) { $text = 'مجموعة : ' . $Sqls['name']; }
}
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
if ($i[1] == 'showthread' AND $i[2] == 't' AND @intval($i[3])) {
$Sqls = $this->registry->db->query_first_slave("SELECT title FROM " . TABLE_PREFIX . "thread WHERE threadid = '" . $i[3] . "'");
if ($Sqls['title']) { $text = 'موضوع : ' . $Sqls['title']; }
}
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
if (($i[1] == 'showpost' OR $i[1] == 'showthread') AND $i[2] == 'p' AND @intval($i[3])) {
$Sqls = $this->registry->db->query_first_slave("SELECT title, threadid FROM " . TABLE_PREFIX . "post WHERE postid = '" . $i[3] . "'");
if (!$Sqls['title']) {
$Sqls = $this->registry->db->query_first_slave("SELECT title FROM " . TABLE_PREFIX . "thread WHERE threadid = '" . $Sqls['threadid'] . "'");
}
if ($Sqls['title']) { $text = 'مشاركة : ' . $Sqls['title']; }
}
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
if ($i[1] == 'member' AND $i[2] == 'u' AND @intval($i[3])) {
$Sqls = $this->registry->db->query_first_slave("SELECT username FROM " . TABLE_PREFIX . "user WHERE userid = '" . $i[3] . "'");
if ($Sqls['username']) { $text = 'عضوية : ' . $Sqls['username']; }
}
// +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+
}
}
/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ *\
|* | BY MGHOOL FOR LINKS - V | *|
\* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ */
[/CENTER]
الشرح منقول للاخ معتز
أخوي علوان
اشكرك على شرحك الوافي
وتم عمل طريقة أبو راشد :mwalat3:
رد: طريقة اظهار عنوان الموضوع عند وضع الروابط من نفس المنتدى
اقتباس:
المشاركة الأصلية كتبت بواسطة ابو راشد
المستخدم في المودة هو هاكي الفي بي سيو وهي التي تقوم بتحويل الروابط لعناوينها ... تحياتي .
أبو راشد
لك مني كل الشكر والتقدير
على التوضيح
وتم العمل على طريقتك
من اعدادت هاك الفي بي سيو المرخص :mwalat7: