MyBB.de Forum
Neuen Thread über externes Skript erstellen - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: Neuen Thread über externes Skript erstellen (/thread-11587.html)



Neuen Thread über externes Skript erstellen - sevildevil - 17.11.2008

Tach zusammen,
ich würde gerne in mein Newssystem eine Funktion einbauen, die es mir ermöglicht bestimmte Artikel als Threads in das Forum zu kopieren. Habe mir daher die newthread.php angesehen, werde aber daraus nur so halb schlau. Confused
Den Posthandler hab ich schon gefunden, nur was ich dann damit machen muss, ist mir nicht so ganz klar...
Könnte mir vielleicht einer von euch helfen?

Gruß,
Sevil


RE: Neuen Thread über externes Skript erstellen - Michael - 18.11.2008

(17.11.2008, 20:23)sevildevil schrieb: Den Posthandler hab ich schon gefunden, nur was ich dann damit machen muss, ist mir nicht so ganz klar...
Könnte mir vielleicht einer von euch helfen?
Das ist schonmal die richtige Stelle. Wo genau kommst du denn nicht weiter? Om Grunde musst du ein Array mit allen Attributen füllen und dieses dann an den Posthandler übergeben.


RE: Neuen Thread über externes Skript erstellen - sevildevil - 18.11.2008

Also mein Skript sieht derzeit so aus (MySQL abfrage kommt erst rein, wenns "auf dem Trockenen" funktioniert" Wink)
PHP-Code:
<?php
define
("IN_MYBB"1);
require_once 
"global.php";
require_once 
"inc/functions_post.php";
require_once 
"inc/functions_user.php";

require_once 
"inc/datahandlers/post.php";
$posthandler = new PostDataHandler("insert");
$posthandler->action "thread";

$new_thread = array(
  
"fid" => 28,
  
"subject" => "Testthread",
  
"icon" => 0,
  
"uid" => 1,
  
"username" => "Severin",
  
"message" => "Ich bin ein Blindtext. Von Geburt an.",
  
"ipaddress" => get_ip(),
  
"posthash" => $mybb->input['posthash'],
  
"savedraft" => 0
);

    if(
$pid != '')
    {
        
$new_thread['pid'] = $pid;
    }

    
$posthandler->set_data($new_thread);
    
    
// Now let the post handler do all the hard work.
    
$valid_thread $posthandler->validate_thread();
    
    
$post_errors = array();
    
// Fetch friendly error messages if this is an invalid thread
    
if(!$valid_thread)
    {
        
$post_errors $posthandler->get_friendly_errors();
        
print_r($post_errors);
    }
?>
Problem: Das Thema wird nicht eingetragen und ich bekomm ne weiße Seite ausgespuckt (also auch keine Fehlermeldungen, etc.), kann auch aktuell wenig mit dem "Post-Hash" anfangen. Kann man den weglassen, oder muss ich dafür irgendwas mit md5 codieren?


RE: Neuen Thread über externes Skript erstellen - Michael - 18.11.2008

Naja, du setzt die Daten, validierst diese und das wars. Es fehlt noch der Aufruf zum speichern:
PHP-Code:
$posthandler->insert_thread(); 
Den Posthash kannst du einfach generieren:
PHP-Code:
mt_srand((double) microtime() * 1000000);
$posthash md5($mybb->user['uid'].mt_rand()); 



RE: Neuen Thread über externes Skript erstellen - sevildevil - 18.11.2008

Aaah Danke Micha,
nun funktioniers *freu* Smile

Gruß,
Sevil