Themen mit anderem Datum erstellen

Admin

Administrator

Themen mit anderem Datum erstellen

Um ein Thema zu erstellen wird /service/thread/creator bedient. Um dort das Datum für das neue Thema, post usw. zu setzen, gibt es finalSetup().

Mein neues Add-on hat ein eigenes Formular, hiermit gebe ich Daten für die Erstellung neuer Themen ein. Allerdings möchte ich die Themen mit einem älteren Datum versehen, damit sie erst mal nicht oben stehen.

Dank Kirby erweitern wir xf/service/thread/creator mit
- einer protected Variable als nullable int
- einem Setter dazu
- einer neuen Version von finalSetUp

Code:
class Creator extends XFCP_Creator
{
    protected ?int $postDate = null;
 
    public function setPostDate(?int $postDate): void
    {
        $this->postDate = $postDate;
    }
 
    protected function finalSetup()
    {
        $reply = parent::finalSetup();
   
        if ($this->postDate !== null)
        {
            $this->thread->post_date = $this->postDate;
            $this->thread->last_post_date = $this->postDate;
            $this->post->post_date = $this->postDate;
        }  
        return $reply;
    }
}

Im Hauptscript heißt es dann
$creator->setPostDate(Datum)

Kommt der Aufruf von meinem Script, wird das Datum gesetzt, ansonsten passiert nichts, das Datum bleibt wie in der parent Klasse/Methode vorgesehen auf time();
 
Zurück
Oben