mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-19 07:52:16 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
This commit is contained in:
+73
-63
@@ -16,8 +16,8 @@
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Karl Burkhart <karl.burkhart@technikum-wien.at>.
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Karl Burkhart <karl.burkhart@technikum-wien.at>.
|
||||
*/
|
||||
require_once('../../config/cis.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
@@ -29,20 +29,20 @@ $sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
$uid = get_uid();
|
||||
$db = new basis_db();
|
||||
if(!isset($_REQUEST['grp']))
|
||||
if (!isset($_REQUEST['grp']))
|
||||
die('Falsche Parameter');
|
||||
|
||||
if(mb_strlen($_REQUEST['grp'])>32)
|
||||
|
||||
if (mb_strlen($_REQUEST['grp'])>32)
|
||||
die('Grp ungueltig');
|
||||
|
||||
|
||||
//Pruefen ob es eine gueltige Gruppe ist
|
||||
$gruppe = new gruppe();
|
||||
if(!$gruppe->exists($_REQUEST['grp']))
|
||||
if (!$gruppe->exists($_REQUEST['grp']))
|
||||
{
|
||||
//Wenn es keine Gruppe in der DB ist, kann es
|
||||
//noch ein Studierendenverteiler sein
|
||||
//bif_std
|
||||
if(!preg_match('/^\D\D\D_std$/', $_REQUEST['grp']))
|
||||
if (!preg_match('/^\D\D\D_std$/', $_REQUEST['grp']))
|
||||
{
|
||||
die('Ungueltige Gruppe');
|
||||
}
|
||||
@@ -52,38 +52,35 @@ function mail_id_generator()
|
||||
mt_srand((double)microtime()*1000000);
|
||||
|
||||
/* Laenge des Passwortes dem Zufall ueberlassen */
|
||||
$length = 6; //mt_rand(6, 6);
|
||||
$length = 6;
|
||||
$fix_similar = '';
|
||||
$valid_charset = "";
|
||||
|
||||
/* Stelle ein Charset zusammen */
|
||||
if (!$valid_charset)
|
||||
{
|
||||
// deactivated, regarding an case sensitive issue
|
||||
//$valid_charset .= 'ABCDEFGHIJKLMNOPQRSTUVXYZ';
|
||||
$valid_charset .= 'abcdefghijklmnopqrstuvxyz';
|
||||
$valid_charset .= '0123456789';
|
||||
//$valid_charset .= '!@_-';
|
||||
}
|
||||
|
||||
$charset_length = mb_strlen($valid_charset);
|
||||
|
||||
if ($charset_length == 0) return false;
|
||||
|
||||
/* Initialisieren - Auswahl von chars bis definierte Anzahl erreicht */
|
||||
$mail_id = "";
|
||||
while(strlen($mail_id) < $length)
|
||||
{
|
||||
/* Waehle einen zufaelligen char aus */
|
||||
$char = $valid_charset[mt_rand(0, ($charset_length-1))];
|
||||
|
||||
/* Abgleich von gleich aussehenden chars */
|
||||
if (($fix_similar && !strpos('O01lI5S', $char)) || !$fix_similar) $mail_id .= $char;
|
||||
/* Stelle ein Charset zusammen */
|
||||
if (!$valid_charset)
|
||||
{
|
||||
$valid_charset .= 'abcdefghijklmnopqrstuvxyz';
|
||||
$valid_charset .= '0123456789';
|
||||
}
|
||||
return $mail_id;
|
||||
|
||||
$charset_length = mb_strlen($valid_charset);
|
||||
|
||||
if ($charset_length == 0) return false;
|
||||
|
||||
/* Initialisieren - Auswahl von chars bis definierte Anzahl erreicht */
|
||||
$mail_id = '';
|
||||
while (strlen($mail_id) < $length)
|
||||
{
|
||||
/* Waehle einen zufaelligen char aus */
|
||||
$char = $valid_charset[mt_rand(0, ($charset_length-1))];
|
||||
|
||||
/* Abgleich von gleich aussehenden chars */
|
||||
if (($fix_similar && !strpos('O01lI5S', $char)) || !$fix_similar) $mail_id .= $char;
|
||||
}
|
||||
return $mail_id;
|
||||
}
|
||||
|
||||
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
echo '<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
@@ -92,48 +89,61 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www
|
||||
</head>
|
||||
<body>';
|
||||
|
||||
if(isset($_REQUEST['token']) && isset($_REQUEST['grp']))
|
||||
if (isset($_REQUEST['token']) && isset($_REQUEST['grp']))
|
||||
{
|
||||
echo '
|
||||
<table class="tabcontent">
|
||||
<tr>
|
||||
<td class="ContentHeader"><font class="ContentHeader">'.$p->t('mailverteiler/mailverteiler').'</font></td>
|
||||
<td class="ContentHeader"><font class="ContentHeader">'.$p->t('mailverteiler/status').'</font></td>
|
||||
</tr>';
|
||||
|
||||
<tr>
|
||||
<td class="ContentHeader"><font class="ContentHeader">'.$p->t('mailverteiler/mailverteiler').'</font></td>
|
||||
<td class="ContentHeader"><font class="ContentHeader">'.$p->t('mailverteiler/status').'</font></td>
|
||||
</tr>';
|
||||
|
||||
/* Generate an random String */
|
||||
$mail_id=mail_id_generator();
|
||||
$mail_id = mail_id_generator();
|
||||
|
||||
/* Command to unlock Mailgroup */
|
||||
$command = "ssh -i /etc/apache2/id_mail_provisioning mailadmins@bifrost2 ".$_REQUEST['grp'] . " " . $mail_id;
|
||||
exec($command);
|
||||
|
||||
/* ffe, 20051020 - do a little logging */
|
||||
$message= date("F j G:i:s") . " mailgroup: [" . $_REQUEST['grp'] . "] (using " . $mail_id . ") requested by [" . $uid . "]\n";
|
||||
$output = array();
|
||||
exec($command, $output, $retval);
|
||||
|
||||
$filet = fopen(LOG_PATH.'.htmlistopen.log', "a");
|
||||
fwrite($filet, $message, mb_strlen($message));
|
||||
fclose($filet);
|
||||
if ($retval === 0)
|
||||
{
|
||||
// Add Log Message
|
||||
$message= date("F j G:i:s") . " mailgroup: [" . $_REQUEST['grp'] . "] (using " . $mail_id . ") requested by [" . $uid . "]\n";
|
||||
|
||||
// for the users
|
||||
echo "
|
||||
<tr>
|
||||
<td><a href='mailto:".$_REQUEST['grp'].$mail_id."@".DOMAIN."'>".$db->convert_html_chars($_REQUEST['desc'])."</a></td>
|
||||
<td>".$p->t('mailverteiler/geoeffnet')." (Code: ".$mail_id.")</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2'>
|
||||
<p>".$p->t('mailverteiler/klickenZumSchicken')."</p>
|
||||
$filet = fopen(LOG_PATH.'.htmlistopen.log', "a");
|
||||
fwrite($filet, $message, mb_strlen($message));
|
||||
fclose($filet);
|
||||
|
||||
<p>".$p->t('mailverteiler/infoBenutzung',array($_REQUEST['grp'].$mail_id."@".DOMAIN))."</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
";
|
||||
echo "
|
||||
<tr>
|
||||
<td><a href='mailto:".$_REQUEST['grp'].$mail_id."@".DOMAIN."'>".$db->convert_html_chars($_REQUEST['desc'])."</a></td>
|
||||
<td>".$p->t('mailverteiler/geoeffnet')." (Code: ".$mail_id.")</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2'>
|
||||
<p>".$p->t('mailverteiler/klickenZumSchicken')."</p>
|
||||
|
||||
<p>".$p->t('mailverteiler/infoBenutzung',array($_REQUEST['grp'].$mail_id."@".DOMAIN))."</p>
|
||||
</td>
|
||||
</tr>
|
||||
";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
'.$p->t('mailverteiler/oeffnenFehlgeschlagen').'
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
echo '</table>';
|
||||
}
|
||||
else
|
||||
{
|
||||
if($_REQUEST['grp']=="")
|
||||
if ($_REQUEST['grp'] == '')
|
||||
{
|
||||
exit();
|
||||
}
|
||||
@@ -142,7 +152,7 @@ else
|
||||
echo $p->t('mailverteiler/bestaetigeOeffnen',array($_REQUEST['grp']))." : <a href=\"".$_SERVER['SCRIPT_NAME']."?grp=".$_REQUEST['grp']."&desc=".$db->convert_html_chars($_REQUEST['desc'])."&token=1\">".$p->t('mailverteiler/bestaetige')."</a>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
echo '</body>
|
||||
</html>';
|
||||
?>
|
||||
|
||||
@@ -184,8 +184,8 @@ usort($nulltermine, function ($termina, $terminb)
|
||||
$termine = array_merge($termineWithSort, $nulltermine);
|
||||
|
||||
//Farben für Prüfungsantritte (1. Termin, 2., kommissionelle...)
|
||||
$colors = array('ffff00', 'fa9200', 'ff1500', '800000', '9400D3', '1500ff', '305041', '00fff2', '00ff2b');
|
||||
$colorsForPositiv = array('ffffff', 'ffdfb3', 'ffb9b3', 'ff9494', 'ddb3ff', '7366ff', '80b39b', 'b3fffb', 'b3ffbf');
|
||||
$colors = array('ffff00', 'fa9200', 'ff1500', '9400D3', '0000FF', '800000', '305041', '00fff2', '00ff2b');
|
||||
$colorsForPositiv = array('ffffff', 'ffdfb3', 'ffb9b3', 'ddb3ff', '7366ff', 'ff9494', '80b39b', 'b3fffb', 'b3ffbf');
|
||||
|
||||
$counter = 0;
|
||||
foreach ($termine as $termin)
|
||||
@@ -230,6 +230,7 @@ if ($typ == 'xls')
|
||||
$format_rotate =& $workbook->addFormat();
|
||||
$format_rotate->setTextRotation(270);
|
||||
$format_rotate->setAlign('center');
|
||||
$format_rotate->setBorder(1);
|
||||
|
||||
$format_bold_center =& $workbook->addFormat();
|
||||
$format_bold_center->setBold();
|
||||
@@ -306,7 +307,7 @@ if ($typ == 'xls')
|
||||
$worksheet->write($zeile, ++$spalte, 'Vorname', $format_bold);
|
||||
$maxlength[$spalte] = 10;
|
||||
$worksheet->write($zeile, ++$spalte, 'Personenkennzeichen', $format_bold);
|
||||
$maxlength[$spalte] = 30;
|
||||
$maxlength[$spalte] = 32;
|
||||
$maxheaderheight = 20;
|
||||
|
||||
while ($row_lva = $db->db_fetch_object($result_lva))
|
||||
@@ -419,12 +420,12 @@ if ($typ == 'xls')
|
||||
}
|
||||
}
|
||||
//keine Nachprüfung aber negativ - 1. Antritt Farbe wenn es eine Notenanmerkung gibt
|
||||
else if (!$noten_positiv[$note] && $noten_arr[$note] != '' && isset($noten_arr[$note]))
|
||||
elseif (!$noten_positiv[$note] && $noten_arr[$note] != '' && isset($noten_arr[$note]))
|
||||
{
|
||||
reset($pruefungsart_farben);
|
||||
$format = $format_colored[key($pruefungsart_farben)];
|
||||
}
|
||||
else if (isset($format_colored[$note]))
|
||||
elseif (isset($format_colored[$note]))
|
||||
$format = $format_colored[$note];
|
||||
|
||||
$worksheet->write($zeile, ++$spalte, $noten_arr[$note], $format);
|
||||
@@ -523,13 +524,18 @@ if ($typ == 'xls')
|
||||
foreach ($termine as $termin)
|
||||
$bezeichnungen[$termin->pruefungstyp_kurzbz] = $termin->beschreibung;
|
||||
|
||||
$worksheet->setMerge($legendzeile, $startcolumn, $legendzeile, $startcolumn + 4);
|
||||
$totalmergefarb = 4;
|
||||
|
||||
$worksheet->write($legendzeile, $startcolumn, "Farblegende Prüfungsantritte", $format_bold_center);
|
||||
$worksheet->write($legendzeile, $startcolumn + 4, "", $format_bold_center);
|
||||
$worksheet->setMerge($legendzeile, $startcolumn, $legendzeile, $startcolumn + $totalmergefarb);
|
||||
//In manchen Excelversionen wird border nicht dargestellt -> alle verbundenen zellen nachformatieren
|
||||
for($i = 1; $i <= $totalmergefarb; $i++)
|
||||
$worksheet->write($legendzeile, $startcolumn + $i, "", $format_bold_center);
|
||||
$legendzeile++;
|
||||
$worksheet->write($legendzeile, $startcolumn, "Termin", $format_bold_center);
|
||||
$worksheet->setMerge($legendzeile, $startcolumn + 1, $legendzeile, $startcolumn + 2);
|
||||
$worksheet->write($legendzeile, $startcolumn + 1, "positiv", $format_bold_center);
|
||||
$worksheet->write($legendzeile, $startcolumn + 2, "", $format_bold_center);
|
||||
$worksheet->setMerge($legendzeile, $startcolumn + 3, $legendzeile, $startcolumn + 4);
|
||||
$worksheet->write($legendzeile, $startcolumn + 3, "negativ", $format_bold_center);
|
||||
$worksheet->write($legendzeile, $startcolumn + 4, "", $format_bold_center);
|
||||
@@ -541,6 +547,7 @@ if ($typ == 'xls')
|
||||
$worksheet->write($legendzeile, $startcolumn, $bezeichnung, $format_bold);
|
||||
$worksheet->setMerge($legendzeile, $startcolumn + 1, $legendzeile, $startcolumn + 2);
|
||||
$worksheet->write($legendzeile, $startcolumn + 1, "", $format_colored[$name.'Pos']);
|
||||
$worksheet->write($legendzeile, $startcolumn + 2, "", $format_colored[$name.'Pos']);
|
||||
$worksheet->setMerge($legendzeile, $startcolumn + 3, $legendzeile, $startcolumn + 4);
|
||||
$worksheet->write($legendzeile, $startcolumn + 3, "", $format_colored[$name]);
|
||||
$worksheet->write($legendzeile, $startcolumn + 4, "", $format_colored[$name]);
|
||||
@@ -548,13 +555,13 @@ if ($typ == 'xls')
|
||||
}
|
||||
$worksheet->write($legendzeile, $startcolumn, "nicht eingetragen", $format_bold);
|
||||
$worksheet->setMerge($legendzeile, $startcolumn + 1, $legendzeile, $startcolumn + 4);
|
||||
$worksheet->write($legendzeile, $startcolumn + 1, "", $format_colored_nichteingetragen);
|
||||
$worksheet->write($legendzeile, $startcolumn + 4, "", $format_colored_nichteingetragen);
|
||||
for($i = 1; $i <= $totalmergefarb; $i++)
|
||||
$worksheet->write($legendzeile, $startcolumn + $i, "", $format_colored_nichteingetragen);
|
||||
$legendzeile++;
|
||||
$worksheet->write($legendzeile, $startcolumn, "nicht zugeteilt", $format_bold);
|
||||
$worksheet->setMerge($legendzeile, $startcolumn + 1, $legendzeile, $startcolumn + 4);
|
||||
$worksheet->write($legendzeile, $startcolumn + 1, "", $format_colored_nichtzugeteilt);
|
||||
$worksheet->write($legendzeile, $startcolumn + 4, "", $format_colored_nichtzugeteilt);
|
||||
for($i = 1; $i <= $totalmergefarb; $i++)
|
||||
$worksheet->write($legendzeile, $startcolumn + $i, "", $format_colored_nichtzugeteilt);
|
||||
|
||||
$startcolumn = $currentcolumn = 9;
|
||||
|
||||
@@ -574,7 +581,7 @@ if ($typ == 'xls')
|
||||
{
|
||||
$groesse++;
|
||||
}
|
||||
else if ($currentcolumn < 3 + $anzahl_lvspalten + 2)
|
||||
elseif ($currentcolumn < 3 + $anzahl_lvspalten + 2)
|
||||
{
|
||||
$groesse += 4;
|
||||
}
|
||||
@@ -589,6 +596,7 @@ if ($typ == 'xls')
|
||||
$index++;
|
||||
}
|
||||
|
||||
// all merges for 4 columns of Notenlegende
|
||||
$allmerges = array($beschrColumnMerges[0], 1, $beschrColumnMerges[1], 1);
|
||||
$headingmerge = array_sum($allmerges) - 1;
|
||||
$positivmerge = $allmerges[0] + $allmerges[1] - 1;
|
||||
@@ -596,12 +604,18 @@ if ($typ == 'xls')
|
||||
|
||||
$worksheet->setMerge($zeile, $startcolumn, $zeile, $startcolumn + $headingmerge);
|
||||
$worksheet->write($zeile, $startcolumn, "Notenlegende", $format_bold_center);
|
||||
for($i = 1; $i < $headingmerge; $i++)
|
||||
$worksheet->write($zeile, $startcolumn + $i, "", $format_bold_center);
|
||||
$worksheet->write($zeile++, $startcolumn + $headingmerge, "", $format_bold_center);
|
||||
$worksheet->setMerge($zeile, $startcolumn, $zeile, $startcolumn + $positivmerge);
|
||||
$worksheet->write($zeile, $startcolumn, "positiv", $format_bold_center);
|
||||
for($i = 1; $i <= $positivmerge; $i++)
|
||||
$worksheet->write($zeile, $startcolumn + $i, "", $format_bold_center);
|
||||
$worksheet->setMerge($zeile, $startcolumn + $positivmerge + 1, $zeile, $startcolumn + $headingmerge);
|
||||
$worksheet->write($zeile, $startcolumn + $headingmerge, "", $format_bold_center);
|
||||
$worksheet->write($zeile++, $startcolumn + $positivmerge + 1, "negativ", $format_bold_center);
|
||||
$worksheet->write($zeile, $startcolumn + $positivmerge + 1, "negativ", $format_bold_center);
|
||||
for($i = 1; $i <= $negativmerge; $i++)
|
||||
$worksheet->write($zeile, $startcolumn + $positivmerge + $i + 1, "", $format_bold_center);
|
||||
$worksheet->write($zeile++, $startcolumn + $headingmerge, "", $format_bold_center);
|
||||
$tempzeile = $zeile;
|
||||
foreach ($noten_arr as $note => $anmerkung)
|
||||
{
|
||||
@@ -611,12 +625,16 @@ if ($typ == 'xls')
|
||||
{
|
||||
$worksheet->setMerge($zeile, $startcolumn, $zeile, $startcolumn + $positivmerge - 1);
|
||||
$worksheet->write($zeile, $startcolumn, $noten_bezeichnungen[$note], $format_bold);
|
||||
for($i = 1; $i <= $positivmerge; $i++)
|
||||
$worksheet->write($zeile, $startcolumn + $i, "", $format_bold_center);
|
||||
$worksheet->write($zeile++, $startcolumn + $positivmerge, $anmerkung, $format_bold_center);
|
||||
}
|
||||
else
|
||||
{
|
||||
$worksheet->setMerge($tempzeile, $startcolumn + $positivmerge + 1, $tempzeile, $startcolumn + $headingmerge - 1);
|
||||
$worksheet->write($tempzeile, $startcolumn + $positivmerge + 1, $noten_bezeichnungen[$note], $format_bold);
|
||||
for($i = 1; $i <= $negativmerge; $i++)
|
||||
$worksheet->write($tempzeile, $startcolumn + $positivmerge + $i + 1, "", $format_bold_center);
|
||||
$worksheet->write($tempzeile++, $startcolumn + $headingmerge, $anmerkung, $format_bold_center);
|
||||
}
|
||||
}
|
||||
@@ -629,6 +647,10 @@ if ($typ == 'xls')
|
||||
//Zellen der 1. Zeile verbinden
|
||||
$worksheet->setMerge(0, 0, 0, $spalte);
|
||||
|
||||
//Alle verbundenen Zellen formatieren - in best. Excelversionen border sonst falsch
|
||||
for($i = 1; $i <= $spalte; $i++)
|
||||
$worksheet->write(0, $i, "", $format_bold_center);
|
||||
|
||||
//Hoehe der 2. Zeile anpassen damit die LVs alle sichtbar sind
|
||||
$worksheet->setRow(1, $maxheaderheight * 5);
|
||||
|
||||
|
||||
@@ -19,9 +19,10 @@ $this->phrasen['mailverteiler/mailverteiler']='Mailverteiler';
|
||||
$this->phrasen['mailverteiler/oeffnenEinesVerteilers']='Öffnen eines Mailverteilers';
|
||||
$this->phrasen['mailverteiler/status']='Status';
|
||||
$this->phrasen['mailverteiler/geoeffnet']='Geöffnet';
|
||||
$this->phrasen['mailverteiler/klickenZumSchicken']='Um ein Mail an den Verteiler zu senden klicken Sie bitte auf den obigen Link. Ihr Mailprogramm öffnet automatisch eine Vorlage für ein neues Mail, welche bereits die korrekte Adresse enthält.';
|
||||
$this->phrasen['mailverteiler/klickenZumSchicken']='Um ein Mail an den Verteiler zu senden klicken Sie bitte auf den angezeigten Link. Ihr Mailprogramm öffnet automatisch eine Vorlage für ein neues Mail, welche bereits die korrekte Adresse enthält.';
|
||||
$this->phrasen['mailverteiler/infoBenutzung']='Das Senden ist für den Zeitraum von <b>2 Stunden</b> bzw. für die <b>einmalige</b> Benutzung unter der Adresse <a href="mailto:%1$s">%1$s</a> möglich.';
|
||||
$this->phrasen['mailverteiler/bestaetigeOeffnen']='Bitte bestätigen Sie das Öffnen des Verteilers %1$s';
|
||||
$this->phrasen['mailverteiler/bestaetige']='Bestätige';
|
||||
$this->phrasen['mailverteiler/personenImVerteiler']='Personen im Mailverteiler';
|
||||
$this->phrasen['mailverteiler/oeffnenFehlgeschlagen']='Beim Freischalten des Verteilers ist ein Fehler aufgetreten.<br>Bitte Informieren Sie den Administrator';
|
||||
?>
|
||||
|
||||
@@ -24,4 +24,5 @@ $this->phrasen['mailverteiler/infoBenutzung']='You can use the Mailinglist durin
|
||||
$this->phrasen['mailverteiler/bestaetigeOeffnen']='Please confirm to unlock the Mailing list %1$s';
|
||||
$this->phrasen['mailverteiler/bestaetige']='Confirm';
|
||||
$this->phrasen['mailverteiler/personenImVerteiler']='People in this mailing list';
|
||||
$this->phrasen['mailverteiler/oeffnenFehlgeschlagen']='Failed to open mailing list. Please inform your administrator.';
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user