diff --git a/CHANGELOG b/CHANGELOG new file mode 100644 index 0000000..d797929 --- /dev/null +++ b/CHANGELOG @@ -0,0 +1,17 @@ +CHANGELOG +========= + +0.2.1 - 2026-08-28 +------------------ + + * fix and improve install script + * fix messagebox call in ymsgui + * customizable main menu + * sanitized html input fields + * added foreign keys and constraints to database + * added manpage + +0.2.0 - 2026-08-18 +------------------ + + * initial public release diff --git a/INSTALL b/INSTALL index 1812834..dc67059 100644 --- a/INSTALL +++ b/INSTALL @@ -15,7 +15,7 @@ Yacht Management Software (YMS) Installation - Python GTK3 - python3-gi - gir1.2-gtk-3.0 - - gir-rsvg-2.0 + - gir1.2-rsvg-2.0 1.3 Web GUI - Webserver diff --git a/README b/README index a751c56..3935547 100644 --- a/README +++ b/README @@ -11,6 +11,8 @@ This is work in progress: Many features can be incomplete, buggy or missing. Use at your own risk! +Please read installation instructions in INSTALL + If inserting a new user you have also to insert a setting value to assign boat 0. diff --git a/WTFPL_badge.svg b/WTFPL_badge.svg new file mode 100644 index 0000000..a6a8a76 --- /dev/null +++ b/WTFPL_badge.svg @@ -0,0 +1,8 @@ + + + \ No newline at end of file diff --git a/install.sh b/install.sh index 3df3ad5..1878fcd 100755 --- a/install.sh +++ b/install.sh @@ -82,6 +82,7 @@ install -m 0644 \ install -m 0644 \ "${SOURCEDIR}/COPYING" \ "${DOCDIR}/COPYING" +install -d "${MANDIR}" install -m 0644 \ "${SOURCEDIR}/yms.1" \ "${MANDIR}/yms.1" diff --git a/webgui/box.php b/webgui/box.php index bdf6437..816ba4e 100644 --- a/webgui/box.php +++ b/webgui/box.php @@ -184,7 +184,7 @@ echo '
Referenced in equipment:
\n"; + echo '', _('Referenced in equipment'), ":
\n"; echo "', sprintf(_('Record no. %d'), $id), "
\n"; -echo 'Name: ', $company->compname, "
"; -echo 'Remarks: ', $company->remarks, "
"; +echo 'Name: ', h($company->compname), "
"; +echo 'Remarks: ', h($company->remarks, br:true), "
"; // Still used as a supplier or manufacturer for equipment? $sql = "SELECT COUNT(*) FROM equipment WHERE supplier=:id OR manufacturer=:id"; diff --git a/webgui/documents.php b/webgui/documents.php index da5583b..821d248 100644 --- a/webgui/documents.php +++ b/webgui/documents.php @@ -488,7 +488,7 @@ if ($document->doctype == 'picture') { echo '($n) {$row['annotation']}"; + echo ' '; + echo "
\n"; + } +} else { + echo '', _('No annotations for this equipment'), "
\n"; +} +echo '', sprintf(_('Record no. %d'), $id), "
\n"; -echo 'Name: ', $equipment->ename, "
"; -echo 'Remarks: ', $equipment->remarks, "
"; +echo 'Name: ', h($equipment->ename), "
"; +echo 'Remarks: ', h($equipment->remarks, br:true), "
"; echo '', _('Deleting an equipment item is final. There is no way back. Only delete if you are absolute sure.'), "
\n"; diff --git a/webgui/fuse.php b/webgui/fuse.php index 6bd568e..fdcf3ee 100644 --- a/webgui/fuse.php +++ b/webgui/fuse.php @@ -173,7 +173,7 @@ foreach ($res as $row) { echo "| ', _('Name')," | ", $measurement->mname, " |
|---|---|
| ', _('Unit')," | ", $opt_unit[$measurement->unit], " |
| ', _('Values')," | $measurement->nval |
| ', _('Value 1')," | $measurement->val1 |
| ', _('Value 2')," | $measurement->val2 |
| ', _('Value 3')," | $measurement->val3 |
| ', _('Accuracy')," | $measurement->accuracy |
| ', _('Date')," | $measurement->mdate |
| ', _('Note')," | $measurement->note |
| ', _('Name')," | ", h($measurement->mname), " |
| ', _('Unit'), ' | ', $opt_unit[$measurement->unit], " |
| ', _('Values'), ' | ', $measurement->nval, " |
| ', _('Value 1'), ' | ', $measurement->val1, " |
| ', _('Value 2'), ' | ', $measurement->val2, " |
| ', _('Value 3'), ' | ', $measurement->val3, " |
| ', _('Accuracy'), ' | ', get_enum($measurement->accuracy), " |
| ', _('Date'), ' | ', $measurement->mdate, " |
| ', _('Note'), ' | ', h($measurement->note), " |
| ', _('Equipment'), ' | ', $opt_equipment[$measurement->eid], " |
| ', _('Name')," | ", $project->projname, " |
|---|---|
| ', _('Name')," | ", h($project->projname), " |
| ', _('Responsible')," | ", $opt_user[$project->responsible], " |
| ', _('Start date')," | ", $project->startdate, " |
| ', _('Duration')," | ", $project->duration, " |
| ', _('Costs plan')," | ", format_currency($project->costs_plan), " |
| ', _('Costs final')," | ", format_currency($project->costs_final), " |
| ', _('State')," | ", get_enum($project->projstate), " |
| ', _('Remarks')," | ", nl2br($project->remarks), " |
| ', _('Remarks')," | ", h($project->remarks, br:true), " |
', sprintf(_('Record no. %d'), $id), "
\n"; -echo 'Name: ', $storage->sname, "
"; -echo 'Remarks: ', $storage->remarks, "
"; +echo 'Name: ', h($storage->sname), "
"; +echo 'Remarks: ', h($storage->remarks, br:true), "
"; echo '', _('Deleting a storage is final. There is no way back. Only delete if you are absolute sure.'), "
\n"; diff --git a/webgui/task.php b/webgui/task.php index b1e9151..a9cdaf5 100644 --- a/webgui/task.php +++ b/webgui/task.php @@ -127,7 +127,6 @@ page_caption_search($pagetitle); // load filter from db $flt = db_get_filter($user->id, 206, ['txt', 'prio', 'stat', 'proj']); - $w = array('(t.vid=:vid OR t.vid IS NULL)'); $p = array(':vid' => $user->vid); if (strlen($flt->txt) > 1) { @@ -215,7 +214,7 @@ filter_create_select('flt_prio', _('Priority'), $g_opt_all + $g_opt_none + $opt_