Themen mit anderem Datum erstellen

Admin

Administrator

Themen mit anderem Datum erstellen

Um ein Thema zu erstellen wir /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, hier mit gebe ich Daten für die Erstellung neuer Themen ein. Allerdings möchte ich die Themen mit einem älteren Datum versehen, damit sie erstmal 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 Secript, wird das Datum gesetzt, ansonsten passiert nichts, das Datum bleibt wie in der parent Klasse/Methode vorgesehen auf time();
 
Top