1. Import
This commit is contained in:
370
html/admin/public_holiday.php
Normal file
370
html/admin/public_holiday.php
Normal file
@@ -0,0 +1,370 @@
|
||||
<?php
|
||||
/*=======================================================================
|
||||
*
|
||||
* public_holiday.php
|
||||
*
|
||||
* Autor: Marc Vollmann
|
||||
*
|
||||
=======================================================================*/
|
||||
|
||||
include_once ("../include/global.inc.php");
|
||||
include_once ("../include/auth.inc.php");
|
||||
include_once ("../include/calendar.inc.php");
|
||||
|
||||
|
||||
// Check HTTP-Parameters
|
||||
getSecHttpVars("1",array("f_act","f_year","f_month", "f_day", "f_time_from", "f_time_to",
|
||||
"f_holidays", "f_year2", "statusMessage", "deactivateMenu"));
|
||||
|
||||
getLanguage(__FILE__);
|
||||
|
||||
$pageTitel = getLngt("FEIERTAGE");
|
||||
include_once ("../admin/menu.php");
|
||||
include_once ("../include/html.inc.php");
|
||||
getCurrentScript(__FILE__);
|
||||
|
||||
// Check for authentication access and granted rights
|
||||
$usrAccessArray["hq"] = "1";
|
||||
authCheckForAccess($hq_id, $usr_id, $emp_id, "1", $customerId, $cscIdRoot, $cscIdActual);
|
||||
// authCheckEmployeeRights($emp_id, "2", "1");
|
||||
|
||||
$currentYear = getDateTime("year");
|
||||
$currentMonth = getDateTime("month");
|
||||
$currentDay = getDateTime("day");
|
||||
if ($f_year == "") : $f_year = $currentYear ; endif;
|
||||
if ($f_month == "") : $f_month = getDateTime("month") ; endif;
|
||||
if ($f_holidays == "") : $f_holidays = array(); endif;
|
||||
$holidaysLen = count($f_holidays);
|
||||
$output2 = "";
|
||||
$output3 = "";
|
||||
|
||||
/*
|
||||
$cmpComp = "";
|
||||
$cmpComp2 = "";
|
||||
if ($csId != "0") :
|
||||
$cmpId = getFieldValueFromId("customer","cs_id",$csId,"cmp_id");
|
||||
$tmpFields = getFieldsValueFromId("company","cmp_id",$cmpId,array("cmp_comp","cmp_comp2"));
|
||||
$cmpComp = $tmpFields[0];
|
||||
$cmpComp2 = $tmpFields[1];
|
||||
endif;
|
||||
*/
|
||||
|
||||
|
||||
// *** Storing-processes ***
|
||||
// *** BEGIN ***************
|
||||
|
||||
// Store entries
|
||||
if ($f_act != "" && $f_act == "save") :
|
||||
|
||||
// Check consistency of the parameter
|
||||
if ($f_year >= $currentYear) :
|
||||
|
||||
if ($f_holidays != "") :
|
||||
|
||||
TA("B");
|
||||
|
||||
// To reach more performance, first delete all entries of the year and then store the new list
|
||||
deleteStmt("publicholiday","ph_year = '" . $f_year . "' AND hq_id = '" . $hq_id . "'");
|
||||
|
||||
// Iterate all months
|
||||
for ($i_month = 1; $i_month <= 12; $i_month++) :
|
||||
|
||||
// Get number of days of the month
|
||||
$numOfDays = daysPerMonth($f_year, $i_month);
|
||||
|
||||
// Iterate all days of the current month
|
||||
for ($i_day = 1; $i_day <= $numOfDays; $i_day++) :
|
||||
|
||||
// Search for the value in "$f_holidays" and get the key (index)
|
||||
$j = array_search($i_month . "_" . $i_day, $f_holidays);
|
||||
if (!($j === FALSE)) :
|
||||
|
||||
// insert new public holiday
|
||||
list ($nameOfHoliday) = getHttpVars(array("f_". $i_month . "_" . $i_day));
|
||||
$tmpFields = array("hq_id", $hq_id, "ph_year", $f_year, "ph_month", $i_month, "ph_day", $i_day, "ph_name", $nameOfHoliday);
|
||||
insertStmt("publicholiday",$tmpFields);
|
||||
endif;
|
||||
endfor;
|
||||
endfor;
|
||||
|
||||
TA("C");
|
||||
TA("E");
|
||||
else :
|
||||
$statusMessage = getLngt("In der Vergangenheit liegende Tage werden nicht gespeichert!");
|
||||
endif;
|
||||
else :
|
||||
$statusMessage = getLngt("Vergangene Jahre können nicht geändert werden!");
|
||||
endif;
|
||||
endif;
|
||||
|
||||
// *** END ***************
|
||||
|
||||
|
||||
// Get all public holidays of the specified year
|
||||
if (TRUE) :
|
||||
|
||||
$sqlquery = "SELECT ph.ph_id, ph.ph_year, ph.ph_month, ph.ph_day, ph.ph_time_from, ph.ph_time_to, ph.ph_name"
|
||||
. " FROM publicholiday AS ph"
|
||||
. " WHERE hq_id = '" . $hq_id . "' AND ph.ph_year = '" . $f_year . "'"
|
||||
. " ORDER BY ph.ph_month, ph.ph_day, ph.ph_time_from";
|
||||
|
||||
$result = $db->dbQ($sqlquery);
|
||||
|
||||
// Get only first row of the result set
|
||||
$row = $result->fetch_assoc();
|
||||
|
||||
// If activated, load data for initialization
|
||||
if ($f_act == "load" && $f_year2 != "") :
|
||||
|
||||
$sqlquery2 = "SELECT ph.ph_id, ph.ph_year, ph.ph_month, ph.ph_day, ph.ph_time_from, ph.ph_time_to, ph.ph_name"
|
||||
. " FROM publicholiday AS ph"
|
||||
. " WHERE hq_id = '" . $hq_id . "' AND ph.ph_year = '" . $f_year2 . "'"
|
||||
. " ORDER BY ph.ph_month, ph.ph_day, ph.ph_time_from";
|
||||
|
||||
$result2 = $db->dbQ($sqlquery2);
|
||||
|
||||
// Get only first row of the result set
|
||||
$row2 = $result2->fetch_assoc();
|
||||
endif;
|
||||
|
||||
$output = "";
|
||||
|
||||
// Define anchor links
|
||||
$monthAnchorLinks = getMonthAnchorLinks();
|
||||
|
||||
// Iterate all months
|
||||
for ($i_month = 1; $i_month <= 12; $i_month++) :
|
||||
|
||||
// Title of the month
|
||||
$output .= "<tr>\n";
|
||||
$output .= "<td class=\"f10bp1_blue\" colspan=\"3\"><a name=\"" . $i_month . "\">" . monthName($i_month) . "</a></td>\n";
|
||||
$output .= "<td><br><br>";
|
||||
$output .= defineButtonType10(getLngt("Speichern"), "action_save", "finishPage('save','Wollen Sie die Einträge speichern?');", "100", "left", "3");
|
||||
$output .= "<br>" . $monthAnchorLinks . "</td>\n";
|
||||
|
||||
$output .= "</tr>\n";
|
||||
|
||||
// Get number of days of the month
|
||||
$numOfDays = daysPerMonth($f_year, $i_month);
|
||||
|
||||
// Iterate all days of the current month
|
||||
for ($i_day = 1; $i_day <= $numOfDays; $i_day++) :
|
||||
|
||||
$output .= "<tr>\n";
|
||||
$output .= " <td align=\"right\" width=\"40\">" . $i_day . ".</td>\n";
|
||||
$output .= " <td>" . weekDayNameMapping(getDateTime("format",array("0","0","0",$i_month,$i_day,$f_year),"l"),"1") . "</td>\n";
|
||||
|
||||
$isChecked = "";
|
||||
$isDisabled = "";
|
||||
$nameOfHoliday = "";
|
||||
|
||||
// Disable fields if date is in the past because they should not to be modified
|
||||
if ($f_year < $currentYear || ($f_year == $currentYear && $i_month < $currentMonth) ||
|
||||
($f_year == $currentYear && $i_month == $currentMonth && $i_day <= $currentDay)) :
|
||||
$isDisabled = " disabled";
|
||||
endif;
|
||||
// Check single values according to the database result
|
||||
if ($i_month == $row["ph_month"] && $i_day == $row["ph_day"]) :
|
||||
|
||||
// Get values of the current row
|
||||
$isChecked = " checked";
|
||||
$nameOfHoliday = $row["ph_name"];
|
||||
|
||||
// Get next row
|
||||
$row = $result->fetch_assoc();
|
||||
|
||||
if (!is_array($row)) :
|
||||
$row = array();
|
||||
mcArrIsSet($row, "ph_month");
|
||||
mcArrIsSet($row, "ph_day");
|
||||
endif;
|
||||
endif;
|
||||
|
||||
// If initialization mode is active AND NOT disabled, check single values according to the database result of the second result
|
||||
if ($f_act == "load" && $f_year2 != "") :
|
||||
|
||||
if ($i_month == $row2["ph_month"] && $i_day == $row2["ph_day"]) :
|
||||
|
||||
// Get values of the current row
|
||||
if (!$isDisabled && !$isChecked) :
|
||||
|
||||
$isChecked = " checked";
|
||||
$nameOfHoliday = $row2["ph_name"];
|
||||
endif;
|
||||
|
||||
// Get next row
|
||||
$row2 = $result2->fetch_assoc();
|
||||
|
||||
if (!is_array($row2)) :
|
||||
$row2 = array();
|
||||
mcArrIsSet($row2, "ph_month");
|
||||
mcArrIsSet($row2, "ph_day");
|
||||
endif;
|
||||
endif;
|
||||
endif;
|
||||
|
||||
// Show enabled/disabled checkbox according to an existing db-entry
|
||||
$output .= " <td align=\"center\" width=\"30\"><input type=\"checkbox\" name=\"f_holidays[]\" value=\"" . $i_month . "_" . $i_day . "\"" . $isChecked . " " . $isDisabled . "></td>\n";
|
||||
|
||||
// Optional name of the public holiday
|
||||
$output .= " <td><input type=\"text\" name=\"f_" . $i_month . "_" . $i_day . "\" value=\"" . $nameOfHoliday . "\" size=\"50\"" . $isDisabled . "></td>\n";
|
||||
|
||||
$output .= "</tr>\n";
|
||||
endfor;
|
||||
endfor;
|
||||
$result->free();
|
||||
endif;
|
||||
|
||||
|
||||
// Get all years distinct
|
||||
if (TRUE) :
|
||||
$sqlquery = "SELECT DISTINCT ph.ph_year"
|
||||
. " FROM publicholiday AS ph"
|
||||
. " WHERE hq_id = '" . $hq_id . "'"
|
||||
. " ORDER BY ph.ph_year";
|
||||
|
||||
$result = $db->dbQ($sqlquery);
|
||||
|
||||
$currentYearInList = FALSE;
|
||||
$nextYearInList = FALSE;
|
||||
|
||||
// First pulldown for selecting the year to be displayed
|
||||
$output2 .= "<span class=\"f12bp1_blue\">" . getLngt("Auswahl Jahr") . "</span> ";
|
||||
$output2 .= "<select name=\"f_year\" onChange=\"submit();\">\n";
|
||||
$output2 .= " <option value=\"0\">" . getLngt("Default") . "</option>\n"; // Default option for initialization
|
||||
|
||||
// Second pulldown for initializing of the current year
|
||||
$output3 .= "<select name=\"f_year2\" onChange=\"finishPage('load','" . getLngt("Wollen Sie die aktuellen Einträge überladen?") . "');\">\n";
|
||||
$output3 .= " <option value=\"0\">" . getLngt("Default") . "</option>\n"; // Default option for initialization
|
||||
|
||||
while ($row = $result->fetch_assoc()):
|
||||
$isSelected = "";
|
||||
if ($f_year == $row["ph_year"]) : $isSelected = " selected"; endif;
|
||||
$output2 .= " <option value=\"" . $row["ph_year"] . "\"" . $isSelected . ">" . $row["ph_year"] . "</option>\n";
|
||||
if ($currentYear == $row["ph_year"]) : $currentYearInList = TRUE; endif;
|
||||
if ($currentYear + 1 == $row["ph_year"]) : $nextYearInList = TRUE; endif;
|
||||
|
||||
// Second pulldown
|
||||
if ($row["ph_year"] < $f_year) :
|
||||
$isSelected = "";
|
||||
if ($f_year2 == $row["ph_year"]) : $isSelected = " selected"; endif;
|
||||
$output3 .= " <option value=\"" . $row["ph_year"] . "\"" . $isSelected . ">" . $row["ph_year"] . "</option>\n";
|
||||
endif;
|
||||
endwhile;
|
||||
|
||||
// add option for the current year if necessary
|
||||
if (!$currentYearInList) :
|
||||
$isSelected = "";
|
||||
if ($f_year == $currentYear) : $isSelected = " selected"; endif;
|
||||
$output2 .= " <option value=\"" . $currentYear . "\"" . $isSelected . ">" . $currentYear . "</option>\n";
|
||||
endif;
|
||||
|
||||
// add option for the next year if necessary
|
||||
if (!$nextYearInList) :
|
||||
$isSelected = "";
|
||||
if ($f_year == $currentYear + 1) : $isSelected = " selected"; endif;
|
||||
$output2 .= " <option value=\"" . ($currentYear + 1) . "\"" . $isSelected . ">" . ($currentYear + 1) . "</option>\n";
|
||||
endif;
|
||||
|
||||
// First pulldown
|
||||
$output2 .= "</select>\n";
|
||||
|
||||
// Second pulldown
|
||||
$output3 .= "</select>\n";
|
||||
|
||||
|
||||
$result->free();
|
||||
endif;
|
||||
|
||||
|
||||
// Only for output
|
||||
$title = "";
|
||||
if ($f_year == "0") :
|
||||
$title .= getLngt("(Default)");
|
||||
else :
|
||||
$title .= $f_year;
|
||||
endif;
|
||||
?>
|
||||
|
||||
|
||||
<html lang="de">
|
||||
<head>
|
||||
<title><?php echo $pageTitel ?></title>
|
||||
|
||||
<style type="text/css">
|
||||
<?php include_once ("../css/phoenix.css.php"); ?>
|
||||
<?php include_once ("../css/navigation.css.php"); ?>
|
||||
<?php include_once ("../css/mc.css.php"); ?>
|
||||
</style>
|
||||
|
||||
<?php include_once ("../include/js_framework.inc.php"); ?>
|
||||
|
||||
<script src="../include/checkFormTags.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
<!--
|
||||
// NAVIGATION
|
||||
<?php echo $jsMenuOut; ?>
|
||||
|
||||
function finishPage(f_act,text) {
|
||||
if (confirm(text)) {
|
||||
document.forms[0].f_act.value = f_act;
|
||||
document.forms[0].submit();
|
||||
}
|
||||
};
|
||||
-->
|
||||
</script>
|
||||
<noscript>
|
||||
<center>
|
||||
<b><br>JavaScript ist nicht verfügbar. Bitte aktivieren Sie JavaScript<br><br>
|
||||
in Ihrem Browser, damit diese Seite ordnungsgemäß funktioniert!</b><br><br>
|
||||
</center>
|
||||
</noscript>
|
||||
</head>
|
||||
|
||||
<body onLoad="<?php echo $phpCurrentNavigationOnLoad ?>displayStatusMessage();">
|
||||
|
||||
<?php echo $phpMenuOut ?>
|
||||
<?php echo $phpReducedMenuOut ?>
|
||||
<?php echo $phpPageTitelOut ?>
|
||||
|
||||
<div class="mc_page-header">
|
||||
<?php echo $title ?>
|
||||
</div>
|
||||
|
||||
<div class="maincontent mc_elem" name="maincontent" id="maincontent">
|
||||
|
||||
<form action="../admin/public_holiday.php" method="post" target="">
|
||||
|
||||
<input type="hidden" name="f_act" value="">
|
||||
<?php echo $phpCurrentNavigationInputHidden ?>
|
||||
<input type="hidden" name="deactivateMenu" value="<?php echo ec($deactivateMenu) ?>">
|
||||
|
||||
<table border="0" width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<?php echo $output2 ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php echo $output ?>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<?php echo htmlDivLineSpacer("15px"); ?>
|
||||
<div style="float:left">
|
||||
<?php echo $output3 ?>
|
||||
|
||||
</div>
|
||||
<?php echo defineButtonType10(getLngt("Einträge ins akt. Jahr integrieren"), "action_new", "finishPage('load','" . getLngt("Wollen Sie die aktuellen Einträge integrieren?") . "');", "250", "left", "3") ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user