Beiträge: 12
Themen: 2
Registriert seit: 11.02.2009
25.09.2008, 09:17
(Dieser Beitrag wurde zuletzt bearbeitet: 29.09.2008, 12:58 von paratox.)
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.
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Wäre es nicht anders herum einfacher und sinnvoller?
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 12
Themen: 2
Registriert seit: 11.02.2009
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?
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 20
Themen: 3
Registriert seit: 15.01.2009
09.10.2008, 05:00
(Dieser Beitrag wurde zuletzt bearbeitet: 09.10.2008, 05:01 von ragtek.)
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();
Beiträge: 20
Themen: 3
Registriert seit: 15.01.2009
09.10.2008, 11:25
(Dieser Beitrag wurde zuletzt bearbeitet: 09.10.2008, 11:25 von ragtek.)
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 } ?>
Natürlich hab ich das Plugin aktiviert
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
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
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 20
Themen: 3
Registriert seit: 15.01.2009
Autsch.
Ok hier ist es ja eine "Funktion" im Gegnsatz zum vB
Beiträge: 20
Themen: 3
Registriert seit: 15.01.2009
Sodala, falls jemand auf der Suche danach ist:
https://www.mybb.de/forum/thread-20832.html
|