Compare commits
28 Commits
9122040863
...
5.3.0dev
| Author | SHA1 | Date | |
|---|---|---|---|
| b70996b4d9 | |||
| 8647c9b4d8 | |||
| b201ac6d24 | |||
| 1480feecf0 | |||
| f84395f79a | |||
| f3db1c1523 | |||
| 962bd7b504 | |||
| ec8efec61e | |||
| d23a19a3eb | |||
| 152bb30029 | |||
| 11c876886a | |||
| 9cce143cf9 | |||
| eb29a3799c | |||
| ba7db9279d | |||
| ce8e5d9ca7 | |||
| 0600ba18cd | |||
| ef0599342b | |||
| 5129d30992 | |||
| ed7a25cea3 | |||
| 968964e3fe | |||
| d41519ba91 | |||
| 513017d3cb | |||
| 3385954624 | |||
| 5a50400a56 | |||
| b138f462d9 | |||
| dd86d2e519 | |||
| 41c5b4560b | |||
| 01fd47814b |
3
BUGS
3
BUGS
@@ -1,4 +1,5 @@
|
|||||||
BUGS
|
BUGS
|
||||||
|
|
||||||
1. Adding a reference to a note using the magnifying glass icon is possible even if not logged in. This results in a blank tech and shift.
|
1. Adding a reference to a note using the magnifying glass icon is possible even if not logged in. This results in a blank tech and shift.
|
||||||
SOMEWHAT FIXED. If not logged in and the partview argument is not 1, redirects to login page. (This is not the optimal solution. There needs to be a specific view only state.)
|
SOMEWHAT FIXED. If not logged in and the partview argument is not 1, redirects to login page. (This is not the optimal solution. There
|
||||||
|
needs to be a specific view only state.)
|
||||||
|
|||||||
42
CHANGELOG
42
CHANGELOG
@@ -240,3 +240,45 @@
|
|||||||
treating the $today variable as global.
|
treating the $today variable as global.
|
||||||
- In install.php, if a previous installation was found, make upgrade
|
- In install.php, if a previous installation was found, make upgrade
|
||||||
the default choice.
|
the default choice.
|
||||||
|
|
||||||
|
5.2.5 - 2026-02-10
|
||||||
|
This is just a version number bump to get on a major-minor-patch
|
||||||
|
scheme. There are no code changes for this release.
|
||||||
|
|
||||||
|
5.3.0 - 2026-02-20
|
||||||
|
- Moved the template Create/Copy/Edit/Delete/Rename functionality to
|
||||||
|
its own page to make it less confusing and to fix some strange
|
||||||
|
behavior.
|
||||||
|
- Added global templates which can be used by anyone but can only be
|
||||||
|
created, modified, or deleted by administrators. This makes it
|
||||||
|
easier to employ standardized templates.
|
||||||
|
- Changed the character encoding of the database to utf8mb4 to enable
|
||||||
|
using emojis in text fields.
|
||||||
|
- Changed the insert link functionality. There are now two fields, link
|
||||||
|
text, and URL. The full URL string will now not be displayed in the
|
||||||
|
note, since it frequently was too long and deformed the table,
|
||||||
|
causing the user to have to scroll right to see the entire note. If
|
||||||
|
a URL is entered in the URL field and no link text is entered in the
|
||||||
|
link text field, the link will show up as just the last part of the
|
||||||
|
URL. For example, "http://somewhere.com/myfile.pdf" will show as
|
||||||
|
"myfile.pdf" in the note text. If text is entered in the link text
|
||||||
|
field, that is what will show as the clickable link in the note text.
|
||||||
|
NOTE: URLs in previously entered notes will not automatically be
|
||||||
|
converted.
|
||||||
|
- Changed the flag handling code to no longer dynamically create flag_
|
||||||
|
tables in the database to track assignments. This is now done using
|
||||||
|
a flagmap table.
|
||||||
|
NOTE: The database will be modified to support this and the
|
||||||
|
importation of the previous data will take some time during
|
||||||
|
installation.
|
||||||
|
- References will no longer be stored in the lognotes table with the note.
|
||||||
|
There is now a reflinks table that stores the link information.
|
||||||
|
NOTE: The database will be modified to support this and the
|
||||||
|
importation of the previous data will take some time during
|
||||||
|
installation.
|
||||||
|
- Various code cleanups to prevent php warnings in the logs if logging
|
||||||
|
is enabled.
|
||||||
|
- Validate all date and time fields to prevent user entered invalid date
|
||||||
|
formats from crashing php.
|
||||||
|
- Fixed profile page to automatically refresh page to show the results
|
||||||
|
when a user changes their color preferences.
|
||||||
|
|||||||
4
INSTALL
4
INSTALL
@@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
SPDX-License-Identifier: GPL-2.0
|
SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
|
||||||
Installation of OpenLog is straightforward.
|
Installation of OpenLog is straightforward.
|
||||||
|
|
||||||
1. Gather the required information.
|
1. Gather the required information.
|
||||||
@@ -31,5 +30,4 @@ settings. You will need to log in as OpenLogAdmin. The initial default password
|
|||||||
is "OpenLog-1". From the Administration page, you can click on the links at the
|
is "OpenLog-1". From the Administration page, you can click on the links at the
|
||||||
top to add techs, subjects, shifts, etc.
|
top to add techs, subjects, shifts, etc.
|
||||||
|
|
||||||
7. Start using OpenLog.
|
6. Start using OpenLog.
|
||||||
|
|
||||||
|
|||||||
8
TODO.txt
8
TODO.txt
@@ -1,15 +1,15 @@
|
|||||||
TODO.txt
|
TODO.txt
|
||||||
|
|
||||||
1. Create a weblink hot button on the add logbook entry page to insert a weblink. DONE
|
1. Create a weblink hot button on the add logbook entry page to insert a weblink. DONE
|
||||||
2. Allow admins to create global templates.
|
2. Allow admins to create global templates. DONE
|
||||||
3. Create a way to restore the global page colors. (db change reqd)
|
3. Create a way to restore the global page colors. (db change reqd)
|
||||||
4. Pick a logbook subject to associate with a scheduled task to populate for the logbook entry. (db change reqd)
|
4. Pick a logbook subject to associate with a scheduled task to populate for the logbook entry. (db change reqd)
|
||||||
5. Add info messages to scheduled task page edits.
|
5. Add info messages to scheduled task page edits.
|
||||||
6. Allow scheduled tasks to be completed as a group instead of having to complete each member.
|
6. Allow scheduled tasks to be completed as a group instead of having to complete each member.
|
||||||
7. Implement popup calendars for date entry fields. DONE
|
7. Implement popup calendars for date entry fields. DONE
|
||||||
8. Improve template management interface. It can be confusing. It needs its own page.
|
8. Improve template management interface. It can be confusing. It needs its own page. DONE
|
||||||
9. Remove refs from templates. (db change reqd)
|
9. Remove refs from templates. (db change reqd) DONE
|
||||||
10. Replace dynamic flag_ table creation with a flagassignment table. (db change reqd)
|
10. Replace dynamic flag_ table creation with a flagassignment table. (db change reqd) DONE
|
||||||
11. allow partids to be autogenerated if user doesn't supply one (db change reqd)
|
11. allow partids to be autogenerated if user doesn't supply one (db change reqd)
|
||||||
12. If there are no flags, don't offer to set them on reference chain
|
12. If there are no flags, don't offer to set them on reference chain
|
||||||
13. make some flags immutable so they won't be synced on reference chain.
|
13. make some flags immutable so they won't be synced on reference chain.
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -6,6 +6,19 @@
|
|||||||
|
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
function spinner() {
|
||||||
|
local pid="$1"
|
||||||
|
local delay="0.1"
|
||||||
|
local spinstr='|/-\\'
|
||||||
|
local i=0
|
||||||
|
|
||||||
|
while ps -p "$pid" > /dev/null; do
|
||||||
|
i=$(( (i+1) % 4 ))
|
||||||
|
printf "\r[%c]" "${spinstr:$i:1}"
|
||||||
|
sleep "$delay"
|
||||||
|
done
|
||||||
|
printf "\r \r" # Clear the spinner line
|
||||||
|
}
|
||||||
|
|
||||||
if [[ $1 == "" ]]
|
if [[ $1 == "" ]]
|
||||||
then
|
then
|
||||||
@@ -45,7 +58,9 @@ echo "Started database updates for OpenLog version 5.3.0..."
|
|||||||
# Import old flag data from old scheme to new flagmap table
|
# Import old flag data from old scheme to new flagmap table
|
||||||
if [[ $(mysql $margs -e "select count(*) from flagmap") == 0 ]]
|
if [[ $(mysql $margs -e "select count(*) from flagmap") == 0 ]]
|
||||||
then
|
then
|
||||||
echo "Importing flag data from old scheme to new flagmap table..."
|
echo "Importing flag data from old scheme to new flagmap table."
|
||||||
|
echo "This may take some time..."
|
||||||
|
(
|
||||||
for flagnumber in $(mysql $margs -e "select flagid from flags")
|
for flagnumber in $(mysql $margs -e "select flagid from flags")
|
||||||
do
|
do
|
||||||
flag_x=$(mysql $margs -s -e "show tables like 'flag_$flagnumber'")
|
flag_x=$(mysql $margs -s -e "show tables like 'flag_$flagnumber'")
|
||||||
@@ -69,13 +84,18 @@ then
|
|||||||
mysql $margs -e "drop table flag_$flagnumber"
|
mysql $margs -e "drop table flag_$flagnumber"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
) &
|
||||||
|
task_pid=$!
|
||||||
|
spinner $task_pid
|
||||||
echo "...done."
|
echo "...done."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Import reference chain data into new reflinks table
|
# Import reference chain data into new reflinks table
|
||||||
if [[ $(mysql $margs -e "select count(*) from reflinks") == 0 ]]
|
if [[ $(mysql $margs -e "select count(*) from reflinks") == 0 ]]
|
||||||
then
|
then
|
||||||
echo "Importing lognote reference chain data into new reflinks table..."
|
echo "Importing lognote reference chain data into new reflinks table."
|
||||||
|
echo "This may take some time..."
|
||||||
|
(
|
||||||
for note in $(mysql $margs -e "select lognoteid from lognotes where refs!=''")
|
for note in $(mysql $margs -e "select lognoteid from lognotes where refs!=''")
|
||||||
do
|
do
|
||||||
refstring=$(mysql $margs -e "select refs from lognotes where lognoteid=$note")
|
refstring=$(mysql $margs -e "select refs from lognotes where lognoteid=$note")
|
||||||
@@ -88,8 +108,13 @@ then
|
|||||||
done
|
done
|
||||||
IFS=$oldifs
|
IFS=$oldifs
|
||||||
done
|
done
|
||||||
|
) &
|
||||||
|
task_pid=$!
|
||||||
|
spinner $task_pid
|
||||||
echo "...done."
|
echo "...done."
|
||||||
echo "Importing template reference chain data into new reflinks table..."
|
echo "Importing template reference chain data into new reflinks table."
|
||||||
|
echo "This may take some time..."
|
||||||
|
(
|
||||||
for template in $(mysql $margs -e "select templateid from notetemplates where refs!=''")
|
for template in $(mysql $margs -e "select templateid from notetemplates where refs!=''")
|
||||||
do
|
do
|
||||||
refstring=$(mysql $margs -e "select refs from notetemplates where templateid=$template")
|
refstring=$(mysql $margs -e "select refs from notetemplates where templateid=$template")
|
||||||
@@ -102,6 +127,9 @@ then
|
|||||||
done
|
done
|
||||||
IFS=$oldifs
|
IFS=$oldifs
|
||||||
done
|
done
|
||||||
|
) &
|
||||||
|
task_pid=$!
|
||||||
|
spinner $task_pid
|
||||||
echo "...done."
|
echo "...done."
|
||||||
mysql $margs -e "alter table lognotes drop column refs" >/dev/null 2>&1
|
mysql $margs -e "alter table lognotes drop column refs" >/dev/null 2>&1
|
||||||
mysql $margs -e "alter table notetemplates drop column refs" >/dev/null 2>&1
|
mysql $margs -e "alter table notetemplates drop column refs" >/dev/null 2>&1
|
||||||
|
|||||||
@@ -6,11 +6,15 @@ ALTER TABLE configs ADD UNIQUE(confname);
|
|||||||
|
|
||||||
-- Delete db name, user, and password configs
|
-- Delete db name, user, and password configs
|
||||||
DELETE FROM configs where confname = "ol_dbname";
|
DELETE FROM configs where confname = "ol_dbname";
|
||||||
|
|
||||||
DELETE FROM configs where confname = "ol_dbuser";
|
DELETE FROM configs where confname = "ol_dbuser";
|
||||||
|
|
||||||
DELETE FROM configs where confname = "ol_dbpass";
|
DELETE FROM configs where confname = "ol_dbpass";
|
||||||
|
|
||||||
-- Add config option for server side error logging
|
-- Add config option for server side error logging
|
||||||
INSERT IGNORE INTO configs(confname,confvalue) values('log_errors','0')
|
INSERT IGNORE INTO
|
||||||
|
configs (confname, confvalue)
|
||||||
|
values ('log_errors', '0')
|
||||||
|
|
||||||
-- Update version number
|
-- Update version number
|
||||||
UPDATE configs SET confvalue = "5.2.1" WHERE confname = "ol_version";
|
UPDATE configs SET confvalue = "5.2.1" WHERE confname = "ol_version";
|
||||||
|
|||||||
13
default-apache.conf
Normal file
13
default-apache.conf
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# _APPNAME_ default Apache configuration
|
||||||
|
|
||||||
|
Alias /_BASEURL_ _DOCROOTIN_/_BASEURL_
|
||||||
|
|
||||||
|
<Directory _DOCROOTIN_/_BASEURL_>
|
||||||
|
AllowOverride Options
|
||||||
|
Options FollowSymLinks
|
||||||
|
DirectoryIndex index.php
|
||||||
|
|
||||||
|
#RewriteEngine On
|
||||||
|
#RewriteBase /_BASEURL_/
|
||||||
|
#RewriteRule . maintenancemode.php [L]
|
||||||
|
</Directory>
|
||||||
@@ -240,3 +240,47 @@
|
|||||||
treating the $today variable as global.
|
treating the $today variable as global.
|
||||||
- In install.php, if a previous installation was found, make upgrade
|
- In install.php, if a previous installation was found, make upgrade
|
||||||
the default choice.
|
the default choice.
|
||||||
|
|
||||||
|
5.2.5 - 2026-02-10
|
||||||
|
This is just a version number bump to get on a major-minor-patch
|
||||||
|
scheme. There are no code changes for this release.
|
||||||
|
|
||||||
|
5.3.0 - 2026-02-20
|
||||||
|
- Moved the template Create/Copy/Edit/Delete/Rename functionality to
|
||||||
|
its own page to make it less confusing and to fix some strange
|
||||||
|
behavior.
|
||||||
|
- Added global templates which can be used by anyone but can only be
|
||||||
|
created, modified, or deleted by administrators. This makes it
|
||||||
|
easier to employ standardized templates.
|
||||||
|
- Changed the character encoding of the database to utf8mb4 to enable
|
||||||
|
using emojis in text fields.
|
||||||
|
- Changed the insert link functionality. There are now two fields, link
|
||||||
|
text, and URL. The full URL string will now not be displayed in the
|
||||||
|
note, since it frequently was too long and deformed the table,
|
||||||
|
causing the user to have to scroll right to see the entire note. If
|
||||||
|
a URL is entered in the URL field and no link text is entered in the
|
||||||
|
link text field, the link will show up as just the last part of the
|
||||||
|
URL. For example, "http://somewhere.com/myfile.pdf" will show as
|
||||||
|
"myfile.pdf" in the note text. If text is entered in the link text
|
||||||
|
field, that is what will show as the clickable link in the note text.
|
||||||
|
NOTE: URLs in previously entered notes will not automatically be
|
||||||
|
converted.
|
||||||
|
- Changed the flag handling code to no longer dynamically create flag_
|
||||||
|
tables in the database to track assignments. This is now done using
|
||||||
|
a flagmap table.
|
||||||
|
NOTE: The database will be modified to support this and the
|
||||||
|
importation of the previous data will take some time during
|
||||||
|
installation.
|
||||||
|
- References will no longer be stored in the lognotes table with the note.
|
||||||
|
There is now a reflinks table that stores the link information.
|
||||||
|
NOTE: The database will be modified to support this and the
|
||||||
|
importation of the previous data will take some time during
|
||||||
|
installation.
|
||||||
|
- Various code cleanups to prevent php warnings in the logs if logging
|
||||||
|
is enabled.
|
||||||
|
- Validate all date and time fields to prevent user entered invalid date
|
||||||
|
formats from crashing php.
|
||||||
|
- Fixed profile page to automatically refresh page to show the results
|
||||||
|
when a user changes their color preferences.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -92,5 +92,3 @@ pageblock("right","end");
|
|||||||
pagetable("end");
|
pagetable("end");
|
||||||
|
|
||||||
framework("end", "", "", $print);
|
framework("end", "", "", $print);
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -76,29 +76,31 @@ if(!$print){
|
|||||||
if ($add) {
|
if ($add) {
|
||||||
switch ($table) {
|
switch ($table) {
|
||||||
case "techs":
|
case "techs":
|
||||||
if ($admin) $admin=1; else $admin=0;
|
if ($admin) $admin = 1;
|
||||||
if ($active) $active=1; else $active=0;
|
else $admin = 0;
|
||||||
|
if ($active) $active = 1;
|
||||||
|
else $active = 0;
|
||||||
// do error checking
|
// do error checking
|
||||||
// test for name supplied
|
// test for name supplied
|
||||||
if (strlen(trim($name))) {
|
if (strlen(trim($name))) {
|
||||||
$namesuppld=1;
|
$namesuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$namesuppld=0;
|
$namesuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech name cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech name cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for name unique
|
// test for name unique
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select techid from techs where techname=\"$name\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select techid from techs where techname=\"$name\""))) {
|
||||||
$nameunique=0;
|
$nameunique = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech name already exists.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech name already exists.<br>";
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
// test for matching passwords
|
// test for matching passwords
|
||||||
if ($pass == $passconf) {
|
if ($pass == $passconf) {
|
||||||
$passmatch=1;
|
$passmatch = TRUE;
|
||||||
$passhash = password_hash($pass, PASSWORD_DEFAULT);
|
$passhash = password_hash($pass, PASSWORD_DEFAULT);
|
||||||
} else {
|
} else {
|
||||||
$passmatch=0;
|
$passmatch = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> The passwords you supplied don't match.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> The passwords you supplied don't match.<br>";
|
||||||
}
|
}
|
||||||
if ($namesuppld && $nameunique && $passmatch) {
|
if ($namesuppld && $nameunique && $passmatch) {
|
||||||
@@ -108,21 +110,22 @@ if(!$print){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "shifts":
|
case "shifts":
|
||||||
if ($active) $active=1; else $active=0;
|
if ($active) $active = 1;
|
||||||
|
else $active = 0;
|
||||||
// do error checking
|
// do error checking
|
||||||
// test for name supplied
|
// test for name supplied
|
||||||
if (strlen(trim($name))) {
|
if (strlen(trim($name))) {
|
||||||
$namesuppld=1;
|
$namesuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$namesuppld=0;
|
$namesuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Shift name cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Shift name cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for name unique
|
// test for name unique
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select shiftid from shifts where shiftname=\"$name\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select shiftid from shifts where shiftname=\"$name\""))) {
|
||||||
$nameunique=0;
|
$nameunique = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Shift name already exists.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Shift name already exists.<br>";
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
if ($namesuppld && $nameunique) {
|
if ($namesuppld && $nameunique) {
|
||||||
// modify the table
|
// modify the table
|
||||||
@@ -131,21 +134,22 @@ if(!$print){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "subjects":
|
case "subjects":
|
||||||
if ($active) $active=1; else $active=0;
|
if ($active) $active = 1;
|
||||||
|
else $active = 0;
|
||||||
// do error checking
|
// do error checking
|
||||||
// test for name supplied
|
// test for name supplied
|
||||||
if (strlen(trim($name))) {
|
if (strlen(trim($name))) {
|
||||||
$namesuppld=1;
|
$namesuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$namesuppld=0;
|
$namesuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Subject name cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Subject name cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for name unique
|
// test for name unique
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select subjectid from subjects where subjectname=\"$name\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select subjectid from subjects where subjectname=\"$name\""))) {
|
||||||
$nameunique=0;
|
$nameunique = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Subject name already exists.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Subject name already exists.<br>";
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
if ($namesuppld && $nameunique) {
|
if ($namesuppld && $nameunique) {
|
||||||
// modify the table
|
// modify the table
|
||||||
@@ -154,27 +158,28 @@ if(!$print){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "links":
|
case "links":
|
||||||
if ($active) $active=1; else $active=0;
|
if ($active) $active = 1;
|
||||||
|
else $active = 0;
|
||||||
// do error checking
|
// do error checking
|
||||||
// test for name supplied
|
// test for name supplied
|
||||||
if (strlen(trim($name))) {
|
if (strlen(trim($name))) {
|
||||||
$namesuppld=1;
|
$namesuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$namesuppld=0;
|
$namesuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Display text cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Display text cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for name unique
|
// test for name unique
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select linkid from links where displaytxt=\"$name\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select linkid from links where displaytxt=\"$name\""))) {
|
||||||
$nameunique=0;
|
$nameunique = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Display text already exists.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Display text already exists.<br>";
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
// test for urltxt supplied
|
// test for urltxt supplied
|
||||||
if (strlen(trim($url))) {
|
if (strlen(trim($url))) {
|
||||||
$urlsuppld=1;
|
$urlsuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$urlsuppld=0;
|
$urlsuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> URL text cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> URL text cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
if ($namesuppld && $nameunique && $urlsuppld) {
|
if ($namesuppld && $nameunique && $urlsuppld) {
|
||||||
@@ -188,60 +193,59 @@ if(!$print){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "flags":
|
case "flags":
|
||||||
if ($active) $active=1; else $active=0;
|
if ($active) $active = 1;
|
||||||
|
else $active = 0;
|
||||||
// do error checking
|
// do error checking
|
||||||
// test for name supplied
|
// test for name supplied
|
||||||
if (strlen(trim($name))) {
|
if (strlen(trim($name))) {
|
||||||
$namesuppld=1;
|
$namesuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$namesuppld=0;
|
$namesuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag name cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag name cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for name unique
|
// test for name unique
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagname=\"$name\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagname=\"$name\""))) {
|
||||||
$nameunique=0;
|
$nameunique = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag name already exists.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag name already exists.<br>";
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
// test for symbol supplied
|
// test for symbol supplied
|
||||||
if (strlen(trim($flagsym))) {
|
if (strlen(trim($flagsym))) {
|
||||||
$symsuppld=1;
|
$symsuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$symsuppld=0;
|
$symsuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag symbol cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag symbol cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for symbol unique
|
// test for symbol unique
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagsym=\"$flagsym\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagsym=\"$flagsym\""))) {
|
||||||
$symunique=0;
|
$symunique = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag symbol already exists.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag symbol already exists.<br>";
|
||||||
} else {
|
} else {
|
||||||
$symunique=1;
|
$symunique = TRUE;
|
||||||
}
|
}
|
||||||
if ($namesuppld && $nameunique && $symsuppld && $symunique) {
|
if ($namesuppld && $nameunique && $symsuppld && $symunique) {
|
||||||
// insert record in links table
|
// insert record in flags table
|
||||||
mysqli_query($db, "insert into flags(flagname,flagsym,flagcolor,status) values(\"$name\",\"$flagsym\",\"$flagcolor\",\"$active\")");
|
mysqli_query($db, "insert into flags(flagname,flagsym,flagcolor,status) values(\"$name\",\"$flagsym\",\"$flagcolor\",\"$active\")");
|
||||||
// create sub tables for this link
|
|
||||||
$lastflagid=mysqli_insert_id($db);
|
|
||||||
mysqli_query($db,"create table flag_$lastflagid(target tinytext,id int not null)");
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "logpartactions":
|
case "logpartactions":
|
||||||
if ($active) $active=1; else $active=0;
|
if ($active) $active = 1;
|
||||||
|
else $active = 0;
|
||||||
// do error checking
|
// do error checking
|
||||||
// test for name supplied
|
// test for name supplied
|
||||||
if (strlen(trim($name))) {
|
if (strlen(trim($name))) {
|
||||||
$namesuppld=1;
|
$namesuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$namesuppld=0;
|
$namesuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Part Action name cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Part Action name cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for name unique
|
// test for name unique
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select lpactionid from logpartactions where lpactionname=\"$name\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select lpactionid from logpartactions where lpactionname=\"$name\""))) {
|
||||||
$nameunique=0;
|
$nameunique = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Part Action name already exists.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Part Action name already exists.<br>";
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
if ($namesuppld && $nameunique) {
|
if ($namesuppld && $nameunique) {
|
||||||
// modify the table
|
// modify the table
|
||||||
@@ -253,17 +257,17 @@ if(!$print){
|
|||||||
// do error checking
|
// do error checking
|
||||||
// test for name supplied
|
// test for name supplied
|
||||||
if (strlen(trim($name))) {
|
if (strlen(trim($name))) {
|
||||||
$namesuppld=1;
|
$namesuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$namesuppld=0;
|
$namesuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Banner name cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Banner name cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for name unique
|
// test for name unique
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select bannerid from banners where bannername=\"$name\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select bannerid from banners where bannername=\"$name\""))) {
|
||||||
$nameunique=0;
|
$nameunique = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Banner name already exists.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Banner name already exists.<br>";
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
if ($namesuppld && $nameunique) {
|
if ($namesuppld && $nameunique) {
|
||||||
// modify the table
|
// modify the table
|
||||||
@@ -281,29 +285,31 @@ if(!$print){
|
|||||||
if ($edit) {
|
if ($edit) {
|
||||||
switch ($table) {
|
switch ($table) {
|
||||||
case "techs":
|
case "techs":
|
||||||
if ($admin) $admin=1; else $admin=0;
|
if ($admin) $admin = 1;
|
||||||
if ($active) $active=1; else $active=0;
|
else $admin = 0;
|
||||||
|
if ($active) $active = 1;
|
||||||
|
else $active = 0;
|
||||||
if ($delete) {
|
if ($delete) {
|
||||||
// check for log notes by this tech
|
// check for log notes by this tech
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select lognoteid from lognotes where tech=\"$id\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select lognoteid from lognotes where tech=\"$id\""))) {
|
||||||
$hasnotes=1;
|
$hasnotes = TRUE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech has notes in logbook and cannot be deleted.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech has notes in logbook and cannot be deleted.<br>";
|
||||||
} else {
|
} else {
|
||||||
$hasnotes=0;
|
$hasnotes = FALSE;
|
||||||
}
|
}
|
||||||
// check for maintenance forms by this tech
|
// check for maintenance forms by this tech
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select maintformid from maintforms where mftech=\"$id\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select maintformid from maintforms where mftech=\"$id\""))) {
|
||||||
$hasmfs=1;
|
$hasmfs = TRUE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech has maintenance forms and cannot be deleted.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech has maintenance forms and cannot be deleted.<br>";
|
||||||
} else {
|
} else {
|
||||||
$hasmfs=0;
|
$hasmfs = FALSE;
|
||||||
}
|
}
|
||||||
// check for maintenance actions by this tech
|
// check for maintenance actions by this tech
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select maintactionid from maintactions where actiontech=\"$id\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select maintactionid from maintactions where actiontech=\"$id\""))) {
|
||||||
$hasmas=1;
|
$hasmas = TRUE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech has maintenance actions and cannot be deleted.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech has maintenance actions and cannot be deleted.<br>";
|
||||||
} else {
|
} else {
|
||||||
$hasmas=0;
|
$hasmas = FALSE;
|
||||||
}
|
}
|
||||||
if (!$hasnotes && !$hasmfs && !$hasmas) {
|
if (!$hasnotes && !$hasmfs && !$hasmas) {
|
||||||
// delete entity
|
// delete entity
|
||||||
@@ -314,34 +320,34 @@ if(!$print){
|
|||||||
// do error checking
|
// do error checking
|
||||||
// test for name supplied
|
// test for name supplied
|
||||||
if (strlen(trim($name))) {
|
if (strlen(trim($name))) {
|
||||||
$namesuppld=1;
|
$namesuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$namesuppld=0;
|
$namesuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech name cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech name cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for name unique
|
// test for name unique
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select techid from techs where techname=\"$name\" and techid!=\"$id\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select techid from techs where techname=\"$name\" and techid!=\"$id\""))) {
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select techid from techs where techname=\"$name\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select techid from techs where techname=\"$name\""))) {
|
||||||
$nameunique=0;
|
$nameunique = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech name already exists.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech name already exists.<br>";
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
// test for matching passwords
|
// test for matching passwords
|
||||||
if ($pass != "password_is_unchanged") {
|
if ($pass != "password_is_unchanged") {
|
||||||
if ($pass == $passconf) {
|
if ($pass == $passconf) {
|
||||||
$passmatch=1;
|
$passmatch = TRUE;
|
||||||
$passhash = password_hash($pass, PASSWORD_DEFAULT);
|
$passhash = password_hash($pass, PASSWORD_DEFAULT);
|
||||||
$updqry = ("update techs set techname=\"$name\",admin=\"$admin\",shift=\"$shift\",techpass=\"$passhash\",status=\"$active\" where techid=\"$id\"");
|
$updqry = ("update techs set techname=\"$name\",admin=\"$admin\",shift=\"$shift\",techpass=\"$passhash\",status=\"$active\" where techid=\"$id\"");
|
||||||
} else {
|
} else {
|
||||||
$passmatch=0;
|
$passmatch = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> The passwords you supplied don't match.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> The passwords you supplied don't match.<br>";
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$passmatch=1;
|
$passmatch = TRUE;
|
||||||
$updqry = "update techs set techname=\"$name\",admin=\"$admin\",shift=\"$shift\",status=\"$active\" where techid=\"$id\"";
|
$updqry = "update techs set techname=\"$name\",admin=\"$admin\",shift=\"$shift\",status=\"$active\" where techid=\"$id\"";
|
||||||
}
|
}
|
||||||
if ($namesuppld && $nameunique && $passmatch) {
|
if ($namesuppld && $nameunique && $passmatch) {
|
||||||
@@ -351,14 +357,15 @@ if(!$print){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "shifts":
|
case "shifts":
|
||||||
if ($active) $active=1; else $active=0;
|
if ($active) $active = 1;
|
||||||
|
else $active = 0;
|
||||||
if ($delete) {
|
if ($delete) {
|
||||||
// check for log notes with this shift
|
// check for log notes with this shift
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select lognoteid from lognotes where shift=\"$id\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select lognoteid from lognotes where shift=\"$id\""))) {
|
||||||
$hasnotes=1;
|
$hasnotes = TRUE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Shift has notes in logbook and cannot be deleted.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Shift has notes in logbook and cannot be deleted.<br>";
|
||||||
} else {
|
} else {
|
||||||
$hasnotes=0;
|
$hasnotes = FALSE;
|
||||||
}
|
}
|
||||||
if (!$hasnotes) {
|
if (!$hasnotes) {
|
||||||
// delete entity
|
// delete entity
|
||||||
@@ -369,21 +376,21 @@ if(!$print){
|
|||||||
// do error checking
|
// do error checking
|
||||||
// test for name supplied
|
// test for name supplied
|
||||||
if (strlen(trim($name))) {
|
if (strlen(trim($name))) {
|
||||||
$namesuppld=1;
|
$namesuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$namesuppld=0;
|
$namesuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Shift name cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Shift name cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for name unique
|
// test for name unique
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select shiftid from shifts where shiftname=\"$name\" and shiftid!=\"$id\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select shiftid from shifts where shiftname=\"$name\" and shiftid!=\"$id\""))) {
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select shiftid from shifts where shiftname=\"$name\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select shiftid from shifts where shiftname=\"$name\""))) {
|
||||||
$nameunique=0;
|
$nameunique = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Shift name already exists.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Shift name already exists.<br>";
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
if ($namesuppld && $nameunique) {
|
if ($namesuppld && $nameunique) {
|
||||||
// modify the table
|
// modify the table
|
||||||
@@ -392,14 +399,15 @@ if(!$print){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "subjects":
|
case "subjects":
|
||||||
if ($active) $active=1; else $active=0;
|
if ($active) $active = 1;
|
||||||
|
else $active = 0;
|
||||||
if ($delete) {
|
if ($delete) {
|
||||||
// check for log notes with this subject
|
// check for log notes with this subject
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select lognoteid from lognotes where subject=\"$id\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select lognoteid from lognotes where subject=\"$id\""))) {
|
||||||
$hasnotes=1;
|
$hasnotes = TRUE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Subject has notes in logbook and cannot be deleted.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Subject has notes in logbook and cannot be deleted.<br>";
|
||||||
} else {
|
} else {
|
||||||
$hasnotes=0;
|
$hasnotes = FALSE;
|
||||||
}
|
}
|
||||||
if (!$hasnotes) {
|
if (!$hasnotes) {
|
||||||
// delete entity
|
// delete entity
|
||||||
@@ -410,21 +418,21 @@ if(!$print){
|
|||||||
// do error checking
|
// do error checking
|
||||||
// test for name supplied
|
// test for name supplied
|
||||||
if (strlen(trim($name))) {
|
if (strlen(trim($name))) {
|
||||||
$namesuppld=1;
|
$namesuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$namesuppld=0;
|
$namesuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Subject name cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Subject name cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for name unique
|
// test for name unique
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select subjectid from subjects where subjectname=\"$name\" and subjectid!=\"$id\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select subjectid from subjects where subjectname=\"$name\" and subjectid!=\"$id\""))) {
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select subjectid from subjects where subjectname=\"$name\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select subjectid from subjects where subjectname=\"$name\""))) {
|
||||||
$nameunique=0;
|
$nameunique = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Subject name already exists.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Subject name already exists.<br>";
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
if ($namesuppld && $nameunique) {
|
if ($namesuppld && $nameunique) {
|
||||||
// modify the table
|
// modify the table
|
||||||
@@ -433,7 +441,8 @@ if(!$print){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "links":
|
case "links":
|
||||||
if ($active) $active=1; else $active=0;
|
if ($active) $active = 1;
|
||||||
|
else $active = 0;
|
||||||
if ($delete) {
|
if ($delete) {
|
||||||
mysqli_query($db, "delete from links where linkid=\"$id\"");
|
mysqli_query($db, "delete from links where linkid=\"$id\"");
|
||||||
}
|
}
|
||||||
@@ -441,27 +450,27 @@ if(!$print){
|
|||||||
// do error checking
|
// do error checking
|
||||||
// test for name supplied
|
// test for name supplied
|
||||||
if (strlen(trim($name))) {
|
if (strlen(trim($name))) {
|
||||||
$namesuppld=1;
|
$namesuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$namesuppld=0;
|
$namesuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Display text cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Display text cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for name unique
|
// test for name unique
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select linkid from links where displaytxt=\"$name\" and linkid!=\"$id\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select linkid from links where displaytxt=\"$name\" and linkid!=\"$id\""))) {
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select linkid from links where displaytxt=\"$name\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select linkid from links where displaytxt=\"$name\""))) {
|
||||||
$nameunique=0;
|
$nameunique = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Display text already exists.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Display text already exists.<br>";
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
// test for urltxt supplied
|
// test for urltxt supplied
|
||||||
if (strlen(trim($url))) {
|
if (strlen(trim($url))) {
|
||||||
$urlsuppld=1;
|
$urlsuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$urlsuppld=0;
|
$urlsuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> URL text cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> URL text cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
if ($namesuppld && $nameunique && $urlsuppld) {
|
if ($namesuppld && $nameunique && $urlsuppld) {
|
||||||
@@ -476,58 +485,58 @@ if(!$print){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "flags":
|
case "flags":
|
||||||
if ($active) $active=1; else $active=0;
|
if ($active) $active = 1;
|
||||||
|
else $active = 0;
|
||||||
if ($delete) {
|
if ($delete) {
|
||||||
// check for things using this flag
|
// check for things using this flag
|
||||||
if (mysqli_num_rows(mysqli_query($db,"select * from flag_$id"))) {
|
if (mysqli_num_rows(mysqli_query($db, "select id from flagmap where flagid=\"$id\""))) {
|
||||||
$used=1;
|
$used = TRUE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag is used by other tables and cannot be deleted.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag is used by other tables and cannot be deleted.<br>";
|
||||||
} else {
|
} else {
|
||||||
$used=0;
|
$used = FALSE;
|
||||||
}
|
}
|
||||||
if (!$used) {
|
if (!$used) {
|
||||||
// delete entity
|
// delete entity
|
||||||
mysqli_query($db, "delete from flags where flagid=\"$id\"");
|
mysqli_query($db, "delete from flags where flagid=\"$id\"");
|
||||||
mysqli_query($db,"drop table flag_$id");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($update) {
|
if ($update) {
|
||||||
// do error checking
|
// do error checking
|
||||||
// test for name supplied
|
// test for name supplied
|
||||||
if (strlen(trim($name))) {
|
if (strlen(trim($name))) {
|
||||||
$namesuppld=1;
|
$namesuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$namesuppld=0;
|
$namesuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag name cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag name cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for name unique
|
// test for name unique
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagname=\"$name\" and flagid!=\"$id\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagname=\"$name\" and flagid!=\"$id\""))) {
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagname=\"$name\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagname=\"$name\""))) {
|
||||||
$nameunique=0;
|
$nameunique = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag name already exists.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag name already exists.<br>";
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
// test for symbol supplied
|
// test for symbol supplied
|
||||||
if (strlen(trim($flagsym))) {
|
if (strlen(trim($flagsym))) {
|
||||||
$symsuppld=1;
|
$symsuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$symsuppld=0;
|
$symsuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag symbol cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag symbol cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for symbol unique
|
// test for symbol unique
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagsym=\"$flagsym\" and flagid!=\"$id\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagsym=\"$flagsym\" and flagid!=\"$id\""))) {
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagsym=\"$flagsym\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagsym=\"$flagsym\""))) {
|
||||||
$symunique=0;
|
$symunique = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag symbol already exists.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Flag symbol already exists.<br>";
|
||||||
} else {
|
} else {
|
||||||
$symunique=1;
|
$symunique = TRUE;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$symunique=1;
|
$symunique = TRUE;
|
||||||
}
|
}
|
||||||
if ($namesuppld && $nameunique && $symsuppld && $symunique) {
|
if ($namesuppld && $nameunique && $symsuppld && $symunique) {
|
||||||
// modify the table
|
// modify the table
|
||||||
@@ -536,14 +545,15 @@ if(!$print){
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "logpartactions":
|
case "logpartactions":
|
||||||
if ($active) $active=1; else $active=0;
|
if ($active) $active = 1;
|
||||||
|
else $active = 0;
|
||||||
if ($delete) {
|
if ($delete) {
|
||||||
// check for logparts with this part action
|
// check for logparts with this part action
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select logpartid from logparts where action=\"$id\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select logpartid from logparts where action=\"$id\""))) {
|
||||||
$hasparts=1;
|
$hasparts = TRUE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Action is assigned to parts in logbook notes and cannot be deleted.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Action is assigned to parts in logbook notes and cannot be deleted.<br>";
|
||||||
} else {
|
} else {
|
||||||
$hasparts=0;
|
$hasparts = FALSE;
|
||||||
}
|
}
|
||||||
if (!$hasparts) {
|
if (!$hasparts) {
|
||||||
// delete entity
|
// delete entity
|
||||||
@@ -554,21 +564,21 @@ if(!$print){
|
|||||||
// do error checking
|
// do error checking
|
||||||
// test for name supplied
|
// test for name supplied
|
||||||
if (strlen(trim($name))) {
|
if (strlen(trim($name))) {
|
||||||
$namesuppld=1;
|
$namesuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$namesuppld=0;
|
$namesuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Part Action name cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Part Action name cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for name unique
|
// test for name unique
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select lpactionid from logpartactions where lpactionname=\"$name\" and lpactionid!=\"$id\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select lpactionid from logpartactions where lpactionname=\"$name\" and lpactionid!=\"$id\""))) {
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select lpactionid from logpartactions where lpactionname=\"$name\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select lpactionid from logpartactions where lpactionname=\"$name\""))) {
|
||||||
$nameunique=0;
|
$nameunique = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Part Action name already exists.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Part Action name already exists.<br>";
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
if ($namesuppld && $nameunique) {
|
if ($namesuppld && $nameunique) {
|
||||||
// modify the table
|
// modify the table
|
||||||
@@ -585,21 +595,21 @@ if(!$print){
|
|||||||
// do error checking
|
// do error checking
|
||||||
// test for name supplied
|
// test for name supplied
|
||||||
if (strlen(trim($name))) {
|
if (strlen(trim($name))) {
|
||||||
$namesuppld=1;
|
$namesuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$namesuppld=0;
|
$namesuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Banner name cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Banner name cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for name unique
|
// test for name unique
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select bannerid from banners where bannername=\"$name\" and bannerid!=\"$id\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select bannerid from banners where bannername=\"$name\" and bannerid!=\"$id\""))) {
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select bannerid from banners where bannername=\"$name\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select bannerid from banners where bannername=\"$name\""))) {
|
||||||
$nameunique=0;
|
$nameunique = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Banner name already exists.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Banner name already exists.<br>";
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
if ($namesuppld && $nameunique) {
|
if ($namesuppld && $nameunique) {
|
||||||
// modify the table
|
// modify the table
|
||||||
@@ -610,21 +620,24 @@ if(!$print){
|
|||||||
case "configs":
|
case "configs":
|
||||||
switch ($type) {
|
switch ($type) {
|
||||||
case "display":
|
case "display":
|
||||||
if ($display_showts) $display_showts=1; else $display_showts=0;
|
if ($display_showts) $display_showts = 1;
|
||||||
if ($display_techalpha=="a") $display_techalpha=1; else $display_techalpha=0;
|
else $display_showts = 0;
|
||||||
if ($display_subjalpha=="a") $display_subjalpha=1; else $display_subjalpha=0;
|
if ($display_techalpha == "a") $display_techalpha = 1;
|
||||||
|
else $display_techalpha = 0;
|
||||||
|
if ($display_subjalpha == "a") $display_subjalpha = 1;
|
||||||
|
else $display_subjalpha = 0;
|
||||||
// test for logname supplied
|
// test for logname supplied
|
||||||
if (strlen(trim($display_logname))) {
|
if (strlen(trim($display_logname))) {
|
||||||
$namesuppld=1;
|
$namesuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$namesuppld=0;
|
$namesuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Log name cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Log name cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for urlchunk supplied
|
// test for urlchunk supplied
|
||||||
if (strlen(trim($display_urlchunk))) {
|
if (strlen(trim($display_urlchunk))) {
|
||||||
$chunksuppld=1;
|
$chunksuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$chunksuppld=0;
|
$chunksuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> URL chunk size cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> URL chunk size cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
if ($namesuppld && $chunksuppld) {
|
if ($namesuppld && $chunksuppld) {
|
||||||
@@ -666,16 +679,16 @@ if(!$print){
|
|||||||
}
|
}
|
||||||
// test for sessttl supplied
|
// test for sessttl supplied
|
||||||
if (strlen(trim($misc_sessttl))) {
|
if (strlen(trim($misc_sessttl))) {
|
||||||
$ttlsuppld=1;
|
$ttlsuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$ttlsuppld=0;
|
$ttlsuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Session expiration time cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Session expiration time cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for sessdir supplied
|
// test for sessdir supplied
|
||||||
if (strlen(trim($misc_sessdir))) {
|
if (strlen(trim($misc_sessdir))) {
|
||||||
$dirsuppld=1;
|
$dirsuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$dirsuppld=0;
|
$dirsuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Server session file directory cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Server session file directory cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
if ($ttlsuppld && $dirsuppld) {
|
if ($ttlsuppld && $dirsuppld) {
|
||||||
@@ -751,6 +764,7 @@ switch($table) {
|
|||||||
";
|
";
|
||||||
// pull current values from database
|
// pull current values from database
|
||||||
$currentvalues = mysqli_fetch_assoc(mysqli_query($db, "select * from techs where techid=$id"));
|
$currentvalues = mysqli_fetch_assoc(mysqli_query($db, "select * from techs where techid=$id"));
|
||||||
|
if (!empty($currentvalues)) {
|
||||||
$name = $currentvalues["techname"];
|
$name = $currentvalues["techname"];
|
||||||
$pass = $passconf = "password_is_unchanged";
|
$pass = $passconf = "password_is_unchanged";
|
||||||
$shift = $currentvalues["shift"];
|
$shift = $currentvalues["shift"];
|
||||||
@@ -764,6 +778,13 @@ switch($table) {
|
|||||||
} else {
|
} else {
|
||||||
$activetag = "<input type=\"checkbox\" name=\"active\">";
|
$activetag = "<input type=\"checkbox\" name=\"active\">";
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
$name = NULL;
|
||||||
|
$pass = NULL;
|
||||||
|
$shift = NULL;
|
||||||
|
$admintag = "<input type=\"checkbox\" name=\"admin\">";
|
||||||
|
$activetag = "<input type=\"checkbox\" name=\"active\">";
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// set form options for add
|
// set form options for add
|
||||||
$sectiontitle = "<b>Add New Tech</b><br><br>";
|
$sectiontitle = "<b>Add New Tech</b><br><br>";
|
||||||
@@ -831,7 +852,8 @@ switch($table) {
|
|||||||
$statdef = "<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
$statdef = "<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
||||||
}
|
}
|
||||||
$shiftname = dblookup($db, "shifts", "shiftid", "shiftname", $tablerow["shift"]);
|
$shiftname = dblookup($db, "shifts", "shiftid", "shiftname", $tablerow["shift"]);
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href=\"admin.php?table=$table&edit=1&id=%s\">%s</a></td>
|
<td><a href=\"admin.php?table=$table&edit=1&id=%s\">%s</a></td>
|
||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
@@ -839,11 +861,13 @@ switch($table) {
|
|||||||
<td align=\"center\">%s</td>
|
<td align=\"center\">%s</td>
|
||||||
<td align=\"center\">%s</td>
|
<td align=\"center\">%s</td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$tablerow["techid"],$tablerow["techid"],
|
$tablerow["techid"],
|
||||||
|
$tablerow["techid"],
|
||||||
$tablerow["techname"],
|
$tablerow["techname"],
|
||||||
$shiftname,
|
$shiftname,
|
||||||
$admdef,
|
$admdef,
|
||||||
$statdef);
|
$statdef
|
||||||
|
);
|
||||||
}
|
}
|
||||||
echo "</table>";
|
echo "</table>";
|
||||||
break;
|
break;
|
||||||
@@ -862,12 +886,17 @@ switch($table) {
|
|||||||
";
|
";
|
||||||
// pull current values from database
|
// pull current values from database
|
||||||
$currentvalues = mysqli_fetch_assoc(mysqli_query($db, "select * from shifts where shiftid=$id"));
|
$currentvalues = mysqli_fetch_assoc(mysqli_query($db, "select * from shifts where shiftid=$id"));
|
||||||
|
if (!empty($currentvalues)) {
|
||||||
$name = $currentvalues["shiftname"];
|
$name = $currentvalues["shiftname"];
|
||||||
if ($currentvalues["status"] == 1) {
|
if ($currentvalues["status"] == 1) {
|
||||||
$activetag = "<input type=\"checkbox\" name=\"active\" checked>";
|
$activetag = "<input type=\"checkbox\" name=\"active\" checked>";
|
||||||
} else {
|
} else {
|
||||||
$activetag = "<input type=\"checkbox\" name=\"active\">";
|
$activetag = "<input type=\"checkbox\" name=\"active\">";
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
$name = NULL;
|
||||||
|
$activetag = "<input type=\"checkbox\" name=\"active\">";
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// set form options for add
|
// set form options for add
|
||||||
$sectiontitle = "<b>Add New Shift</b><br><br>";
|
$sectiontitle = "<b>Add New Shift</b><br><br>";
|
||||||
@@ -906,15 +935,18 @@ switch($table) {
|
|||||||
} else {
|
} else {
|
||||||
$statdef = "<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
$statdef = "<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
||||||
}
|
}
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href=\"admin.php?table=$table&edit=1&id=%s\">%s</a></td>
|
<td><a href=\"admin.php?table=$table&edit=1&id=%s\">%s</a></td>
|
||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
<td align=\"center\">%s</td>
|
<td align=\"center\">%s</td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$tablerow["shiftid"],$tablerow["shiftid"],
|
$tablerow["shiftid"],
|
||||||
|
$tablerow["shiftid"],
|
||||||
$tablerow["shiftname"],
|
$tablerow["shiftname"],
|
||||||
$statdef);
|
$statdef
|
||||||
|
);
|
||||||
}
|
}
|
||||||
echo "</table>";
|
echo "</table>";
|
||||||
break;
|
break;
|
||||||
@@ -933,12 +965,17 @@ switch($table) {
|
|||||||
";
|
";
|
||||||
// pull current values from database
|
// pull current values from database
|
||||||
$currentvalues = mysqli_fetch_assoc(mysqli_query($db, "select * from subjects where subjectid=$id"));
|
$currentvalues = mysqli_fetch_assoc(mysqli_query($db, "select * from subjects where subjectid=$id"));
|
||||||
|
if (!empty($currentvalues)) {
|
||||||
$name = $currentvalues["subjectname"];
|
$name = $currentvalues["subjectname"];
|
||||||
if ($currentvalues["status"] == 1) {
|
if ($currentvalues["status"] == 1) {
|
||||||
$activetag = "<input type=\"checkbox\" name=\"active\" checked>";
|
$activetag = "<input type=\"checkbox\" name=\"active\" checked>";
|
||||||
} else {
|
} else {
|
||||||
$activetag = "<input type=\"checkbox\" name=\"active\">";
|
$activetag = "<input type=\"checkbox\" name=\"active\">";
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
$name = "";
|
||||||
|
$activetag = "<input type=\"checkbox\" name=\"active\">";
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// set form options for add
|
// set form options for add
|
||||||
$sectiontitle = "<b>Add New Subject</b><br><br>";
|
$sectiontitle = "<b>Add New Subject</b><br><br>";
|
||||||
@@ -977,15 +1014,18 @@ switch($table) {
|
|||||||
} else {
|
} else {
|
||||||
$statdef = "<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
$statdef = "<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
||||||
}
|
}
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href=\"admin.php?table=$table&edit=1&id=%s\">%s</a></td>
|
<td><a href=\"admin.php?table=$table&edit=1&id=%s\">%s</a></td>
|
||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
<td align=\"center\">%s</td>
|
<td align=\"center\">%s</td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$tablerow["subjectid"],$tablerow["subjectid"],
|
$tablerow["subjectid"],
|
||||||
|
$tablerow["subjectid"],
|
||||||
$tablerow["subjectname"],
|
$tablerow["subjectname"],
|
||||||
$statdef);
|
$statdef
|
||||||
|
);
|
||||||
}
|
}
|
||||||
echo "</table>";
|
echo "</table>";
|
||||||
break;
|
break;
|
||||||
@@ -1004,6 +1044,7 @@ switch($table) {
|
|||||||
";
|
";
|
||||||
// pull current values from database
|
// pull current values from database
|
||||||
$currentvalues = mysqli_fetch_assoc(mysqli_query($db, "select * from links where linkid=$id"));
|
$currentvalues = mysqli_fetch_assoc(mysqli_query($db, "select * from links where linkid=$id"));
|
||||||
|
if (!empty($currentvalues)) {
|
||||||
$name = $currentvalues["displaytxt"];
|
$name = $currentvalues["displaytxt"];
|
||||||
$priority = $currentvalues["linkpriority"];
|
$priority = $currentvalues["linkpriority"];
|
||||||
$url = $currentvalues["urltxt"];
|
$url = $currentvalues["urltxt"];
|
||||||
@@ -1012,6 +1053,12 @@ switch($table) {
|
|||||||
} else {
|
} else {
|
||||||
$activetag = "<input type=\"checkbox\" name=\"active\">";
|
$activetag = "<input type=\"checkbox\" name=\"active\">";
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
$name = NULL;
|
||||||
|
$priority = NULL;
|
||||||
|
$url = NULL;
|
||||||
|
$activetag = "<input type=\"checkbox\" name=\"active\">";
|
||||||
|
}
|
||||||
// determine where we are in the priority stack
|
// determine where we are in the priority stack
|
||||||
$prow = mysqli_fetch_assoc(mysqli_query($db, "select min(linkpriority) as highest from links"));
|
$prow = mysqli_fetch_assoc(mysqli_query($db, "select min(linkpriority) as highest from links"));
|
||||||
if ($prow["highest"] == $priority) {
|
if ($prow["highest"] == $priority) {
|
||||||
@@ -1090,17 +1137,21 @@ switch($table) {
|
|||||||
} else {
|
} else {
|
||||||
$statdef = "<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
$statdef = "<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
||||||
}
|
}
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href=\"admin.php?table=$table&edit=1&id=%s\">%s</a></td>
|
<td><a href=\"admin.php?table=$table&edit=1&id=%s\">%s</a></td>
|
||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
<td><a href=\"%s\">%s</a></td>
|
<td><a href=\"%s\">%s</a></td>
|
||||||
<td align=\"center\">%s</td>
|
<td align=\"center\">%s</td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$tablerow["linkid"],$tablerow["linkid"],
|
$tablerow["linkid"],
|
||||||
|
$tablerow["linkid"],
|
||||||
$tablerow["displaytxt"],
|
$tablerow["displaytxt"],
|
||||||
$tablerow["urltxt"],$tablerow["urltxt"],
|
$tablerow["urltxt"],
|
||||||
$statdef);
|
$tablerow["urltxt"],
|
||||||
|
$statdef
|
||||||
|
);
|
||||||
}
|
}
|
||||||
echo "</table>";
|
echo "</table>";
|
||||||
break;
|
break;
|
||||||
@@ -1119,10 +1170,22 @@ switch($table) {
|
|||||||
";
|
";
|
||||||
// pull current values from database
|
// pull current values from database
|
||||||
$currentvalues = mysqli_fetch_assoc(mysqli_query($db, "select * from flags where flagid=$id"));
|
$currentvalues = mysqli_fetch_assoc(mysqli_query($db, "select * from flags where flagid=$id"));
|
||||||
|
if (!empty($currentvalues)) {
|
||||||
$name = $currentvalues["flagname"];
|
$name = $currentvalues["flagname"];
|
||||||
$flagsym = $currentvalues["flagsym"];
|
$flagsym = $currentvalues["flagsym"];
|
||||||
$flagcolor = $currentvalues["flagcolor"];
|
$flagcolor = $currentvalues["flagcolor"];
|
||||||
$flagcoloropts = "";
|
$flagcoloropts = "";
|
||||||
|
if ($currentvalues["status"] == 1) {
|
||||||
|
$activetag = "<input type=\"checkbox\" name=\"active\" checked>";
|
||||||
|
} else {
|
||||||
|
$activetag = "<input type=\"checkbox\" name=\"active\">";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$name = NULL;
|
||||||
|
$flagsym = NULL;
|
||||||
|
$flagcolor = NULL;
|
||||||
|
$activetag = "<input type=\"checkbox\" name=\"active\">";
|
||||||
|
}
|
||||||
foreach ($basic_colors as $cname => $chex) {
|
foreach ($basic_colors as $cname => $chex) {
|
||||||
if ($chex == $flagcolor) {
|
if ($chex == $flagcolor) {
|
||||||
$flagcoloropts = $flagcoloropts . "<option value=\"$chex\" selected>$cname</option>";
|
$flagcoloropts = $flagcoloropts . "<option value=\"$chex\" selected>$cname</option>";
|
||||||
@@ -1130,11 +1193,6 @@ switch($table) {
|
|||||||
$flagcoloropts = $flagcoloropts . "<option value=\"$chex\">$cname</option>";
|
$flagcoloropts = $flagcoloropts . "<option value=\"$chex\">$cname</option>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($currentvalues["status"]==1) {
|
|
||||||
$activetag="<input type=\"checkbox\" name=\"active\" checked>";
|
|
||||||
} else {
|
|
||||||
$activetag="<input type=\"checkbox\" name=\"active\">";
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
// set form options for add
|
// set form options for add
|
||||||
$sectiontitle = "<b>Add New Flag</b><br><br>";
|
$sectiontitle = "<b>Add New Flag</b><br><br>";
|
||||||
@@ -1187,17 +1245,21 @@ switch($table) {
|
|||||||
} else {
|
} else {
|
||||||
$statdef = "<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
$statdef = "<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
||||||
}
|
}
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href=\"admin.php?table=$table&edit=1&id=%s\">%s</a></td>
|
<td><a href=\"admin.php?table=$table&edit=1&id=%s\">%s</a></td>
|
||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
<td align=\"center\"><font color=\"%s\">%s</font></td>
|
<td align=\"center\"><font color=\"%s\">%s</font></td>
|
||||||
<td align=\"center\">%s</td>
|
<td align=\"center\">%s</td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$tablerow["flagid"],$tablerow["flagid"],
|
$tablerow["flagid"],
|
||||||
|
$tablerow["flagid"],
|
||||||
$tablerow["flagname"],
|
$tablerow["flagname"],
|
||||||
$tablerow["flagcolor"],$tablerow["flagsym"],
|
$tablerow["flagcolor"],
|
||||||
$statdef);
|
$tablerow["flagsym"],
|
||||||
|
$statdef
|
||||||
|
);
|
||||||
}
|
}
|
||||||
echo "</table>";
|
echo "</table>";
|
||||||
break;
|
break;
|
||||||
@@ -1216,12 +1278,17 @@ switch($table) {
|
|||||||
";
|
";
|
||||||
// pull current values from database
|
// pull current values from database
|
||||||
$currentvalues = mysqli_fetch_assoc(mysqli_query($db, "select * from logpartactions where lpactionid=$id"));
|
$currentvalues = mysqli_fetch_assoc(mysqli_query($db, "select * from logpartactions where lpactionid=$id"));
|
||||||
|
if (!empty($currentvalues)) {
|
||||||
$name = $currentvalues["lpactionname"];
|
$name = $currentvalues["lpactionname"];
|
||||||
if ($currentvalues["status"] == 1) {
|
if ($currentvalues["status"] == 1) {
|
||||||
$activetag = "<input type=\"checkbox\" name=\"active\" checked>";
|
$activetag = "<input type=\"checkbox\" name=\"active\" checked>";
|
||||||
} else {
|
} else {
|
||||||
$activetag = "<input type=\"checkbox\" name=\"active\">";
|
$activetag = "<input type=\"checkbox\" name=\"active\">";
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
$name = NULL;
|
||||||
|
$activetag = "<input type=\"checkbox\" name=\"active\">";
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// set form options for add
|
// set form options for add
|
||||||
$sectiontitle = "<b>Add New Part Action</b><br><br>";
|
$sectiontitle = "<b>Add New Part Action</b><br><br>";
|
||||||
@@ -1260,15 +1327,18 @@ switch($table) {
|
|||||||
} else {
|
} else {
|
||||||
$statdef = "<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
$statdef = "<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
||||||
}
|
}
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href=\"admin.php?table=$table&edit=1&id=%s\">%s</a></td>
|
<td><a href=\"admin.php?table=$table&edit=1&id=%s\">%s</a></td>
|
||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
<td align=\"center\">%s</td>
|
<td align=\"center\">%s</td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$tablerow["lpactionid"],$tablerow["lpactionid"],
|
$tablerow["lpactionid"],
|
||||||
|
$tablerow["lpactionid"],
|
||||||
$tablerow["lpactionname"],
|
$tablerow["lpactionname"],
|
||||||
$statdef);
|
$statdef
|
||||||
|
);
|
||||||
}
|
}
|
||||||
echo "</table>";
|
echo "</table>";
|
||||||
break;
|
break;
|
||||||
@@ -1287,9 +1357,15 @@ switch($table) {
|
|||||||
";
|
";
|
||||||
// pull current values from database
|
// pull current values from database
|
||||||
$currentvalues = mysqli_fetch_assoc(mysqli_query($db, "select * from banners where bannerid=$id"));
|
$currentvalues = mysqli_fetch_assoc(mysqli_query($db, "select * from banners where bannerid=$id"));
|
||||||
|
if (!empty($currentvalues)) {
|
||||||
$name = $currentvalues["bannername"];
|
$name = $currentvalues["bannername"];
|
||||||
$bnrcolor = $currentvalues["bannercolor"];
|
$bnrcolor = $currentvalues["bannercolor"];
|
||||||
$bnrtextcolor = $currentvalues["textcolor"];
|
$bnrtextcolor = $currentvalues["textcolor"];
|
||||||
|
} else {
|
||||||
|
$name = NULL;
|
||||||
|
$bnrcolor = NULL;
|
||||||
|
$bnrtextcolor = NULL;
|
||||||
|
}
|
||||||
$bnrcoloropts = "";
|
$bnrcoloropts = "";
|
||||||
foreach ($basic_colors as $cname => $chex) {
|
foreach ($basic_colors as $cname => $chex) {
|
||||||
if ($chex == $bnrcolor) {
|
if ($chex == $bnrcolor) {
|
||||||
@@ -1363,13 +1439,18 @@ switch($table) {
|
|||||||
<tr><th>Banner ID</th><th>Banner</th></tr>
|
<tr><th>Banner ID</th><th>Banner</th></tr>
|
||||||
";
|
";
|
||||||
while ($tablerow = mysqli_fetch_assoc($existingdata)) {
|
while ($tablerow = mysqli_fetch_assoc($existingdata)) {
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href=\"admin.php?table=$table&edit=1&id=%s\">%s</a></td>
|
<td><a href=\"admin.php?table=$table&edit=1&id=%s\">%s</a></td>
|
||||||
<td align=\"center\" bgcolor=\"%s\"><font color=\"%s\">%s</font></td>
|
<td align=\"center\" bgcolor=\"%s\"><font color=\"%s\">%s</font></td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$tablerow["bannerid"],$tablerow["bannerid"],
|
$tablerow["bannerid"],
|
||||||
$tablerow["bannercolor"],$tablerow["textcolor"],$tablerow["bannername"]);
|
$tablerow["bannerid"],
|
||||||
|
$tablerow["bannercolor"],
|
||||||
|
$tablerow["textcolor"],
|
||||||
|
$tablerow["bannername"]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
echo "</table>";
|
echo "</table>";
|
||||||
break;
|
break;
|
||||||
@@ -1586,5 +1667,3 @@ pageblock("right","end");
|
|||||||
pagetable("end");
|
pagetable("end");
|
||||||
|
|
||||||
framework("end", "", "", $print);
|
framework("end", "", "", $print);
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -45,11 +45,13 @@ $basic_colors=array(
|
|||||||
"Blue" => "#0000FF",
|
"Blue" => "#0000FF",
|
||||||
"Navy" => "#000080",
|
"Navy" => "#000080",
|
||||||
"Fuchsia" => "#FF00FF",
|
"Fuchsia" => "#FF00FF",
|
||||||
"Purple" => "#800080");
|
"Purple" => "#800080"
|
||||||
|
);
|
||||||
|
|
||||||
// Generic functions
|
// Generic functions
|
||||||
|
|
||||||
function framework($option,$htmltitle,$pagetitle,$print) {
|
function framework($option, $htmltitle, $pagetitle, $print)
|
||||||
|
{
|
||||||
// generates html code for the beginning and end of all pages
|
// generates html code for the beginning and end of all pages
|
||||||
if ($option == "begin") {
|
if ($option == "begin") {
|
||||||
// generates everything down to the first horiz rule inclusive
|
// generates everything down to the first horiz rule inclusive
|
||||||
@@ -221,7 +223,8 @@ function framework($option,$htmltitle,$pagetitle,$print) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function pagetable($option) {
|
function pagetable($option)
|
||||||
|
{
|
||||||
if ($option == "begin") {
|
if ($option == "begin") {
|
||||||
echo "
|
echo "
|
||||||
<br>
|
<br>
|
||||||
@@ -240,7 +243,8 @@ function pagetable($option) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function pageblock($block,$option) {
|
function pageblock($block, $option)
|
||||||
|
{
|
||||||
global $sbcolor;
|
global $sbcolor;
|
||||||
if ($block == "left") {
|
if ($block == "left") {
|
||||||
if ($option == "begin") {
|
if ($option == "begin") {
|
||||||
@@ -280,7 +284,8 @@ function pageblock($block,$option) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function sidemenu($noprint=false) {
|
function sidemenu($noprint = false)
|
||||||
|
{
|
||||||
// Displays sidebar menu
|
// Displays sidebar menu
|
||||||
global $db, $mbgcolor, $noprint;
|
global $db, $mbgcolor, $noprint;
|
||||||
$doparts = PARTS_FUNCTIONS;
|
$doparts = PARTS_FUNCTIONS;
|
||||||
@@ -359,7 +364,8 @@ function sidemenu($noprint=false) {
|
|||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
|
||||||
function banner($print) {
|
function banner($print)
|
||||||
|
{
|
||||||
// displays a banner
|
// displays a banner
|
||||||
global $db;
|
global $db;
|
||||||
$bannerid = BANNER;
|
$bannerid = BANNER;
|
||||||
@@ -385,7 +391,8 @@ function banner($print) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function dblookup($dbhandle,$table,$in_field,$out_field,$in_data) {
|
function dblookup($dbhandle, $table, $in_field, $out_field, $in_data)
|
||||||
|
{
|
||||||
// look up a single field in a database given a value for a single field
|
// look up a single field in a database given a value for a single field
|
||||||
$dbqry = mysqli_query($dbhandle, "select $out_field from $table where $in_field=\"$in_data\"");
|
$dbqry = mysqli_query($dbhandle, "select $out_field from $table where $in_field=\"$in_data\"");
|
||||||
if (mysqli_num_rows($dbqry)) {
|
if (mysqli_num_rows($dbqry)) {
|
||||||
@@ -396,7 +403,8 @@ function dblookup($dbhandle,$table,$in_field,$out_field,$in_data) {
|
|||||||
return ($out_data);
|
return ($out_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
function calendar($year,$month,$day,$link_url) {
|
function calendar($year, $month, $day, $link_url)
|
||||||
|
{
|
||||||
// takes a numeric year, month, day, and the basic url for the day links as arguments
|
// takes a numeric year, month, day, and the basic url for the day links as arguments
|
||||||
// Shows a calendar with clickable dates.
|
// Shows a calendar with clickable dates.
|
||||||
// Based on an embeddable calendar by Yves Glodt.
|
// Based on an embeddable calendar by Yves Glodt.
|
||||||
@@ -512,7 +520,8 @@ EOT;
|
|||||||
print "</table>\n";
|
print "</table>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
function colorpicker($baseurl) {
|
function colorpicker($baseurl)
|
||||||
|
{
|
||||||
// takes a standard url and tacks the color number on to the end of it
|
// takes a standard url and tacks the color number on to the end of it
|
||||||
// giving a palette of links
|
// giving a palette of links
|
||||||
echo "
|
echo "
|
||||||
@@ -595,7 +604,8 @@ function colorpicker($baseurl) {
|
|||||||
// Project functions
|
// Project functions
|
||||||
|
|
||||||
|
|
||||||
function getsetting($setting_name,$tech_id) {
|
function getsetting($setting_name, $tech_id)
|
||||||
|
{
|
||||||
// get the value of a setting for a tech
|
// get the value of a setting for a tech
|
||||||
global $db;
|
global $db;
|
||||||
$confinfo = mysqli_fetch_assoc(mysqli_query($db, "select confid,confvalue from configs where confname=\"$setting_name\""));
|
$confinfo = mysqli_fetch_assoc(mysqli_query($db, "select confid,confvalue from configs where confname=\"$setting_name\""));
|
||||||
@@ -617,7 +627,8 @@ function getsetting($setting_name,$tech_id) {
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
function putsetting($setting_name,$setting_value,$tech_id) {
|
function putsetting($setting_name, $setting_value, $tech_id)
|
||||||
|
{
|
||||||
// set the value of a setting for a tech
|
// set the value of a setting for a tech
|
||||||
global $db;
|
global $db;
|
||||||
$confinfo = mysqli_fetch_assoc(mysqli_query($db, "select confid,confvalue from configs where confname=\"$setting_name\""));
|
$confinfo = mysqli_fetch_assoc(mysqli_query($db, "select confid,confvalue from configs where confname=\"$setting_name\""));
|
||||||
@@ -637,7 +648,8 @@ function putsetting($setting_name,$setting_value,$tech_id) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function islink($il_note) {
|
function islink($il_note)
|
||||||
|
{
|
||||||
// takes a noteid number as an argument
|
// takes a noteid number as an argument
|
||||||
// determines if the argument is a link in a reference chain
|
// determines if the argument is a link in a reference chain
|
||||||
// returns 1 if note is a link, 0 if not
|
// returns 1 if note is a link, 0 if not
|
||||||
@@ -651,7 +663,8 @@ function islink($il_note) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function generate_chain($chainlink) {
|
function generate_chain($chainlink)
|
||||||
|
{
|
||||||
// generate a reference chain
|
// generate a reference chain
|
||||||
// takes a single parameter, a noteid
|
// takes a single parameter, a noteid
|
||||||
// finds all notes that are members of a chain containing the supplied noteid
|
// finds all notes that are members of a chain containing the supplied noteid
|
||||||
@@ -693,7 +706,8 @@ function generate_chain($chainlink) {
|
|||||||
return ($chainarray);
|
return ($chainarray);
|
||||||
}
|
}
|
||||||
|
|
||||||
function convertweblinks($rawstring) {
|
function convertweblinks($rawstring)
|
||||||
|
{
|
||||||
// takes a string, finds urls, and returns the string with urls converted to clickable links
|
// takes a string, finds urls, and returns the string with urls converted to clickable links
|
||||||
$urlchunksize = URL_CHUNK_SIZE;
|
$urlchunksize = URL_CHUNK_SIZE;
|
||||||
// define regex pattern for urls
|
// define regex pattern for urls
|
||||||
@@ -712,7 +726,8 @@ function convertweblinks($rawstring) {
|
|||||||
return $rawstring;
|
return $rawstring;
|
||||||
}
|
}
|
||||||
|
|
||||||
function showlinklist($print) {
|
function showlinklist($print)
|
||||||
|
{
|
||||||
global $db;
|
global $db;
|
||||||
$linkresult = mysqli_query($db, "select linkid from links where status=\"1\"");
|
$linkresult = mysqli_query($db, "select linkid from links where status=\"1\"");
|
||||||
if (mysqli_num_rows($linkresult) && !$print) {
|
if (mysqli_num_rows($linkresult) && !$print) {
|
||||||
@@ -726,7 +741,8 @@ function showlinklist($print) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function nag($tech_id) {
|
function nag($tech_id)
|
||||||
|
{
|
||||||
// nags the user if something is pending
|
// nags the user if something is pending
|
||||||
global $db, $today;
|
global $db, $today;
|
||||||
// maintenance forms
|
// maintenance forms
|
||||||
@@ -751,7 +767,8 @@ function nag($tech_id) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_part_data($partinputdata) {
|
function get_part_data($partinputdata)
|
||||||
|
{
|
||||||
// given an associative array of partid, uid, partnum, sernum,
|
// given an associative array of partid, uid, partnum, sernum,
|
||||||
// return an associative array of
|
// return an associative array of
|
||||||
// partid, uid, partnum, sernum, partname, result
|
// partid, uid, partnum, sernum, partname, result
|
||||||
@@ -821,7 +838,8 @@ function get_part_data($partinputdata) {
|
|||||||
return $partdata;
|
return $partdata;
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_upcoming_events() {
|
function get_upcoming_events()
|
||||||
|
{
|
||||||
// build array of upcoming events
|
// build array of upcoming events
|
||||||
// takes no arguments
|
// takes no arguments
|
||||||
// returns an array containing arrays of upcoming event data
|
// returns an array containing arrays of upcoming event data
|
||||||
@@ -910,7 +928,8 @@ function get_upcoming_events() {
|
|||||||
return $ucevents;
|
return $ucevents;
|
||||||
}
|
}
|
||||||
|
|
||||||
function format_message($msgtype,$msgtxt) {
|
function format_message($msgtype, $msgtxt)
|
||||||
|
{
|
||||||
// displays a formatted message
|
// displays a formatted message
|
||||||
// $msgtype is 0 for success or anything else for failure
|
// $msgtype is 0 for success or anything else for failure
|
||||||
// $msgtxt is the string to display
|
// $msgtxt is the string to display
|
||||||
@@ -930,11 +949,13 @@ function format_message($msgtype,$msgtxt) {
|
|||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
|
||||||
function templateselect($techid,$operation) {
|
function templateselect($techid, $operation)
|
||||||
|
{
|
||||||
// Displays a line enabling selection of a user or global template
|
// Displays a line enabling selection of a user or global template
|
||||||
// $techid is the id number of the current tech
|
// $techid is the id number of the current tech
|
||||||
// $operation is one of "add" "edit" "delete"
|
// $operation is one of "add" "edit" "delete" or NULL
|
||||||
global $db;
|
global $db;
|
||||||
|
$isadmin = dblookup($db, "techs", "techid", "admin", $techid);
|
||||||
echo "
|
echo "
|
||||||
<form method=\"post\">
|
<form method=\"post\">
|
||||||
";
|
";
|
||||||
@@ -947,11 +968,20 @@ function templateselect($techid,$operation) {
|
|||||||
<td>
|
<td>
|
||||||
<select name=\"usertemplateid\" title=\"Select the user template you'd like to load and click the Load Template button. User template selection takes precedence.\">
|
<select name=\"usertemplateid\" title=\"Select the user template you'd like to load and click the Load Template button. User template selection takes precedence.\">
|
||||||
";
|
";
|
||||||
|
if ($isadmin && $operation != NULL) {
|
||||||
|
$templaterow = mysqli_query($db, "select * from notetemplates where tech!=\"0\" order by tech asc, templatename asc");
|
||||||
|
} else {
|
||||||
$templaterow = mysqli_query($db, "select * from notetemplates where tech=\"$techid\" order by templatename asc");
|
$templaterow = mysqli_query($db, "select * from notetemplates where tech=\"$techid\" order by templatename asc");
|
||||||
|
}
|
||||||
printf("<option value=\"%s\" selected>%s</option>", "0", "Select user template");
|
printf("<option value=\"%s\" selected>%s</option>", "0", "Select user template");
|
||||||
while ($templateitem = mysqli_fetch_assoc($templaterow)) {
|
while ($templateitem = mysqli_fetch_assoc($templaterow)) {
|
||||||
|
if ($isadmin && $operation != NULL) {
|
||||||
|
$techname = dblookup($db, "techs", "techid", "techname", $templateitem["tech"]);
|
||||||
|
printf("<option value=\"%s\">%s(%s)</option>", $templateitem["templateid"], $templateitem["templatename"], $techname);
|
||||||
|
} else {
|
||||||
printf("<option value=\"%s\">%s</option>", $templateitem["templateid"], $templateitem["templatename"]);
|
printf("<option value=\"%s\">%s</option>", $templateitem["templateid"], $templateitem["templatename"]);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
echo "
|
echo "
|
||||||
</select> or
|
</select> or
|
||||||
";
|
";
|
||||||
@@ -980,4 +1010,31 @@ function templateselect($techid,$operation) {
|
|||||||
</form>
|
</form>
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
|
function fix_date($datestring)
|
||||||
|
{
|
||||||
|
// accepts a string as an argument
|
||||||
|
// returns a valid date string in the format YYYY-MM-DD
|
||||||
|
// if input string is not a valid date, return the current date
|
||||||
|
global $db, $today;
|
||||||
|
|
||||||
|
if (!$datestring) $datestring = $today;
|
||||||
|
$datepatt = '/^\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\d|3[01])$/';
|
||||||
|
if (!preg_match($datepatt, $datestring)) $datestring = $today;
|
||||||
|
$datestring = mysqli_real_escape_string($db, $datestring);
|
||||||
|
return $datestring;
|
||||||
|
}
|
||||||
|
|
||||||
|
function fix_time($timestring)
|
||||||
|
{
|
||||||
|
// accepts a string as an argument
|
||||||
|
// returns a valid time string in the format HH:MM:SS
|
||||||
|
// if input string is not a valid time, return the current time
|
||||||
|
global $db, $now;
|
||||||
|
|
||||||
|
if (!$timestring) $timestring = $now;
|
||||||
|
$timepatt = '/^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/';
|
||||||
|
if (!preg_match($timepatt, $timestring)) $timestring = $now;
|
||||||
|
$timestring = mysqli_real_escape_string($db, $timestring);
|
||||||
|
return $timestring;
|
||||||
|
}
|
||||||
|
|||||||
@@ -380,5 +380,3 @@ pageblock("right","end");
|
|||||||
pagetable("end");
|
pagetable("end");
|
||||||
|
|
||||||
framework("end", "", "", $print);
|
framework("end", "", "", $print);
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
include("functions.php");
|
include("functions.php");
|
||||||
|
|
||||||
if (!$_SESSION['login'] && !$_REQUEST['partview']) {
|
if (!array_key_exists("login", $_SESSION) && !array_key_exists("partview", $_REQUEST)) {
|
||||||
header("Location: login.php");
|
header("Location: login.php");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,10 +96,9 @@ if ($add) {
|
|||||||
// add the entry if submit is pressed
|
// add the entry if submit is pressed
|
||||||
if ($note) {
|
if ($note) {
|
||||||
// sanitize and fix blank date and time
|
// sanitize and fix blank date and time
|
||||||
$date=mysqli_real_escape_string($db,$date);
|
$date = fix_date($date);
|
||||||
$time=mysqli_real_escape_string($db,$time);
|
$time = fix_time($time);
|
||||||
if (!$date) $date=$today;
|
|
||||||
if (!$time) $time=$now;
|
|
||||||
// determine whether supplied date is future or past
|
// determine whether supplied date is future or past
|
||||||
$datediff = mysqli_fetch_row(mysqli_query($db, "select datediff(\"$date\",CURRENT_DATE)"));
|
$datediff = mysqli_fetch_row(mysqli_query($db, "select datediff(\"$date\",CURRENT_DATE)"));
|
||||||
// if future, set time to 00:00:01, if past, set to 23:59:59
|
// if future, set time to 00:00:01, if past, set to 23:59:59
|
||||||
@@ -239,7 +238,6 @@ if ($add) {
|
|||||||
if ($mfreqs[$plidx] == "on") {
|
if ($mfreqs[$plidx] == "on") {
|
||||||
mysqli_query($db, "insert into maintforms(mfdate,mftech,mfpart,pending,lognoteid) values(\"$date\",\"$techid\",\"$lpid\",1,\"$newnoteid\")");
|
mysqli_query($db, "insert into maintforms(mfdate,mftech,mfpart,pending,lognoteid) values(\"$date\",\"$techid\",\"$lpid\",1,\"$newnoteid\")");
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// no part info was entered
|
// no part info was entered
|
||||||
}
|
}
|
||||||
@@ -264,6 +262,10 @@ if ($edit) {
|
|||||||
if ($removepart && $authorized) mysqli_query($db, "delete from logparts where lognoteid=\"$noteid\" and logpartid=\"$removepart\"");
|
if ($removepart && $authorized) mysqli_query($db, "delete from logparts where lognoteid=\"$noteid\" and logpartid=\"$removepart\"");
|
||||||
if ($submit) {
|
if ($submit) {
|
||||||
if ($note) {
|
if ($note) {
|
||||||
|
// sanitize and fix blank date and time
|
||||||
|
$date = fix_date($date);
|
||||||
|
$time = fix_time($time);
|
||||||
|
|
||||||
// remove cruft from note text
|
// remove cruft from note text
|
||||||
$note = strip_tags($note, "<a>");
|
$note = strip_tags($note, "<a>");
|
||||||
$note = mysqli_real_escape_string($db, $note);
|
$note = mysqli_real_escape_string($db, $note);
|
||||||
@@ -401,7 +403,6 @@ if ($edit) {
|
|||||||
if ($mfreqs[$plidx] == "on") {
|
if ($mfreqs[$plidx] == "on") {
|
||||||
mysqli_query($db, "insert into maintforms(mfdate,mftech,mfpart,pending,lognoteid) values(\"$date\",\"$techid\",\"$lpid\",1,\"$noteid\")");
|
mysqli_query($db, "insert into maintforms(mfdate,mftech,mfpart,pending,lognoteid) values(\"$date\",\"$techid\",\"$lpid\",1,\"$noteid\")");
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// no part info was entered
|
// no part info was entered
|
||||||
;
|
;
|
||||||
@@ -499,7 +500,7 @@ if ($delete) {
|
|||||||
format_message(0, "<strong>Note deleted.</strong> <a href=\"lognotes.php\">Return to main page.</a>");
|
format_message(0, "<strong>Note deleted.</strong> <a href=\"lognotes.php\">Return to main page.</a>");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_SESSION['login']) {
|
if (array_key_exists('login', $_SESSION)) {
|
||||||
// show the template selection line
|
// show the template selection line
|
||||||
templateselect($techid, NULL);
|
templateselect($techid, NULL);
|
||||||
}
|
}
|
||||||
@@ -520,7 +521,8 @@ if ($isadmin) {
|
|||||||
<td><b>Tech: </b>
|
<td><b>Tech: </b>
|
||||||
<select name=\"efftechid\">
|
<select name=\"efftechid\">
|
||||||
";
|
";
|
||||||
if ($techalpha) $torder="techname"; else $torder="techid";
|
if ($techalpha) $torder = "techname";
|
||||||
|
else $torder = "techid";
|
||||||
$techrow = mysqli_query($db, "select * from techs order by $torder asc");
|
$techrow = mysqli_query($db, "select * from techs order by $torder asc");
|
||||||
while ($techitem = mysqli_fetch_assoc($techrow)) {
|
while ($techitem = mysqli_fetch_assoc($techrow)) {
|
||||||
if ($techitem["status"] == 1) {
|
if ($techitem["status"] == 1) {
|
||||||
@@ -563,7 +565,8 @@ echo "
|
|||||||
<td colspan=\"2\"><b>Subject: </b>
|
<td colspan=\"2\"><b>Subject: </b>
|
||||||
<select name=\"subject\">
|
<select name=\"subject\">
|
||||||
";
|
";
|
||||||
if ($subjalpha) $sorder="subjectname"; else $sorder="subjectid";
|
if ($subjalpha) $sorder = "subjectname";
|
||||||
|
else $sorder = "subjectid";
|
||||||
$subjrow = mysqli_query($db, "select * from subjects order by $sorder asc");
|
$subjrow = mysqli_query($db, "select * from subjects order by $sorder asc");
|
||||||
while ($subjitem = mysqli_fetch_assoc($subjrow)) {
|
while ($subjitem = mysqli_fetch_assoc($subjrow)) {
|
||||||
if ($subjitem["status"] == 1) {
|
if ($subjitem["status"] == 1) {
|
||||||
@@ -618,13 +621,23 @@ $flagcount=1;
|
|||||||
while ($flagcheckbox = mysqli_fetch_assoc($flagslist)) {
|
while ($flagcheckbox = mysqli_fetch_assoc($flagslist)) {
|
||||||
|
|
||||||
if (in_array($flagcheckbox["flagid"], $theseflags)) {
|
if (in_array($flagcheckbox["flagid"], $theseflags)) {
|
||||||
printf("<input type=\"checkbox\" name=\"flags[]\" value=\"%s\" checked><font color=\"%s\" title=\"%s\">%s</font>",
|
printf(
|
||||||
$flagcheckbox["flagid"],$flagcheckbox["flagcolor"],$flagcheckbox["flagname"],$flagcheckbox["flagsym"]);
|
"<input type=\"checkbox\" name=\"flags[]\" value=\"%s\" checked><font color=\"%s\" title=\"%s\">%s</font>",
|
||||||
|
$flagcheckbox["flagid"],
|
||||||
|
$flagcheckbox["flagcolor"],
|
||||||
|
$flagcheckbox["flagname"],
|
||||||
|
$flagcheckbox["flagsym"]
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
$flagid = $flagcheckbox["flagid"];
|
$flagid = $flagcheckbox["flagid"];
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagid=\"$flagid\" and status=1"))) {
|
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagid=\"$flagid\" and status=1"))) {
|
||||||
printf("<input type=\"checkbox\" name=\"flags[]\" value=\"%s\"><font color=\"%s\" title=\"%s\">%s</font>",
|
printf(
|
||||||
$flagcheckbox["flagid"],$flagcheckbox["flagcolor"],$flagcheckbox["flagname"],$flagcheckbox["flagsym"]);
|
"<input type=\"checkbox\" name=\"flags[]\" value=\"%s\"><font color=\"%s\" title=\"%s\">%s</font>",
|
||||||
|
$flagcheckbox["flagid"],
|
||||||
|
$flagcheckbox["flagcolor"],
|
||||||
|
$flagcheckbox["flagname"],
|
||||||
|
$flagcheckbox["flagsym"]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($flagcount < $flagsperline) {
|
if ($flagcount < $flagsperline) {
|
||||||
@@ -786,5 +799,3 @@ pageblock("right","end");
|
|||||||
pagetable("end");
|
pagetable("end");
|
||||||
|
|
||||||
framework("end", "", "", $print);
|
framework("end", "", "", $print);
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -9,11 +9,11 @@
|
|||||||
|
|
||||||
include("functions.php");
|
include("functions.php");
|
||||||
|
|
||||||
$print=$_REQUEST['print'];
|
$print = $_REQUEST['print'] ?? NULL;
|
||||||
$tech=$_REQUEST['tech'];
|
$tech = $_REQUEST['tech'] ?? NULL;
|
||||||
$pass=$_REQUEST['pass'];
|
$pass = $_REQUEST['pass'] ?? NULL;
|
||||||
$login=$_REQUEST['login'];
|
$login = $_REQUEST['login'] ?? NULL;
|
||||||
$cancel=$_REQUEST['cancel'];
|
$cancel = $_REQUEST['cancel'] ?? NULL;
|
||||||
|
|
||||||
if ($cancel) {
|
if ($cancel) {
|
||||||
session_destroy();
|
session_destroy();
|
||||||
@@ -58,7 +58,6 @@ if ($login) {
|
|||||||
while ($admintech = mysqli_fetch_row($adminqry)[0]) {
|
while ($admintech = mysqli_fetch_row($adminqry)[0]) {
|
||||||
echo "$admintech <br>";
|
echo "$admintech <br>";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
} else if ($cancel) {
|
} else if ($cancel) {
|
||||||
echo "
|
echo "
|
||||||
@@ -72,7 +71,8 @@ if ($login) {
|
|||||||
<b>Tech: </b>
|
<b>Tech: </b>
|
||||||
<select name=\"tech\">
|
<select name=\"tech\">
|
||||||
";
|
";
|
||||||
if ($techalpha) $torder="techname"; else $torder="techid";
|
if ($techalpha) $torder = "techname";
|
||||||
|
else $torder = "techid";
|
||||||
$techrow = mysqli_query($db, "select * from techs order by $torder asc");
|
$techrow = mysqli_query($db, "select * from techs order by $torder asc");
|
||||||
while ($techitem = mysqli_fetch_assoc($techrow)) {
|
while ($techitem = mysqli_fetch_assoc($techrow)) {
|
||||||
if ($techitem["status"] == 1) {
|
if ($techitem["status"] == 1) {
|
||||||
@@ -98,5 +98,3 @@ pageblock("right","end");
|
|||||||
pagetable("end");
|
pagetable("end");
|
||||||
|
|
||||||
framework("end", "", "", $print);
|
framework("end", "", "", $print);
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -32,7 +32,8 @@ if ($print) {
|
|||||||
if ($tgt_date == "") $tgt_date = $today;
|
if ($tgt_date == "") $tgt_date = $today;
|
||||||
|
|
||||||
// define shifttable_classic function
|
// define shifttable_classic function
|
||||||
function shifttable_classic($shift, $tgt_date, $db) {
|
function shifttable_classic($shift, $tgt_date, $db)
|
||||||
|
{
|
||||||
// convert the shift number to a name for display
|
// convert the shift number to a name for display
|
||||||
$doparts = PARTS_FUNCTIONS;
|
$doparts = PARTS_FUNCTIONS;
|
||||||
$showtime = SHOW_TS;
|
$showtime = SHOW_TS;
|
||||||
@@ -89,7 +90,9 @@ function shifttable_classic($shift, $tgt_date, $db) {
|
|||||||
<td valign=\"top\">%s</td>
|
<td valign=\"top\">%s</td>
|
||||||
<td valign=\"top\">%s</td>
|
<td valign=\"top\">%s</td>
|
||||||
</tr>\n",
|
</tr>\n",
|
||||||
$tablerow["lognoteid"],$tablerow["lognoteid"],$tablerow["time"],
|
$tablerow["lognoteid"],
|
||||||
|
$tablerow["lognoteid"],
|
||||||
|
$tablerow["time"],
|
||||||
$tname,
|
$tname,
|
||||||
$subjname,
|
$subjname,
|
||||||
$fmtnote,
|
$fmtnote,
|
||||||
@@ -104,7 +107,8 @@ function shifttable_classic($shift, $tgt_date, $db) {
|
|||||||
<td valign=\"top\">%s</td>
|
<td valign=\"top\">%s</td>
|
||||||
<td valign=\"top\">%s</td>
|
<td valign=\"top\">%s</td>
|
||||||
</tr>\n",
|
</tr>\n",
|
||||||
$tablerow["lognoteid"],$tablerow["lognoteid"],
|
$tablerow["lognoteid"],
|
||||||
|
$tablerow["lognoteid"],
|
||||||
$tname,
|
$tname,
|
||||||
$subjname,
|
$subjname,
|
||||||
$fmtnote,
|
$fmtnote,
|
||||||
@@ -121,7 +125,8 @@ function shifttable_classic($shift, $tgt_date, $db) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// define the shifttable_clean function
|
// define the shifttable_clean function
|
||||||
function shifttable_clean($shift, $tgt_date, $db) {
|
function shifttable_clean($shift, $tgt_date, $db)
|
||||||
|
{
|
||||||
// convert the shift number to a name for display
|
// convert the shift number to a name for display
|
||||||
$doparts = PARTS_FUNCTIONS;
|
$doparts = PARTS_FUNCTIONS;
|
||||||
$showtime = SHOW_TS;
|
$showtime = SHOW_TS;
|
||||||
@@ -177,7 +182,8 @@ function shifttable_clean($shift, $tgt_date, $db) {
|
|||||||
%s</b>
|
%s</b>
|
||||||
<br>%s<br>
|
<br>%s<br>
|
||||||
<hr>\n",
|
<hr>\n",
|
||||||
$tablerow["lognoteid"],$tablerow["lognoteid"],
|
$tablerow["lognoteid"],
|
||||||
|
$tablerow["lognoteid"],
|
||||||
$tablerow["time"],
|
$tablerow["time"],
|
||||||
$tname,
|
$tname,
|
||||||
$subjname,
|
$subjname,
|
||||||
@@ -192,7 +198,8 @@ function shifttable_clean($shift, $tgt_date, $db) {
|
|||||||
%s</b>
|
%s</b>
|
||||||
<br>%s<br>
|
<br>%s<br>
|
||||||
<hr>\n",
|
<hr>\n",
|
||||||
$tablerow["lognoteid"],$tablerow["lognoteid"],
|
$tablerow["lognoteid"],
|
||||||
|
$tablerow["lognoteid"],
|
||||||
$tname,
|
$tname,
|
||||||
$subjname,
|
$subjname,
|
||||||
$refs,
|
$refs,
|
||||||
@@ -249,5 +256,3 @@ pageblock("right","end");
|
|||||||
pagetable("end");
|
pagetable("end");
|
||||||
|
|
||||||
framework("end", "", "", $print);
|
framework("end", "", "", $print);
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -29,7 +29,8 @@ if ($print) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// define pendtable function
|
// define pendtable function
|
||||||
function pendtable($tech_id, $db) {
|
function pendtable($tech_id, $db)
|
||||||
|
{
|
||||||
$uidtext = UID_TEXT;
|
$uidtext = UID_TEXT;
|
||||||
// print section header
|
// print section header
|
||||||
if ($tech_id) {
|
if ($tech_id) {
|
||||||
@@ -89,14 +90,16 @@ function pendtable($tech_id, $db) {
|
|||||||
<td valign=\"top\">%s</td>
|
<td valign=\"top\">%s</td>
|
||||||
<td align=\"center\" valign=\"top\">$notetag</td>
|
<td align=\"center\" valign=\"top\">$notetag</td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$pendrow["maintformid"],$pendrow["maintformid"],
|
$pendrow["maintformid"],
|
||||||
|
$pendrow["maintformid"],
|
||||||
$pendrow["mfdate"],
|
$pendrow["mfdate"],
|
||||||
$tname,
|
$tname,
|
||||||
$uid,
|
$uid,
|
||||||
$partno,
|
$partno,
|
||||||
$serno,
|
$serno,
|
||||||
$partname,
|
$partname,
|
||||||
$noteidval,$noteidval
|
$noteidval,
|
||||||
|
$noteidval
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
printf(
|
printf(
|
||||||
@@ -109,13 +112,15 @@ function pendtable($tech_id, $db) {
|
|||||||
<td valign=\"top\">%s</td>
|
<td valign=\"top\">%s</td>
|
||||||
<td align=\"center\" valign=\"top\">$notetag</td>
|
<td align=\"center\" valign=\"top\">$notetag</td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$pendrow["maintformid"],$pendrow["maintformid"],
|
$pendrow["maintformid"],
|
||||||
|
$pendrow["maintformid"],
|
||||||
$pendrow["mfdate"],
|
$pendrow["mfdate"],
|
||||||
$uid,
|
$uid,
|
||||||
$partno,
|
$partno,
|
||||||
$serno,
|
$serno,
|
||||||
$partname,
|
$partname,
|
||||||
$noteidval,$noteidval
|
$noteidval,
|
||||||
|
$noteidval
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -125,7 +130,8 @@ function pendtable($tech_id, $db) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// define histtable function
|
// define histtable function
|
||||||
function histtable($hist_days,$db) {
|
function histtable($hist_days, $db)
|
||||||
|
{
|
||||||
$uidtext = UID_TEXT;
|
$uidtext = UID_TEXT;
|
||||||
$dayopts = array(30, 90, 180, 365);
|
$dayopts = array(30, 90, 180, 365);
|
||||||
// print section header
|
// print section header
|
||||||
@@ -187,14 +193,16 @@ function histtable($hist_days,$db) {
|
|||||||
<td valign=\"top\">%s</td>
|
<td valign=\"top\">%s</td>
|
||||||
<td align=\"center\" valign=\"top\">$notetag</td>
|
<td align=\"center\" valign=\"top\">$notetag</td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$histrow["maintformid"],$histrow["maintformid"],
|
$histrow["maintformid"],
|
||||||
|
$histrow["maintformid"],
|
||||||
$histrow["mfdate"],
|
$histrow["mfdate"],
|
||||||
$tname,
|
$tname,
|
||||||
$uid,
|
$uid,
|
||||||
$partno,
|
$partno,
|
||||||
$serno,
|
$serno,
|
||||||
$partname,
|
$partname,
|
||||||
$noteidval,$noteidval
|
$noteidval,
|
||||||
|
$noteidval
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
echo "
|
echo "
|
||||||
@@ -227,5 +235,3 @@ pageblock("right","end");
|
|||||||
pagetable("end");
|
pagetable("end");
|
||||||
|
|
||||||
framework("end", "", "", $print);
|
framework("end", "", "", $print);
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -17,14 +17,16 @@ if (!$_SESSION['login'] && ($_REQUEST['mfadd'] || $_REQUEST['actionadd'])) {
|
|||||||
$loggedinas = $_SESSION['login'];
|
$loggedinas = $_SESSION['login'];
|
||||||
$isadmin = dblookup($db, "techs", "techid", "admin", $loggedinas);
|
$isadmin = dblookup($db, "techs", "techid", "admin", $loggedinas);
|
||||||
|
|
||||||
function getmfdata($maintformid) {
|
function getmfdata($maintformid)
|
||||||
|
{
|
||||||
// pull maintenance form data from maintforms table
|
// pull maintenance form data from maintforms table
|
||||||
global $db;
|
global $db;
|
||||||
$mfdata = mysqli_fetch_assoc(mysqli_query($db, "select * from maintforms where maintformid=\"$maintformid\""));
|
$mfdata = mysqli_fetch_assoc(mysqli_query($db, "select * from maintforms where maintformid=\"$maintformid\""));
|
||||||
return $mfdata;
|
return $mfdata;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getactiondata($maintactionid) {
|
function getactiondata($maintactionid)
|
||||||
|
{
|
||||||
// pull maintenance action data from maintactions table
|
// pull maintenance action data from maintactions table
|
||||||
global $db;
|
global $db;
|
||||||
$actiondata = mysqli_fetch_assoc(mysqli_query($db, "select * from maintactions where maintactionid=\"$maintactionid\""));
|
$actiondata = mysqli_fetch_assoc(mysqli_query($db, "select * from maintactions where maintactionid=\"$maintactionid\""));
|
||||||
@@ -133,6 +135,9 @@ if ($mfadd) {
|
|||||||
if ($mfsubmit) {
|
if ($mfsubmit) {
|
||||||
// add the entry if submit is pressed
|
// add the entry if submit is pressed
|
||||||
if ($mfmalfunction && ($uid || ($partnum && $sernum))) {
|
if ($mfmalfunction && ($uid || ($partnum && $sernum))) {
|
||||||
|
// sanitize and fix blank date and time
|
||||||
|
$mfdate = fix_date($mfdate);
|
||||||
|
$mftime = fix_time($mftime);
|
||||||
// determine whether supplied date is future or past
|
// determine whether supplied date is future or past
|
||||||
$datediff = mysqli_fetch_row(mysqli_query($db, "select datediff(\"$mfdate\",CURRENT_DATE)"));
|
$datediff = mysqli_fetch_row(mysqli_query($db, "select datediff(\"$mfdate\",CURRENT_DATE)"));
|
||||||
// if future, set time to 00:00:01, if past, set to 23:59:59
|
// if future, set time to 00:00:01, if past, set to 23:59:59
|
||||||
@@ -173,6 +178,7 @@ if ($mfadd) {
|
|||||||
|
|
||||||
// add the record to maintforms
|
// add the record to maintforms
|
||||||
if (! $pdatamismatch) {
|
if (! $pdatamismatch) {
|
||||||
|
$lognoteid = ($lognoteid == NULL) ? 0 : $lognoteid;
|
||||||
mysqli_query($db, "insert into maintforms(mfdate,mftime,mftech,mfpart,mfpartloc,mfmalfunction,nha,repord,lognoteid,pending)
|
mysqli_query($db, "insert into maintforms(mfdate,mftime,mftech,mfpart,mfpartloc,mfmalfunction,nha,repord,lognoteid,pending)
|
||||||
values (\"$mfdate\", \"$mftime\",\"$loggedinas\",\"$mfpart\",\"$mfpartloc\",\"$mfmalfunction\",\"$nha\",\"$repord\",\"$lognoteid\",\"$pending\")");
|
values (\"$mfdate\", \"$mftime\",\"$loggedinas\",\"$mfpart\",\"$mfpartloc\",\"$mfmalfunction\",\"$nha\",\"$repord\",\"$lognoteid\",\"$pending\")");
|
||||||
$newmaintformid = mysqli_insert_id($db);
|
$newmaintformid = mysqli_insert_id($db);
|
||||||
@@ -181,7 +187,7 @@ if ($mfadd) {
|
|||||||
// update the flagmap table
|
// update the flagmap table
|
||||||
foreach ($flags as $thisflag) {
|
foreach ($flags as $thisflag) {
|
||||||
// set flag for this maintenance form
|
// set flag for this maintenance form
|
||||||
mysqli_query($db,"insert into flagmap(flagid,maintformid) values(\"$thisflag\",\"$$newmaintformid\")");
|
mysqli_query($db, "insert into flagmap(flagid,maintformid) values(\"$thisflag\",\"$newmaintformid\")");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -234,6 +240,9 @@ if ($mfdelete && $mfauthorized) {
|
|||||||
if ($actionadd) {
|
if ($actionadd) {
|
||||||
if ($actionaddsubmit) {
|
if ($actionaddsubmit) {
|
||||||
if ($action) {
|
if ($action) {
|
||||||
|
// sanitize and fix blank date and time
|
||||||
|
$actiondate = fix_date($actiondate);
|
||||||
|
$actiontime = fix_time($actiontime);
|
||||||
// determine whether supplied date is future or past
|
// determine whether supplied date is future or past
|
||||||
$datediff = mysqli_fetch_row(mysqli_query($db, "select datediff(\"$actiondate\",CURRENT_DATE)"));
|
$datediff = mysqli_fetch_row(mysqli_query($db, "select datediff(\"$actiondate\",CURRENT_DATE)"));
|
||||||
// if future, set time to 00:00:01, if past, set to 23:59:59
|
// if future, set time to 00:00:01, if past, set to 23:59:59
|
||||||
@@ -258,6 +267,9 @@ if ($actionadd) {
|
|||||||
if ($actionedit) {
|
if ($actionedit) {
|
||||||
if ($actioneditsubmit && $actionauthorized) {
|
if ($actioneditsubmit && $actionauthorized) {
|
||||||
// update the action
|
// update the action
|
||||||
|
// sanitize and fix blank date and time
|
||||||
|
$actiondate = fix_date($actiondate);
|
||||||
|
$actiontime = fix_time($actiontime);
|
||||||
// remove cruft from action text
|
// remove cruft from action text
|
||||||
$action = htmlentities($action);
|
$action = htmlentities($action);
|
||||||
$action = addslashes($action);
|
$action = addslashes($action);
|
||||||
@@ -314,7 +326,8 @@ if (($mfedit || $actionadd || $actionedit) && ! ($mfsubmit || $actionaddsubmit |
|
|||||||
$sernum = $partinfo['sernum'];
|
$sernum = $partinfo['sernum'];
|
||||||
$partname = $partinfo['partname'];
|
$partname = $partinfo['partname'];
|
||||||
$pluresult = $partinfo['result'];
|
$pluresult = $partinfo['result'];
|
||||||
if ($pluresult==2) $pdatamismatch=TRUE; else $pdatamismatch=FALSE;
|
if ($pluresult == 2) $pdatamismatch = TRUE;
|
||||||
|
else $pdatamismatch = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
$techname = dblookup($db, "techs", "techid", "techname", $mftech);
|
$techname = dblookup($db, "techs", "techid", "techname", $mftech);
|
||||||
@@ -481,13 +494,23 @@ if ($printfmt) {
|
|||||||
while ($flagcheckbox = mysqli_fetch_assoc($flagslist)) {
|
while ($flagcheckbox = mysqli_fetch_assoc($flagslist)) {
|
||||||
//if ($theseflags[0]=="") $theseflags=[];
|
//if ($theseflags[0]=="") $theseflags=[];
|
||||||
if (in_array($flagcheckbox["flagid"], $theseflags)) {
|
if (in_array($flagcheckbox["flagid"], $theseflags)) {
|
||||||
printf("<input type=\"checkbox\" name=\"flags[]\" value=\"%s\" checked><font color=\"%s\" title=\"%s\">%s</font>",
|
printf(
|
||||||
$flagcheckbox["flagid"],$flagcheckbox["flagcolor"],$flagcheckbox["flagname"],$flagcheckbox["flagsym"]);
|
"<input type=\"checkbox\" name=\"flags[]\" value=\"%s\" checked><font color=\"%s\" title=\"%s\">%s</font>",
|
||||||
|
$flagcheckbox["flagid"],
|
||||||
|
$flagcheckbox["flagcolor"],
|
||||||
|
$flagcheckbox["flagname"],
|
||||||
|
$flagcheckbox["flagsym"]
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
$flagid = $flagcheckbox["flagid"];
|
$flagid = $flagcheckbox["flagid"];
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagid=\"$flagid\" and status=1"))) {
|
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagid=\"$flagid\" and status=1"))) {
|
||||||
printf("<input type=\"checkbox\" name=\"flags[]\" value=\"%s\"><font color=\"%s\" title=\"%s\">%s</font>",
|
printf(
|
||||||
$flagcheckbox["flagid"],$flagcheckbox["flagcolor"],$flagcheckbox["flagname"],$flagcheckbox["flagsym"]);
|
"<input type=\"checkbox\" name=\"flags[]\" value=\"%s\"><font color=\"%s\" title=\"%s\">%s</font>",
|
||||||
|
$flagcheckbox["flagid"],
|
||||||
|
$flagcheckbox["flagcolor"],
|
||||||
|
$flagcheckbox["flagname"],
|
||||||
|
$flagcheckbox["flagsym"]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($flagcount < $flagsperline) {
|
if ($flagcount < $flagsperline) {
|
||||||
@@ -649,5 +672,3 @@ pageblock("right","end");
|
|||||||
pagetable("end");
|
pagetable("end");
|
||||||
|
|
||||||
framework("end", "", "", $print);
|
framework("end", "", "", $print);
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -172,5 +172,3 @@ pageblock("right","end");
|
|||||||
pagetable("end");
|
pagetable("end");
|
||||||
|
|
||||||
framework("end", "", "", $print);
|
framework("end", "", "", $print);
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -10,9 +10,9 @@
|
|||||||
include("functions.php");
|
include("functions.php");
|
||||||
|
|
||||||
if (isset($_SESSION['login'])) {
|
if (isset($_SESSION['login'])) {
|
||||||
$loggedin=1;
|
$loggedin = TRUE;
|
||||||
} else {
|
} else {
|
||||||
unset($loggedin);
|
$loggedin = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
$print = $_REQUEST['print'] ?? NULL;
|
$print = $_REQUEST['print'] ?? NULL;
|
||||||
@@ -79,7 +79,8 @@ while ($partline=mysqli_fetch_assoc($partqry)) {
|
|||||||
$pluidtxt = $partline['uid'];
|
$pluidtxt = $partline['uid'];
|
||||||
}
|
}
|
||||||
if ($loggedin) {
|
if ($loggedin) {
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<a href=\"partentry.php?edit=1&partid=%s\" title=\"Edit this part\">%s</a>
|
<a href=\"partentry.php?edit=1&partid=%s\" title=\"Edit this part\">%s</a>
|
||||||
@@ -87,13 +88,15 @@ while ($partline=mysqli_fetch_assoc($partqry)) {
|
|||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
<td>%s</td>",
|
<td>%s</td>",
|
||||||
$partline['partid'],$pluidtxt,
|
$partline['partid'],
|
||||||
|
$pluidtxt,
|
||||||
$partline['partnum'],
|
$partline['partnum'],
|
||||||
$partline['sernum'],
|
$partline['sernum'],
|
||||||
$partline['partname']
|
$partline['partname']
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
@@ -119,5 +122,3 @@ pageblock("right","end");
|
|||||||
pagetable("end");
|
pagetable("end");
|
||||||
|
|
||||||
framework("end", "", "", $print);
|
framework("end", "", "", $print);
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -54,34 +54,34 @@ if(!$print){
|
|||||||
// do error checking
|
// do error checking
|
||||||
// test for name supplied
|
// test for name supplied
|
||||||
if (strlen(trim($name))) {
|
if (strlen(trim($name))) {
|
||||||
$namesuppld=1;
|
$namesuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$namesuppld=0;
|
$namesuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech name cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech name cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
// test for name unique
|
// test for name unique
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select techid from techs where techname=\"$name\" and techid!=\"$techid\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select techid from techs where techname=\"$name\" and techid!=\"$techid\""))) {
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select techid from techs where techname=\"$name\""))) {
|
if (mysqli_num_rows(mysqli_query($db, "select techid from techs where techname=\"$name\""))) {
|
||||||
$nameunique=0;
|
$nameunique = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech name already exists.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> Tech name already exists.<br>";
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$nameunique=1;
|
$nameunique = TRUE;
|
||||||
}
|
}
|
||||||
// test for matching passwords
|
// test for matching passwords
|
||||||
if ($pass != "password_is_unchanged") {
|
if ($pass != "password_is_unchanged") {
|
||||||
if ($pass == $passconf) {
|
if ($pass == $passconf) {
|
||||||
$passmatch=1;
|
$passmatch = TRUE;
|
||||||
$passhash = password_hash($pass, PASSWORD_DEFAULT);
|
$passhash = password_hash($pass, PASSWORD_DEFAULT);
|
||||||
$namepassupdqry = ("update techs set techname=\"$name\",techpass=\"$passhash\" where techid=\"$techid\"");
|
$namepassupdqry = ("update techs set techname=\"$name\",techpass=\"$passhash\" where techid=\"$techid\"");
|
||||||
} else {
|
} else {
|
||||||
$passmatch=0;
|
$passmatch = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> The passwords you supplied don't match.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> The passwords you supplied don't match.<br>";
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$passmatch=1;
|
$passmatch = TRUE;
|
||||||
$namepassupdqry = "update techs set techname=\"$name\" where techid=\"$techid\"";
|
$namepassupdqry = "update techs set techname=\"$name\" where techid=\"$techid\"";
|
||||||
}
|
}
|
||||||
if ($namesuppld && $nameunique && $passmatch) {
|
if ($namesuppld && $nameunique && $passmatch) {
|
||||||
@@ -91,14 +91,17 @@ if(!$print){
|
|||||||
}
|
}
|
||||||
if ($updatedisplay) {
|
if ($updatedisplay) {
|
||||||
// display settings
|
// display settings
|
||||||
if ($display_showts) $display_showts=1; else $display_showts=0;
|
if ($display_showts) $display_showts = 1;
|
||||||
if ($display_techalpha=="a") $display_techalpha=1; else $display_techalpha=0;
|
else $display_showts = 0;
|
||||||
if ($display_subjalpha=="a") $display_subjalpha=1; else $display_subjalpha=0;
|
if ($display_techalpha == "a") $display_techalpha = 1;
|
||||||
|
else $display_techalpha = 0;
|
||||||
|
if ($display_subjalpha == "a") $display_subjalpha = 1;
|
||||||
|
else $display_subjalpha = 0;
|
||||||
// test for urlchunk supplied
|
// test for urlchunk supplied
|
||||||
if (strlen(trim($display_urlchunk))) {
|
if (strlen(trim($display_urlchunk))) {
|
||||||
$chunksuppld=1;
|
$chunksuppld = TRUE;
|
||||||
} else {
|
} else {
|
||||||
$chunksuppld=0;
|
$chunksuppld = FALSE;
|
||||||
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> URL chunk size cannot be blank.<br>";
|
echo "<img src=\"icons/exclamation-red.png\" border=\"0\"> URL chunk size cannot be blank.<br>";
|
||||||
}
|
}
|
||||||
if ($chunksuppld) {
|
if ($chunksuppld) {
|
||||||
@@ -113,6 +116,8 @@ if(!$print){
|
|||||||
// color settings
|
// color settings
|
||||||
$hexcolor = "#" . ltrim($hexcolor);
|
$hexcolor = "#" . ltrim($hexcolor);
|
||||||
putsetting($modcolor, $hexcolor, $techid);
|
putsetting($modcolor, $hexcolor, $techid);
|
||||||
|
$currentpage = $_SERVER['PHP_SELF'];
|
||||||
|
header("Refresh: .1; url=$currentpage");
|
||||||
}
|
}
|
||||||
if ($resetcustom) mysqli_query($db, "delete from customs where customtech=\"$techid\"");
|
if ($resetcustom) mysqli_query($db, "delete from customs where customtech=\"$techid\"");
|
||||||
|
|
||||||
@@ -294,5 +299,3 @@ pageblock("right","end");
|
|||||||
pagetable("end");
|
pagetable("end");
|
||||||
|
|
||||||
framework("end", "", "", $print);
|
framework("end", "", "", $print);
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
include("functions.php");
|
include("functions.php");
|
||||||
|
|
||||||
$print = $_REQUEST['print'] ?? "";
|
$print = $_REQUEST['print'] ?? "";
|
||||||
$chainnote=$_REQUEST['chainnote'];
|
$chainnote = $_REQUEST['chainnote'] ?? NULL;
|
||||||
|
|
||||||
$logname = LOG_NAME;
|
$logname = LOG_NAME;
|
||||||
|
|
||||||
@@ -71,7 +71,8 @@ while($mptr<count($master)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($flagstring) $fmtnote = $fmtnote . "<br>" . $flagstring;
|
if ($flagstring) $fmtnote = $fmtnote . "<br>" . $flagstring;
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href=\"logentry.php?edit=1¬eid=%s\">%s</a></td>
|
<td><a href=\"logentry.php?edit=1¬eid=%s\">%s</a></td>
|
||||||
<td>%s / %s</td>
|
<td>%s / %s</td>
|
||||||
@@ -81,13 +82,16 @@ while($mptr<count($master)) {
|
|||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$tablerow["lognoteid"],$tablerow["lognoteid"],
|
$tablerow["lognoteid"],
|
||||||
$tablerow["date"],$tablerow["time"],
|
$tablerow["lognoteid"],
|
||||||
|
$tablerow["date"],
|
||||||
|
$tablerow["time"],
|
||||||
$shname,
|
$shname,
|
||||||
$tname,
|
$tname,
|
||||||
$subjname,
|
$subjname,
|
||||||
$fmtnote,
|
$fmtnote,
|
||||||
$refs);
|
$refs
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
printf("<tr><td colspan=\"7\"><font color=\"red\">Note Id <b> %s</b> has been deleted and cannot be displayed.</font></td></tr>\n", $master[$mptr]);
|
printf("<tr><td colspan=\"7\"><font color=\"red\">Note Id <b> %s</b> has been deleted and cannot be displayed.</font></td></tr>\n", $master[$mptr]);
|
||||||
}
|
}
|
||||||
@@ -99,5 +103,3 @@ pageblock("right","end");
|
|||||||
pagetable("end");
|
pagetable("end");
|
||||||
|
|
||||||
framework("end", "", "", $print);
|
framework("end", "", "", $print);
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/*
|
/*
|
||||||
blankpage.php
|
schedmaint.php
|
||||||
OpenLog Online Logbook
|
OpenLog Online Logbook
|
||||||
Copyright (C) 2026 Rod Wright
|
Copyright (C) 2026 Rod Wright
|
||||||
|
|
||||||
@@ -73,9 +73,9 @@ $errorstack=array();
|
|||||||
if ($action) {
|
if ($action) {
|
||||||
if ($complete) {
|
if ($complete) {
|
||||||
// sanitize user input
|
// sanitize user input
|
||||||
$completedate=mysqli_real_escape_string($db,$completedate);
|
$completedate = fix_date($completedate);
|
||||||
// update events
|
// update events
|
||||||
mysqli_query($db,"update events set last_date=\"$completedate\", deferred_flag=0, deferred_date=\"0000-00-00\" where eventid=\"$id\"");
|
mysqli_query($db, "update events set last_date=\"$completedate\", deferred_flag=0, deferred_date=\"0001-01-01\" where eventid=\"$id\"");
|
||||||
if ($addlognote) {
|
if ($addlognote) {
|
||||||
$compltaskname = mysqli_fetch_row(mysqli_query($db, "select tasks.taskname from tasks,events where events.eventid=\"$id\" and tasks.taskid=events.task"))[0];
|
$compltaskname = mysqli_fetch_row(mysqli_query($db, "select tasks.taskname from tasks,events where events.eventid=\"$id\" and tasks.taskid=events.task"))[0];
|
||||||
$compldevicename = mysqli_fetch_row(mysqli_query($db, "select devices.devicename from devices,events where events.eventid=\"$id\" and devices.deviceid=events.device"))[0];
|
$compldevicename = mysqli_fetch_row(mysqli_query($db, "select devices.devicename from devices,events where events.eventid=\"$id\" and devices.deviceid=events.device"))[0];
|
||||||
@@ -88,6 +88,7 @@ if ($action) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($defer) {
|
if ($defer) {
|
||||||
|
$deferuntil = fix_date($deferuntil);
|
||||||
// update events
|
// update events
|
||||||
mysqli_query($db, "update events set deferred_flag=1, deferred_date=\"$deferuntil\" where eventid=\"$id\"");
|
mysqli_query($db, "update events set deferred_flag=1, deferred_date=\"$deferuntil\" where eventid=\"$id\"");
|
||||||
}
|
}
|
||||||
@@ -110,9 +111,12 @@ if ($add) {
|
|||||||
$errorstack[] = "<img src=\"icons/exclamation-red.png\" border=\"0\"> You didn't select a device.<br>";
|
$errorstack[] = "<img src=\"icons/exclamation-red.png\" border=\"0\"> You didn't select a device.<br>";
|
||||||
}
|
}
|
||||||
// sanitize text data
|
// sanitize text data
|
||||||
$start_date=mysqli_real_escape_string($db,$start_date);
|
if ($start_date == NULL) $start_date = $today;
|
||||||
$last_date=mysqli_real_escape_string($db,$last_date);
|
if ($last_date == NULL) $last_date = "0001-01-01";
|
||||||
$deferred_date=mysqli_real_escape_string($db,$deferred_date);
|
if ($deferred_date == NULL) $deferred_date = "0001-01-01";
|
||||||
|
$start_date = fix_date($start_date);
|
||||||
|
$last_date = fix_date($last_date);
|
||||||
|
$deferred_date = fix_date($deferred_date);
|
||||||
if ($taskselected && $deviceselected) {
|
if ($taskselected && $deviceselected) {
|
||||||
// determine if device represents a group and break out individual devices
|
// determine if device represents a group and break out individual devices
|
||||||
if (dblookup($db, "devices", "deviceid", "group_flag", $device)) {
|
if (dblookup($db, "devices", "deviceid", "group_flag", $device)) {
|
||||||
@@ -126,9 +130,6 @@ if ($add) {
|
|||||||
}
|
}
|
||||||
// run through the memberlist and modify the table
|
// run through the memberlist and modify the table
|
||||||
foreach ($memberlist as $memberdev) {
|
foreach ($memberlist as $memberdev) {
|
||||||
if ($start_date==NULL) $start_date=$today;
|
|
||||||
if ($last_date==NULL) $last_date="0000-00-00";
|
|
||||||
if ($deferred_date==NULL) $deferred_date="0000-00-00";
|
|
||||||
$addqry = ("insert into events(task,device,start_date,last_date,deferred_flag,deferred_date,active_flag)
|
$addqry = ("insert into events(task,device,start_date,last_date,deferred_flag,deferred_date,active_flag)
|
||||||
values(\"$task\",\"$memberdev\",\"$start_date\",\"$last_date\",\"$deferred_flag\",\"$deferred_date\",\"$active_flag\")");
|
values(\"$task\",\"$memberdev\",\"$start_date\",\"$last_date\",\"$deferred_flag\",\"$deferred_date\",\"$active_flag\")");
|
||||||
mysqli_query($db, $addqry);
|
mysqli_query($db, $addqry);
|
||||||
@@ -199,13 +200,13 @@ if ($edit) {
|
|||||||
if ($update) {
|
if ($update) {
|
||||||
// do error checking
|
// do error checking
|
||||||
// sanitize text data
|
// sanitize text data
|
||||||
$start_date=mysqli_real_escape_string($db,$start_date);
|
|
||||||
$last_date=mysqli_real_escape_string($db,$last_date);
|
|
||||||
$deferred_date=mysqli_real_escape_string($db,$deferred_date);
|
|
||||||
// update the tasks table
|
|
||||||
if ($start_date == NULL) $start_date = $today;
|
if ($start_date == NULL) $start_date = $today;
|
||||||
if ($last_date==NULL) $last_date="0000-00-00";
|
if ($last_date == NULL) $last_date = "0001-01-01";
|
||||||
if ($deferred_date==NULL) $deferred_date="0000-00-00";
|
if ($deferred_date == NULL) $deferred_date = "0001-01-01";
|
||||||
|
$start_date = fix_date($start_date);
|
||||||
|
$last_date = fix_date($last_date);
|
||||||
|
$deferred_date = fix_date($deferred_date);
|
||||||
|
// update the tasks table
|
||||||
mysqli_query($db, "update events
|
mysqli_query($db, "update events
|
||||||
set task=\"$task\",device=\"$device\",start_date=\"$start_date\",last_date=\"$last_date\",deferred_flag=\"$deferred_flag\",
|
set task=\"$task\",device=\"$device\",start_date=\"$start_date\",last_date=\"$last_date\",deferred_flag=\"$deferred_flag\",
|
||||||
deferred_date=\"$deferred_date\",active_flag=\"$active_flag\"
|
deferred_date=\"$deferred_date\",active_flag=\"$active_flag\"
|
||||||
@@ -404,9 +405,9 @@ if ($action) {
|
|||||||
} else {
|
} else {
|
||||||
$deferredtag = "<input type=\"checkbox\" name=\"deferred_flag\" value=\"1\">";
|
$deferredtag = "<input type=\"checkbox\" name=\"deferred_flag\" value=\"1\">";
|
||||||
}
|
}
|
||||||
if ($start_date=="0000-00-00") $start_date=$today;
|
if ($start_date == "0001-01-01") $start_date = $today;
|
||||||
if ($last_date=="0000-00-00") $last_date="";
|
//if ($last_date == "0001-01-01") $last_date = "";
|
||||||
if ($deferred_date=="0000-00-00") $deferred_date=$tomorrow;
|
if ($deferred_date == "0001-01-01") $deferred_date = $tomorrow;
|
||||||
$deferuntiltag = "<input type=\"text\" name=\"deferred_date\" id=\"deferdatepicker\" size=\"10\" maxlength=\"10\" value=\"$deferred_date\" title=\"Format: YYYY-MM-DD\">";
|
$deferuntiltag = "<input type=\"text\" name=\"deferred_date\" id=\"deferdatepicker\" size=\"10\" maxlength=\"10\" value=\"$deferred_date\" title=\"Format: YYYY-MM-DD\">";
|
||||||
$startdatetag = "<input type=\"text\" name=\"start_date\" id=\"startdatepicker\" size=\"10\" maxlength=\"10\" value=\"$start_date\" title=\"Format: YYYY-MM-DD\">";
|
$startdatetag = "<input type=\"text\" name=\"start_date\" id=\"startdatepicker\" size=\"10\" maxlength=\"10\" value=\"$start_date\" title=\"Format: YYYY-MM-DD\">";
|
||||||
$lastdatetag = "<input type=\"text\" name=\"last_date\" id=\"completedatepicker\" size=\"10\" maxlength=\"10\" value=\"$last_date\" title=\"Format: YYYY-MM-DD\">";
|
$lastdatetag = "<input type=\"text\" name=\"last_date\" id=\"completedatepicker\" size=\"10\" maxlength=\"10\" value=\"$last_date\" title=\"Format: YYYY-MM-DD\">";
|
||||||
@@ -487,9 +488,9 @@ if ($action) {
|
|||||||
";
|
";
|
||||||
while ($tablerow = mysqli_fetch_assoc($existingdata)) {
|
while ($tablerow = mysqli_fetch_assoc($existingdata)) {
|
||||||
extract($tablerow);
|
extract($tablerow);
|
||||||
if ($start_date=="0000-00-00") $start_date=$today;
|
if ($start_date == "0001-01-01") $start_date = $today;
|
||||||
if ($last_date=="0000-00-00") $last_date="";
|
if ($last_date == "0001-01-01") $last_date = "";
|
||||||
if ($deferred_date=="0000-00-00") $deferred_date="";
|
if ($deferred_date == "0001-01-01") $deferred_date = "";
|
||||||
if ($active_flag) {
|
if ($active_flag) {
|
||||||
$statdef = "<img src=\"icons/tick.png\" title=\"active\" alt=\"active\">";
|
$statdef = "<img src=\"icons/tick.png\" title=\"active\" alt=\"active\">";
|
||||||
} else {
|
} else {
|
||||||
@@ -509,7 +510,8 @@ if ($action) {
|
|||||||
} else {
|
} else {
|
||||||
$tasktitle = "Repeat every $taskdata_frequency $taskdata_period";
|
$tasktitle = "Repeat every $taskdata_frequency $taskdata_period";
|
||||||
}
|
}
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href=\"schedmaint.php?schedule=1&edit=1&id=%s\">%s</a></td>
|
<td><a href=\"schedmaint.php?schedule=1&edit=1&id=%s\">%s</a></td>
|
||||||
<td title=\"%s\">%s</td>
|
<td title=\"%s\">%s</td>
|
||||||
@@ -520,14 +522,17 @@ if ($action) {
|
|||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
<td align=\"center\">%s</td>
|
<td align=\"center\">%s</td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$eventid,$eventid,
|
$eventid,
|
||||||
$tasktitle,$taskdata_taskname,
|
$eventid,
|
||||||
|
$tasktitle,
|
||||||
|
$taskdata_taskname,
|
||||||
$devicedata_devicename,
|
$devicedata_devicename,
|
||||||
$start_date,
|
$start_date,
|
||||||
$last_date,
|
$last_date,
|
||||||
$deferredflag,
|
$deferredflag,
|
||||||
$deferred_date,
|
$deferred_date,
|
||||||
$statdef);
|
$statdef
|
||||||
|
);
|
||||||
}
|
}
|
||||||
echo "</table>";
|
echo "</table>";
|
||||||
} else if ($tasks) {
|
} else if ($tasks) {
|
||||||
@@ -650,7 +655,8 @@ if ($action) {
|
|||||||
} else {
|
} else {
|
||||||
$wdoflag = "<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
$wdoflag = "<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
||||||
}
|
}
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href=\"schedmaint.php?tasks=1&edit=1&id=%s\">%s</a></td>
|
<td><a href=\"schedmaint.php?tasks=1&edit=1&id=%s\">%s</a></td>
|
||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
@@ -660,16 +666,17 @@ if ($action) {
|
|||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
<td align=\"center\">%s</td>
|
<td align=\"center\">%s</td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$taskid,$taskname,
|
$taskid,
|
||||||
|
$taskname,
|
||||||
$taskdesc,
|
$taskdesc,
|
||||||
$rptstrg,
|
$rptstrg,
|
||||||
$duecalc,
|
$duecalc,
|
||||||
$wdoflag,
|
$wdoflag,
|
||||||
$refstrg,
|
$refstrg,
|
||||||
$statdef);
|
$statdef
|
||||||
|
);
|
||||||
}
|
}
|
||||||
echo "</table>";
|
echo "</table>";
|
||||||
|
|
||||||
} else if ($devices) {
|
} else if ($devices) {
|
||||||
// manage devices
|
// manage devices
|
||||||
if ($edit) {
|
if ($edit) {
|
||||||
@@ -735,7 +742,8 @@ if ($action) {
|
|||||||
} else {
|
} else {
|
||||||
$memberdef = "<input type=\"checkbox\" name=\"members[]\" value=\"$gtbl_deviceid\">";
|
$memberdef = "<input type=\"checkbox\" name=\"members[]\" value=\"$gtbl_deviceid\">";
|
||||||
}
|
}
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
@@ -743,7 +751,8 @@ if ($action) {
|
|||||||
</tr>",
|
</tr>",
|
||||||
$gtbl_devicename,
|
$gtbl_devicename,
|
||||||
$gtbl_devicedesc,
|
$gtbl_devicedesc,
|
||||||
$memberdef);
|
$memberdef
|
||||||
|
);
|
||||||
}
|
}
|
||||||
echo "</table><br>";
|
echo "</table><br>";
|
||||||
}
|
}
|
||||||
@@ -774,7 +783,8 @@ if ($action) {
|
|||||||
} else {
|
} else {
|
||||||
$statdef = "<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
$statdef = "<img src=\"icons/cross.png\" title=\"inactive\" alt=\"inactive\">";
|
||||||
}
|
}
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href=\"schedmaint.php?devices=1&edit=1&id=%s\">%s</a></td>
|
<td><a href=\"schedmaint.php?devices=1&edit=1&id=%s\">%s</a></td>
|
||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
@@ -782,18 +792,23 @@ if ($action) {
|
|||||||
<td align=\"center\">%s</td>
|
<td align=\"center\">%s</td>
|
||||||
<td align=\"center\">%s</td>
|
<td align=\"center\">%s</td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$deviceid,$deviceid,
|
$deviceid,
|
||||||
|
$deviceid,
|
||||||
$devicename,
|
$devicename,
|
||||||
$devicedesc,
|
$devicedesc,
|
||||||
$groupdef,
|
$groupdef,
|
||||||
$statdef);
|
$statdef
|
||||||
|
);
|
||||||
}
|
}
|
||||||
echo "</table>";
|
echo "</table>";
|
||||||
} else {
|
} else {
|
||||||
$ucevents = get_upcoming_events();
|
$ucevents = get_upcoming_events();
|
||||||
|
|
||||||
// sort the upcoming events
|
// sort the upcoming events
|
||||||
function uc_cmp($a,$b) { return strcmp($a["duedate"], $b["duedate"]); }
|
function uc_cmp($a, $b)
|
||||||
|
{
|
||||||
|
return strcmp($a["duedate"], $b["duedate"]);
|
||||||
|
}
|
||||||
uasort($ucevents, 'uc_cmp');
|
uasort($ucevents, 'uc_cmp');
|
||||||
|
|
||||||
// show upcoming events table
|
// show upcoming events table
|
||||||
@@ -806,16 +821,20 @@ if ($action) {
|
|||||||
";
|
";
|
||||||
foreach ($ucevents as $ucline) {
|
foreach ($ucevents as $ucline) {
|
||||||
extract($ucline);
|
extract($ucline);
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href=\"schedmaint.php?action=1&id=%s\" title=\"Click to complete or defer this scheduled maintenance event\">%s</a></td>
|
<td><a href=\"schedmaint.php?action=1&id=%s\" title=\"Click to complete or defer this scheduled maintenance event\">%s</a></td>
|
||||||
<td><font title=\"%s\">%s</font></td>
|
<td><font title=\"%s\">%s</font></td>
|
||||||
<td><font title=\"%s\">%s</font></td>
|
<td><font title=\"%s\">%s</font></td>
|
||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$eventdata_eventid,$duedatestrg,
|
$eventdata_eventid,
|
||||||
$devicedata_devicedesc,$devicedata_devicename,
|
$duedatestrg,
|
||||||
$taskdata_taskdesc,$taskdata_taskname,
|
$devicedata_devicedesc,
|
||||||
|
$devicedata_devicename,
|
||||||
|
$taskdata_taskdesc,
|
||||||
|
$taskdata_taskname,
|
||||||
$lastdatestrg
|
$lastdatestrg
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -837,7 +856,7 @@ if ($action) {
|
|||||||
$taskdata = mysqli_fetch_assoc(mysqli_query($db, "select * from tasks where taskid=\"$def_task\""));
|
$taskdata = mysqli_fetch_assoc(mysqli_query($db, "select * from tasks where taskid=\"$def_task\""));
|
||||||
extract($taskdata, EXTR_PREFIX_ALL, "taskdata");
|
extract($taskdata, EXTR_PREFIX_ALL, "taskdata");
|
||||||
if (! ($taskdata_period == "once" && $def_last_date > $def_start_date)) {
|
if (! ($taskdata_period == "once" && $def_last_date > $def_start_date)) {
|
||||||
if ($def_last_date=="0000-00-00") {
|
if ($def_last_date == "0001-01-01") {
|
||||||
$lastdatestrg = "never";
|
$lastdatestrg = "never";
|
||||||
} else {
|
} else {
|
||||||
$lastdatestrg = "$def_last_date";
|
$lastdatestrg = "$def_last_date";
|
||||||
@@ -865,16 +884,20 @@ if ($action) {
|
|||||||
";
|
";
|
||||||
foreach ($defevents as $defline) {
|
foreach ($defevents as $defline) {
|
||||||
extract($defline);
|
extract($defline);
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href=\"schedmaint.php?action=1&id=%s\" title=\"Click to complete or defer this scheduled maintenance event\"><font color=\"#FFA500\">%s</font></a></td>
|
<td><a href=\"schedmaint.php?action=1&id=%s\" title=\"Click to complete or defer this scheduled maintenance event\"><font color=\"#FFA500\">%s</font></a></td>
|
||||||
<td><font title=\"%s\">%s</font></td>
|
<td><font title=\"%s\">%s</font></td>
|
||||||
<td><font title=\"%s\">%s</font></td>
|
<td><font title=\"%s\">%s</font></td>
|
||||||
<td>%s</td>
|
<td>%s</td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$def_eventid,$def_deferred_date,
|
$def_eventid,
|
||||||
$devicedata_devicedesc,$devicedata_devicename,
|
$def_deferred_date,
|
||||||
$taskdata_taskdesc,$taskdata_taskname,
|
$devicedata_devicedesc,
|
||||||
|
$devicedata_devicename,
|
||||||
|
$taskdata_taskdesc,
|
||||||
|
$taskdata_taskname,
|
||||||
$lastdatestrg
|
$lastdatestrg
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -890,5 +913,3 @@ pageblock("right","end");
|
|||||||
pagetable("end");
|
pagetable("end");
|
||||||
|
|
||||||
framework("end", "", "", $print);
|
framework("end", "", "", $print);
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -9,12 +9,12 @@
|
|||||||
|
|
||||||
include("functions.php");
|
include("functions.php");
|
||||||
|
|
||||||
$noprint=1;
|
$noprint = TRUE;
|
||||||
|
|
||||||
if (isset($_SESSION['login'])) {
|
if (isset($_SESSION['login'])) {
|
||||||
$loggedin=1;
|
$loggedin = TRUE;
|
||||||
} else {
|
} else {
|
||||||
unset($loggedin);
|
$loggedin = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
$print = $_REQUEST['print'] ?? NULL;
|
$print = $_REQUEST['print'] ?? NULL;
|
||||||
@@ -35,7 +35,7 @@ $srchploc=$_REQUEST['srchploc'] ?? NULL;
|
|||||||
$srchnha = $_REQUEST['srchnha'] ?? NULL;
|
$srchnha = $_REQUEST['srchnha'] ?? NULL;
|
||||||
$srchrepord = $_REQUEST['srchrepord'] ?? NULL;
|
$srchrepord = $_REQUEST['srchrepord'] ?? NULL;
|
||||||
$srchflags = $_POST['srchflags'] ?? [];
|
$srchflags = $_POST['srchflags'] ?? [];
|
||||||
$target=$_REQUEST['target'] ?? NULL;
|
$target = $_REQUEST['target'] ?? ["log", "maintform", "part"];
|
||||||
|
|
||||||
$doparts = PARTS_FUNCTIONS;
|
$doparts = PARTS_FUNCTIONS;
|
||||||
$logname = LOG_NAME;
|
$logname = LOG_NAME;
|
||||||
@@ -56,7 +56,7 @@ framework("begin","$logname Search","Search",$print);
|
|||||||
|
|
||||||
// echo "REQUEST variables: <br>";
|
// echo "REQUEST variables: <br>";
|
||||||
// var_dump($_REQUEST);
|
// var_dump($_REQUEST);
|
||||||
|
// echo "<br>";
|
||||||
|
|
||||||
// ******** begin database manipulation ********
|
// ******** begin database manipulation ********
|
||||||
|
|
||||||
@@ -92,7 +92,6 @@ if ($search) {
|
|||||||
$srchpname = trim($srchpname);
|
$srchpname = trim($srchpname);
|
||||||
$srchploc = trim($srchploc);
|
$srchploc = trim($srchploc);
|
||||||
$srchnha = trim($srchnha);
|
$srchnha = trim($srchnha);
|
||||||
if ($target[0]=="") $target=[];
|
|
||||||
if (in_array("log", $target)) {
|
if (in_array("log", $target)) {
|
||||||
// define the query constraints
|
// define the query constraints
|
||||||
// log note id
|
// log note id
|
||||||
@@ -131,23 +130,6 @@ if ($search) {
|
|||||||
$logfromtables[] = "lognotes";
|
$logfromtables[] = "lognotes";
|
||||||
$logconstraints[] = "lognotes.lognote like \"%$srchtext%\"";
|
$logconstraints[] = "lognotes.lognote like \"%$srchtext%\"";
|
||||||
}
|
}
|
||||||
// flags
|
|
||||||
if (!empty($srchflags)) {
|
|
||||||
unset($flagconstraints);
|
|
||||||
$flagcount=count($srchflags);
|
|
||||||
$logfromtables[]="lognotes";
|
|
||||||
$logfromtables[]="flagmap";
|
|
||||||
$flagconstraints[]="flagmap.lognoteid=lognotes.lognoteid and flagmap.flagid in (";
|
|
||||||
foreach ($srchflags as $flagid) {
|
|
||||||
$flagconstraints[]="\"$flagid\"";
|
|
||||||
$flagconstraints[]=",";
|
|
||||||
}
|
|
||||||
// remove final comma
|
|
||||||
array_splice($flagconstraints, -1, 1);
|
|
||||||
$flagconstraints[]=") group by flagmap.lognoteid having count(distinct flagmap.flagid)=$flagcount";
|
|
||||||
// make flagconstraints a single string so that the final implode doesn't split it
|
|
||||||
$logconstraints[]=join('', $flagconstraints);
|
|
||||||
}
|
|
||||||
// uid
|
// uid
|
||||||
if ($srchuid != "any" && $srchuid != "") {
|
if ($srchuid != "any" && $srchuid != "") {
|
||||||
$logfromtables[] = "lognotes";
|
$logfromtables[] = "lognotes";
|
||||||
@@ -200,12 +182,28 @@ if ($search) {
|
|||||||
$logfromtables[] = "maintforms";
|
$logfromtables[] = "maintforms";
|
||||||
$logconstraints[] = "lognotes.lognoteid=logparts.lognoteid and logparts.partid=parts.partid and maintforms.mfpart=parts.partid and maintforms.repord=\"{$srchrepord}\"";
|
$logconstraints[] = "lognotes.lognoteid=logparts.lognoteid and logparts.partid=parts.partid and maintforms.mfpart=parts.partid and maintforms.repord=\"{$srchrepord}\"";
|
||||||
}
|
}
|
||||||
|
// flags
|
||||||
|
if (!empty($srchflags)) {
|
||||||
|
unset($flagconstraints);
|
||||||
|
$flagcount = count($srchflags);
|
||||||
|
$logfromtables[] = "lognotes";
|
||||||
|
$logfromtables[] = "flagmap";
|
||||||
|
$flagconstraints[] = "flagmap.lognoteid=lognotes.lognoteid and flagmap.flagid in (";
|
||||||
|
foreach ($srchflags as $flagid) {
|
||||||
|
$flagconstraints[] = "\"$flagid\"";
|
||||||
|
$flagconstraints[] = ",";
|
||||||
|
}
|
||||||
|
// remove final comma
|
||||||
|
array_splice($flagconstraints, -1, 1);
|
||||||
|
$flagconstraints[] = ") group by flagmap.lognoteid having count(distinct flagmap.flagid)=$flagcount";
|
||||||
|
// make flagconstraints a single string so that the final implode doesn't split it
|
||||||
|
$logconstraints[] = join('', $flagconstraints);
|
||||||
|
}
|
||||||
// build the clauses and run the query
|
// build the clauses and run the query
|
||||||
$logfromclause = implode(",", array_unique($logfromtables));
|
$logfromclause = implode(",", array_unique($logfromtables));
|
||||||
$logwhereclause = implode(" and ", $logconstraints);
|
$logwhereclause = implode(" and ", $logconstraints);
|
||||||
$logrowqry = mysqli_query($db, "select lognotes.* from $logfromclause where $logwhereclause order by lognotes.date asc, lognotes.time asc");
|
$logrowqry = mysqli_query($db, "select lognotes.* from $logfromclause where $logwhereclause order by lognotes.date asc, lognotes.time asc");
|
||||||
}
|
}
|
||||||
if ($target[0]=="") $target=[];
|
|
||||||
if (in_array("maintform", $target)) {
|
if (in_array("maintform", $target)) {
|
||||||
// maintforms search
|
// maintforms search
|
||||||
// define the query constraints
|
// define the query constraints
|
||||||
@@ -248,23 +246,6 @@ if ($search) {
|
|||||||
$mffromtables[] = "maintactions";
|
$mffromtables[] = "maintactions";
|
||||||
$mfconstraints[] = "maintforms.mfmalfunction like \"%$srchtext%\" or (maintactions.action like \"%$srchtext%\" and maintforms.maintformid=maintactions.maintformnum)";
|
$mfconstraints[] = "maintforms.mfmalfunction like \"%$srchtext%\" or (maintactions.action like \"%$srchtext%\" and maintforms.maintformid=maintactions.maintformnum)";
|
||||||
}
|
}
|
||||||
// flags
|
|
||||||
if (!empty($srchflags)) {
|
|
||||||
unset($flagconstraints);
|
|
||||||
$flagcount=count($srchflags);
|
|
||||||
$mffromtables[]="maintforms";
|
|
||||||
$mffromtables[]="flagmap";
|
|
||||||
$flagconstraints[]="flagmap.maintformid=maintforms.maintformid and flagmap.flagid in (";
|
|
||||||
foreach ($srchflags as $thisflagid) {
|
|
||||||
$flagconstraints[]="\"$thisflagid\"";
|
|
||||||
$flagconstraints[]=",";
|
|
||||||
}
|
|
||||||
// remove final comma
|
|
||||||
array_splice($flagconstraints, -1, 1);
|
|
||||||
$flagconstraints[]=") group by flagmap.maintformid having count(distinct flagmap.flagid)=$flagcount";
|
|
||||||
// make flagconstraints a single string so that the final implode doesn't split it
|
|
||||||
$mfconstraints[]=join('', $flagconstraints);
|
|
||||||
}
|
|
||||||
// uid
|
// uid
|
||||||
if ($srchuid != "any" && $srchuid != "") {
|
if ($srchuid != "any" && $srchuid != "") {
|
||||||
$mffromtables[] = "maintforms";
|
$mffromtables[] = "maintforms";
|
||||||
@@ -307,12 +288,28 @@ if ($search) {
|
|||||||
$mffromtables[] = "maintforms";
|
$mffromtables[] = "maintforms";
|
||||||
$mfconstraints[] = "maintforms.mfpart=parts.partid and maintforms.repord=\"{$srchrepord}\"";
|
$mfconstraints[] = "maintforms.mfpart=parts.partid and maintforms.repord=\"{$srchrepord}\"";
|
||||||
}
|
}
|
||||||
|
// flags
|
||||||
|
if (!empty($srchflags)) {
|
||||||
|
unset($flagconstraints);
|
||||||
|
$flagcount = count($srchflags);
|
||||||
|
$mffromtables[] = "maintforms";
|
||||||
|
$mffromtables[] = "flagmap";
|
||||||
|
$flagconstraints[] = "flagmap.maintformid=maintforms.maintformid and flagmap.flagid in (";
|
||||||
|
foreach ($srchflags as $thisflagid) {
|
||||||
|
$flagconstraints[] = "\"$thisflagid\"";
|
||||||
|
$flagconstraints[] = ",";
|
||||||
|
}
|
||||||
|
// remove final comma
|
||||||
|
array_splice($flagconstraints, -1, 1);
|
||||||
|
$flagconstraints[] = ") group by flagmap.maintformid having count(distinct flagmap.flagid)=$flagcount";
|
||||||
|
// make flagconstraints a single string so that the final implode doesn't split it
|
||||||
|
$mfconstraints[] = join('', $flagconstraints);
|
||||||
|
}
|
||||||
// build the clauses and run the query
|
// build the clauses and run the query
|
||||||
$mffromclause = implode(",", array_unique($mffromtables));
|
$mffromclause = implode(",", array_unique($mffromtables));
|
||||||
$mfwhereclause = implode(" and ", $mfconstraints);
|
$mfwhereclause = implode(" and ", $mfconstraints);
|
||||||
$mfrowqry = mysqli_query($db, "select maintforms.* from $mffromclause where $mfwhereclause order by maintforms.mfdate asc, maintforms.mftime asc");
|
$mfrowqry = mysqli_query($db, "select maintforms.* from $mffromclause where $mfwhereclause order by maintforms.mfdate asc, maintforms.mftime asc");
|
||||||
}
|
}
|
||||||
if ($target[0]=="") $target=[];
|
|
||||||
if (in_array("part", $target)) {
|
if (in_array("part", $target)) {
|
||||||
// parts search
|
// parts search
|
||||||
// define the query constraints
|
// define the query constraints
|
||||||
@@ -334,7 +331,6 @@ if ($search) {
|
|||||||
// tech doesn't apply to parts
|
// tech doesn't apply to parts
|
||||||
// subject doesn't apply to parts
|
// subject doesn't apply to parts
|
||||||
// search text doesn't apply to parts
|
// search text doesn't apply to parts
|
||||||
// flags doesn't apply to parts
|
|
||||||
// uid
|
// uid
|
||||||
if ($srchuid != "any" && $srchuid != "") {
|
if ($srchuid != "any" && $srchuid != "") {
|
||||||
$pfromtables[] = "parts";
|
$pfromtables[] = "parts";
|
||||||
@@ -373,6 +369,7 @@ if ($search) {
|
|||||||
$pfromtables[] = "maintforms";
|
$pfromtables[] = "maintforms";
|
||||||
$pconstraints[] = "maintforms.mfpart=parts.partid and maintforms.repord=\"{$srchrepord}\"";
|
$pconstraints[] = "maintforms.mfpart=parts.partid and maintforms.repord=\"{$srchrepord}\"";
|
||||||
}
|
}
|
||||||
|
// flags doesn't apply to parts
|
||||||
// build the clauses and run the query
|
// build the clauses and run the query
|
||||||
$pfromclause = implode(",", array_unique($pfromtables));
|
$pfromclause = implode(",", array_unique($pfromtables));
|
||||||
$pwhereclause = implode(" and ", $pconstraints);
|
$pwhereclause = implode(" and ", $pconstraints);
|
||||||
@@ -390,21 +387,36 @@ if(!$print){
|
|||||||
pageblock("right", "begin");
|
pageblock("right", "begin");
|
||||||
banner($print);
|
banner($print);
|
||||||
// display the form
|
// display the form
|
||||||
if ($srchnoteid) $noteidval=$srchnoteid; else $noteidval="any";
|
if ($srchnoteid) $noteidval = $srchnoteid;
|
||||||
if ($srchmfid) $mfidval=$srchmfid; else $mfidval="any";
|
else $noteidval = "any";
|
||||||
if ($srchbdate) $bdateval=$srchbdate; else $bdateval=$mindate;
|
if ($srchmfid) $mfidval = $srchmfid;
|
||||||
if ($srchedate) $edateval=$srchedate; else $edateval=$maxdate;
|
else $mfidval = "any";
|
||||||
if ($srchshift) $shiftval=$srchshift; else $shiftval=0;
|
if ($srchbdate) $bdateval = $srchbdate;
|
||||||
if ($srchtech) $techval=$srchtech; else $techval=0;
|
else $bdateval = $mindate;
|
||||||
if ($srchsubj) $subjval=$srchsubj; else $subjval=0;
|
if ($srchedate) $edateval = $srchedate;
|
||||||
if ($srchtext) $textval=$srchtext; else $textval="";
|
else $edateval = $maxdate;
|
||||||
if ($srchuid) $uidval=$srchuid; else $uidval="any";
|
if ($srchshift) $shiftval = $srchshift;
|
||||||
if ($srchpn) $pnval=$srchpn; else $pnval="any";
|
else $shiftval = 0;
|
||||||
if ($srchsn) $snval=$srchsn; else $snval="any";
|
if ($srchtech) $techval = $srchtech;
|
||||||
if ($srchpname) $pnameval=$srchpname; else $pnameval="any";
|
else $techval = 0;
|
||||||
if ($srchploc) $plocval=$srchploc; else $plocval="any";
|
if ($srchsubj) $subjval = $srchsubj;
|
||||||
if ($srchnha) $nhaval=$srchnha; else $nhaval="any";
|
else $subjval = 0;
|
||||||
if ($srchrepord) $repordval=$srchrepord; else $repordval="any";
|
if ($srchtext) $textval = $srchtext;
|
||||||
|
else $textval = "";
|
||||||
|
if ($srchuid) $uidval = $srchuid;
|
||||||
|
else $uidval = "any";
|
||||||
|
if ($srchpn) $pnval = $srchpn;
|
||||||
|
else $pnval = "any";
|
||||||
|
if ($srchsn) $snval = $srchsn;
|
||||||
|
else $snval = "any";
|
||||||
|
if ($srchpname) $pnameval = $srchpname;
|
||||||
|
else $pnameval = "any";
|
||||||
|
if ($srchploc) $plocval = $srchploc;
|
||||||
|
else $plocval = "any";
|
||||||
|
if ($srchnha) $nhaval = $srchnha;
|
||||||
|
else $nhaval = "any";
|
||||||
|
if ($srchrepord) $repordval = $srchrepord;
|
||||||
|
else $repordval = "any";
|
||||||
|
|
||||||
if (!$print) {
|
if (!$print) {
|
||||||
echo "
|
echo "
|
||||||
@@ -439,7 +451,8 @@ if (!$print) {
|
|||||||
} else {
|
} else {
|
||||||
echo "<option value=\"0\">any</option>";
|
echo "<option value=\"0\">any</option>";
|
||||||
}
|
}
|
||||||
if ($techalpha) $torder="techname"; else $torder="techid";
|
if ($techalpha) $torder = "techname";
|
||||||
|
else $torder = "techid";
|
||||||
$techrow = mysqli_query($db, "select * from techs order by $torder asc");
|
$techrow = mysqli_query($db, "select * from techs order by $torder asc");
|
||||||
while ($techitem = mysqli_fetch_assoc($techrow)) {
|
while ($techitem = mysqli_fetch_assoc($techrow)) {
|
||||||
if ($techitem['techid'] == $techval) {
|
if ($techitem['techid'] == $techval) {
|
||||||
@@ -457,7 +470,8 @@ if (!$print) {
|
|||||||
} else {
|
} else {
|
||||||
echo "<option value=\"0\">any</option>";
|
echo "<option value=\"0\">any</option>";
|
||||||
}
|
}
|
||||||
if ($subjalpha) $sorder="subjectname"; else $sorder="subjectid";
|
if ($subjalpha) $sorder = "subjectname";
|
||||||
|
else $sorder = "subjectid";
|
||||||
$subjrow = mysqli_query($db, "select * from subjects order by $sorder asc");
|
$subjrow = mysqli_query($db, "select * from subjects order by $sorder asc");
|
||||||
while ($subjitem = mysqli_fetch_assoc($subjrow)) {
|
while ($subjitem = mysqli_fetch_assoc($subjrow)) {
|
||||||
if ($subjitem['subjectid'] == $subjval) {
|
if ($subjitem['subjectid'] == $subjval) {
|
||||||
@@ -632,8 +646,11 @@ if (!$print) {
|
|||||||
if ($srchflags) {
|
if ($srchflags) {
|
||||||
if ($srchflags[0] == "") $srchflags = [];
|
if ($srchflags[0] == "") $srchflags = [];
|
||||||
if (in_array($flagcheckbox["flagid"], $srchflags)) {
|
if (in_array($flagcheckbox["flagid"], $srchflags)) {
|
||||||
printf("<font color=\"%s\">%s</font>",
|
printf(
|
||||||
$flagcheckbox["flagcolor"],$flagcheckbox["flagsym"]);
|
"<font color=\"%s\">%s</font>",
|
||||||
|
$flagcheckbox["flagcolor"],
|
||||||
|
$flagcheckbox["flagsym"]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($flagcount < $flagsperline) {
|
if ($flagcount < $flagsperline) {
|
||||||
@@ -711,7 +728,8 @@ if ($search) {
|
|||||||
$logfmtnote = $logfmtnote . "<br>";
|
$logfmtnote = $logfmtnote . "<br>";
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("<tr>
|
printf(
|
||||||
|
"<tr>
|
||||||
<td valign=\"top\"><a href=logentry.php?edit=1¬eid=%s>%s</a></td>
|
<td valign=\"top\"><a href=logentry.php?edit=1¬eid=%s>%s</a></td>
|
||||||
<td valign=\"top\">%s / %s</td>
|
<td valign=\"top\">%s / %s</td>
|
||||||
<td valign=\"top\">%s</td>
|
<td valign=\"top\">%s</td>
|
||||||
@@ -720,13 +738,16 @@ if ($search) {
|
|||||||
<td valign=\"top\">%s</td>
|
<td valign=\"top\">%s</td>
|
||||||
<td valign=\"top\">%s</td>
|
<td valign=\"top\">%s</td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$logtablerow['lognoteid'],$logtablerow['lognoteid'],
|
$logtablerow['lognoteid'],
|
||||||
$logtablerow['date'],$logtablerow['time'],
|
$logtablerow['lognoteid'],
|
||||||
|
$logtablerow['date'],
|
||||||
|
$logtablerow['time'],
|
||||||
$logshname,
|
$logshname,
|
||||||
$logtname,
|
$logtname,
|
||||||
$logsubjname,
|
$logsubjname,
|
||||||
$logfmtnote,
|
$logfmtnote,
|
||||||
$logrefs);
|
$logrefs
|
||||||
|
);
|
||||||
}
|
}
|
||||||
echo "</table><br><hr>";
|
echo "</table><br><hr>";
|
||||||
} else {
|
} else {
|
||||||
@@ -782,14 +803,16 @@ if ($search) {
|
|||||||
<td valign=\"top\">%s</td>
|
<td valign=\"top\">%s</td>
|
||||||
<td align=\"center\" valign=\"top\">$mfnotetag</td>
|
<td align=\"center\" valign=\"top\">$mfnotetag</td>
|
||||||
</tr>",
|
</tr>",
|
||||||
$mfrow["maintformid"],$mfrow["maintformid"],
|
$mfrow["maintformid"],
|
||||||
|
$mfrow["maintformid"],
|
||||||
$mfrow["mfdate"],
|
$mfrow["mfdate"],
|
||||||
$mftname,
|
$mftname,
|
||||||
$mfuid,
|
$mfuid,
|
||||||
$mfpartno,
|
$mfpartno,
|
||||||
$mfserno,
|
$mfserno,
|
||||||
$mfpartname,
|
$mfpartname,
|
||||||
$mfnoteidval,$mfnoteidval
|
$mfnoteidval,
|
||||||
|
$mfnoteidval
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
echo "</table><br><hr>";
|
echo "</table><br><hr>";
|
||||||
@@ -815,7 +838,8 @@ if ($search) {
|
|||||||
";
|
";
|
||||||
while ($partrow = mysqli_fetch_assoc($prowqry)) {
|
while ($partrow = mysqli_fetch_assoc($prowqry)) {
|
||||||
if ($loggedin) {
|
if ($loggedin) {
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<a href=\"partentry.php?edit=1&partid=%s\"><img src=\"icons/notebook--pencil.png\" border=\"0\" title=\"Edit this part\" alt=\"Edit this part\"></a>
|
<a href=\"partentry.php?edit=1&partid=%s\"><img src=\"icons/notebook--pencil.png\" border=\"0\" title=\"Edit this part\" alt=\"Edit this part\"></a>
|
||||||
@@ -831,7 +855,8 @@ if ($search) {
|
|||||||
$partrow['partname']
|
$partrow['partname']
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
printf("
|
printf(
|
||||||
|
"
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<img src=\"icons/notebook--pencil.png\" border=\"0\" title=\"You must be logged in to edit a part\" alt=\"You must be logged in to edit a part\">
|
<img src=\"icons/notebook--pencil.png\" border=\"0\" title=\"You must be logged in to edit a part\" alt=\"You must be logged in to edit a part\">
|
||||||
@@ -864,5 +889,3 @@ pageblock("right","end");
|
|||||||
pagetable("end");
|
pagetable("end");
|
||||||
|
|
||||||
framework("end", "", "", $print);
|
framework("end", "", "", $print);
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -61,5 +61,3 @@ if ($logerrors==1) {
|
|||||||
} else {
|
} else {
|
||||||
error_reporting(0);
|
error_reporting(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -58,7 +58,8 @@ if ($isadmin) {
|
|||||||
|
|
||||||
// var_dump($_REQUEST);
|
// var_dump($_REQUEST);
|
||||||
|
|
||||||
function templatetable($db,$techid,$user) {
|
function templatetable($db, $techid, $user)
|
||||||
|
{
|
||||||
// Show template table
|
// Show template table
|
||||||
$isadmin = dblookup($db, "techs", "techid", "admin", $techid);
|
$isadmin = dblookup($db, "techs", "techid", "admin", $techid);
|
||||||
$templatequery = mysqli_query($db, "select * from notetemplates where tech=\"$user\" order by templatename asc");
|
$templatequery = mysqli_query($db, "select * from notetemplates where tech=\"$user\" order by templatename asc");
|
||||||
@@ -161,6 +162,12 @@ if ($usertemplateid) {
|
|||||||
$loadtemplate = NULL;
|
$loadtemplate = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// determine original owner of template
|
||||||
|
$orig_owner = dblookup($db, "notetemplates", "templateid", "tech", $templateid);
|
||||||
|
if ($efftechid != NULL && $efftechid != $orig_owner) {
|
||||||
|
$operation = "add";
|
||||||
|
}
|
||||||
|
|
||||||
if ($operation == "add") {
|
if ($operation == "add") {
|
||||||
if ($submit) {
|
if ($submit) {
|
||||||
if ($note) {
|
if ($note) {
|
||||||
@@ -393,7 +400,8 @@ if ($operation=="delete") {
|
|||||||
} else {
|
} else {
|
||||||
echo "<option value=\"0\">--Global Template--</option>";
|
echo "<option value=\"0\">--Global Template--</option>";
|
||||||
}
|
}
|
||||||
if ($techalpha) $torder="techname"; else $torder="techid";
|
if ($techalpha) $torder = "techname";
|
||||||
|
else $torder = "techid";
|
||||||
$techrow = mysqli_query($db, "select * from techs order by $torder asc");
|
$techrow = mysqli_query($db, "select * from techs order by $torder asc");
|
||||||
while ($techitem = mysqli_fetch_assoc($techrow)) {
|
while ($techitem = mysqli_fetch_assoc($techrow)) {
|
||||||
if ($techitem["techid"] == $filltech) {
|
if ($techitem["techid"] == $filltech) {
|
||||||
@@ -431,7 +439,8 @@ if ($operation=="delete") {
|
|||||||
<td><b>Subject: </b>
|
<td><b>Subject: </b>
|
||||||
<select name=\"subject\">
|
<select name=\"subject\">
|
||||||
";
|
";
|
||||||
if ($subjalpha) $sorder="subjectname"; else $sorder="subjectid";
|
if ($subjalpha) $sorder = "subjectname";
|
||||||
|
else $sorder = "subjectid";
|
||||||
$subjrow = mysqli_query($db, "select * from subjects order by $sorder asc");
|
$subjrow = mysqli_query($db, "select * from subjects order by $sorder asc");
|
||||||
while ($subjitem = mysqli_fetch_assoc($subjrow)) {
|
while ($subjitem = mysqli_fetch_assoc($subjrow)) {
|
||||||
if ($subjitem["status"] == 1) {
|
if ($subjitem["status"] == 1) {
|
||||||
@@ -474,13 +483,23 @@ if ($operation=="delete") {
|
|||||||
// display checkboxes for all the flags, selecting the ones that are set for this template
|
// display checkboxes for all the flags, selecting the ones that are set for this template
|
||||||
while ($flagcheckbox = mysqli_fetch_assoc($flagslist)) {
|
while ($flagcheckbox = mysqli_fetch_assoc($flagslist)) {
|
||||||
if ($operation == "edit" && in_array($flagcheckbox["flagid"], $theseflags)) {
|
if ($operation == "edit" && in_array($flagcheckbox["flagid"], $theseflags)) {
|
||||||
printf("<input type=\"checkbox\" name=\"flags[]\" value=\"%s\" checked><font color=\"%s\" title=\"%s\">%s</font>",
|
printf(
|
||||||
$flagcheckbox["flagid"],$flagcheckbox["flagcolor"],$flagcheckbox["flagname"],$flagcheckbox["flagsym"]);
|
"<input type=\"checkbox\" name=\"flags[]\" value=\"%s\" checked><font color=\"%s\" title=\"%s\">%s</font>",
|
||||||
|
$flagcheckbox["flagid"],
|
||||||
|
$flagcheckbox["flagcolor"],
|
||||||
|
$flagcheckbox["flagname"],
|
||||||
|
$flagcheckbox["flagsym"]
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
$flagid = $flagcheckbox["flagid"];
|
$flagid = $flagcheckbox["flagid"];
|
||||||
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagid=\"$flagid\" and status=1"))) {
|
if (mysqli_num_rows(mysqli_query($db, "select flagid from flags where flagid=\"$flagid\" and status=1"))) {
|
||||||
printf("<input type=\"checkbox\" name=\"flags[]\" value=\"%s\"><font color=\"%s\" title=\"%s\">%s</font>",
|
printf(
|
||||||
$flagcheckbox["flagid"],$flagcheckbox["flagcolor"],$flagcheckbox["flagname"],$flagcheckbox["flagsym"]);
|
"<input type=\"checkbox\" name=\"flags[]\" value=\"%s\"><font color=\"%s\" title=\"%s\">%s</font>",
|
||||||
|
$flagcheckbox["flagid"],
|
||||||
|
$flagcheckbox["flagcolor"],
|
||||||
|
$flagcheckbox["flagname"],
|
||||||
|
$flagcheckbox["flagsym"]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($flagcount < $flagsperline) {
|
if ($flagcount < $flagsperline) {
|
||||||
@@ -550,5 +569,3 @@ pageblock("right","end");
|
|||||||
pagetable("end");
|
pagetable("end");
|
||||||
|
|
||||||
framework("end", "", "", $print);
|
framework("end", "", "", $print);
|
||||||
|
|
||||||
?>
|
|
||||||
|
|||||||
142
install.sh
142
install.sh
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# install.sh
|
# install.sh
|
||||||
# OpenLog Online Logbook
|
# OpenLog Online Logbook
|
||||||
# Copyright (C) 2025 Rod Wright
|
# Copyright (C) 2026 Rod Wright
|
||||||
|
|
||||||
# SPDX-License-Identifier: GPL-2.0
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ CONFIG_DEFAULT_COLUMN=""
|
|||||||
|
|
||||||
function privilege_check() {
|
function privilege_check() {
|
||||||
# test for superuser rights
|
# test for superuser rights
|
||||||
if [[ $EUID -ne 0 ]]; then
|
if [[ "$EUID" != 0 ]]; then
|
||||||
echo "This script must be run with superuser privileges. Try sudo $0"
|
echo "This script must be run with superuser privileges. Try sudo $0"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -36,11 +36,11 @@ function get_new_password() {
|
|||||||
echo ""
|
echo ""
|
||||||
read -p "Re-type new password: " -s -r rnewpw
|
read -p "Re-type new password: " -s -r rnewpw
|
||||||
echo ""
|
echo ""
|
||||||
if [ "$newpassword" = "" -o "$rnewpw" = "" ]
|
if [[ "$newpassword" == "" || "$rnewpw" == "" ]]
|
||||||
then
|
then
|
||||||
echo "Password cannot be blank. Please try again."
|
echo "Password cannot be blank. Please try again."
|
||||||
echo ""
|
echo ""
|
||||||
elif [ "$newpassword" != "$rnewpw" ]
|
elif [[ "$newpassword" != "$rnewpw" ]]
|
||||||
then
|
then
|
||||||
echo "Passwords do not match. Please try again."
|
echo "Passwords do not match. Please try again."
|
||||||
echo ""
|
echo ""
|
||||||
@@ -63,7 +63,7 @@ function install_required_packages() {
|
|||||||
gpattern=""
|
gpattern=""
|
||||||
for pkg_option in $(echo $prereq)
|
for pkg_option in $(echo $prereq)
|
||||||
do
|
do
|
||||||
if [ "$pkg_option" != "or" ]
|
if [[ "$pkg_option" != "or" ]]
|
||||||
then
|
then
|
||||||
gpattern+=" -e $pkg_option"
|
gpattern+=" -e $pkg_option"
|
||||||
preferred_pkg=$pkg_option
|
preferred_pkg=$pkg_option
|
||||||
@@ -76,7 +76,7 @@ function install_required_packages() {
|
|||||||
echo "$APP_NAME requires $prereq, but it doesn't seem to be installed. "
|
echo "$APP_NAME requires $prereq, but it doesn't seem to be installed. "
|
||||||
echo -n "Install $preferred_pkg now? [Y/n]: "
|
echo -n "Install $preferred_pkg now? [Y/n]: "
|
||||||
read reqinstall
|
read reqinstall
|
||||||
if [ "$reqinstall" = "N" -o "$reqinstall" = "n" ]
|
if [[ "$reqinstall" == "N" || "$reqinstall" == "n" ]]
|
||||||
then
|
then
|
||||||
echo "$APP_NAME requires $prereq, but you have elected not to install it."
|
echo "$APP_NAME requires $prereq, but you have elected not to install it."
|
||||||
echo "Installation cannot continue."
|
echo "Installation cannot continue."
|
||||||
@@ -172,20 +172,20 @@ echo ""
|
|||||||
echo -n "Enter name of $APP_NAME installation directory [$INSTALL_LOC] :"
|
echo -n "Enter name of $APP_NAME installation directory [$INSTALL_LOC] :"
|
||||||
read install_loc_in
|
read install_loc_in
|
||||||
echo ""
|
echo ""
|
||||||
if [ "$doc_root_in" = "" ]
|
if [[ "$doc_root_in" == "" ]]
|
||||||
then
|
then
|
||||||
doc_root_in=$DOC_ROOT
|
doc_root_in=$DOC_ROOT
|
||||||
fi
|
fi
|
||||||
if [ "$install_loc_in" = "" ]
|
if [[ "$install_loc_in" == "" ]]
|
||||||
then
|
then
|
||||||
install_loc_in=$INSTALL_LOC
|
install_loc_in=$INSTALL_LOC
|
||||||
fi
|
fi
|
||||||
install_path="$doc_root_in/$install_loc_in"
|
install_path="$doc_root_in/$install_loc_in"
|
||||||
if [ -d "$install_path" ]
|
if [[ -d "$install_path" ]]
|
||||||
then
|
then
|
||||||
echo "The installation path you chose already exists."
|
echo "The installation path you chose already exists."
|
||||||
# Install path exists.
|
# Install path exists.
|
||||||
if [ -e "$install_path/db.php" ]
|
if [[ -e "$install_path/db.php" ]]
|
||||||
then
|
then
|
||||||
# A db.php file was found in the install path
|
# A db.php file was found in the install path
|
||||||
if grep -q -e "$APP_NAME" $install_path/db.php
|
if grep -q -e "$APP_NAME" $install_path/db.php
|
||||||
@@ -195,12 +195,44 @@ then
|
|||||||
echo "and restart the install using a new installation location."
|
echo "and restart the install using a new installation location."
|
||||||
echo -n "[U]pgrade or [C]ancel? [U] :"
|
echo -n "[U]pgrade or [C]ancel? [U] :"
|
||||||
read upgrade_choice
|
read upgrade_choice
|
||||||
if [[ $upgrade_choice == "C" || $upgrade_choice == "c" ]] # Cancel chosen
|
if [[ "$upgrade_choice" == "C" || "$upgrade_choice" == "c" ]] # Cancel chosen
|
||||||
then
|
then
|
||||||
echo "Cancelling installation"
|
echo "Cancelling installation"
|
||||||
abort_exit
|
abort_exit
|
||||||
else
|
else
|
||||||
# proceed with upgrade
|
# proceed with upgrade
|
||||||
|
# put app in maintenance mode
|
||||||
|
echo "Putting the application in maintenance mode..."
|
||||||
|
# make sure mod_rewrite is enabled
|
||||||
|
if [[ ! -e "$APACHE_CONF_DIR/../mods-enabled/rewrite.load" ]]
|
||||||
|
then
|
||||||
|
a2enmod -q rewrite
|
||||||
|
systemctl restart apache2
|
||||||
|
fi
|
||||||
|
# disable the app
|
||||||
|
a2disconf -q $install_loc_in
|
||||||
|
systemctl reload apache2
|
||||||
|
# modify the apache conf file
|
||||||
|
if ! grep -q "RewriteEngine" "$APACHE_CONF_DIR/$install_loc_in.conf"
|
||||||
|
then
|
||||||
|
# this is an old version of the conf file. Replace with new version
|
||||||
|
cp -f default-apache.conf $APACHE_CONF_DIR/$install_loc_in.conf
|
||||||
|
sed -i "s|_APPNAME_|$APP_NAME|g" $APACHE_CONF_DIR/$install_loc_in.conf
|
||||||
|
sed -i "s|_BASEURL_|$install_loc_in|g" $APACHE_CONF_DIR/$install_loc_in.conf
|
||||||
|
sed -i "s|_DOCROOTIN_|$doc_root_in|g" $APACHE_CONF_DIR/$install_loc_in.conf
|
||||||
|
fi
|
||||||
|
sed -i "s|#Rewrite|Rewrite|g" $APACHE_CONF_DIR/$install_loc_in.conf
|
||||||
|
# copy in the default maintenancemode.php if it's not already there
|
||||||
|
if [[ ! -e "$install_path/maintenancemode.php" ]]
|
||||||
|
then
|
||||||
|
cp maintenancemode.php $install_path/
|
||||||
|
# modify the maintenancemode.php file
|
||||||
|
sed -i "s|_APPNAME_|$APP_NAME|g" $install_path/maintenancemode.php
|
||||||
|
fi
|
||||||
|
# re-enable the app in maintenance mode
|
||||||
|
a2enconf -q $install_loc_in
|
||||||
|
systemctl reload apache2
|
||||||
|
|
||||||
datestamp=$(date +%Y-%m-%d_%H:%M:%S)
|
datestamp=$(date +%Y-%m-%d_%H:%M:%S)
|
||||||
backupdir=backups/$datestamp
|
backupdir=backups/$datestamp
|
||||||
mkdir -p $backupdir
|
mkdir -p $backupdir
|
||||||
@@ -226,19 +258,15 @@ then
|
|||||||
echo "Backing up current installation to the package directory."
|
echo "Backing up current installation to the package directory."
|
||||||
cp -R $install_path $backupdir/$install_loc_in-$datestamp-backup
|
cp -R $install_path $backupdir/$install_loc_in-$datestamp-backup
|
||||||
|
|
||||||
# delete all existing installation files except db.php
|
# delete all existing installation files except db.php and maintenancemode.php
|
||||||
find $install_path/ -mindepth 1 -not -name 'db.php' -delete
|
find $install_path/ -mindepth 1 ! \( -name 'db.php' -o -name 'maintenancemode.php' \) -delete
|
||||||
|
|
||||||
echo "Performing database updates. This may take a while..."
|
echo "Performing database updates..."
|
||||||
# apply database updates from sql file
|
# apply database updates from sql file
|
||||||
(mysql --defaults-extra-file=$mysql_opt_file --force < database-update.sql >/dev/null 2>&1) &
|
mysql --defaults-extra-file=$mysql_opt_file --force < database-update.sql >/dev/null 2>&1
|
||||||
task_pid=$!
|
|
||||||
spinner $task_pid
|
|
||||||
|
|
||||||
# apply database updates via script
|
# apply database updates via script
|
||||||
(bash ./database-update.sh $mysql_opt_file) &
|
bash ./database-update.sh $mysql_opt_file
|
||||||
task_pid=$!
|
|
||||||
spinner $task_pid
|
|
||||||
|
|
||||||
echo "... finished with database updates."
|
echo "... finished with database updates."
|
||||||
rm -f $mysql_opt_file
|
rm -f $mysql_opt_file
|
||||||
@@ -250,12 +278,12 @@ then
|
|||||||
echo "Installing distribution . . ."
|
echo "Installing distribution . . ."
|
||||||
cp -R distfiles/* $install_path
|
cp -R distfiles/* $install_path
|
||||||
# set symlink for jquery-ui
|
# set symlink for jquery-ui
|
||||||
if [ ! -L "$install_path/jquery-ui" ]
|
if [[ ! -L "$install_path/jquery-ui" ]]
|
||||||
then
|
then
|
||||||
ln -s $install_path/jquery-ui* $install_path/jquery-ui
|
ln -s $install_path/jquery-ui* $install_path/jquery-ui
|
||||||
fi
|
fi
|
||||||
# set symlink for index.php
|
# set symlink for index.php
|
||||||
if [ ! -L "$install_path/index.php" ]
|
if [[ ! -L "$install_path/index.php" ]]
|
||||||
then
|
then
|
||||||
ln -s $install_path/$LANDING_PAGE $install_path/index.php
|
ln -s $install_path/$LANDING_PAGE $install_path/index.php
|
||||||
fi
|
fi
|
||||||
@@ -270,6 +298,17 @@ then
|
|||||||
chown -R $httpd_user_group $install_path
|
chown -R $httpd_user_group $install_path
|
||||||
echo "Backups of the previous openlog files and the previous database were made"
|
echo "Backups of the previous openlog files and the previous database were made"
|
||||||
echo "and are located in the $backupdir directory."
|
echo "and are located in the $backupdir directory."
|
||||||
|
|
||||||
|
# take app out of maintenance mode
|
||||||
|
echo "Taking the app out of maintenance mode..."
|
||||||
|
# disable the app
|
||||||
|
a2disconf -q $install_loc_in
|
||||||
|
systemctl reload apache2
|
||||||
|
# modify the apache conf file
|
||||||
|
sed -i "s|Rewrite|#Rewrite|g" $APACHE_CONF_DIR/$install_loc_in.conf
|
||||||
|
# re-enable the app in production mode
|
||||||
|
a2enconf -q $install_loc_in
|
||||||
|
systemctl reload apache2
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
# This was a mistake. Exit now to avoid clobbering another app.
|
# This was a mistake. Exit now to avoid clobbering another app.
|
||||||
@@ -287,11 +326,11 @@ then
|
|||||||
echo "Would you like to use this location for a fresh installation or quit and"
|
echo "Would you like to use this location for a fresh installation or quit and"
|
||||||
echo "investigate further? It's probably safest to quit and investigate."
|
echo "investigate further? It's probably safest to quit and investigate."
|
||||||
proceed=""
|
proceed=""
|
||||||
while [[ $proceed != "P" && $proceed != "p" && $proceed != "Q" && $proceed != "q" ]]
|
while [[ "$proceed" != "P" && "$proceed" != "p" && "$proceed" != "Q" && "$proceed" != "q" ]]
|
||||||
do
|
do
|
||||||
read proceed -p "[P]roceed with new install or [Q]uit? : "
|
read proceed -p "[P]roceed with new install or [Q]uit? : "
|
||||||
done
|
done
|
||||||
if [[ $proceed == "Q" || $proceed == "q" ]]
|
if [[ "$proceed" == "Q" || "$proceed" == "q" ]]
|
||||||
then
|
then
|
||||||
abort_exit
|
abort_exit
|
||||||
fi
|
fi
|
||||||
@@ -306,7 +345,7 @@ else
|
|||||||
echo "This can be changed later in the application itself."
|
echo "This can be changed later in the application itself."
|
||||||
echo -n "Installation name [$APP_NAME]: "
|
echo -n "Installation name [$APP_NAME]: "
|
||||||
read new_inst_name
|
read new_inst_name
|
||||||
if [ "$new_inst_name" = "" ]
|
if [[ "$new_inst_name" == "" ]]
|
||||||
then
|
then
|
||||||
new_inst_name="$APP_NAME"
|
new_inst_name="$APP_NAME"
|
||||||
fi
|
fi
|
||||||
@@ -323,7 +362,7 @@ else
|
|||||||
echo "distinctive name."
|
echo "distinctive name."
|
||||||
echo -n "database name [$DEFAULT_DB_NAME]: "
|
echo -n "database name [$DEFAULT_DB_NAME]: "
|
||||||
read new_db_name
|
read new_db_name
|
||||||
if [ "$new_db_name" = "" ]
|
if [[ "$new_db_name" == "" ]]
|
||||||
then
|
then
|
||||||
new_db_name=$DEFAULT_DB_NAME
|
new_db_name=$DEFAULT_DB_NAME
|
||||||
fi
|
fi
|
||||||
@@ -336,7 +375,7 @@ else
|
|||||||
echo "This probably means the database already exists."
|
echo "This probably means the database already exists."
|
||||||
echo -n "Try again with a different database name? [Y/N]: "
|
echo -n "Try again with a different database name? [Y/N]: "
|
||||||
read dbcreatetry
|
read dbcreatetry
|
||||||
if [ "$dbcreatetry" != "Y" -o "$dbcreatetry" != "y" ]
|
if [[ "$dbcreatetry" != "Y" || "$dbcreatetry" != "y" ]]
|
||||||
then
|
then
|
||||||
abort_exit
|
abort_exit
|
||||||
fi
|
fi
|
||||||
@@ -356,7 +395,7 @@ else
|
|||||||
# Set the installation name
|
# Set the installation name
|
||||||
export MYSQL_PWD="$db_pass"
|
export MYSQL_PWD="$db_pass"
|
||||||
mysql -u"$db_user" $new_db_name -e "update $CONFIG_TABLE set $CONFIG_VALUE_COLUMN=\"$new_inst_name\" where $CONFIG_NAME_COLUMN=\"log_name\""
|
mysql -u"$db_user" $new_db_name -e "update $CONFIG_TABLE set $CONFIG_VALUE_COLUMN=\"$new_inst_name\" where $CONFIG_NAME_COLUMN=\"log_name\""
|
||||||
if [ "$CONFIG_DEFAULT_COLUMN" != "" ]
|
if [[ "$CONFIG_DEFAULT_COLUMN" != "" ]]
|
||||||
then
|
then
|
||||||
mysql -u"$db_user" $new_db_name -e "update $CONFIG_TABLE set $CONFIG_DEFAULT_COLUMN=\"$new_inst_name\" where $CONFIG_NAME_COLUMN=\"log_name\""
|
mysql -u"$db_user" $new_db_name -e "update $CONFIG_TABLE set $CONFIG_DEFAULT_COLUMN=\"$new_inst_name\" where $CONFIG_NAME_COLUMN=\"log_name\""
|
||||||
fi
|
fi
|
||||||
@@ -365,23 +404,29 @@ else
|
|||||||
mkdir $install_path
|
mkdir $install_path
|
||||||
|
|
||||||
# Create db.php if it doesn't exist
|
# Create db.php if it doesn't exist
|
||||||
if [ ! -f "$install_path/db.php" ]
|
if [[ ! -f "$install_path/db.php" ]]
|
||||||
then
|
then
|
||||||
cp db.php.template $install_path/db.php
|
cp db.php.template $install_path/db.php
|
||||||
sed -i "s/DBNAME/$new_db_name/g" $install_path/db.php
|
sed -i "s|DBNAME|$new_db_name|g" $install_path/db.php
|
||||||
sed -i "s/DBUSER/$db_user/g" $install_path/db.php
|
sed -i "s|DBUSER|$db_user|g" $install_path/db.php
|
||||||
sed -i "s/DBPASS/$db_pass/g" $install_path/db.php
|
sed -i "s|DBPASS|$db_pass|g" $install_path/db.php
|
||||||
sed -i "s/APPNAME/$APP_NAME/g" $install_path/db.php
|
sed -i "s|APPNAME|$APP_NAME|g" $install_path/db.php
|
||||||
|
fi
|
||||||
|
# Create maintenancemode.php if it doesn't exist
|
||||||
|
if [[ ! -f "$install_path/maintenancemode.php" ]]
|
||||||
|
then
|
||||||
|
cp maintenancemode.php $install_path/maintenancemode.php
|
||||||
|
sed -i "s|_APPNAME_|$APP_NAME|g" $install_path/maintenancemode.php
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# copy distribution to install location
|
# copy distribution to install location
|
||||||
echo "Installing distribution . . ."
|
echo "Installing distribution . . ."
|
||||||
cp -R distfiles/* $install_path
|
cp -R distfiles/* $install_path
|
||||||
if [ ! -L "$install_path/jquery-ui" ]
|
if [[ ! -L "$install_path/jquery-ui" ]]
|
||||||
then
|
then
|
||||||
ln -s $install_path/jquery-ui* $install_path/jquery-ui
|
ln -s $install_path/jquery-ui* $install_path/jquery-ui
|
||||||
fi
|
fi
|
||||||
if [ ! -L "$install_path/index.php" ]
|
if [[ ! -L "$install_path/index.php" ]]
|
||||||
then
|
then
|
||||||
ln -s $install_path/$LANDING_PAGE $install_path/index.php
|
ln -s $install_path/$LANDING_PAGE $install_path/index.php
|
||||||
fi
|
fi
|
||||||
@@ -404,23 +449,24 @@ echo ""
|
|||||||
echo ""
|
echo ""
|
||||||
echo "$APP_NAME has been $operation."
|
echo "$APP_NAME has been $operation."
|
||||||
base_url=$install_loc_in
|
base_url=$install_loc_in
|
||||||
if [ "$operation" = "installed" ]
|
if [[ "$operation" == "upgraded" ]]
|
||||||
then
|
then
|
||||||
echo "# $APP_NAME default Apache configuration" > $APACHE_CONF_DIR/$base_url.conf
|
a2enconf -q $base_url
|
||||||
echo "" >> $APACHE_CONF_DIR/$base_url.conf
|
systemctl reload apache2
|
||||||
echo "Alias /$base_url $doc_root_in/$base_url" >> $APACHE_CONF_DIR/$base_url.conf
|
fi
|
||||||
echo "" >> $APACHE_CONF_DIR/$base_url.conf
|
if [[ "$operation" == "installed" ]]
|
||||||
echo "<Directory $doc_root_in/$base_url>" >> $APACHE_CONF_DIR/$base_url.conf
|
then
|
||||||
echo " AllowOverride Options" >> $APACHE_CONF_DIR/$base_url.conf
|
cp -f default-apache.conf $APACHE_CONF_DIR/$base_url.conf
|
||||||
echo " Options FollowSymLinks" >> $APACHE_CONF_DIR/$base_url.conf
|
sed -i "s|_APPNAME_|$APP_NAME|g" $APACHE_CONF_DIR/$base_url.conf
|
||||||
echo " DirectoryIndex index.php" >> $APACHE_CONF_DIR/$base_url.conf
|
sed -i "s|_BASEURL_|$base_url|g" $APACHE_CONF_DIR/$base_url.conf
|
||||||
echo "</Directory>" >> $APACHE_CONF_DIR/$base_url.conf
|
sed -i "s|_DOCROOTIN_|$doc_root_in|g" $APACHE_CONF_DIR/$base_url.conf
|
||||||
|
|
||||||
echo -n "The apache2 $base_url configuration must be enabled. Would you like to do that now? [Y/n] :"
|
echo -n "The apache2 $base_url configuration must be enabled. Would you like to do that now? [Y/n] :"
|
||||||
read enconf
|
read enconf
|
||||||
if [ "$enconf" = "" -o "$enconf" = "Y" -o "$enconf" = "y" ]
|
if [[ "$enconf" == "" || "$enconf" == "Y" || "$enconf" == "y" ]]
|
||||||
then
|
then
|
||||||
a2enconf $base_url.conf >/dev/null
|
a2enconf -q $base_url.conf >/dev/null
|
||||||
service apache2 reload
|
systemctl reload apache2
|
||||||
echo "You can now point a web browser to $base_url on your web server "
|
echo "You can now point a web browser to $base_url on your web server "
|
||||||
echo "to set up and configure $APP_NAME."
|
echo "to set up and configure $APP_NAME."
|
||||||
echo ""
|
echo ""
|
||||||
|
|||||||
26
maintenancemode.php
Normal file
26
maintenancemode.php
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
maintenancemode.php
|
||||||
|
OpenLog Online Logbook
|
||||||
|
Copyright (C) 2026 Rod Wright
|
||||||
|
|
||||||
|
SPDX-License-Identifier: GPL-2.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
echo "
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>_APPNAME_</title>
|
||||||
|
<style type=\"text/css\">
|
||||||
|
* {font-family: Arial, Helvetica, sans-serif;}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<br><br><br><br>
|
||||||
|
_APPNAME_ is currently down for maintenance. Please try again later.
|
||||||
|
<br><br>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
";
|
||||||
|
|
||||||
|
?>
|
||||||
Reference in New Issue
Block a user