da in meinem forum sehr viele veranstaltungen in form eines threads gepostet werden (damit sich die leute darüber unterhalten können), wäre ein plugin, dass beim erstellen eines postings in einem bestimmten board automatisch dazu einen kalendereintrag macht, sehr hilfreich. zusätzlich würde man auch beim erstellen des threads eine datumsmaske brauchen, um den kalender sagen zu können, an welchem tag diese veranstaltung stattfindet.
Letzte Ankündigung: MyBB 1.8.40 veröffentlicht (28.05.26)
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
|
topic to calendar
|
|
25.09.2008, 16:08
Wäre es nicht anders herum einfacher und sinnvoller?
26.09.2008, 15:46
stimmt eigentlich. wäre es auch möglich, dass man das forum für neue threads sperrt und nur noch über den kalender gepostet wird?
26.09.2008, 16:57
Als Basis kann man diesen Code nehmen: https://forum.mybb.de/thread-20204.html
Naja an und für sich ist es ja egal ob man es aus dem Kalender oder vom Thread aus macht, solange man ein Plugin hat, das den "anderen Teil" erstellt.
Aber was anderes, gibts irgendwo nen Artikel über solche Sachen(Datahandler) oder muss man sich da selbst durch den Code wühlen?(Und noch eine Verständnissfrage: Da ich eigentlich in der vB Welt zuhause bin, kenne ich nur Datamanager, ist der Datahandler damit vergleichbar? Auf den 1. Blick wirkt es halt so) PHP-Code: require_once MYBB_ROOT."inc/datahandlers/post.php";
$posthandler = new PostDataHandler("insert");
$posthandler->action = "thread";
$posthandler->admin_override = true; // Optional, ich habe es lieber drin ^^
$uid = $mybb->user[uid];
$username = $mybb->user[username];
$fid = 0; // Forum in das der Thread gepostet werden soll
$message = $db->escape_string($_POST[message]);
$subject = "Formular von ".$username;
$new_thread = array(
"fid" => $fid,
"subject" => $subject,
"uid" => $uid,
"username" => $username,
"message" => $message,
"ipaddress" => get_ip(),
);
$posthandler->set_data($new_thread);
$validate = $posthandler->validate_thread();
if ($validate)
{
$tinfo = $posthandler->insert_thread();
Habe ein Problem:
Wenn ich folgendes unter den Hook calendar_do_addevent_end einfüge, klappt es wunderbar: PHP-Code: ///ragtek
require_once MYBB_ROOT."inc/datahandlers/post.php";
$posthandler = new PostDataHandler("insert");
$posthandler->action = "thread";
$posthandler->admin_override = true; // Optional, ich habe es lieber drin ^^
$uid = $mybb->user[uid];
$username = $mybb->user[username];
$message = $mybb->input['description'];
$subject = $event['start_date']['day'] .' ' . $event['name'];
$new_thread = array(
"fid" => 2,
"subject" => $subject,
"uid" => $uid,
"username" => $username,
"message" => $message,
"ipaddress" => get_ip(),
);
$posthandler->set_data($new_thread);
$validate = $posthandler->validate_thread();
if ($validate)
{
$tinfo = $posthandler->insert_thread();}
///ragtek
Wenn ich hingegen den Code in ein Plugin haue, passiert nichts: PHP-Code: <?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("calendar_do_addevent_end", "createthread");
function ragtek_eventcalendar_info()
{
/**
* Array of information about the plugin.
* name: The name of the plugin
* description: Description of what the plugin does
* website: The website the plugin is maintained at (Optional)
* author: The name of the author of the plugin
* authorsite: The URL to the website of the author (Optional)
* version: The version number of the plugin
* guid: Unique ID issued by the MyBB Mods site for version checking
* compatibility: A CSV list of MyBB versions supported. Ex, "121,123", "12*". Wildcards supported.
*/
return array(
"name" => "ragtek_eventcalendar",
"description" => "A sample plugin that prints hello world and prepends the content of each post to 'Hello world!'",
"website" => "http://www.mybboard.net",
"author" => "MyBB Group",
"authorsite" => "http://www.mybboard.net",
"version" => "1.0",
"guid" => "",
"compatibility" => "*"
);
}
function createthread()
{
///daniel
require_once MYBB_ROOT."inc/datahandlers/post.php";
$posthandler = new PostDataHandler("insert");
$posthandler->action = "thread";
$posthandler->admin_override = true; // Optional, ich habe es lieber drin ^^
$uid = $mybb->user[uid];
$username = $mybb->user[username];
$message = $mybb->input['description'];
$subject = $event['start_date']['day'] .' ' . $event['name'];
$new_thread = array(
"fid" => 2,
"subject" => $subject,
"uid" => $uid,
"username" => $username,
"message" => $message,
"ipaddress" => get_ip(),
);
$posthandler->set_data($new_thread);
$validate = $posthandler->validate_thread();
if ($validate)
{
$tinfo = $posthandler->insert_thread();}
///daniel
}
?>
09.10.2008, 16:18
Alle Variablen, die nicht selber im Hook definiert werden, mussen mit der global geholt werden: http://de.php.net/manual/de/language.var....scope.php
09.10.2008, 16:24
Autsch.
Ok hier ist es ja eine "Funktion" im Gegnsatz zum vB
09.10.2008, 21:18
Sodala, falls jemand auf der Suche danach ist:
https://forum.mybb.de/thread-20832.html |
|
|
Foren-Team |
Kontakt | MyBB.de | Nach oben | Archiv-Modus | Alle Foren als gelesen markieren | RSS-Synchronisation | Zur mobilen Ansicht

![[Bild: banner.png]](https://www.mybb.de/files/images/banner.png)