MyBB Hazır Konu Şablonu Eklentisi 1.0
MyPoweR
14-11-2018, 03:04
Eklenti İsmi: Hazır Konu Şablonu
Eklenti Yapımcısı: Janota
Türkçe Çeviri: MyPoweR
Uyumlu Olduğu Sürüm: MyBB 1.8.x
Eklenti Açıklaması: Bu eklenti sayesinde arkadaşlar belirlediğimiz forumda ve belirlediğimiz grublara ve yine belirlediğimiz bir hazır şablon çıkartır.
Yeni konu açan birisi eğer belirlediğimiz bölümde konu açıyor ise belirlediğiniz şablonu hazır olarak konu editöründe görecektir.
Eklenti Kurulumu:
1) Yüklenecek Dosyalar klasöründe ki dosyaları direk FTP'nize ve ana dizine/roota gönderiniz. (index.php vs olduğu yere)
2) Admin Paneli -> Eklentiler (Plugins) -> Hazır Konu Şablonu Eklentisi ni aktif ediniz.
3) Forum Ayarları -> Hazır Konu Şablonu Ayarlarından ayarlarınızı yapınız.
Örnek Görüntü: Ektedir.
Herkese iyi forumlar.
Eklenti Yapımcısı: Janota
Türkçe Çeviri: MyPoweR
Uyumlu Olduğu Sürüm: MyBB 1.8.x
Eklenti Açıklaması: Bu eklenti sayesinde arkadaşlar belirlediğimiz forumda ve belirlediğimiz grublara ve yine belirlediğimiz bir hazır şablon çıkartır.
Yeni konu açan birisi eğer belirlediğimiz bölümde konu açıyor ise belirlediğiniz şablonu hazır olarak konu editöründe görecektir.
Eklenti Kurulumu:
1) Yüklenecek Dosyalar klasöründe ki dosyaları direk FTP'nize ve ana dizine/roota gönderiniz. (index.php vs olduğu yere)
2) Admin Paneli -> Eklentiler (Plugins) -> Hazır Konu Şablonu Eklentisi ni aktif ediniz.
3) Forum Ayarları -> Hazır Konu Şablonu Ayarlarından ayarlarınızı yapınız.
Örnek Görüntü: Ektedir.
Herkese iyi forumlar.
ceta
6 saat önce
Merhaba
1.Hazır Forum Id
Bu kısma aşağıda belirleyeceğiniz şablonun çıkmasını istediğiniz forumun ID numarasını yazınız
Bu kısımda tüm forumları tanımlamak için tek bir kod yok mu?
1.Hazır Forum Id
Bu kısma aşağıda belirleyeceğiniz şablonun çıkmasını istediğiniz forumun ID numarasını yazınız
Bu kısımda tüm forumları tanımlamak için tek bir kod yok mu?
ceta
4 saat önce![[Resim: 1.png]](https://i.ibb.co/CpjVfQtX/1.png)
![[Resim: 2.png]](https://i.ibb.co/rKrN9JS5/2.png)
PHP Kod:
<?php
/**
* MyBB Eklentisi: Çoktan Seçmeli Hazır Konu Şablonu
* Yazar: Geliştirilmiş Sürüm
* Açıklama: MyBB native groupselect ve forumselect entegrasyonlu kararlı sürüm.
*/
if(!defined("IN_MYBB"))
{
die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}
$plugins->add_hook("newthread_end", "default_layout_run");
function default_layout_info()
{
return array(
"name" => "Çoktan Seçmeli Hazır Konu Şablonu",
"description" => "Grup ve forum seçimleri çoklu seçim listesiyle yapılan gelişmiş şablon eklentisi.",
"website" => "https://mybbturkce.com",
"author" => "Geliştirilmiş Sürüm",
"authorsite" => "https://tuncay.net.tr",
"version" => "2.0",
"compatibility" => "18*"
);
}
function default_layout_activate()
{
global $db;
$db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='default_layout'");
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name LIKE 'default_layout_%'");
$group = array(
"gid" => "NULL",
"name" => "default_layout",
"title" => "Çoktan Seçmeli Hazır Konu Şablonu",
"description" => "Çoklu seçimli şablon yönetim ayarları.",
"disporder" => "1",
"isdefault" => "no",
);
$db->insert_query("settinggroups", $group);
$gid = (int)$db->insert_id();
// 1. Aktiflik
$db->insert_query("settings", array(
"name" => "default_layout_active",
"title" => $db->escape_string("Eklentiyi Aktif Et"),
"description" => $db->escape_string("Eklentinin çalışmasını istiyorsanız Evet seçin."),
"optionscode" => "yesno",
"value" => "1",
"disporder" => "1",
"gid" => $gid
));
// 2. Kullanıcı Grupları (Native groupselect)
$db->insert_query("settings", array(
"name" => "default_layout_groups",
"title" => $db->escape_string("İzin Verilen Kullanıcı Grupları"),
"description" => $db->escape_string("Şablonun geçerli olacağı grupları seçin."),
"optionscode" => "groupselect",
"value" => "all",
"disporder" => "2",
"gid" => $gid
));
// 3. 5 Blok İçin Forumlar ve İçerikler
for($i = 1; $i <= 5; $i++)
{
$db->insert_query("settings", array(
"name" => "default_layout_fids_{$i}",
"title" => $db->escape_string("{$i}. Blok - Hedef Forumlar"),
"description" => $db->escape_string("Bu şablonun çıkmasını istediğiniz forumları seçin."),
"optionscode" => "forumselect",
"value" => "all",
"disporder" => (2 + ($i * 2) - 1),
"gid" => $gid
));
$db->insert_query("settings", array(
"name" => "default_layout_content_{$i}",
"title" => $db->escape_string("{$i}. Blok - Şablon İçeriği"),
"description" => $db->escape_string("Yukarıdaki forumlarda konu açılırken editöre otomatik yüklenecek şablon metni."),
"optionscode" => "textarea",
"value" => "",
"disporder" => (2 + ($i * 2)),
"gid" => $gid
));
}
rebuild_settings();
}
function default_layout_deactivate()
{
global $db;
$db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='default_layout'");
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name LIKE 'default_layout_%'");
rebuild_settings();
}
// Güvenli Değer Çözümleyici
function default_layout_parse_values($value)
{
if(is_array($value))
{
return $value;
}
if(empty($value) || $value == "all" || $value == "-1")
{
return "all";
}
if($value == "none")
{
return "none";
}
if($value === 'b:0;' || @unserialize($value) !== false)
{
$unserialized = @unserialize($value);
if(is_array($unserialized))
{
return $unserialized;
}
}
return explode(",", $value);
}
function default_layout_run()
{
global $mybb, $fid, $message;
if(!isset($mybb->settings['default_layout_active']) || $mybb->settings['default_layout_active'] != "1" || empty($fid))
{
return;
}
// --- 1. KULLANICI GRUP KONTROLÜ ---
$groups_setting = default_layout_parse_values($mybb->settings['default_layout_groups']);
if($groups_setting === "none")
{
return;
}
if($groups_setting !== "all")
{
$allowed_groups = (array)$groups_setting;
$user_groups = array($mybb->user['usergroup']);
if(!empty($mybb->user['additionalgroups']))
{
$additional = explode(",", $mybb->user['additionalgroups']);
$user_groups = array_merge($user_groups, $additional);
}
$intersect = array_intersect($user_groups, $allowed_groups);
if(empty($intersect))
{
return;
}
}
// --- 2. FORUM VE ŞABLON EŞLEŞTİRME KONTROLÜ ---
for($i = 1; $i <= 5; $i++)
{
if(!isset($mybb->settings["default_layout_fids_{$i}"]))
{
continue;
}
$forum_setting = default_layout_parse_values($mybb->settings["default_layout_fids_{$i}"]);
$template_content = $mybb->settings["default_layout_content_{$i}"];
if(empty(trim($template_content)) || $forum_setting === "none")
{
continue;
}
$is_match = false;
if($forum_setting === "all")
{
$is_match = true;
}
else if(is_array($forum_setting))
{
if(in_array($fid, $forum_setting) || in_array('all', $forum_setting) || in_array('-1', $forum_setting))
{
$is_match = true;
}
}
if($is_match)
{
if(empty($message) || trim($message) == "")
{
$message = $template_content;
}
break;
}
}
}
?>ilgilnen olursa
Arne Saknussemm
4 saat önce(6 saat önce) ceta yazdı: Merhaba
1.Hazır Forum Id
Bu kısma aşağıda belirleyeceğiniz şablonun çıkmasını istediğiniz forumun ID numarasını yazınız
Bu kısımda tüm forumları tanımlamak için tek bir kod yok mu?
Eklentiyi claude.ai gibi bir AI agent'a vererek modifiye ettirebilirsiniz hocam.
Elimizden geldiğince, dilimiz döndüğünce...
https://mybb.tr
https://mybb.tr
