Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.39 veröffentlicht (02.06.25)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Sideboxes 2.0
#1
Exclamation 
Hallo,

bei den Sideboxes kann ich ja vordeffinierte Boxes auswählen und eigene hinzufügen.
Standardmäßig werden die vordeffinierten boxen zuerst angezeigt. wie kann ich die eigenen boxes als erstes anzeigen lassen?

hier mal der code der sideboxes.php
PHP-Code:
<?php
/**
* Side Boxes!
* Copyright TECHEX - The Site
* http://www.thetechex.net
*/

// 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("global_end", "sideboxes_start");

function
sideboxes_info()
{
return array(
"name" => "Side Boxes!",
"description" => "Additional boxes on the right of the forums in index page.",
"website" => "http://www.thetechex.net",
"author" => "Zaher1988",
"authorsite" => "http://www.thetechex.net",
"version" => "2.0",
);
}

function
sideboxes_activate()
{
global
$db;

$sideboxes_group = array(
"gid" => "NULL",
"title" => "Side Boxses!",
"name" => "sideboxes",
"description" => "Side Boxes settings.",
"disporder" => "3",
"isdefault" => "no",
);

$db->insert_query(TABLE_PREFIX."settinggroups", $sideboxes_group);
$gid = $db->insert_id();


$sideboxes_setting_1 = array(
"sid" => "NULL",
"name" => "sb_welcome",
"title" => "Include welcome box",
"description" => "Would you like include the welcome box?",
"optionscode" => "yesno",
"value" => 'yes',
"disporder" => '1',
"gid" => intval($gid),
);
$sideboxes_setting_2 = array(
"sid" => "NULL",
"name" => "sb_stats",
"title" => "Include statistics box",
"description" => "Would you like include the stats box?",
"optionscode" => "yesno",
"value" => 'yes',
"disporder" => '2',
"gid" => intval($gid),
);
$sideboxes_setting_3 = array(
"sid" => "NULL",
"name" => "sb_search",
"title" => "Include search box",
"description" => "Would you like include the search box?",
"optionscode" => "yesno",
"value" => 'yes',
"disporder" => '3',
"gid" => intval($gid),
);
$sideboxes_setting_4 = array(
"sid" => "NULL",
"name" => "sb_latest",
"title" => "Include latest threads box",
"description" => "Would you like include the latest threads box?",
"optionscode" => "yesno",
"value" => 'yes',
"disporder" => '4',
"gid" => intval($gid),
);

$sideboxes_setting_5 = array(
"sid" => "NULL",
"name" => "sb_additional",
"title" => "Additional custom boxes",
"description" => "Create an additional box(s) by entering the html code.",
"optionscode" => "textarea",
"value" => $db->escape_string('<table border="0" cellspacing="1" cellpadding="4" class="tborder">
<tr>
<td class="thead"><strong>My Additional box</strong></td>
</tr>
<tr>
<td class="trow1">This is my first additional box using SideBoxes!.</td>
</tr>
</table>
<br />'
),
"disporder" => '5',
"gid" => intval($gid),
);

$db->insert_query(TABLE_PREFIX."settings", $sideboxes_setting_1);
$db->insert_query(TABLE_PREFIX."settings", $sideboxes_setting_2);
$db->insert_query(TABLE_PREFIX."settings", $sideboxes_setting_3);
$db->insert_query(TABLE_PREFIX."settings", $sideboxes_setting_4);
$db->insert_query(TABLE_PREFIX."settings", $sideboxes_setting_5);
rebuild_settings();

require
MYBB_ROOT.'/inc/adminfunctions_templates.php';
find_replace_templatesets("index", '#'.preg_quote('{$forums}').'#', '<table width="100%" border="0">



<tr>
<td width="75%" valign="top">{$forums}</td>
<td width="25%" valign="top">{$sb_welcome}{$sb_search}{$sb_stats}{$sb_latestthreads}</td>
</tr>
</table>'
);

}

