示例#1
0
function selectMesos()
{
    $RET = array();
    for ($i = 1; $i < 13; $i++) {
        $RET[$i] = mesos($i);
    }
    return $RET;
}
示例#2
0
function llistaCalendariH($DATAI, $CALENDARI)
{
    //Farem la mostra per setmanes
    $Q = 3;
    $W = date('W', $DATAI);
    $dia = date('d', $DATAI);
    $mes = date('m', $DATAI);
    $year = date('Y', $DATAI);
    //Agafem el dilluns anterior o el mateix dia i el diumenge
    $dia_setmana = date('N', $DATAI);
    $primer_dilluns = mktime(0, 0, 0, $mes, $dia - $dia_setmana + 1, $year);
    $primer_diumenge = mktime(0, 0, 0, $mes, $dia + (7 - $dia_setmana), $year);
    //Mostrem el mes al que pertany cada dia
    $RET .= "<TR><td></td>";
    $j = 1;
    for ($i = 0; $i < $Q; $i++) {
        $diaA = mktime(0, 0, 0, $mes, $dia - $dia_setmana + 1 + $i * 7, $year);
        $RET .= '<td class="titol" colspan="7">' . mesos(date('m', $diaA)) . ' ' . date('Y', $diaA) . '</td>';
    }
    $RET .= "</TR>";
    //Escrivim els dies de la setmana
    $RET .= "<TR><td></td>";
    for ($i = $Q; $i > 0; $i--) {
        $RET .= "<TD>Dll</TD><TD>Dm</TD><TD>Dc</TD><TD>Dj</TD><TD>Dv</TD><TD>Ds</TD><TD>Dg</TD>";
    }
    $RET .= "</TR>";
    foreach ($CALENDARI as $idU => $DADES) {
        $RET .= "<TR>";
        $RET .= '<td>' . $DADES['TREBALLADOR'] . '</td>';
        $ULTIM_HORARI = $DADES['ULTIM_HORARI'];
        $j = 1;
        for ($i = 0; $i < $Q * 7; $i++) {
            $style = "";
            $marc = "";
            $fons = "";
            $diaA = mktime(0, 0, 0, $mes, $dia - $dia_setmana + 1 + $i, $year);
            if ($j == 6 || $j == 7) {
                $fons = "background-color: beige;";
                if ($j == 7) {
                    $j = 1;
                } else {
                    $j++;
                }
            } else {
                $fons = "background-color: white;";
                $j++;
            }
            if ($dia - $dia_setmana + 1 + $i == $dia) {
                $style .= 'font-weight:bold;';
            }
            $SPAN = "";
            if (isset($DADES['DIES'][$diaA])) {
                $CANVI_HORARI = false;
                $AP = false;
                $SPAN = "<span>";
                foreach ($DADES['DIES'][$diaA] as $D2) {
                    //Quan vingui un canvi d'horari aquest quedarà fins que en vingui un altre
                    if ($D2->getTipus() == PersonalPeer::HORARI_USUARI) {
                        $ULTIM_HORARI = $D2->getText();
                    }
                }
                $SPAN .= '<b>Horari: </b>' . $ULTIM_HORARI;
                $SPAN .= '<br />';
                $index = 1;
                foreach ($DADES['DIES'][$diaA] as $D2) {
                    //Si la línia és de feina, la mostrem
                    if ($D2->getTipus() == PersonalPeer::FEINA) {
                        $SPAN .= '<br /><b>' . $index++ . ' . (T)</b> ' . substr($D2->getText(), 0, 100) . '...';
                    }
                    //Si hi ha un canvi en l'horari, la marquem
                    if ($D2->getTipus() == PersonalPeer::CANVI_HORARI) {
                        $SPAN .= '<br /><b>' . $index++ . '. (H)</b> ' . $D2->getText();
                    }
                    //Si no hi és... no apareix el número i requadre en vermell.
                    //Si hi ha canvi d'horaris, el requadre serà en taronja
                    //Si hi ha feines és en groc fluorescent.
                    if ($D2->getTipus() == PersonalPeer::AP_FESTA) {
                        $fons = "background-color:red;";
                        $AP = true;
                    } elseif ($D2->getTipus() == PersonalPeer::CANVI_HORARI && !$AP) {
                        $fons = "background-color:orange;";
                        $CANVI_HORARI = true;
                    } elseif ($D2->getTipus() == PersonalPeer::FEINA && !$AP && !$CANVI_HORARI) {
                        $fons = "background-color:yellow;";
                    }
                }
                $SPAN .= "</span>";
            } else {
                $SPAN = "<span>";
                $SPAN .= '<b>Horaris: </b>' . $ULTIM_HORARI;
                $SPAN .= '<br /><br />';
                $SPAN .= "</span>";
            }
            //Si la persona hi és el marc és verd i si no hi és, el marc és vermell.
            $RET .= '<TD class="DIES" style="' . $marc . $fons . $style . '" ><a class="tt2" href="#" id="DIA-' . $diaA . '-' . $idU . '">' . date('d', $diaA) . $SPAN . '</a></TD>';
        }
        $RET .= "</TR>";
    }
    return $RET;
}
示例#3
0
function llistaCalendariV($DATAI, $CALENDARI)
{
    //Inicialitzem variables i marquem els dies en blanc
    $Q = 3;
    $mes = date('m', $DATAI);
    $year = date('Y', $DATAI);
    $RET = "";
    $any = $year;
    $mesI = $mes;
    $mesF = $mes + $Q;
    //Omplim els mesos
    $RET .= '<tr>';
    $dies = array();
    $IndexMes = 0;
    for ($mes = $mesI; $mes < $mesF; $mes++) {
        $mesReal = $mes > 12 ? $mes - 12 : $mes;
        $anyReal = $mes == 13 ? $any + 1 : $any;
        $week = 1;
        $IndexMes++;
        $diesMes = cal_days_in_month(CAL_GREGORIAN, $mesReal, $anyReal);
        for ($dia = 1; $dia <= $diesMes; $dia++) {
            $diaSetmana = jddayofweek(cal_to_jd(CAL_GREGORIAN, $mesReal, $dia, $anyReal), 0);
            $diaSetmana = $diaSetmana == 0 ? 7 : $diaSetmana;
            $dies[$week][$diaSetmana][$IndexMes]['day'] = $dia;
            $dies[$week][$diaSetmana][$IndexMes]['month'] = $mesReal;
            $dies[$week][$diaSetmana][$IndexMes]['year'] = $anyReal;
            if ($diaSetmana == 7) {
                $week++;
            }
        }
        $RET .= "<TD class=\"titol_mes\" colspan=\"7\">" . mesos($mesReal) . "</TD><td width=\"20px\"></td>";
    }
    $RET .= '</tr>';
    $RET .= "<TR>";
    for ($i = 0; $i < $Q; $i++) {
        $RET .= "<TD>Dll</TD><TD>Dm</TD><TD>Dc</TD><TD>Dj</TD><TD>Dv</TD><TD>Ds</TD><TD>Dg</TD><TD></TD>";
    }
    $RET .= "</TR>";
    for ($row = 1; $row <= 6; $row++) {
        $RET .= "<tr>";
        for ($col = 1; $col <= 7 * $Q; $col++) {
            $IndexMes = ceil($col / 7);
            $colR = $col - 7 * ($IndexMes - 1);
            //Color de fons per diferenciar els mesos
            if ($IndexMes % 2) {
                $background = "beige";
            } else {
                $background = "beige";
            }
            //Color de fons per diferenciar els caps de setmana
            if ($colR == 6 || $colR == 7) {
                $background = "#CCCCCC";
            }
            if (isset($dies[$row][$colR][$IndexMes])) {
                $dades = $dies[$row][$colR][$IndexMes];
                $SPAN = "";
                $color = "";
                $CalDia = mktime(0, 0, 0, $dades['month'], $dades['day'], $dades['year']);
                if (isset($CALENDARI[$CalDia])) {
                    $SELECCIONAT = "SELECCIONAT";
                    $SPAN = '<span><table id="TD1"><tr><th>Inici</th><th>Fi</th><th>Espai</th><th>Títol</th><th>Organitzador</th></tr>';
                    foreach ($CALENDARI[$CalDia] as $CAL) {
                        $SPAN .= '<tr><td>' . $CAL['HORAI'] . '</td><td>' . $CAL['HORAF'] . '</td><td>' . $CAL['ESPAIS'] . '</td><td>' . $CAL['TITOL'] . '</td><td>' . $CAL['ORGANITZADOR'] . '</td></tr>';
                    }
                    $SPAN .= '</table></span>';
                } else {
                    $SELECCIONAT = "";
                }
                $RET .= '<TD class="DIES" style="background-color:' . $background . ';">' . link_to($dades['day'] . $SPAN, "gestio/gActivitats?accio=CD&DIA=" . $CalDia, array('class' => "tt2 {$SELECCIONAT}")) . '</TD>';
            } else {
                $RET .= '<TD class="DIES" style="background-color:' . $background . ';"></TD>';
            }
            if ($colR == 7) {
                $RET .= '<td></td>';
            }
        }
        $RET .= "</tr>";
    }
    $RET .= "</TR>";
    return $RET;
}
/**
 * A partir d'una DataI generem els enllaços del menú
 * @param time() $DATAI
 * @return string
 */
