07.01.2008, 01:25
Ich wurde innerhalb der letzten Woche zweimal darauf angesprochen, ob es möglich wäre, etwas wie "Heutige Themen ansehen" zu erschaffen, also eine Funktion in der Suche, genau wie "Heutige Beiträge ansehen". Ich dachte, das wäre einiges an Arbeit, stellt sich heraus, es sind gerade mal zwei Zeilen nötig zum Abändern der Suche:
Das ist alles. Jetzt müsst ihr nur noch irgendwo einen Link setzen, der auf search.php?action=getdailythreads zugreift.
Öffne die search.php
Suche nach
Füge danach ein:
Suche nach
PHP-Code:
elseif($mybb->input['action'] == "getdaily")
{
if($mybb->input['days'] < 1)
{
$days = 1;
}
else
{
$days = intval($mybb->input['days']);
}
$datecut = time()-(86400*$days);
$where_sql = "t.lastpost >='".$datecut."'";
if($mybb->input['fid'])
{
$where_sql .= " AND t.fid='".intval($mybb->input['fid'])."'";
}
$unsearchforums = get_unsearchable_forums();
if($unsearchforums)
{
$where_sql .= " AND t.fid NOT IN ($unsearchforums)";
}
$inactiveforums = get_inactive_forums();
if($inactiveforums)
{
$where_sql .= " AND t.fid NOT IN ($inactiveforums)";
}
$sid = md5(uniqid(microtime(), 1));
$searcharray = array(
"sid" => $db->escape_string($sid),
"uid" => $mybb->user['uid'],
"dateline" => time(),
"ipaddress" => $db->escape_string($session->ipaddress),
"threads" => '',
"posts" => '',
"searchtype" => "titles",
"resulttype" => "threads",
"querycache" => $db->escape_string($where_sql),
);
$plugins->run_hooks("search_do_search_process");
$db->insert_query(TABLE_PREFIX."searchlog", $searcharray);
redirect("search.php?action=results&sid=".$sid, $lang->redirect_searchresults);
}
Füge danach ein:
PHP-Code:
elseif($mybb->input['action'] == "getdailythreads")
{
if($mybb->input['days'] < 1)
{
$days = 1;
}
else
{
$days = intval($mybb->input['days']);
}
$datecut = time()-(86400*$days);
$where_sql = "t.dateline >='".$datecut."'";
if($mybb->input['fid'])
{
$where_sql .= " AND t.fid='".intval($mybb->input['fid'])."'";
}
$unsearchforums = get_unsearchable_forums();
if($unsearchforums)
{
$where_sql .= " AND t.fid NOT IN ($unsearchforums)";
}
$inactiveforums = get_inactive_forums();
if($inactiveforums)
{
$where_sql .= " AND t.fid NOT IN ($inactiveforums)";
}
$sid = md5(uniqid(microtime(), 1));
$searcharray = array(
"sid" => $db->escape_string($sid),
"uid" => $mybb->user['uid'],
"dateline" => time(),
"ipaddress" => $db->escape_string($session->ipaddress),
"threads" => '',
"posts" => '',
"searchtype" => "titles",
"resulttype" => "threads",
"querycache" => $db->escape_string($where_sql),
);
$plugins->run_hooks("search_do_search_process");
$db->insert_query(TABLE_PREFIX."searchlog", $searcharray);
redirect("search.php?action=results&sid=".$sid, $lang->redirect_searchresults);
}
Das ist alles. Jetzt müsst ihr nur noch irgendwo einen Link setzen, der auf search.php?action=getdailythreads zugreift.