function
sideboxes_deactivate()
{
global
$db;

$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='sb_welcome'");
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='sb_stats'");
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='sb_additional'");
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='sb_search'");
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='sb_latest'");
$db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='sideboxes'");
rebuild_settings();

require
MYBB_ROOT.'/inc/adminfunctions_templates.php';
find_replace_templatesets("index", '#'.preg_quote('<table width="100%" border="0">
<tr>
<td width="75%" valign="top">{$forums}</td>'
).'#', '{$forums}',0);

find_replace_templatesets("index", '#'.preg_quote(' <td width="25%" valign="top">{$sb_welcome}{$sb_search}{$sb_stats}{$sb_latestthreads}{$sb_additional}</td>
</tr>
</table>'
).'#', '',0);
}

function
sideboxes_start()
{
global
$db, $mybb, $settings, $templates, $lang, $cache;
global
$sb_search, $sb_welcome, $sb_stats, $sb_latestthreads, $sb_additional, $pms, $welcometext;
global
$gobutton, $theme, $lastvisit, $header, $footer;

$lang->load("portal");

if(
$mybb->settings['sb_welcome'] == "yes")
{
if(
$mybb->user['uid'] != 0)
{
if(
$mybb->user['receivepms'] != "no" && $mybb->usergroup['canusepms'] != "no" && $mybb->settings['portal_showpms'] != "no" && $mybb->settings['enablepms'] != "no")
{
$query = $db->simple_select(TABLE_PREFIX."privatemessages", "COUNT(*) AS pms_total, SUM(IF(dateline>'".$mybb->user['lastvisit']."' AND folder='1','1','0')) AS pms_new, SUM(IF(status='0' AND folder='1','1','0')) AS pms_unread", "uid='".$mybb->user['uid']."'");
$messages = $db->fetch_array($query);
if(!
$messages['pms_new'])
{
$messages['pms_new'] = 0;
}
// the SUM() thing returns "" instead of 0
if($messages['pms_unread'] == "")
{
$messages['pms_unread'] = 0;
}
$lang->pms_received_new = sprintf($lang->pms_received_new, $mybb->user['username'], $messages['pms_new']);
eval(
"\$pms = \"".$templates->get("portal_pms")."\";");
}

//get number of new posts, threads, announcements
$query = $db->simple_select(TABLE_PREFIX."posts", "COUNT(pid) AS newposts", "dateline>'".$mybb->user['lastvisit']."' $unviewwhere");
$newposts = $db->fetch_field($query, "newposts");
if(
$newposts)
{
// if there aren't any new posts, there is no point in wasting two more queries
$query = $db->simple_select(TABLE_PREFIX."threads", "COUNT(tid) AS newthreads", "dateline>'".$mybb->user['lastvisit']."' $unviewwhere");
$newthreads = $db->fetch_field($query, "newthreads");
$query = $db->simple_select(TABLE_PREFIX."threads", "COUNT(tid) AS newann", "dateline>'".$mybb->user['lastvisit']."' AND fid IN (".$mybb->settings['portal_announcementsfid'].") $unviewwhere");
$newann = $db->fetch_field($query, "newann");
if(!
$newthreads)
{
$newthreads = 0;
}
if(!
$newann)
{
$newann = 0;
}
}
else
{
$newposts = 0;
$newthreads = 0;
$newann = 0;
}

// Make the text
if($newann == 1)
{
$lang->new_announcements = $lang->new_announcement;
}
else
{
$lang->new_announcements = sprintf($lang->new_announcements, $newann);
}
if(
$newthreads == 1)
{
$lang->new_threads = $lang->new_thread;
}
else
{
$lang->new_threads = sprintf($lang->new_threads, $newthreads);
}
if(
$newposts == 1)
{
$lang->new_posts = $lang->new_post;
}
else
{
$lang->new_posts = sprintf($lang->new_posts, $newposts);
}
eval(
"\$welcometext = \"".$templates->get("portal_welcome_membertext")."\";");
}
else
{
$lang->guest_welcome_registration = sprintf($lang->guest_welcome_registration, $mybb->settings['bburl'] . '/member.php?action=register');
$mybb->user['username'] = $lang->guest;
$portal_url = get_current_location();
eval(
"\$welcometext = \"".$templates->get("portal_welcome_guesttext")."\";");
}
$lang->welcome = sprintf($lang->welcome, $mybb->user['username']);
eval(
"\$sb_welcome = \"".$templates->get("portal_welcome")."\";");
if(
$mybb->user['uid'] == 0)
{
$mybb->user['username'] = "";
}
}

//Start statistics
if($mybb->settings['sb_stats'] == "yes")
{
$stats = $cache->read("stats");
$threadsnum = $stats['numthreads'];
$postsnum = $stats['numposts'];
$membersnum = $stats['numusers'];
if(!
$stats['lastusername'])
{
$newestmember = "<b>" . $lang->no_one . "</b>";
}
else
{
$newestmember = build_profile_link($stats['lastusername'], $stats['lastuid']);
}
eval(
"\$sb_stats = \"".$templates->get("portal_stats")."\";");
}

//Search Box
if($mybb->settings['sb_search'] == "yes")
{
eval(
"\$sb_search = \"".$templates->get("portal_search")."\";");
}

//Get latest threads
if($mybb->settings['sb_latest'] == "yes")
{
$altbg = alt_trow();
$threadlist = '';
$query = $db->query("
SELECT t.*, u.username
FROM "
.TABLE_PREFIX."threads t
LEFT JOIN "
.TABLE_PREFIX."users u ON (u.uid=t.uid)
WHERE 1=1
$unviewwhere AND t.visible='1' AND t.closed NOT LIKE 'moved|%'
ORDER BY t.lastpost DESC
LIMIT 0, "
.$mybb->settings['portal_showdiscussionsnum']
);
while(
$thread = $db->fetch_array($query))
{
$lastpostdate = my_date($mybb->settings['dateformat'], $thread['lastpost']);
$lastposttime = my_date($mybb->settings['timeformat'], $thread['lastpost']);
// Don't link to guest's profiles (they have no profile).
if($thread['lastposteruid'] == 0)
{
$lastposterlink = $thread['lastposter'];
}
else
{
$lastposterlink = build_profile_link($thread['lastposter'], $thread['lastposteruid']);
}
if(
my_strlen($thread['subject']) > 25)
{
$thread['subject'] = my_substr($thread['subject'], 0, 25) . "...";
}
$thread['subject'] = htmlspecialchars_uni($thread['subject']);
eval(
"\$threadlist .= \"".$templates->get("portal_latestthreads_thread")."\";");
$altbg = alt_trow();
}
if(
$threadlist)
{
// show the table only if there are threads
eval("\$sb_latestthreads = \"".$templates->get("portal_latestthreads")."\";");
}
}

//Workout additional cutom boxes
eval("\$sb_additional = \"".$db->escape_string($mybb->settings['sb_additional'])."\";");


$header .= '<table width="100%" border="0">
<tr>
<td width="75%" valign="top">'
;
$footer = '<td>
<td width="25%" valign="top">'
.$sb_welcome.$sb_search.$sb_stats.$sb_latestthreads.$sb_additional.'</td>
</tr>
</table>'
.$footer;

if(
$mybb->input['action'] == "do_login" && $mybb->request_method == "post")
{
require_once
MYBB_ROOT."inc/functions_user.php";
$logins = login_attempt_check();
$login_text = '';

if(!
username_exists($mybb->input['username']))
{
my_setcookie('loginattempts', $logins + 1);
$db->query("UPDATE ".TABLE_PREFIX."sessions SET loginattempts=loginattempts+1 WHERE sid = '{$session->sid}'");
if(
$mybb->settings['failedlogintext'] == "yes")
{
$login_text = sprintf($lang->failed_login_again, $mybb->settings['failedlogincount'] - $logins);
}
error($lang->error_invalidusername.$login_text);
}
$user = validate_password_from_username($mybb->input['username'], $mybb->input['password']);
if(!
$user['uid'])
{
my_setcookie('loginattempts', $logins + 1);
$db->query("UPDATE ".TABLE_PREFIX."sessions SET loginattempts=loginattempts+1 WHERE sid = '{$session->sid}'");
if(
$mybb->settings['failedlogintext'] == "yes")
{
$login_text = sprintf($lang->failed_login_again, $mybb->settings['failedlogincount'] - $logins);
}
error($lang->error_invalidpassword.$login_text);
}

my_setcookie('loginattempts', 1);
$db->delete_query(TABLE_PREFIX."sessions", "ip='".$db->escape_string($session->ipaddress)."' AND sid != '".$session->sid."'");
$newsession = array(
"uid" => $user['uid'],
"loginattempts" => 1,
);
$db->update_query(TABLE_PREFIX."sessions", $newsession, "sid='".$session->sid."'");

// Temporarily set the cookie remember option for the login cookies
$mybb->user['remember'] = $user['remember'];

my_setcookie("mybbuser", $user['uid']."_".$user['loginkey'], null, true);
my_setcookie("sid", $session->sid, -1, true);

if(
function_exists("loggedIn"))
{
loggedIn($user['uid']);
}

redirect("index.php", $lang->redirect_loggedin);
}
}
//Function to rebuilt all settings
if(!function_exists("rebuild_settings"))
{
function
rebuild_settings()
{
global
$db, $mybb;

if(!
file_exists(MYBB_ROOT."inc/settings.php"))
{
$mode = "x";
}
else
{
$mode = "w";
}
$options = array(
"order_by" => "title",
"order_dir" => "ASC"
);
$query = $db->simple_select(TABLE_PREFIX."settings", "value, name", "", $options);

while(
$setting = $db->fetch_array($query))
{
$setting['value'] = str_replace("\"", "\\\"", $setting['value']);
$settings .= "\$settings['".$setting['name']."'] = \"".$setting['value']."\";\n";
$mybb->settings[$setting['name']] = $setting['value'];
}
$settings = "<"."?php\n/*********************************\ \n DO NOT EDIT THIS FILE, PLEASE USE\n THE SETTINGS EDITOR\n\*********************************/\n\n$settings\n?".">";
$file = @fopen(MYBB_ROOT."inc/settings.php", $mode);
@
fwrite($file, $settings);
@
fclose($file);
$GLOBALS['settings'] = &$mybb->settings;
}

}
?>