function getSelData($DATAI = NULL)
{
    $DataInicial = $DATAI + 3600 * 24 * 365 * 1;
    //Restem dos anys
    $MES = date('m', $DataInicial);
    $ANY = date('Y', $DataInicial);
    $RET = '<SELECT id="dynamic_select">';
    for ($any = $ANY; $any > $ANY - 3; $any--) {
        for ($mes = 12; $mes > 0; $mes--) {
            $Seleccionat = date('m', $DATAI) == $mes && date('Y', $DATAI) == $any ? 'SELECTED' : '';
            $RET .= '<option ' . $Seleccionat . ' value="' . url_for("gestio/gActivitats?accio=CC&DATAI=" . mktime(0, 0, 0, $mes, 1, $any)) . '">' . $any . ' - ' . mesos($mes) . '</option>';
        }
    }
    $RET .= '</SELECT>';
    return $RET;
}
function llistaCalendariV($DI, $mes = null, $year = null, $VARIAMES = NULL, $VARIAANY = NULL, $PAGINA, $IDA, $ACCIO)
{
    if ($mes == null) {
        $mes = date("m", time());
    }
    if ($year == NULL) {
        $year = date('Y', time());
    }
    $mesI = $mes;
    $any = $year;
    $anyF = $year;
    $mesF = date('m', mktime(0, 0, 0, $mes + 12, 1, $year));
    $mesF = $mesI + 6;
    //De moment només sumem 3 mesos
    if ($mesF > 12) {
        $mesF = $mesF - 12;
        $anyF = $any + 1;
    }
    $RET = "<TR><TD></TD><TD>Dll</TD><TD>Dm</TD><TD>Dc</TD><TD>Dj</TD><TD>Dv</TD><TD>Ds</TD><TD>Dg</TD></TR>";
    //    01 02 03 04 05 06 00
    //    Dl Dm Dc Dj Dv Ds Dg
    //MES          01 02 03 04
    //    05 06 07 08 09 10 11
    //    12 13 14 15 16 17 18
    //    19 20 21 22 23 24 25
    //    26 27 28 29 30 01 02
    //MES 03 04 05 06 07 08 09
    $blancs = 1;
    $dia = 1;
    $sincronitzat = false;
    while ($mes < $mesF && $any <= $anyF) {
        $diaSetmana = jddayofweek(cal_to_jd(CAL_GREGORIAN, $mes, $dia, $any), 0);
        if ($diaSetmana == 1) {
            $RET .= '</TR><TR><TD>' . mesos($mes) . '</TD>';
        }
        //Anem dibuixant espais en blanc fins que sincronitzem
        if ($blancs != $diaSetmana && !$sincronitzat) {
            $RET .= "<TD></TD>";
            if ($blancs == 7) {
                $blancs = 0;
            } else {
                $blancs++;
            }
        } else {
            $sincronitzat = true;
            if ($mes % 2 != 0) {
                $background = "beige";
            } else {
                $background = "white";
            }
            if ($diaSetmana == 6 || $diaSetmana == 0) {
                $background = "burlywood";
            }
            if (in_array(mktime(0, 0, 0, $mes, $dia, $any), $DI['DIES'])) {
                //Si el dia el tenim seleccionat el marquem
                $RET .= '<TD class="DIES" style="background-color:' . $background . '; text-align:right;">' . $dia . ' ' . checkbox_tag('DI[DIES][]', mktime(0, 0, 0, $mes, $dia, $any), true) . '</TD>';
            } else {
                $RET .= '<TD class="DIES" style="background-color:' . $background . '; text-align:right;">' . $dia . ' ' . checkbox_tag('DI[DIES][]', mktime(0, 0, 0, $mes, $dia, $any), false) . '</TD>';
            }
            if (cal_days_in_month(CAL_GREGORIAN, $mes, $any) <= $dia) {
                $dia = 1;
                if (++$mes > 12) {
                    $any++;
                }
            } else {
                $dia++;
            }
        }
    }
    return $RET;
}
示例#6
0
function getCalendari($DATA, $ACTIVITATS_CALENDARI, $CERCA)
{
    $mes = date('m', $DATA);
    $any = date('Y', $DATA);
    $MesAnterior = mktime(0, 0, 0, date('m', $DATA) - 1, 1, date('Y', $DATA));
    $MesSeguent = mktime(0, 0, 0, date('m', $DATA) + 1, 1, date('Y', $DATA));
    $DataMesActual = mktime(0, 0, 0, date('m', $DATA), 1, date('Y', $DATA));
    echo '<DIV class="div_taula">';
    echo '<table class="t_calendari">';
    echo '<tr>
          <td width="25" style="background-color:white;" class="titol">' . link_to('&lt;', "web/index?accio=cdc&DATACAL={$MesAnterior}") . '</td>
          <td colspan="5" style="background-color:white;" class="titol">' . link_to(mesos($mes) . ' ' . $any, 'web/index' . getParam('c', 'mensual', $DataMesActual)) . '</td>         
          <td width="25" style="background-color:white;" class="titol">' . link_to('&gt;', "web/index?accio=cdc&DATACAL={$MesSeguent}") . '</td>
        </tr>';
    echo '<tr>
          <td width="25" class="dies">Dll</td>
          <td width="25" class="dies">Dm</td>
          <td width="25" class="dies">Dc</td>
          <td width="25" class="dies">Dj</td>
          <td width="25" class="dies">Dv</td>
          <td width="25" class="dies">Ds</td>
          <td width="25" class="dies">Dg</td>
        </tr>';
    $diaInicial = date('N', mktime(0, 0, 0, $mes, 1, $any));
    $setmanaActual = date('W', mktime(0, 0, 0, date('m', time()), date('d', time()), date('Y', time())));
    $diesMes = date('t', mktime(0, 0, 0, $mes, 1, $any));
    for ($i = 1; $i < 7; $i++) {
        //Setmanes que caben a un calendari
        echo '<tr>';
        for ($j = 1; $j < 8; $j++) {
            //Dia de la setmana
            $diaA = ($i - 1) * 7 + $j + 1 - $diaInicial;
            $class = "";
            $valor = "";
            $setmanaIterator = date('W', mktime(0, 0, 0, $mes, $diaA, $any));
            //Si és cap de setmana ho posem en negreta
            //      if( $j == 7 || $j == 6 ) $class = 'bold';
            //Si la setmana actual és a la que estem, ho marquem amb vermell
            if ($setmanaActual == $setmanaIterator) {
                $class .= ' selsetmana';
            } else {
                $class .= ' numeros';
            }
            //Finalment omplim el dia si hi ha número
            if ($i == 1 && $diaInicial > $j || $diesMes < $diaA) {
                $valor = "&nbsp;";
            } else {
                $valor = $diaA;
            }
            if ($valor != "&nbsp;") {
                $valor = link_to($valor, 'web/index' . getParam('ca', '', mktime(0, 0, 0, $mes, $diaA, $any)));
                if (isset($ACTIVITATS_CALENDARI[date('Y-m-d', mktime(0, 0, 0, $mes, $diaA, $any))])) {
                    $class .= ' HIHAACTIVITAT';
                }
            }
            echo '<td width="25" class="' . $class . '">' . $valor . '</td>';
        }
        echo '</tr>';
    }
    echo '</table></DIV>';
}