Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
Todolist - Datensatz auslesen, Datensatz bearbeiten
#1
Hallo Leute

Ich erstelle zurzeit ein Plugin, dass eine Todolist darstellen soll. Nicht wundern über den momentanen Code. Ist zurzeit nur zur Testzwecken und wird vor Veröffentlichung optimiert.

Ich möchte ermöglichen, dass man die anzeigen und bearbeiten kann. Schön und gut - Template steht. Ob sie stimmt und der Code - das weiss ich nicht. Aufjedenfall funktioniert die Variante, die ähnlicherweise für die Profile verwendet wird - nicht.
Genug von Wörter, hier die Codes:

Code anzeigen:
Code:
elseif ($act == 'show') {
    if ($mybb->input['title'] == '') {
    add_breadcrumb($mybb->settings['todolist_setting6'], "todolist.php");
    add_breadcrumb("{$todolist['title']} anzeigen", "todolist.php?act=show&id={$row[id]}");
    eval("\$todolist_show = \"".$templates->get("todolist_show")."\";");
output_page($todolist_show);
} else {
    $query = $db->simple_select("todolist", "*", "id='$id'");
    $todolist = $db->fetch_array($query);
    }
}

Template anzeigen:
Code:
<html>
<head>
<title>{$mybb->settings[bbname]} - Aufgaben-Liste: {$mybb->settings['todolist_setting6']}</title>
{$headerinclude}
</head>
<body>
{$header}
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder" style="clear: both;">
<tr><td class="thead" colspan='4'><strong>Aufgaben-Liste: {$mybb->settings['todolist_setting6']}</strong></td></tr>
<tr><td class=tcat style='width:30px;'>Nummer</td><td class=tcat>Titel</td><td class=tcat>Priorit&auml;t</td><td class=tcat>Status</td><td class=tcat>Geschrieben von</td><td class=tcat style='width:300px;'>Aktion</td></tr>
{$todo}
<tr class='trow1'><td colspan='3'>{$addtodo}</td><td style='float:right;width:190px;'>Wird moderiert von: {$mybb->settings['todolist_setting4']}</td></tr>
</table>
{$loggedin}
<br />
{$footer}
</body>
</html>

Code bearbeiten:
Code:
elseif ($act == 'edit') {
    if ($mybb->input['title'] == '') {
        add_breadcrumb($mybb->settings['todolist_setting6'], "todolist.php");
        add_breadcrumb("Aufgabe bearbeiten", "todolist.php?act=edit&id={$row[id]}");
        eval("\$todolist_edit = \"".$templates->get("todolist_edit")."\";");
output_page($todolist_edit);
} else {
    $db->query ("SELECT id, nameid, name, message, status, priority FROM ".TABLE_PREFIX."todolist WHERE='id'");
        $update['nameid'] = $mybb->user['uid'];
        $update['name'] = $mybb->user['username'];
        $update['title'] = $db->escape_string($mybb->input['title']);
        $update['priority'] = $db->escape_string($mybb->input['priority']);
        $update['message'] = $db->escape_string($mybb->input['message']);
        $db->update_query("todolist",$update);
    redirect("todolist.php", "Aufgabe bearbeitet!");
}
}

Template bearbeiten:
Code:
<html>
    <head>
<title>{$mybb->settings[bbname]} - {$mybb->settings['todolist_setting6']} - Aufgabe bearbeiten</title>
{$headerinclude}
</head>
<body>
    {$header}
    <table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder" style="clear: both;">
<tr><td class=thead colspan=2><strong>Aufgaben-Liste: Aufgabe bearbeiten</strong></td></tr>
<form action='' method='post'>
<tr class='trow1'><td style='width:100px;'>Titel:</td><td>{$row['title']}</td></tr>
<tr class='trow1'><td style='width:100px;'>Priorit&auml;t:</td><td><select name='priority'><option name='normal'>Normal</option><option name='high' style='color:red;'>Hoch</option><option name='low' style='color:green;'>Niedrig</option></select></td></tr>
<tr class='trow1'><td style='width:100px;'>Status:</td><td><select name='status'><option name='decline'>Abgelehnt</option><option name='accept'>Angenommen, in Bearbeitung</option></option><option name='done'>Erledigt <img src='../images/accept.png' /></option></select></td></tr>
<tr class='trow1'><td style='width:200px;'>Nachricht:</td><td><textarea name='message' rows='6' cols='15' style='width:300px; height:90px;'></textarea></td></tr>
<tr class='trow1'><td colspan='2'><input type='submit' value='Aufgabe speichern'/></td></tr>
</table>
{$footer}
</body>
</html>

Naja - soweit so gut - ich lasse mal Euch Profis über die ganzen Codes schauen. Vielleicht könnt ihr mir auch gleich Tipps für die Verbesserung der Templates und Codefetzen geben, so nebenbei.

PS: Google, SuFu etc. haben nix konstruktives gefunden.
Zitieren
#2
Niemand einen Tipp oder exklusive Hilfe bereit?

Soweit bin ich jetzt mit'n anzeigen:
Code:
elseif ($act == 'show') {
    if ($mybb->input['title'] == '') {
    add_breadcrumb($mybb->settings['todolist_setting6'], "todolist.php");
    add_breadcrumb("Aufgabe anzeigen", "todolist.php?act=show&id={$row[id]}");
    eval("\$todolist_show = \"".$templates->get("todolist_show")."\";");
output_page($todolist_show);
    } else {
        $result = $db->query("SELECT * FROM ".TABLE_PREFIX."todolist WHERE id='" . $id . "'");
        while($row=fetch_array($result)) {    
    
        $showtodo.= "<tr><td class='trow1'>Titel: {$row['title']}</td></tr>
        <tr><td class='trow2'>Priorität: {$row['priority']}</td></tr>
        <tr><td class='trow1'>Status: {$row['status']}</td></tr>
        <tr><td class='trow2'>Geschrieben von: <a href='member.php?action=profile&uid={$row['nameid']}'>{$row['name']}</a></td></tr>
        <tr><td class='trow1'>Aktion: {$edit_todo} {$remove_todo}</td></tr>
        <tr><td class='trow2'>Beschreibung: {$row['message']}</td></tr>
        <tr><td class='trow1'><a href='todolist.php' target='_self'>Zur&uuml;ck zur &Uuml;bersicht</a></td></tr>";
        }
    }
}

Obs jetzt totalen Murks ist oder nicht - muss ich euch fragen.
Zitieren
#3
Scheints mir nur so - oder wollt ihr mir wirklich nicht helfen. :p
Zitieren