okay, hab es hinbekommen.
"disporder" musste geändert werden.
Okay, hat doch nicht geklappt!!!

dispoerder ändert leider nur die Reihenfolge im Adminbereich.
Wer hätte eine Idee, wie man das lösen kann?
Zitieren
#2
Ersetze
PHP-Code:
$footer = '<td>
<td width="25%" valign="top">'
.$sb_welcome.$sb_search.$sb_stats.$sb_latestthreads.$sb_additional.'</td>
</tr>
</table>'
.$footer;
mal durch
PHP-Code:
$footer = '<td>
<td width="25%" valign="top">'
.$sb_additional.$sb_welcome.$sb_search.$sb_stats.$sb_latestthreads.'</td>
</tr>
</table>'
.$footer;

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#3
Super, das wars was ich wollte :-)
1000 Dank.
Zitieren
#4
Hinweis: Es müsste so heißen:
PHP-Code:
$footer = '</td>
<td width="25%" valign="top">'
.$sb_additional.$sb_welcome.$sb_search.$sb_stats.$sb_latestthreads.'</td>
</tr>
</table>'
.$footer;
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
Sad SideBoxes zweimal mt11341 4 2.112 27.09.2015, 20:53
Letzter Beitrag: mt11341
  Schon wieder Sideboxes Blackout 11 4.398 25.10.2009, 23:40
Letzter Beitrag: Blackout
  sideboxes 2.x yabexxl 19 6.866 06.07.2009, 17:45
Letzter Beitrag: ows
  Sideboxes werden nicht angezeigt scoove 5 2.696 28.02.2008, 18:05
Letzter Beitrag: StefanT
  Sideboxes FischI 2 2.238 28.02.2006, 11:34
Letzter Beitrag: FischI