MyBB.de Forum
Aufgaben-Liste - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Entwicklung (https://www.mybb.de/forum/forum-74.html)
+--- Thema: Aufgaben-Liste (/thread-22155.html)

Seiten: Seiten: 1 2 3 4 5


Aufgaben-Liste - Falkenauge Mihawk - 11.03.2010

Guten Abend.

Zurzeit entwickle ich eine Aufgaben-Liste (todolist), welches den Features jeder anderen todolisten beinhaltet. Mir gefällt MyLists nicht gerade und da viel mir ein, ich könnte doch mein eigenes machen und somit weiter PHP lernen! Smile

Jedoch möchte ich vollen Sprachsupport bieten, jedoch wird die Sprachdatei nicht geladen. Nirgendwo, hochgeladen ist sie. Ich habe mir auch schon frostschutz's Google SEO Plugin angeschaut und seinen kleinen load-Code eingebaut. Hat auch nicht gefruchtet.
Da ich aber mal vorwärts kommen will, und nicht die ganze Zeit an dem Sprachdatei-Problem rumhacken will, habe ich's halt mal ohne Sprachsupport gemacht. Siehe da, funktioniert bis jetzt alles.

Jedoch kriege ich nicht gebacken, dass wenn ich auf "Aufgabe löschen" klicke, er die Aufgabe löscht. Zurzeit hängt "Aufgabe löschen" über dem ganzen und ist nicht anklickbar.

Und dann möchte ich noch, dass man wie bei den Threads, dass ganze anschauen kann. Dies möchte ich über Templates machen. Zurzeit ist der ganze Anzeige-Code in der PHP-Datei drin. Da ich aber zurzeit noch ziemlich am Anfang des ganzen PHP-Krames stehe, möchte ich es auch möglichst das Script fehlerfrei und sauber machen.

Der Code für das Anzeigen:
Code:
<html>
<head>
<title>{$mybb->settings[bbname]} - {$mybb->settings['todo_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>{$mybb->settings['todo_setting6']}</strong></td></tr>
<tr><td class=tcat style='width:30px;'>Number</td><td class=tcat>$lang->titletodo</td><td class=tcat>Geschrieben von</td><td class=tcat>Aktion</td></tr>
{$todo}
<tr class='trow1'><td colspan='3'>{$addtodo}</td><td style='float:right;width:190px;'>Wird moderiert von {$mybb->settings['todo_setting4']}</td></tr>
</table>
{$loggedin}
<br />
{$footer}
</body>
</html>";
    output_page($page);
}
elseif ($act == 'submit') {
    if ($mybb->user['uid'] == '') {
        error_no_permission();
    }
    //show the form
    if ($mybb->input['title'] == '') {
        add_breadcrumb($mybb->settings['todo_setting6'], "todolist.php");
        add_breadcrumb("Neue Aufgabe hinzuf&uuml;gen", "todolist.php?act=submit");
        $page="<html>
    <head>
<title>{$mybb->settings[bbname]} - {$mybb->settings['todo_setting6']} > Neue Aufgabe hinzuf&uuml;gen</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>Neue Aufgabe hinzuf&uuml;gen</strong></td></tr>
<form action='' method='post'>
<tr class='trow1'><td style='width:100px;'>Titel:</td><td><input type='text' name='title' style='width:300px;'/></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;'>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 hinzuf&uuml;gen'/></td></tr>
</table>
{$footer}
</body>
</html>
Ich weiss, nicht gerade sehr schön.

Jetzt meine Fragen:

1) Wie kann ich "sagen", dass er dieses Template im Pluginscript erstellen soll und im "Anzeige"-Script er sie holen soll?
2) Wie kann ich möglichst einfach, eine Aufgabe löschen? MySQL DB sollte wohl Abhilfe sein.
3) Wie kann ich "sagen", dass er die Sprachdatei laden soll?

So long. Bis jetzt nicht gerade viel, wa. Big Grin

edit: Mir fällt ein, dass er nicht alle Einstellungen lädt. Z.B. die Moderation. Normalerweise ist doch der Code so:
Code:
{$mybb->settings['todolist_setting6']}
Oder? Huh
edit2: Habs hinbekommen! Smile
edit3: Naja, leider werden keine Gäste usw. ausgesperrt, die ausgesperrt werden sollten. In der Tabelle "usergroups" gibts ne Kolone die heisst "cantodolist". Dort ist standardmässig alles 1 (gibt ja die Methode, die Benutzergruppen auszusperren).
Codeschnipsel für die Gäste:
Code:
if ($mybb->settings['todolist_setting2'] == 'no') {
    if($mybb->user['uid'] == 0 || $mybb->usergroup['cantodolist'] == 0) {
        error_no_permission();
    }
}

Jetzt gibts ne weitere Zeile, dort werden die anderen Benutzergruppen ausgesperrt:
Code:
$group = explode(",", $mybb->settings['todolist_setting3'])

Einzelne Schnipsel sind von MyLists. ;o)

