faecher:informatik:oberstufe:datenbanken:projekt:dokuwiki_plugin:microblogging:step03:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:datenbanken:projekt:dokuwiki_plugin:microblogging:step03:start [21.06.2021 17:30] – [Methoden der Blogentry-Klasse] sbelfaecher:informatik:oberstufe:datenbanken:projekt:dokuwiki_plugin:microblogging:step03:start [21.06.2021 18:00] (aktuell) – [Neuer Eintrag] sbel
Zeile 80: Zeile 80:
 ==== Neuer Eintrag ==== ==== Neuer Eintrag ====
  
 +Um einen  neuen Eintrag hinzufügen zu können, benötigen wir ein Formular, das wir z.B. mit den bereits bekannten DokuWiki-Mitteln erzeugen können:
 +
 +<code php syntax.php>
 +public function printform() {
 +
 +    // Erzeuge ein neues "Form" Objekt
 +    $form = new dokuwiki\Form\Form();
 +
 +        $form->addHTML("<h2>Hey, was geht?!</h2>");
 +    $form->addTextArea('blogtext', '');
 +        $form->addHTML("<br/>");
 +    $form->addButton('submit', 'Senden');
 +
 +    // Generate the HTML-Representation of the form
 +    return $form->toHTML();
 +    }
 +</code>
 +
 +Wenn das Formular Daten enthält, kann muss man den Blog Eintrag hinzufügen:
 +
 +<code php syntax.php>
 +// Neuer Eintrag!
 +if (isset ($_POST["blogtext"]) && checkSecurityToken() ) {
 +    $blogentry->insert_entry($bloguser->getID(), $_POST["blogtext"]);
 +    msg("Hat geklappt!");
 +} else {
 +    $renderer->doc .= $this->printform();
 +}
 +</code>
 +
 +In der Datei ''blogentry.class.php'' muss man nun noch den Code für den Datenbankeintrag ergänzen:
 +
 +<code php blogentry.class.php >
 +public function insert_entry ($userid, $content) {
 +        print "Blogeintrag hinzufügen $userid";
 +
 +        $statement = $this->db->prepare('INSERT INTO blogentrys (userid, content, created) VALUES (:userid,:content, :created)');
 +        $statement->execute(array('userid' => "$userid", 'content' => "$content", 'created' => time())); 
 +
 +    }
 +</code>
 +
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A3) ===
 +
 +Füge die Codefragmente in dein Projekt ein, so dass du Blogeinträge anlegen kannst. Teste die Funktionalität.
 +
 +----
 +{{:aufgabe.png?nolink  |}}
 +=== (A4) ===
 +
 +Ergänze die Dateien ''blogentry.class.php'' und ''blogentryInterface.class.php'' so, dass du eine Liste der Blogbeiträge des angemeldeten Benutzers und alle Beiträge anzeigen lassen kannst.
 +
 +Erweitere das Plugin um Optionen, die die Ausgabe steuern: 
 +
 +   {{projekt>user}}
 +
 +soll die Liste für den Benutzer ausgeben, oben das Formular für einen neuen Eintrag.
 +
 +   {{projekt>microblog}}
 +
 +soll alle Beiträge ausgeben, ohne Formular und sichtbar auch für nicht angemeldete Benutzer.
 +
 +
 +Füge die Codefragmente in dein Projekt ein, so dass du Blogeinträge anlegen kannst.
  
 ---- ----
 [[{}..:step02:start|<- Schritt 2 ]][[{|float-right}..:step04:start|Schritt 4 ->]] [[{}..:step02:start|<- Schritt 2 ]][[{|float-right}..:step04:start|Schritt 4 ->]]
  • faecher/informatik/oberstufe/datenbanken/projekt/dokuwiki_plugin/microblogging/step03/start.1624296610.txt.gz
  • Zuletzt geändert: 21.06.2021 17:30
  • von sbel