2021-04-07, 07:53 PM
Hello
The plugin has such an error in php 7.3 version. Can we update according to php 7.3, is there any help?
<?php
/**
* My Ad Manager Plugin
* Copyright 2008 Jesse Labrocca
*
* Website: http://www.mybbcentral.com
* License: http://www.mybbcentral.com/license.php
* TR Ceviri: XpSerkan - http://www.mybb.com.tr/
*
* my_ad_manager.php
*/
// Disallow direct access to this file for security reasons
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("postbit","myads_inline");
$plugins->add_hook("pre_output_page", "myads");
function my_ad_manager_info()
{
return array(
"name" => "Gelişmiş Reklam Yöneticisi Plugin",
"description" => "Forumunuza 4 farklı alanda reklam eklemenize olanak sağlar. (header, headerinclude, navigasyon, footer, konu gösterim)<br /><img src=\"http://destek.mybb.com.tr/turkey.gif\" border=\"0\" alt=\"MCTR\" title=\"MCTR\" /> Türkçe Çeviri: <a title=\"MyBB.Com.TR - XpSerkan\" href=\"http://www.mybb.com.tr\" target=\"_blank\"><b>MyBB.Com.TR</b></a>",
"website" => "http://www.mybb.com.tr",
"author" => "Jesse Labrocca",
"authorsite" => "http://www.mybb.com.tr",
"version" => "1.1.5",
"compatibility" => "18*"
);
}
function my_ad_manager_activate()
{
global $mybb, $db;
$my_ad_manager_group = array(
"gid" => "NULL",
"name" => "myadmanager",
"title" => "Gelişmiş Reklam Yöneticisi Ayarları",
"description" => "Gelişmiş reklam yöneticisi ayarlarını bu kısımda yapabilirsiniz.",
"disporder" => "30",
"isdefault" => "no",
);
$db->insert_query("settinggroups", $my_ad_manager_group);
$gid = $db->insert_id();
$setting_1 = array(
"sid" => "NULL",
"name" => "inlineadenable",
"title" => "Konu Gösterim Reklamı Aktif Edilsin mi?",
"description" => "Konu gösterimlerinde reklamların gösterilmesi istiyor musunuz?",
"optionscode" => "onoff",
"value" => "0",
"disporder" => "1",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_1);
$setting_2 = array(
"sid" => "NULL",
"name" => "inlinead",
"title" => "Konu Gösterim Reklam Kodu",
"description" => "Konu gösterimlerinde çıkmasını istediğiniz reklam kodlarını aşağıdaki metin kutusuna ekleyiniz. <b>Not:</b> HTML kod kullanabilirsiniz.",
"optionscode" => "textarea",
"value" => "",
"disporder" => "2",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_2);
$setting_3 = array(
"sid" => "NULL",
"name" => "inadexemptg",
"title" => "Reklamların Gösterilmeyeceği Kullanıcı Grupları?",
"description" => "Reklamların gösterilmesini istemediğiniz kullanıcı gruplarının <b>ID</b> nolarını <b>Virgül</b> ayırarak giriniz.",
"optionscode" => "text",
"value" => "0",
"disporder" => "3",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_3);
$setting_4 = array(
"sid" => "NULL",
"name" => "inadexemptf",
"title" => "Reklamlar Hangi Forumlarda Gösterilmesin?",
"description" => "Reklamların gösterilmesini istemediğiniz forum <b>ID</b> nolarını <b>Virgül</b> ayırarak giriniz.",
"optionscode" => "text",
"value" => "0",
"disporder" => "4",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_4);
$setting_5 = array(
"sid" => "NULL",
"name" => "inadmode",
"title" => "Konu Gösterim Reklam Metodu",
"description" => "Reklamların görünüm şeklini aşağıdan ayarlayabilirsiniz.",
"optionscode" => "radio\r\n1=Sadece ilk mesajdan sonra göster?\r\n2=Sadece ilk mesajdan ve her x mesajdan sonra göster? (varsayılan)\r\n3=Her x mesajdan sonra göster?",
"value" => "2",
"disporder" => "5",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_5);
$setting_6 = array(
"sid" => "NULL",
"name" => "inadpostnum",
"title" => "Reklamlar Kaç Mesajda Bir Tekrar Etsin?",
"description" => "Reklamların kaç mesajda bir görüntülenmesini istiyorsunuz? <b>Not:</b>(Sadece üsteki 2.ci seçenekte bu ayarı kullanabilirsiniz.)",
"optionscode" => "text",
"value" => "5",
"disporder" => "6",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_6);
$setting_7 = array(
"sid" => "NULL",
"name" => "headadenable",
"title" => "Header Reklamı Aktif Edilsin mi?",
"description" => "Forumun en üstü, header kısmında reklam gösterilsin mi?",
"optionscode" => "onoff",
"value" => "0",
"disporder" => "7",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_7);
$setting_8 = array(
"sid" => "NULL",
"name" => "headad",
"title" => "Header Reklam Kodu",
"description" => "Forumun en üstü, Headerda çıkmasını istediğiniz reklam kodlarını aşağıdaki metin kutusuna ekleyiniz. <b>Not:</b> HTML kod kullanabilirsiniz.",
"optionscode" => "textarea",
"value" => "",
"disporder" => "8",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_8);
$setting_9 = array(
"sid" => "NULL",
"name" => "hadexemptg",
"title" => "Header Reklamlarının Gösterilmeyeceği Gruplar?",
"description" => "Header reklamlarının gösterilmesini istemediğiniz kullanıcı gruplarının <b>ID</b> nolarını <b>Virgül</b> ile ayırarak giriniz.",
"optionscode" => "text",
"value" => "0",
"disporder" => "9",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_9);
$setting_10 = array(
"sid" => "NULL",
"name" => "hadexemptf",
"title" => "Header Reklamlarının Gösterilmeyeceği Forumlar?",
"description" => "Header reklamlarının gösterilmesini istemediğiniz forumların <b>ID</b> nolarını <b>Virgül</b> ile ayırarak giriniz.",
"optionscode" => "text",
"value" => "0",
"disporder" => "10",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_10);
$setting_11 = array(
"sid" => "NULL",
"name" => "topadenable",
"title" => "Navigasyon Reklamı Aktif Edilsin mi?",
"description" => "Navbarın hemen altında reklam gösterilsin mi?",
"optionscode" => "onoff",
"value" => "0",
"disporder" => "11",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_11);
$setting_12 = array(
"sid" => "NULL",
"name" => "topad",
"title" => "Navigasyon Reklam Kodu",
"description" => "Navbarın hemen altında çıkmasını istediğiniz reklam kodlarını aşağıdaki metin kutusuna ekleyiniz. <b>Not:</b> HTML kod kullanabilirsiniz.",
"optionscode" => "textarea",
"value" => "",
"disporder" => "12",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_12);
$setting_13 = array(
"sid" => "NULL",
"name" => "tadexemptg",
"title" => "Navigasyon Reklamlarının Gösterilmeyeceği Gruplar?",
"description" => "Navigasyon reklamlarının gösterilmesini istemediğiniz kullanıcı gruplarının <b>ID</b> nolarını <b>Virgül</b> ile ayırarak giriniz.",
"optionscode" => "text",
"value" => "0",
"disporder" => "13",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_13);
$setting_14 = array(
"sid" => "NULL",
"name" => "tadexemptf",
"title" => "Navigasyon Reklamlarının Gösterilmeyeceği Forumlar?",
"description" => "Navigasyon reklamlarının gösterilmesini istemediğiniz forumların <b>ID</b> nolarını <b>Virgül</b> ile ayırarak giriniz.",
"optionscode" => "text",
"value" => "0",
"disporder" => "14",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_14);
$setting_15 = array(
"sid" => "NULL",
"name" => "footadenable",
"title" => "Footer Reklamı Aktif Edilsin mi?",
"description" => "Forumun alt kısmı footerda reklam gösterilsin mi?",
"optionscode" => "onoff",
"value" => "0",
"disporder" => "15",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_15);
$setting_16 = array(
"sid" => "NULL",
"name" => "footad",
"title" => "Footer Reklam Kodu",
"description" => "Footerda çıkmasını istediğiniz reklam kodlarını aşağıdaki metin kutusuna ekleyiniz. <b>Not:</b> HTML kod kullanabilirsiniz.",
"optionscode" => "textarea",
"value" => "",
"disporder" => "16",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_16);
$setting_17 = array(
"sid" => "NULL",
"name" => "fadexemptg",
"title" => "Footer Reklamlarının Gösterilmeyeceği Gruplar?",
"description" => "Footer reklamlarının gösterilmesini istemediğiniz kullanıcı gruplarının <b>ID</b> nolarını <b>Virgül</b> ile ayırarak giriniz.",
"optionscode" => "text",
"value" => "0",
"disporder" => "17",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_17);
$setting_18 = array(
"sid" => "NULL",
"name" => "fadexemptf",
"title" => "Footer Reklamlarının Gösterilmeyeceği Forumlar?",
"description" => "Footer reklamlarının gösterilmesini istemediğiniz forumların <b>ID</b> nolarını <b>Virgül</b> ile ayırarak giriniz.",
"optionscode" => "text",
"value" => "0",
"disporder" => "18",
"gid" => intval($gid),
);
$db->insert_query("settings", $setting_18);
rebuild_settings();
require MYBB_ROOT.'/inc/adminfunctions_templates.php';
find_append_templatesets("postbit", "{\$post[inline_ad]}");
find_append_templatesets("postbit_classic", "{\$post[inline_ad]}");
}
function my_ad_manager_is_installed()
{
global $db,$mybb;
if(array($mybb->settings['inlineadenable']))
{
return true;
}
return false;
}
function my_ad_manager_deactivate()
{
global $mybb, $db;
require "../inc/adminfunctions_templates.php";
find_replace_templatesets("postbit", '#'.preg_quote('{$post[inline_ad]}').'#', '',0);
find_replace_templatesets("postbit_classic", '#'.preg_quote('{$post[inline_ad]}').'#', '',0);
$query = $db->query("SELECT gid FROM ".TABLE_PREFIX."settinggroups WHERE name='myadmanager'");
$g = $db->fetch_array($query);
$db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE gid='".$g['gid']."'");
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE gid='".$g['gid']."'");
rebuild_settings();
}
function myads_inline(&$post)
{
global $mybb, $db, $postcounter, $fid;
if($mybb->settings['inlineadenable'])
{
$gexempt = explode(",",$mybb->settings['inadexemptg']);
$fexempt = explode(",",$mybb->settings['inadexemptf']);
if ( (in_array($mybb->user['usergroup'],$gexempt)) || (in_array($fid,$fexempt)) )
{
return $post;
}
switch ($mybb->settings['inadmode'])
{
case 1:
if (($postcounter - 1) % $mybb->settings['postsperpage'] == "0") {
$ad = true;
}
break;
case 2:
if ($postcounter == "1" || ($postcounter - 1) % ($mybb->settings['inadpostnum']) == "0") {
$ad = true;
}
break;
case 3:
if ($postcounter % ($mybb->settings['inadpostnum']) == "0") {
$ad = true;
}
break;
}
if($ad){
$post[inline_ad] = "<div align=\"center\" class=\"inlinead\">".$mybb->settings['inlinead']."</div>";
}
}
return $post;
}
function myads($page)
{
global $mybb, $db, $fid;
if($mybb->settings['headadenable'])
{
$gexempt = explode(",",$mybb->settings['hadexemptg']);
$fexempt = explode(",",$mybb->settings['hadexemptf']);
if ( (!in_array($mybb->user['usergroup'],$gexempt)) && (!in_array($fid,$fexempt)) )
{
$page = preg_replace('#'.preg_quote('<!-- end: headerinclude -->').'#', $mybb->settings['headad'] ."
<!-- end: headerinclude -->", $page);
}
}
if($mybb->settings['topadenable'])
{
$gexempt = explode(",",$mybb->settings['tadexemptg']);
$fexempt = explode(",",$mybb->settings['tadexemptf']);
if ( (!in_array($mybb->user['usergroup'],$gexempt)) && (!in_array($fid,$fexempt)) )
{
$page = preg_replace('#'.preg_quote('<!-- end: header -->').'#', "<div class=\"headerad\" align=\"center\">". $mybb->settings['topad'] ."</div><!-- end: header -->", $page);
}
}
if($mybb->settings['footadenable'])
{
$gexempt = explode(",",$mybb->settings['fadexemptg']);
$fexempt = explode(",",$mybb->settings['fadexemptf']);
if ( (!in_array($mybb->user['usergroup'],$gexempt)) && (!in_array($fid,$fexempt)) )
{
$page = preg_replace('#'.preg_quote('<!-- start: footer -->').'#', "<!-- start: footer --><div class=\"footerad\" align=\"center\">". $mybb->settings['footad'] ."</div>", $page);
}
}
return $page;
}
function find_append_templatesets($title, $append, $autocreate=1)
{
global $db;
if($autocreate != 0)
{
$query = $db->simple_select("templates", "*", "title='$title' AND sid='-2'");
$master = $db->fetch_array($query);
$oldmaster = $master['template'];
$master['template'] = $master['template'] . $append;
if($oldmaster == $master['template'])
{
return false;
}
$master['template'] = $db->escape_string($master['template']);
}
$query = $db->query("
SELECT s.sid, t.template, t.tid
FROM ".TABLE_PREFIX."templatesets s
LEFT JOIN ".TABLE_PREFIX."templates t ON (t.title='$title' AND t.sid=s.sid)
");
while($template = $db->fetch_array($query))
{
if($template['template']) // Custom template exists for this group
{
if(!$template['template'])
{
return false;
}
$newtemplate = $template['template'] . $append;
$template['template'] = $newtemplate;
$update[] = $template;
}
elseif($autocreate != 0) // No template exists, create it based off master
{
$newtemp = array(
"title" => $title,
"template" => $master['template'],
"sid" => $template['sid']
);
$db->insert_query("templates", $newtemp);
}
}
if(is_array($update))
{
foreach($update as $template)
{
$updatetemp = array("template" => $db->escape_string($template['template']), "dateline" => TIME_NOW);
$db->update_query("templates", $updatetemp, "tid='".$template['tid']."'");
}
}
return true;
}
// Turkce Ceviri: XpSerkan - http://www.mybb.com.tr/
?>