edit 4: Frage 2 hat sich gelöst. Hab ne Variable vergessen. xD


RE: Aufgaben-Liste - StefanT - 12.03.2010

Schau dir einfach mal einfache Plugins und diese Anleitung an:
http://www.mybbcoder.info/wiki/informationen-zu-plugins.html
Ein gutes Beispiel sollte das Akismet-Plugin sein.


RE: Aufgaben-Liste - Falkenauge Mihawk - 12.03.2010

Bis jetzt funktioniert alles. Auch die Templates.

Ein Problem besteht leider noch. Es zeigt die Aufgaben nicht an. Im Code ist die Variable definiert und im Template eingefügt, mit geschweiften Klammern.

edit: Der Fehler scheint im Code zu sein:
Code:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/syscp/webs/gamenews/forum/todolist.php(53) : eval()'d code on line 10 Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/syscp/webs/gamenews/forum/todolist.php(53) : eval()'d code on line 10

Code:
eval("\$todolist_show = \"".$templates->get("todolist_show")."\";");

Ohne diesen Code funktionierts.


RE: Aufgaben-Liste - Jockl - 12.03.2010

Der Fehler liegt nicht in der eval-Zeile sondern bereits davor.
Vielleicht hilft Dir diese Seite weiter: http://www.php-fehlermeldungen.de/topic26.html


RE: Aufgaben-Liste - Falkenauge Mihawk - 13.03.2010

Irgendwie komm ich nicht weiter...immernoch der gleiche Fehler...
Code:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/syscp/webs/gamenews/forum/todolist.php(83) : eval()'d code on line 10

Betreffende Zeile mit ganzen Schnipsel:
Code:
if ($mybb->settings['todolist_setting2'] == 'no') {
    if ($mybb->user['uid'] == 0) {
        error_no_permission();
    }
}



RE: Aufgaben-Liste - StefanT - 13.03.2010

Das bedeutet, dass sich im Template fehlerhafter Code befindet.
PS: Bist du sicher, dass die Einstellung 'no' liefert? Das kann in verschiedenen MyBB-Version unterschiedlich sein.


RE: Aufgaben-Liste - Falkenauge Mihawk - 13.03.2010

(13.03.2010, 10:15)StefanT schrieb: Das bedeutet, dass sich im Template fehlerhafter Code befindet.
Mhm, das Problem ist ja, wenn ich Priorität und Status dazusetze, kommt der Error, aber wenn ich Priorität und Status wieder wegnehme, aus dem Template, kommt der Error nicht.

So mit Prio + Status:
Code:
<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>Aktion</td></tr>

Hier ohne die beiden:
Code:
<tr><td class=tcat style='width:30px;'>Nummer</td><td class=tcat>Titel</td><td class=tcat>Geschrieben von</td><td class=tcat>Aktion</td></tr>

Zitat:PS: Bist du sicher, dass die Einstellung 'no' liefert? Das kann in verschiedenen MyBB-Version unterschiedlich sein.
Ja, ganz sicher.

edit: Ich habe mir das ganze nochmal durch den Kopf gehen lassen. Wenn ich auf "Anzeigen" klicke, kommt der obige Error. Da du gesagt hast, dass Template enthält einen fehlerhaften Code, hier mal von dem aufzurufenden Template:
Code:
<html>
<head>
<title>{$mybb->settings['bbname']} - {$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>{$mybb->settings['todolist_setting6']} - $row['title']}</strong></td></tr>
<td colspan='3'>Titel:</td> <td>{$row['title']}</td>
<td colspan='3'>>Priorität:</td> <td> {$row['priority']}</td>
<td colspan='3'>Status:</td> <td>{$row['status']}</td>
<td colspan='3'>Geschrieben von:</td> <td>{$row['nameid']}</td>
<td colspan='3'>Aktion:</td> <td>{$stat_change} - {$remove_todo}</td>
<td><a href="todolist.php" target="_self">Zur&uuml;ck zur &Uuml;bersicht</a></td>
</table>
{$loggedin}
<br />
{$footer}
</body>
</html>



RE: Aufgaben-Liste - StefanT - 13.03.2010

Kann es sein, dass du einen Code für eine alte Version als Vorlage nimmst?
Es muss {$theme['borderwidth']} und {$theme['tablespace']} heißen, wie bei den anderen Variablen auch.


RE: Aufgaben-Liste - Falkenauge Mihawk - 13.03.2010

(13.03.2010, 14:01)StefanT schrieb: Kann es sein, dass du einen Code für eine alte Version als Vorlage nimmst?
Es muss {$theme['borderwidth']} und {$theme['tablespace']} heißen, wie bei den anderen Variablen auch.
Hab ich jetzt geändert, jedoch bleibt die Fehlermeldung gleich.


RE: Aufgaben-Liste - StefanT - 13.03.2010

Vor einem $row fehlt eine geschweifte Klammer.