<?php

/*#######################################################
#       Aufbau von Standart Feldern                     #
#######################################################*/

// erstellt ein Array der Reume
  $sql = "SELECT `RID`, `Name` FROM `Room` ".
    "WHERE `Show`='Y'". 
    "ORDER BY `Number`, `Name`;";
  
  $Erg = mysql_query($sql, $con);
  $rowcount = mysql_num_rows($Erg);

  for ($i=0; $i<$rowcount; $i++)
  {
    $Room[$i]["RID"]  = mysql_result($Erg, $i, "RID");
    $Room[$i]["Name"] = mysql_result($Erg, $i, "Name");
  
    $RoomID[ mysql_result($Erg, $i, "RID") ] =  mysql_result($Erg, $i, "Name");
  }

// erstellt ein Aray der Engeltypen
  $sql = "SELECT `TID`, `Name` FROM `EngelType` ORDER BY `Name`";
  $Erg = mysql_query($sql, $con);
  $rowcount = mysql_num_rows($Erg);
  for ($i=0; $i<$rowcount; $i++)
  {
    $EngelType[$i]["TID"]  = mysql_result($Erg, $i, "TID");
    $EngelType[$i]["Name"]  = mysql_result($Erg, $i, "Name").Get_Text("inc_schicht_engel");

    $EngelTypeID[ mysql_result($Erg, $i, "TID") ] = 
      mysql_result($Erg, $i, "Name").Get_Text("inc_schicht_engel");
  }                        


/*#######################################################
#  gibt die engelschischten aus      #
#######################################################*/
function ausgabe_Feld_Inhalt( $SID, $Man ) 
{
// gibt, nach �bergabe der der SchichtID (SID) und der RaumBeschreibung,
// die eingetragenden und und offenden Schichteint�ge zur�ck
  global $EngelType, $EngelTypeID, $con;
  //form Config
  global $debug;

  $Out = "";

  $Out.= "<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" frame=\"void\">\n";

  $Out.= "<colgroup span=\"2\"  align=\"left\" valign=\"center\">\n".
    "<col width=\"45%\">\n".
    "<col width=\"*\">\n".
    "</colgroup>\n";

  ///////////////////////////////////////////////////////////////////
  // SQL abfrage f�r die ben�tigten schichten
  ///////////////////////////////////////////////////////////////////
  $SQL = "SELECT * FROM `ShiftEntry` WHERE (`SID` = '$SID') ORDER BY `TID`, `UID` DESC ;";
  $Erg = mysql_query($SQL, $con);
  
  $Anzahl = mysql_num_rows($Erg);
  $Feld=-1;
  for( $i = 0; $i < $Anzahl; $i++ )
  {
    
    $Temp_TID = mysql_result($Erg, $i, "TID");
    
    // wenn sich der Type �ndert wird zumn�sten feld geweckselt
    if( ($i==0) || ($Temp_TID_old != $Temp_TID) )
    {
      $Feld++;
      $Temp[$Feld]["free"]=0;
      $Temp[$Feld]["Engel"]=array();
    }
      
    $Temp[$Feld]["TID"] = $Temp_TID;
    $Temp[$Feld]["UID"] = mysql_result($Erg, $i, "UID");
    
    // ist es eine zu vergeben schicht?
    if( $Temp[$Feld]["UID"] == 0 )
      $Temp[$Feld]["free"]++;
    else
      $Temp[$Feld]["Engel"][] = $Temp[$Feld]["UID"];
    
    $Temp_TID_old = $Temp[$Feld]["TID"];
  } // FOR
  

  ///////////////////////////////////////////////////////////////////
  // Aus gabe der Schicht
  ///////////////////////////////////////////////////////////////////
  if( isset($Temp) && count($Temp) )
    foreach( $Temp as $TempEntry => $TempValue )
    {
      $Out.= "<tr>\n";
    
    // ausgabe EngelType
    $Out.= "<td>". $EngelTypeID[ $TempValue["TID"] ];
    
    // ausgabe Eingetragener Engel
    if( count($TempValue["Engel"]) > 0  )
    {
      if( count($TempValue["Engel"]) == 1  )
        $Out.= " ". trim(Get_Text("inc_schicht_ist")). ":";
      else 
        $Out.= " ". trim(Get_Text("inc_schicht_sind")). ":";
      $Out.= "</td>\n";
      $Out.= "<td>";
      
      foreach( $TempValue["Engel"] as $TempEngelEntry=> $TempEngelID )
              $Out.= UID2Nick( $TempEngelID ). ", ";
//              $Out.= UID2Nick( $TempEngelID ). DisplayAvatar( $TempEngelID ). ", ";
      $Out = substr( $Out, 0, strlen($Out)-2 );
    }
    else
    {
      $Out.= ":</td>\n";
      $Out.= "<td>\n";
    }
      
    
    // ausgabe ben�tigter Engel
    ////////////////////////////
    if( $_SESSION['CVS']["nonpublic/schichtplan_add.php"] == "Y")
                {
      if ( $TempValue["free"] > 0)
      {
        if( count($TempValue["Engel"]) > 0)
          $Out.= ", ";
        $Out.= $TempValue["free"]. "x free ";
      }
    }
    $Out.= "</td>\n";
    $Out.= "</tr>\n";
  
  } // FOREACH

  $Out.= "</table>\n";
  
  return $Out;
} // function Ausgabe_Feld_Inhalt



/*#######################################################
#  gibt die engelschischten  f�r einen Ruam aus  #
#######################################################*/
function ausgabe_Zeile( $RID, $Time, &$AnzahlEintraege ) 
{
  global $con;
  
  $SQL = "SELECT `SID`, `Len`, `Man` FROM `Shifts` ".
    "WHERE (  (`RID` = '$RID') AND ".
      "((`DateE` like '". gmdate("Y-m-d H", $Time+3600). "%') OR ".
      " (`DateS` like '". gmdate("Y-m-d H", $Time). "%')) ) ORDER BY `DateS`;";
  
  $ErgRoom = mysql_query($SQL, $con);
  $Out= "<td>";
  if( mysql_num_rows( $ErgRoom)>0 )
    for( $i=1; $i<=mysql_num_rows( $ErgRoom); $i++ )
    {
      $AnzahlEintraege++;
      $Out.= ausgabe_Feld_Inhalt( mysql_result( $ErgRoom, $i-1, "SID"), 
              mysql_result( $ErgRoom, $i-1, "Man"));
      if( (mysql_num_rows( $ErgRoom) > 1) && !($i==mysql_num_rows( $ErgRoom)) )
        $Out.= "<br />";
//        $Out.= "<hr width=\"95%\" align=\"center\">\n";
      
    }
  else
    $Out.= "&nbsp;";
  
  $Out.= "</td>\n";
  
  return $Out;
}

?>