Probuje stworzyc tabelke- kalendarz ktora wyswietla kto w jaki dzien ma wakacje, problem polega na tym ze dane pokazywane sa po dniach a nie po dniach i uzytkownikach, czyli jak np ktorys z uzytkownikow ma urlop 3 maja, to od razu wszyscy inni rowniez maja zaznaczony urlop w tym dniu. Stworzylam tabele ktora idzie po uzytkownikach i dniach jednak smarty nie przyjmuja zmiennej tablicowej dwuwymiarowej:/
Kod napisany w php:
<?php
$dayOffset = dayNoOfFirstDayOfMonth($date_start);
for ($p = 0; $p < $usercount; $p++)
{
for ($i = 0; $i < $daysCount; $i++)
{
$employee[$p][$i]['index2'] = $i;
$dateStart = date('Y-m-d', $date_start_tmp); $employee[$i]['number'] = (int
)date('d', $date_start_tmp);
$dayWeek = dayWeek($date_start_tmp); //$dayOffset + 1 + date('d', $date_start_tmp)
$employee[$p][$i]['name'] = dayNameAbr($dayWeek);
$employee[$p][$i]['style'] = 'work';
$employee[$p][$i]['readOnly'] = (($periodBegining > $date_start_tmp)?'disabled="disabled"':'');
if (get_vacation_type($userID[$p], $dateStart) == '1')
{
$employee[$p][$i]['style'] = 'vacationFL';
}
if (get_vacation_type($userID[$p], $dateStart) == '2')
{
$employee[$p][$i]['style'] = 'vacationTR';
}
if ($dayWeek % 7 == 0 || $dayWeek % 7 == 6)
{
$employee[$p][$i]['style'] = 'weekDay';
}
if (in_array($dateStart, $holidays) === true) {
$employee[$p][$i]['style'] = 'publicHoliday';
$employee['holidayName'] = $holidaysNames[array_search($dateStart, $holidays)]; }
if ($dateStart == date('Y-m-d')) {
$employee[$p][$i]['style'] = 'today';
}
$date_start_tmp = strtotime("$date_start + ".($i+1)." Days");
$user_color[][] = $employee[$p][$i]['style'];
}
}
//echo "<pre>";
//print_r($employee);
//print_r($usercount);
//echo $daysCount;
//echo "</pre>";
$smarty->assign ('user_color',$user_color);
?>
i plik w tpl:
<table class="timesheet" border="0" cellpadding="2" cellspacing="2"> {foreach from=$calendar key=id item=i}
<td align="center" title="{$i.holidayName}">{$i.number}
</td> {/foreach}
{foreach from=$calendar key=id item=i}
<td class="dayName" title="{$i.holidayName}">{$i.name}
</td> {/foreach}
{section name=p loop=$userID}
<div id="userIDCombo{$smarty.section.userID}"> <hidden name="userID{$smarty.section.userID}" >
<div id="userNAMECombo{$smarty.section.userNAME}"> <text name="userNAME{$smarty.section.userNAME}" >
{foreach from=$employee key=p item= i}
<td class="$user_color[p][i]" title="{$i.holidayName}">
<input type="hidden" id="wh_{$i.number}_{$userID[p]}" name="wh_{$i.number}_{$userID[p]}" value="">
<input {$i.readOnly} class="smallInput" type="" id="wh_{$i.number}_{$userID[p]}" name="wh_{$i.number}_{$userID[p]}" value="" maxlength="4"
onchange="valueArr[{math equation="x - 1" x=$userID[p]}][{$i.index2}] = (this.value != '')?this.value:0.0;
countRow{$userID[p]}();"
ondblclick="manageComment('wh_{$i.number}_{$userID[p]}', 'wh_{$i.number}_{$userID[p]}');"
oncontextmenu="return false;" onkeypress="return enter(this);" onkeydown="return enter(this);" title="{$i.holidayName}" />
{/foreach}
{/section}
Bede bardzo wdzieczna za pomoc w rozwiazaniu :/ bo mecze sie nad tym juz ktorys dzien