This commit is contained in:
kindlm
2017-09-15 12:51:57 +02:00
209 changed files with 5019 additions and 12997 deletions
+2
View File
@@ -18,10 +18,12 @@
### CHANGED
- **[CORE]** Berechtigungsprüfung wurde angepasst damit deaktivierte Benutzer keine Berechtigungen mehr haben
- **[FAS]** Mitarbeiterexport exportiert jetzt nur noch die markierten Personen
- **[CORE]** Has many as possible javascripts and css present in the repository were removed. Their lack is overcome by the packages in the composer. In the meanwhile also the versions were updated
### Updateinfo
- **[CORE]** Infoscreen wurde umbenannt (informationsbildschirm.php)
- **[CORE]** Moodle Schnittstelle wurde aus dem Core entfernt und in ein eigenes Addon verschoben. Moodle Versionen < 2.4 werden nicht mehr unterstützt
- **[CORE]** Update campus.tbl_templates (contentmittitel and contentohnetitel) with system/templates/contentmittitel_xslt_xhtml.xslt andsystem/templates/contentohnetitel_xslt_xhtml.xslt
## [3.2]
@@ -1,5 +1,5 @@
<?php
$this->load->view('templates/header', array('title' => 'StudienjahrNew', 'jqueryComposer' => true));
$this->load->view('templates/header', array('title' => 'StudienjahrNew', 'jqueryCurrent' => true));
?>
<body>
@@ -1,5 +1,5 @@
<?php
$this->load->view('templates/header', array('title' => 'StudiensemesterNew', 'jqueryComposer' => true, 'datepicker' => true, 'datepickerclass' => 'dateinput'));
$this->load->view('templates/header', array('title' => 'StudiensemesterNew', 'jqueryCurrent' => true, 'datepicker' => true, 'datepickerclass' => 'dateinput'));
?>
<body>
@@ -1,4 +1,4 @@
<?php $this->load->view("templates/header", array("title" => "Users manager", "jquery19" => true, "tablesort" => true, "jquery_checkboxes" => true, "jquery_custom" => true)); ?>
<?php $this->load->view("templates/header", array("title" => "Users manager", "jqueryV1" => true, "tablesort" => true, "jquery_checkboxes" => true, "jquery_custom" => true)); ?>
<body>
<form id="usersFiltersForm" action="" method="post">
@@ -56,9 +56,9 @@
</tr>
</table>
</form>
<br>
<form id="linkUsersForm" action="" method="post">
<?php
if ($users != null)
@@ -197,14 +197,14 @@
?>
</div>
</form>
<?php
$hrefLinkToStufe = str_replace("/system/aufnahme/PrestudentMultiAssign", "/system/aufnahme/PrestudentMultiAssign/linkToStufe", $_SERVER["REQUEST_URI"]);
$hrefLinkToAufnahmegruppe = str_replace("/system/aufnahme/PrestudentMultiAssign", "/system/aufnahme/PrestudentMultiAssign/linkToAufnahmegruppe", $_SERVER["REQUEST_URI"]);
?>
<script>
$(document).ready(function() {
if ($("#linkToStufe"))
{
@@ -243,42 +243,42 @@
});
});
}
if ($('#studiengangFilter'))
{
$('#studiengangFilter').change(function() {
$('#usersFiltersForm').submit();
});
}
if ($('#studiensemesterFilter'))
{
$('#studiensemesterFilter').change(function() {
$('#usersFiltersForm').submit();
});
}
if ($('#aufnahmegruppeFilter'))
{
$('#aufnahmegruppeFilter').change(function() {
$('#usersFiltersForm').submit();
});
}
if ($('#stufeFilter'))
{
$('#stufeFilter').change(function() {
$('#usersFiltersForm').submit();
});
}
if ($('#reihungstestFilter'))
{
$('#reihungstestFilter').change(function() {
$('#usersFiltersForm').submit();
});
}
$(".tablesorter").each(function(i, v) {
$("#"+v.id).tablesorter(
{
@@ -316,8 +316,8 @@
$("#mailSendButton").html('Mail an alle senden');
});
});
</script>
</body>
<?php $this->load->view("templates/footer"); ?>
+25 -25
View File
@@ -1,13 +1,13 @@
<?php $this->load->view("templates/header", array("title" => "MessageReply", "jquery19" => true, "tinymce" => true)); ?>
<?php $this->load->view("templates/header", array("title" => "MessageReply", "jqueryV1" => true, "tinymce" => true)); ?>
<body>
<?php
$href = str_replace("/system/Messages/write", "/system/Messages/send", $_SERVER["REQUEST_URI"]);
?>
<form id="sendForm" method="post" action="<?php echo $href; ?>">
<table>
<tr>
<td>
@@ -47,7 +47,7 @@
</td>
</tr>
</table>
<table width="100%">
<tr>
<td width="80%">
@@ -86,7 +86,7 @@
</td>
</tr>
</table>
<table>
<tr>
<td>
@@ -106,9 +106,9 @@
</td>
</tr>
</table>
<br>
<?php
if (isset($receivers) && count($receivers) > 0)
{
@@ -130,7 +130,7 @@
<option value="<?php echo $receiver->prestudent_id; ?>"><?php echo $receiver->Nachname . " " . $receiver->Vorname; ?></option>
<?php
}
?>
?>
</select>
&nbsp;
<strong><a href="#" id="refresh">Refresh</a></strong>
@@ -151,7 +151,7 @@
<?php
}
?>
<?php
for($i = 0; $i < count($receivers); $i++)
{
@@ -159,7 +159,7 @@
echo '<input type="hidden" name="prestudents[]" value="' . $receiver->prestudent_id . '">' . "\n";
}
?>
<?php
if (isset($message))
{
@@ -168,14 +168,14 @@
<?php
}
?>
</form>
<script>
tinymce.init({
selector: "#bodyTextArea"
});
tinymce.init({
menubar: false,
toolbar: false,
@@ -183,7 +183,7 @@
selector: "#tinymcePreview",
statusbar: true
});
$(document).ready(function() {
if ($("#variables"))
{
@@ -194,17 +194,17 @@
}
});
}
if ($("#recipients"))
{
$("#recipients").change(tinymcePreviewSetContent);
}
if ($("#refresh"))
{
$("#refresh").click(tinymcePreviewSetContent);
}
if ($("#sendButton") && $("#sendForm"))
{
$("#sendButton").click(function() {
@@ -218,7 +218,7 @@
}
});
}
if ($("#vorlageDnD"))
{
$("#vorlageDnD").change(function() {
@@ -227,7 +227,7 @@
<?php
$url = str_replace("/system/Messages/write", "/system/Messages/getVorlage", $_SERVER["REQUEST_URI"]);
?>
$.ajax({
dataType: "json",
url: "<?php echo $url; ?>",
@@ -244,7 +244,7 @@
});
}
});
function tinymcePreviewSetContent()
{
if ($("#tinymcePreview"))
@@ -259,14 +259,14 @@
}
}
}
function parseMessageText(prestudent_id, text)
{
<?php
$url = str_replace("/system/Messages/write", "/system/Messages/parseMessageText", $_SERVER["REQUEST_URI"]);
$url = substr($url, 0, strrpos($url, '/'));
?>
$.ajax({
dataType: "json",
url: "<?php echo $url; ?>",
@@ -280,7 +280,7 @@
});
}
</script>
</body>
<?php $this->load->view("templates/footer"); ?>
+11 -9
View File
@@ -2,8 +2,8 @@
if (! defined('BASEPATH')) exit('No direct script access allowed');
isset($title) ? $title = 'VileSci - '.$title : $title = 'VileSci';
!isset($jquery19) ? $jquery19 = false : $jquery19 = $jquery19;
!isset($jqueryComposer) ? $jqueryComposer = false : $jqueryComposer = $jqueryComposer;
!isset($jqueryV1) ? $jqueryV1 = false : $jqueryV1 = $jqueryV1;
!isset($jqueryCurrent) ? $jqueryCurrent = false : $jqueryCurrent = $jqueryCurrent;
!isset($jqueryui) ? $jqueryui = false : $jqueryui = $jqueryui;
!isset($jquery_checkboxes) ? $jquery_checkboxes = false : $jquery_checkboxes = $jquery_checkboxes;
!isset($jquery_custom) ? $jquery_custom = false : $jquery_custom = $jquery_custom;
@@ -19,15 +19,15 @@ isset($title) ? $title = 'VileSci - '.$title : $title = 'VileSci';
!isset($datepicker) ? $datepicker = false : $datepicker = $datepicker;
if ($tablesort || $jquery_checkboxes || $jquery_custom)
$jquery19 = true;
$jqueryV1 = true;
if($datepicker)
$jqueryui = true;
if($jqueryui)
$jqueryComposer = true;
$jqueryCurrent = true;
if($jquery19 && $jqueryComposer)
if($jqueryV1 && $jqueryCurrent)
show_error("Two JQuery versions used: composer and include folder version");
?>
@@ -42,17 +42,19 @@ if($jquery19 && $jqueryComposer)
<link rel="stylesheet" type="text/css" href="<?php echo base_url('skin/tablesort.css'); ?>" />
<?php endif ?>
<?php if($jquery19) : ?>
<script type="text/javascript" src="<?php echo base_url('include/js/jquery1.9.min.js'); ?>"></script>
<?php if($jqueryV1) : ?>
<script type="text/javascript" src="<?php echo base_url('vendor/jquery/jqueryV1/jquery-1.12.4.min.js'); ?>"></script>
<script type="text/javascript" src="<?php echo base_url('vendor/christianbach/tablesorter/jquery.tablesorter.min.js'); ?>"></script>
<?php endif ?>
<?php if($jqueryComposer) : ?>
<?php if($jqueryCurrent) : ?>
<script type="text/javascript" src="<?php echo base_url('vendor/components/jquery/jquery.min.js'); ?>"></script>
<?php endif ?>
<?php if($jqueryui) : ?>
<script type="text/javascript" src="<?php echo base_url('vendor/components/jqueryui/jquery-ui.min.js'); ?>"></script>
<link rel="stylesheet" type="text/css" href="<?php echo base_url('vendor/components/jqueryui/themes/base/jquery-ui.min.css'); ?>" />
<script type="text/javascript" src="<?php echo base_url('include/js/jquery.ui.datepicker.translation.js'); ?>"></script>
<link rel="stylesheet" type="text/css" href="<?php echo base_url('vendor/components/jqueryui/themes/base/jquery-ui.min.css'); ?>" />
<?php endif ?>
<?php if($jquery_checkboxes) : ?>
+1 -1
View File
@@ -8,7 +8,7 @@ require_once('../include/phrasen.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
?>
<script src="../include/js/jquery.min.1.11.1.js"></script>
<script src="../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script>
$(document).ready(function()
{
+9 -4
View File
@@ -6,7 +6,12 @@
<link rel="stylesheet" href="../skin/jquery.css" type="text/css">
<link href="../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon">
<script src="../include/js/jquery.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../vendor/jquery/sizzle/sizzle.js"></script>
</head>
<body class="main">
<table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">
@@ -15,7 +20,7 @@
<td class="boxshadow">
<table cellspacing="0" cellpadding="0" class="header">
<tr>
<td align="center" valign="middle" style="background-image: url(../skin/styles/default/header.png); background-position: top; background-repeat: repeat-x;">
<td align="center" valign="middle" style="background-image: url(../skin/styles/default/header.png); background-position: top; background-repeat: repeat-x;">
<img class="header_logo" src="../skin/styles/default/logo_250x130.png" alt="logo">
<img src="../skin/styles/default/cis_logo_text_400x78.png" />
<br><br><br>
@@ -28,7 +33,7 @@
</td>
</tr>
<tr style="height:10%;" >
<td align="center" valign="bottom">
<td align="center" valign="bottom">
<div style="color:grey">Powered by <a href="http://www.fhcomplete.org" target="blank">FH Complete</a></div>
<br><br>
</td>
@@ -39,4 +44,4 @@
</tr>
</table>
</body>
</html>
</html>
+6 -1
View File
@@ -165,7 +165,12 @@ $db = new basis_db();
<link rel="stylesheet" href="../skin/jquery.css" type="text/css">
<link href="../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon">
<script src="../include/js/jquery.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../vendor/jquery/sizzle/sizzle.js"></script>
</head>
<script type="text/javascript">
function changeSprache(sprache)
+360 -357
View File
File diff suppressed because it is too large Load Diff
+7 -3
View File
@@ -40,9 +40,13 @@ ob_start();
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="../skin/style.css.php" rel="stylesheet" type="text/css">
<title>Menu</title>
<script type="text/javascript" src="../include/js/flexcroll.js"></script>
<link href="../skin/flexcrollstyles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../vendor/jquery/sizzle/sizzle.js"></script>
<script type="text/javascript">
function treemenu(obj)
{
@@ -93,7 +97,7 @@ ob_start();
{
treemenu($("#menu"));
});
</script>
</head>
+33 -28
View File
@@ -42,13 +42,18 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui.css">
<link rel="stylesheet" type="text/css" href="../../vendor/components/jqueryui/themes/base/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="../../skin/simplecropper.css">'.
cropCss().'
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<script type="text/javascript" src="../../include/js/jquery.min.1.11.1.js"></script>
<script type="text/javascript" src="../../include/js/jquery.Jcrop.js"></script>
<script type="text/javascript" src="../../include/js/jquery.SimpleCropper.js"></script>
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../vendor/jquery/sizzle/sizzle.js"></script>
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../vendor/tapmodo/Jcrop/js/Jcrop.min.js"></script>
<script type="text/javascript" src="../../vendor/tomazdragar/SimpleCropper/scripts/jquery.SimpleCropper.js"></script>
<script type="text/javascript" src="../../include/js/cropper.js"></script>
<title>'.$p->t('profil/Bildupload').'</title>
</head>
@@ -59,11 +64,11 @@ function resize($filename, $width, $height)
{
$ext = explode('.',$_FILES['bild']['name']);
$ext = strtolower($ext[count($ext)-1]);
// Hoehe und Breite neu berechnen
list($width_orig, $height_orig) = getimagesize($filename);
if ($width && ($width_orig < $height_orig))
if ($width && ($width_orig < $height_orig))
{
$width = ($height / $height_orig) * $width_orig;
}
@@ -71,19 +76,19 @@ function resize($filename, $width, $height)
{
$height = ($width / $width_orig) * $height_orig;
}
$image_p = imagecreatetruecolor($width, $height);
$image_p = imagecreatetruecolor($width, $height);
$image = imagecreatefromjpeg($filename);
//Bild nur verkleinern aber nicht vergroessern
if($width_orig>$width || $height_orig>$height)
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
else
else
$image_p = $image;
imagejpeg($image_p, $filename, 80);
@imagedestroy($image_p);
@imagedestroy($image);
}
@@ -93,15 +98,15 @@ if(isset($_GET['person_id']))
{
$benutzer = new benutzer();
$benutzer->load($user);
if($benutzer->person_id!=$_GET['person_id'])
die($p->t('global/keineBerechtigungFuerDieseSeite'));
$fs = new fotostatus();
if($fs->akzeptiert($benutzer->person_id))
die($p->t('profil/profilfotoUploadGesperrt'));
}
else
else
die($p->t('global/fehlerBeiDerParameteruebergabe'));
echo '<br>';
@@ -130,7 +135,7 @@ function cropCss() {
The outer-most container in a typical Jcrop instance
If you are having difficulty with formatting related to styles
on a parent element, place any fixes here or in a like selector
You can also style this element if you want to add a border, etc
A better method for styling can be seen below with .jcrop-light
(Add a class to the holder and style elements for that extended class)
@@ -301,24 +306,24 @@ function cropCss() {
.simple-cropper-images{
width: 820px;
margin: 0 auto 20px;
}
.cropme{
background-image: url(../../skin/images/photoupload.png);
}
.cropme:hover{
}
.text{
font-family: arial;
font-size: 14px;
color: #4e4e4e;
margin-bottom: 20px;
}
.code{
font-family: arial;
font-size: 14px;
@@ -332,7 +337,7 @@ function cropCss() {
height:0;
overflow:hidden;
}
#modal{
z-index: 10;
position: fixed;
@@ -344,7 +349,7 @@ function cropCss() {
opacity: 0.95;
display: none;
}
#preview{
z-index: 11;
position: fixed;
@@ -357,7 +362,7 @@ function cropCss() {
font-size: 0px;
line-height: 0px;
}
#preview .buttons{
width: 36px;
position: absolute;
+42 -39
View File
@@ -46,15 +46,18 @@ echo '
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link rel="stylesheet" href="../../../skin/styles/jquery.css" type="text/css">
<link rel="stylesheet" href="../../../skin/jquery-ui-1.9.2.custom.min.css" type="text/css">
<link rel="stylesheet" href="../../../skin/jquery.ui.timepicker.css" type="text/css"/>
<script src="../../../include/js/jquery1.9.min.js" type="text/javascript"></script>
<link rel="stylesheet" href="../../../vendor/fgelinas/timepicker/jquery.ui.timepicker.css" type="text/css"/>
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script src="../../../include/tiny_mce/tiny_mce.js" type="text/javascript" ></script>
<script src="../../../include/js/jquery.ui.timepicker.js" type="text/javascript" ></script>
<script src="../../../vendor/fgelinas/timepicker/jquery.ui.timepicker.js" type="text/javascript" ></script>
<script type="text/javascript">
$(document).ready(function()
{
$(document).ready(function()
{
$.datepicker.setDefaults( $.datepicker.regional[ "de" ] );
$("#datepicker_datum").datepicker(
$("#datepicker_datum").datepicker(
{
changeMonth: true,
defaultDate: "+7",
@@ -68,7 +71,7 @@ echo '
minutes: {starts: 30, ends: 150, interval: 30},
rows: 5,
});
});
</script>
<script type="text/javascript">
@@ -79,12 +82,12 @@ echo '
theme : "advanced",
language : "de",
file_browser_callback: "FHCFileBrowser",
plugins : "spellchecker,pagebreak,style,layer,table,advhr,advimage,advlink,inlinepopups,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras",
// Theme options
theme_advanced_buttons1 : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,link,unlink,|,bullist,pastetext",
theme_advanced_buttons2 : "",
theme_advanced_buttons1 : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,link,unlink,|,bullist,pastetext",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "center",
@@ -100,17 +103,17 @@ echo '
paste_strip_class_attributes: true,
paste_retain_style_properties: "",
paste_text_sticky: true,
setup : function(ed)
{
setup : function(ed)
{
ed.onInit.add(function(ed)
{ ed.pasteAsPlainText = true;
ed.controlManager.setActive("pastetext", true);
});
}
}
);
function checkrequired()
{
var error = false;
@@ -141,9 +144,9 @@ echo '
{
document.getElementById("datepicker_datum").style.border = "";
}
var datum = document.getElementById("datepicker_datum").value;
var Tag = datum.substring(0,2);
var Tag = datum.substring(0,2);
var Monat = datum.substring(3,5);
Monat = Monat-1;
var Jahr = datum.substring(6,10);
@@ -160,7 +163,7 @@ echo '
{
document.getElementById("datepicker_datum").style.border = "";
}
if (error)
return false;
else
@@ -168,7 +171,7 @@ echo '
}
</script>
<style>
#wrapper
#wrapper
{
width: 80%;
padding: 0 10px 15px 10px;
@@ -176,21 +179,21 @@ echo '
background: #eee;
text-align: left;
}
#wrapper h4
#wrapper h4
{
font-size: 17px;
margin-top: 0;
padding-top: 10px;
padding-bottom: 10px;
text-decoration: none;
}
}
#weiter
{
width: 80%;
text-align: center;
margin-top: 10px;
padding: 10px;
padding: 10px 10px 10px 10px;
border: 1px solid #D6E9C6;
background: #DFF0D8;
@@ -201,7 +204,7 @@ echo '
text-align: center;
margin-top: 10px;
padding: 10px;
padding: 10px 10px 10px 10px;
border: 1px solid #ccc;
background: #ddd;
@@ -212,7 +215,7 @@ echo '
text-align: center;
margin-top: 10px;
padding: 10px;
padding: 10px 10px 10px 10px;
border: 1px solid #ccc;
background: #EDCECE;
@@ -221,7 +224,7 @@ echo '
{
text-decoration: none;
}
.ui-timepicker-table td a
.ui-timepicker-table td a
{
padding:0.2em 0.3em 0.2em 0.3em;
width: 1.8em;
@@ -242,26 +245,26 @@ if(isset($_POST['save']))
$coodle_id = $_POST['coodle_id'];
if (isset($_POST['mailversand']))
$mailversand = true;
else
else
$mailversand = false;
if (isset($_POST['teilnehmer_anonym']))
$teilnehmer_anonym = true;
else
else
$teilnehmer_anonym = false;
if (isset($_POST['termin_anonym']))
$termin_anonym = true;
else
else
$termin_anonym = false;
$coodle = new coodle();
if($coodle_id!='')
{
if(!$coodle->load($coodle_id))
die($coodle->errormsg);
if($coodle->ersteller_uid!=$user)
{
die($p->t('basis/keineBerechtigung'));
@@ -276,7 +279,7 @@ if(isset($_POST['save']))
$coodle->insertvon = $user;
$coodle->coodle_status_kurzbz = 'neu';
}
$coodle->titel = $titel;
$coodle->beschreibung = $beschreibung;
$coodle->dauer = $dauer;
@@ -286,7 +289,7 @@ if(isset($_POST['save']))
$coodle->mailversand = $mailversand;
$coodle->teilnehmer_anonym = $teilnehmer_anonym;
$coodle->termine_anonym = $termin_anonym;
if($coodle->save())
{
$message.= '<span class="ok">'.$p->t('global/erfolgreichgespeichert').'</span>';
@@ -294,11 +297,11 @@ if(isset($_POST['save']))
if ($coodle->new == true)
{
$coodletermin = new coodle();
$coodletermin->datum = '1900-01-01';
$coodletermin->uhrzeit = '00:00:01';
$coodletermin->coodle_id = $coodle->coodle_id;
if (!$coodletermin->saveTermin(true))
$message.= '<span class="error">'.$coodletermin->errormsg.'</span>';
}
@@ -316,10 +319,10 @@ elseif(isset($_GET['coodle_id']))
{
if($coodle->ersteller_uid!=$user)
die($p->t('global/keineBerechtigungFuerDieseSeite'));
if(($coodle->coodle_status_kurzbz!='neu') && ($coodle->coodle_status_kurzbz!='laufend'))
{
// Wenn bereits abgeschlosse oder storniert,
// Wenn bereits abgeschlosse oder storniert,
// kann nicht mehr bearbeitet werden
die($p->t('coodle/umfrageNichtGueltig'));
}
+95 -92
View File
@@ -19,7 +19,7 @@
*/
/**
* Coodle Terminauswahl
*
*
* Funktionen:
* - hinzufuegen von Ressourcen (Personen, Raeume und externe Personen)
* - setzen von Terminvorschlaegen
@@ -41,7 +41,7 @@ $datum_obj = new datum();
if(!check_lektor($uid))
die($p->t('global/keineBerechtigung'));
if(!isset($_REQUEST['coodle_id']))
die($p->t('global/fehlerBeiDerParameteruebergabe'));
@@ -97,14 +97,14 @@ if(isset($_POST['action']) && $_POST['action']=='start')
echo "Fehler beim Laden des Benutzers ".$db->convert_html_chars($row->uid);
continue;
}
if($benutzer->geschlecht=='w')
$anrede = "Sehr geehrte Frau ";
else
$anrede = "Sehr geehrter Herr ";
$anrede.= $benutzer->titelpre.' '.$benutzer->vorname.' '.$benutzer->nachname.' '.$benutzer->titelpost;
// Interner Teilnehmer
$email = $row->uid.'@'.DOMAIN;
$link = APP_ROOT.'cis/public/coodle.php?coodle_id='.urlencode($coodle_id).'&uid='.urlencode($row->uid);
@@ -113,7 +113,7 @@ if(isset($_POST['action']) && $_POST['action']=='start')
{
// Externe Teilnehmer
$email = $row->email;
$anrede='Sehr geehrte(r) Herr/Frau '.$row->name;
$anrede='Sehr geehrte(r) Herr/Frau '.$row->name;
$link=APP_ROOT.'cis/public/coodle.php?coodle_id='.urlencode($coodle_id).'&zugangscode='.urlencode($row->zugangscode);
}
else
@@ -128,7 +128,7 @@ if(isset($_POST['action']) && $_POST['action']=='start')
$benutzer->load($uid);
if ($benutzer->alias!='')
$von = $benutzer->alias.'@'.DOMAIN;
$html=$anrede.'!<br><br>
Sie wurden zu einer Terminumfrage zum Thema "'.$db->convert_html_chars($coodle->titel).'" eingeladen.
<br>
@@ -138,7 +138,7 @@ if(isset($_POST['action']) && $_POST['action']=='start')
Beschreibung:<br><br>
'.$coodle->beschreibung.'<br><br>
'.nl2br($sign);
$text=$anrede."!\n\nSie wurden zu einer Terminumfrage zum Thema \"".$db->convert_html_chars($coodle->titel)."\" eingeladen.\n
Bitte folgen Sie dem Link, um Ihre Terminwünsche bekannt zu geben:\n
$link\n\n
@@ -146,13 +146,13 @@ if(isset($_POST['action']) && $_POST['action']=='start')
".strip_tags($coodle->beschreibung)."
\n\n
$sign";
$mail = new mail($email, $von,'Terminumfrage - '.$coodle->titel, $text);
$mail->setHTMLContent($html);
if($mail->send())
{
echo $p->t('coodle/mailVersandtAn',array($email))."<br>";
}
}
}
echo '<br><b>'.$p->t('coodle/erfolgreichGestartet').'</b>';
@@ -167,7 +167,7 @@ if(isset($_POST['action']) && $_POST['action']=='start')
{
die($p->t('coodle/keineTermineVorhanden'));
}
echo '</body></html>';
exit();
}
@@ -178,21 +178,24 @@ echo '<html>
<link rel="stylesheet" href="../../../skin/fhcomplete.css" type="text/css">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link rel="stylesheet" href="../../../skin/jquery.css" type="text/css"/>
<script type="text/javascript" src="../../../include/js/jquery1.9.min.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<link rel="stylesheet" type="text/css" href="../../../include/js/fullcalendar/fullcalendar.css" />
<link rel="stylesheet" type="text/css" href="../../../include/js/fullcalendar/fullcalendar.print.css" media="print" />
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css"/>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css"/>
<script type="text/javascript" src="../../../include/js/fullcalendar/fullcalendar.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.contextmenu.r2.js"></script>
<title>'.$p->t('coodle/coodle').' - '.$p->t('coodle/termine').'</title>
<style type="text/css">
#wrap {
width: 1100px;
margin: 0 auto;
}
#wrap2 {
float: left;
}
@@ -204,7 +207,7 @@ echo '<html>
background: #eee;
text-align: left;
}
#external-events h4 {
font-size: 17px;
margin-top: 0;
@@ -212,7 +215,7 @@ echo '<html>
padding-bottom: 10px;
text-decoration: none;
}
.external-event { /* try to mimick the look of a real event */
margin: 10px 0;
padding: 2px 4px;
@@ -223,13 +226,13 @@ echo '<html>
border-radius: 2px;
box-shadow: 3px 3px 3px #bbb;
}
#external-events p {
margin: 1.5em 0;
font-size: 11px;
color: #666;
}
#external-events p input {
margin: 0;
vertical-align: middle;
@@ -239,7 +242,7 @@ echo '<html>
float: right;
width: 900px;
}
#ressourcen {
width: 150px;
padding: 0 10px;
@@ -248,7 +251,7 @@ echo '<html>
background: #eee;
text-align: left;
}
#ressourcen h4 {
font-size: 17px;
margin-top: 0;
@@ -256,7 +259,7 @@ echo '<html>
padding-bottom: 10px;
text-decoration: none;
}
.ressourcen {
margin: 10px 0;
padding: 2px 4px;
@@ -265,13 +268,13 @@ echo '<html>
font-size: .85em;
cursor: pointer;
}
#ressourcen p {
margin: 1.5em 0;
font-size: 11px;
color: #666;
}
#ressourcen p input {
margin: 0;
vertical-align: middle;
@@ -285,8 +288,8 @@ echo '<html>
{
font-size: 0.8em;
}
#fertig
#fertig
{
width: 150px;
padding: 0 10px;
@@ -295,8 +298,8 @@ echo '<html>
background: #eee;
text-align: left;
}
#fertig h4
#fertig h4
{
font-size: 17px;
margin-top: 0;
@@ -304,31 +307,31 @@ echo '<html>
padding-bottom: 10px;
text-decoration: none;
}
#fertig p
#fertig p
{
margin: 1.5em 0;
font-size: 11px;
color: #666;
}
</style>
<script type="text/javascript">
$(document).ready(function()
$(document).ready(function()
{
// Coodle Termin initialisieren
$("#external-events div.external-event").each(function()
// Coodle Termin initialisieren
$("#external-events div.external-event").each(function()
{
var eventObject =
var eventObject =
{
title: $.trim($(this).text()), // use the elements text as the event title
termin: true
};
// store the Event Object in the DOM element so we can get to it later
$(this).data("eventObject", eventObject);
// make the event draggable using jQuery UI
$(this).draggable(
{
@@ -338,8 +341,8 @@ echo '<html>
scroll: false // behebt ruckeln im IE7
});
});
// Kalender Initialisieren
$("#calendar").fullCalendar(
{
@@ -353,12 +356,12 @@ echo '<html>
timeFormat: {
// for agendaWeek and agendaDay
agenda: "H:mm{ - H:mm}", // 5:00 - 6:30
// for all other views
"": "H:mm"
},
allDaySlot: true, // Ganztaegig Row anzeigen
allDayText: "", //Text in ganztaegig Spalte
allDayText: "", //Text in ganztaegig Spalte
axisFormat: "H:mm",
monthNames: ["Jänner", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"],
monthNamesShort: ["Jän", "Feb", "Mär", "Apr", "Mai", "Jun","Jul", "Aug", "Sep", "Okt", "Nov", "Dez"],
@@ -388,16 +391,16 @@ echo '<html>
editable: true,
disableResizing: true,
droppable: true, // this allows things to be dropped onto the calendar !!!
drop: function(date, allDay)
{
drop: function(date, allDay)
{
// Event wird auf Kalender gezogen
// gedropptes Event holen
var originalEventObject = $(this).data("eventObject");
// we need to copy it, so that multiple events dont have a reference to the same object
var copiedEventObject = $.extend({}, originalEventObject);
// assign it the date that was reported
copiedEventObject.start = date;
copiedEventObject.allDay = allDay;
@@ -430,15 +433,15 @@ echo '<html>
// Termin Speichern
$.ajax({
type:"POST",
url:"coodle_worker.php",
data:{
url:"coodle_worker.php",
data:{
"work": "addTermin",
"datum": datum,
"uhrzeit": uhrzeit,
"coodle_id": "'.$coodle_id.'"
},
success: function(data)
{
success: function(data)
{
if(isNaN(data))
alert("ERROR:"+data)
else
@@ -456,10 +459,10 @@ echo '<html>
eventDrop: function(event, dayDelta, minuteDelta, allDay, revertFunc, jsEvent, ui, view)
{
// Verschiebung eines Termins
datum = $.fullCalendar.formatDate(event.start,"yyyy-MM-dd")
uhrzeit = $.fullCalendar.formatDate(event.start,"HH:mm:ss")
if(allDay)
{
// Wenn der Termin in die ganztaegig spalte gezogen wird,
@@ -469,7 +472,7 @@ echo '<html>
event.allDay=false;
$("#calendar").fullCalendar("renderEvent", event, true);
}
// Pruefen ob der Termin in der Vergangenheit liegt
if(datum+\' \'+uhrzeit<=\''.date('Y-m-d H:i:s').'\')
{
@@ -481,16 +484,16 @@ echo '<html>
// Verschiebung Speichern
$.ajax({
type:"POST",
url:"coodle_worker.php",
data:{
url:"coodle_worker.php",
data:{
"work": "moveTermin",
"datum": datum,
"uhrzeit": uhrzeit,
"coodle_termin_id": event.id,
"coodle_id": "'.$coodle_id.'"
},
success: function(data)
{
success: function(data)
{
if(data!="true")
{
alert("ERROR:"+data)
@@ -505,28 +508,28 @@ echo '<html>
});
}
},
eventRender: function (event, element)
{
eventRender: function (event, element)
{
// Conext Menue nur an Umfragetermine nicht an FreeBusy Eintraege haengen
if(event.termin)
{
element.contextMenu("myContextMenu",
{
bindings:
bindings:
{
"delete": function(t)
"delete": function(t)
{
// Termin loeschen
$.ajax({
type:"POST",
url:"coodle_worker.php",
data:{
url:"coodle_worker.php",
data:{
"work": "removeTermin",
"coodle_termin_id": event.id,
"coodle_id": "'.$coodle_id.'"
},
success: function(data)
{
success: function(data)
{
if(data!="true")
{
alert("ERROR:"+data)
@@ -540,11 +543,11 @@ echo '<html>
}
},
error: function() { alert("error"); }
});
});
}
}
});
}
}
},
dayClick: function(date, allDay, jsEvent, view)
{
@@ -557,7 +560,7 @@ echo '<html>
});
});
</script>
</head>
<body>
@@ -592,11 +595,11 @@ echo '
'.$p->t('coodle/ressource').':<br>
<input id="input_ressource" type="text" size="10" />
</p>
<script>
$(document).ready(function()
$(document).ready(function()
{
// Autocomplete Feld fuer Ressourcen initialisieren
// Autocomplete Feld fuer Ressourcen initialisieren
$("#input_ressource").autocomplete({
source: "coodle_autocomplete.php?work=ressource",
minLength:2,
@@ -612,31 +615,31 @@ echo '
select: function(event, ui)
{
//Ausgeaehlte Ressource zuweisen und Textfeld wieder leeren
addRessource(ui.item.uid, ui.item.typ, ui.item.bezeichnung);
addRessource(ui.item.uid, ui.item.typ, ui.item.bezeichnung);
ui.item.value="";
ui.item.label="";
}
});
});
});
/*
* Fuegt eine Ressource hinzu
*/
*/
function addRessource(id, typ, bezeichnung)
{
// Ressource Speichern
$.ajax({
type:"POST",
url:"coodle_worker.php",
data:{
url:"coodle_worker.php",
data:{
"work": "addressource",
"id": id,
"id": id,
"typ": typ,
"bezeichnung": bezeichnung,
"coodle_id": "'.$coodle_id.'"
},
success: function(data)
{
success: function(data)
{
if(data!="true")
alert("ERROR:"+data)
else
@@ -660,7 +663,7 @@ echo '
var text = document.createTextNode(bezeichnung);
div.appendChild(text);
bezeichnung = div.innerHTML;
// Anzeige der Ressource mit Loeschen Button
var code = \'<span class="ressourceItem"> \
<a href="#delete" onclick="removeRessource(this, \\\'\'+id+\'\\\',\\\'\'+typ+\'\\\'); return false;"> \
@@ -692,15 +695,15 @@ echo '
// Ressource entfernen
$.ajax({
type:"POST",
url:"coodle_worker.php",
data:{
url:"coodle_worker.php",
data:{
"work": "removeressource",
"id": id,
"id": id,
"typ": typ,
"coodle_id": "'.$coodle_id.'"
},
success: function(data)
{
success: function(data)
{
if(data!="true")
alert("ERROR:"+data)
else
@@ -712,7 +715,7 @@ echo '
},
error: function() { alert("error"); }
});
}
/*
@@ -720,7 +723,7 @@ echo '
*/
function removeRessourceFromContent(item, id, typ)
{
$("#calendar").fullCalendar("removeEventSource",
{
url:"coodle_events.php?code="+encodeURIComponent(id+typ),
@@ -737,7 +740,7 @@ echo '
}';
echo '
$(document).ready(function()
$(document).ready(function()
{';
// Bereits zugeteilte Ressourcen laden
@@ -784,7 +787,7 @@ if(!$coodletermin->getTermine($coodle_id))
foreach($coodletermin->result as $row)
{
echo '
var eventObject =
var eventObject =
{
id: "'.$db->convert_html_chars($row->coodle_termin_id).'",
title: "'.$db->convert_html_chars($event_titel).'",
@@ -810,7 +813,7 @@ echo '
$("#externePersonen").hide();
$("#ressourcenInput").show();
}
function AddExternal()
{
name=$("#externePersonName").val();
+36 -33
View File
@@ -23,16 +23,16 @@
*/
require_once('../../../config/cis.config.inc.php');
require_once('../../../include/coodle.class.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/benutzer.class.php');
$lang = getSprache();
$lang = getSprache();
$p = new phrasen($lang);
$p = new phrasen($lang);
$uid = get_uid();
$uid = get_uid();
$message = '';
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
@@ -45,31 +45,34 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../skin/tablesort.css" rel="stylesheet" type="text/css">
<link href="../../../skin/jquery.css" rel="stylesheet" type="text/css"/>
<script src="../../../include/js/jquery1.9.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript">
$(document).ready(function()
$(document).ready(function()
{
$("#myTableFiles").tablesorter(
{
sortList: [[3,0]],
widgets: ["zebra"]
});
});
});
$(document).ready(function()
});
$(document).ready(function()
{
$("#myTableFiles2").tablesorter(
{
sortList: [[3,1]],
widgets: ["zebra"]
});
});
});
});
</script>
<style>
.wrapper h4
.wrapper h4
{
font-size: 17px;
margin-top: 0;
@@ -93,9 +96,9 @@ $method = isset($_GET['method'])?$_GET['method']:'';
// coodle umfrage löschen
if($method=='delete')
{
$coodle= new coodle();
$coodle= new coodle();
$coodle_id = isset($_GET['coodle_id'])?$_GET['coodle_id']:'';
if($coodle->load($coodle_id))
{
// löschen nur von eigenen Umfragen möglich
@@ -142,8 +145,8 @@ echo '
</thead><tbody>';
$beendeteUmfragen='';
$datum = new datum();
$coodle = new coodle();
$datum = new datum();
$coodle = new coodle();
$coodle->loadStatus();
$coodle->getCoodleFromUser($uid);
foreach($coodle->result as $c)
@@ -158,7 +161,7 @@ foreach($coodle->result as $c)
<td>'.$coodle->convert_html_chars($datum->formatDatum($c->endedatum, 'd.m.Y')).'</td>
<td nowrap>
';
// Bearbeiten Button
if((($c->coodle_status_kurzbz=='neu')||($c->coodle_status_kurzbz=='laufend')) && $uid==$c->ersteller_uid)
{
@@ -166,7 +169,7 @@ foreach($coodle->result as $c)
$title=$p->t('coodle/umfrageWurdeBereitsGestartet');
else
$title=$p->t('coodle/bearbeiten');
$row.= '&nbsp;<a href="stammdaten.php?coodle_id='.$c->coodle_id.'">
<img src="../../../skin/images/edit.png" title="'.$title.'">
</a>';
@@ -174,10 +177,10 @@ foreach($coodle->result as $c)
else
{
$title=$p->t('global/keineBerechtigung');
$row.= '&nbsp;<img src="../../../skin/images/edit_grau.png" title="'.$title.'">';
$row.= '&nbsp;<img src="../../../skin/images/edit_grau.png" title="'.$title.'">';
}
// Storno Button
if($uid==$c->ersteller_uid && $c->coodle_status_kurzbz!='storniert' && $c->coodle_status_kurzbz!='abgeschlossen')
{
@@ -193,7 +196,7 @@ foreach($coodle->result as $c)
// Umfrage Button
if($c->coodle_status_kurzbz=='laufend' || $c->coodle_status_kurzbz=='abgeschlossen')
{
$row.= '&nbsp; <a href="../../public/coodle.php?coodle_id='.$c->coodle_id.'">
$row.= '&nbsp; <a href="../../public/coodle.php?coodle_id='.$c->coodle_id.'">
<img src="../../../skin/images/date_go.png" title="'.$p->t('coodle/zurUmfrage').'">
</a>';
}
@@ -203,14 +206,14 @@ foreach($coodle->result as $c)
$title=$p->t('coodle/umfrageNochNichtGestartet');
else
$title=$p->t('global/keineBerechtigung');
$row.=' &nbsp; <img src="../../../skin/images/date_go_grau.png" title="'.$title.'">';
}
$row.='
$row.='
</td>
</tr>';
if($c->coodle_status_kurzbz=='laufend' || $c->coodle_status_kurzbz=='neu')
echo $row;
else
@@ -221,10 +224,10 @@ echo '</tbody></table></div>';
if($beendeteUmfragen!='')
{
echo '<br>
<div class="wrapper">
<h4>'.$p->t('coodle/beendeteUmfragen').'</h4>
<table id="myTableFiles2" class="tablesorter">
<thead>
<tr>
@@ -243,4 +246,4 @@ if($beendeteUmfragen!='')
}
echo '</body>
</html>';
?>
?>
+6 -1
View File
@@ -48,7 +48,12 @@ if(check_lektor($user))
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<script type="text/javascript">
$(document).ready(function()
+6 -1
View File
@@ -45,7 +45,12 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<script type="text/javascript">
$(document).ready(function()
+6 -1
View File
@@ -45,7 +45,12 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<script type="text/javascript">
$(document).ready(function()
+6 -1
View File
@@ -65,7 +65,12 @@ if(check_lektor($user))
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<title><?php echo $p->t("telefonverzeichnis/titelTelefonverzeichnis");?></title>
<script language="JavaScript" type="text/javascript">
+6 -1
View File
@@ -127,7 +127,12 @@ echo '
<title>'.$p->t('abgabetool/abgabetool').'</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<script language="JavaScript" type="text/javascript">
function confdel()
@@ -40,30 +40,35 @@ echo '
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../skin/tablesort.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.metadata.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.tablesorter.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<script type="text/javascript" src="../../../vendor/jquery-archive/jquery-metadata/jquery.metadata.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$(document).ready(function()
{
$("#myTable").tablesorter(
{
sortList: [[0,0]],
widgets: [\'zebra\']
});
}
);
});
}
);
</script>
</script>
</head>
<body>
';
if(isset($_GET['user']))
{
//Terminliste von anderen Personen darf nur dann angezeigt werden, wenn
//Terminliste von anderen Personen darf nur dann angezeigt werden, wenn
//die entsprechende Berechtigung vorhanden ist
$rechte = new benutzerberechtigung();
if(!$rechte->getBerechtigungen($uid))
@@ -79,14 +84,14 @@ if(!$lektor->load($user))
die($p->t('global/fehlerBeimErmittelnDerUID'));
$sql_query = "
SELECT
SELECT
distinct tbl_paabgabe.datum, tbl_paabgabe.fixtermin, tbl_paabgabe.kurzbz,
person_student.vorname as stud_vorname, person_student.nachname as stud_nachname,
person_student.vorname as stud_vorname, person_student.nachname as stud_nachname,
person_student.titelpre as stud_titelpre, person_student.titelpost as stud_titelpost,
tbl_lehrveranstaltung.semester, UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz) as stg,
tbl_lehrveranstaltung.semester, UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz) as stg,
tbl_paabgabetyp.bezeichnung as typ_bezeichnung
FROM
campus.tbl_paabgabe
FROM
campus.tbl_paabgabe
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id)
JOIN public.tbl_benutzer bn_student ON(tbl_projektarbeit.student_uid=bn_student.uid)
@@ -97,13 +102,13 @@ $sql_query = "
JOIN campus.tbl_paabgabetyp USING(paabgabetyp_kurzbz)
WHERE
tbl_projektbetreuer.person_id='".addslashes($lektor->person_id)."' AND tbl_paabgabe.datum>=now() AND bn_student.aktiv
ORDER BY tbl_paabgabe.datum
ORDER BY tbl_paabgabe.datum
";
if($result = $db->db_query($sql_query))
{
echo "<h2>".$p->t('abgabetool/terminuebersicht')." - $lektor->titelpre $lektor->vorname $lektor->nachname $lektor->titelpost</h2>";
if($db->db_num_rows($result)>0)
{
echo '<table id="myTable" class="tablesorter">';
@@ -121,9 +126,9 @@ if($result = $db->db_query($sql_query))
</thead>
<tbody>
';
while($row = $db->db_fetch_object($result))
{
{
echo '<tr>';
echo '<td>'.$datum_obj->formatDatum($row->datum,'d.m.Y').'</td>';
echo '<td>'.($row->fixtermin=='t'?'Ja':'Nein').'</td>';
@@ -131,10 +136,10 @@ if($result = $db->db_query($sql_query))
echo '<td>'.$row->kurzbz.'</td>';
echo '<td>'.$row->stud_titelpre.' '.$row->stud_vorname.' '.$row->stud_nachname.' '.$row->stud_titelpre.'</td>';
echo '<td>'.$row->stg.'</td>';
echo '<td>'.$row->semester.'</td>';
echo '<td>'.$row->semester.'</td>';
echo "</tr>\n";
}
echo "\n</tbody></table>";
}
else
@@ -142,4 +147,4 @@ if($result = $db->db_query($sql_query))
}
echo '</body></html>';
?>
?>
+6 -1
View File
@@ -177,7 +177,12 @@ echo '
<title>Abgabesystem_Studentensicht</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<script language="JavaScript" type="text/javascript">
$(document).ready(function()
@@ -103,7 +103,10 @@ echo '<!DOCTYPE HTML>
<link href="../../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../../skin/jquery.css" rel="stylesheet" type="text/css"/>
<link href="../../../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
<script src="../../../../include/js/jquery1.9.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../../include/js/jquery.ui.datepicker.translation.js"></script>
<style type="text/css">
.td_datum
@@ -47,7 +47,10 @@ echo '<!DOCTYPE HTML>
<link href="../../../../skin/jquery.css" rel="stylesheet" type="text/css"/>
<link href="../../../../skin/tablesort.css" rel="stylesheet" type="text/css"/>
<link href="../../../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
<script src="../../../../include/js/jquery1.9.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../../include/js/jquery.ui.datepicker.translation.js"></script>
<title>Grade</title>
</head>
<body>';
+6 -1
View File
@@ -156,7 +156,12 @@ $rechte->getBerechtigungen($user);
<link href="../../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../../../skin/jquery.css" type="text/css"/>
<link rel="stylesheet" href="../../../../skin/tablesort.css" type="text/css"/>
<script type="text/javascript" src="../../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../../vendor/jquery/sizzle/sizzle.js"></script>
<title><?php echo $p->t('courseInformation/ectsLvInfo');?></title>
<script language="JavaScript" type="text/javascript">
function ask() {
+4 -1
View File
@@ -101,7 +101,10 @@ if (isset($_GET["handbuch"])){
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../skin/jquery.css" rel="stylesheet" type="text/css"/>
<script src="../../../include/js/jquery1.9.min.js" type="text/javascript" ></script>
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<?php
// Angezeigtes Studiensemester ermitteln
+6 -1
View File
@@ -47,7 +47,12 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<title>'.$p->t('tools/leistungsbeurteilung').'</title>
@@ -66,8 +66,10 @@ $studiensemester->getAll();
<meta charset="UTF-8">
<title>Prüfungsanmeldung</title>
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script src="./pruefung.js.php"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
<link rel="stylesheet" href="../../../../skin/fhcomplete.css">
@@ -49,7 +49,10 @@ $rechte->getBerechtigungen($uid);
<html moznomarginboxes="">
<head>
<meta charset="UTF-8">
<script src="../../../../include/js/jquery1.9.min.js"></script>
<script type="text/javascript" src="../../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../../include/js/jquery.ui.datepicker.translation.js"></script>
<style type="text/css">
body {
margin: 0;
@@ -53,8 +53,10 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
<meta charset="UTF-8">
<title><?php echo $p->t('pruefung/anmeldungenVerwaltenTitle'); ?></title>
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script src="./pruefung.js.php"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
<link rel="stylesheet" href="../../../../skin/fhcomplete.css">
@@ -225,7 +227,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
$(document).ready(function(){
loadStudiengaenge();
$("#filter_studiensemester").css("visibility","visible");
console.log($("#filter_studiensemester"));
// console.log($("#filter_studiensemester"));
$("#raumDialog").dialog({
modal: true,
autoOpen: false,
@@ -59,8 +59,10 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA
<meta charset="UTF-8">
<title>Prüfungsbewertung</title>
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script src="./pruefung.js.php"></script>
<script src="./pruefungsbewertung.js.php"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
@@ -60,7 +60,10 @@ function compareOe($a, $b)
<meta charset="UTF-8">
<title><?php echo $p->t('pruefung/titlePruefungsfenster') ?></title>
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<script type="text/javascript" src="../../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../../include/js/jquery.ui.datepicker.translation.js"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
<link rel="stylesheet" href="../../../../skin/fhcomplete.css">
<link rel="stylesheet" href="../../../../skin/style.css.php">
@@ -97,7 +97,7 @@ if (isset($_GET["sendmail"]))
$to = $uid.'@'.DOMAIN;
$from = 'no-reply@'.DOMAIN;
$subject = $p->t('pruefung/emailVerschiebungSubject');
$text = $p->t('pruefung/emailVerschiebung', array($lvstr, $datum, $vonzeit));
$text = $p->t('pruefung/emailVerschiebung', array($lvstr, $datum, $vonzeit));
$msg = new mail($to, $from, $subject, $text);
if ($msg->send())
$maildebug .= $to." OK<br>";
@@ -135,8 +135,10 @@ foreach ($anmeldungen as $row)
<meta charset="UTF-8">
<title><?php echo $p->t('pruefung/titlePruefungstermin'); ?></title>
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script src="./pruefung.js.php"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
<link rel="stylesheet" href="../../../../skin/fhcomplete.css">
@@ -59,8 +59,10 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
<meta charset="UTF-8">
<title><?php echo $p->t('pruefung/titlePruefungstermin'); ?></title>
<script src="../../../../include/js/datecheck.js"></script>
<script src="../../../../include/js/jquery1.9.min.js"></script>
<script src="../../../../include/js/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script src="./pruefung.js.php"></script>
<link rel="stylesheet" href="../../../../skin/jquery-ui-1.9.2.custom.min.css">
<link rel="stylesheet" href="../../../../skin/fhcomplete.css">
+47 -44
View File
@@ -22,18 +22,18 @@
* Manfred Kindl <manfred.kindl@technikum-wien.at>
* Alexander Nimmervoll <alexander.nimmervoll@technikum-wien.at>
*/
require_once('../../../config/cis.config.inc.php');
require_once('../../../config/global.config.inc.php');
require_once('../../../include/basis_db.class.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/studiensemester.class.php');
require_once('../../../include/studiensemester.class.php');
require_once('../../../include/benutzer.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
$sprache = getSprache();
$p=new phrasen($sprache);
$sprache = getSprache();
$p=new phrasen($sprache);
$uid=get_uid();
$berechtigung=new benutzerberechtigung();
@@ -43,7 +43,7 @@ if ($berechtigung->isBerechtigt('lehre/reservierung:begrenzt', null, 'sui'))
else
$raumres=false;
/*$benutzer = new benutzer();
/*$benutzer = new benutzer();
foreach($benutzer->result as $row)
{
@@ -59,10 +59,10 @@ echo $benutzer;*/
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
if (!$uid=get_uid())
die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden ! <a href="javascript:history.back()">Zur&uuml;ck</a>');
$sql_query="SELECT titelpre, titelpost, uid, nachname, vorname FROM campus.vw_benutzer WHERE uid LIKE '$uid'";
//echo $sql_query;
@@ -89,20 +89,20 @@ else
$sql_query="SELECT studiengang_kz, kurzbz, kurzbzlang, bezeichnung, typ, english FROM public.tbl_studiengang WHERE aktiv ORDER BY typ, kurzbz";
$result_stg=$db->db_query($sql_query);
if(!$result_stg)
die ("Studiengang not found!");
die ("Studiengang not found!");
$num_rows_stg=$db->db_num_rows($result_stg);
$sql_query="SELECT ort_kurzbz, bezeichnung FROM public.tbl_ort WHERE aktiv AND lehre ORDER BY ort_kurzbz";
$result_ort=$db->db_query($sql_query);
if(!$result_ort)
die("ort not found!");
die("ort not found!");
$num_rows_ort=$db->db_num_rows($result_ort);
/*$sql_query="SELECT student_uid FROM public.tbl_student ORDER BY student_uid";
$result_lektor=$db->db_query($sql_query);
if(!$result_lektor)
die("lektor not found!");
$num_rows_lektor=$db->db_num_rows($result_lektor);*/
@@ -114,7 +114,10 @@ $num_rows_lektor=$db->db_num_rows($result_lektor);*/
<title>Lehrveranstaltungsplan</title>
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
<script src="../../../include/js/jquery1.9.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" language="JavaScript">
function MM_jumpMenu(targ,selObj,restore){ //v3.0
@@ -127,7 +130,7 @@ function jumpKalender(){
}
else if (document.getElementById('studiensemester').value == '') {
alert("<?php echo $p->t('lvplan/bitteEinStudiensemesterAuswaehlen');?>");
}
}
else {window.open ('stpl_kalender.php?type=verband&stg_kz='+document.getElementById('stg_kz_semplan').value+'&sem='+document.getElementById('sem_semplan').value
+'&ver='+document.getElementById('ver_semplan').value+'&grp='+document.getElementById('grp_semplan').value+'&begin='+document.getElementById('studiensemester').value+'&format=html', '_blank');
}
@@ -149,8 +152,8 @@ function checkSetBenutzer(){
return true;
}
$(document).ready(function()
{
$(document).ready(function()
{
$("#benutzer").autocomplete({
source: "lvplan_autocomplete.php?autocomplete=benutzer",
minLength:2,
@@ -193,7 +196,7 @@ function LoadSemester(type)
},
type: "POST",
dataType: "json",
success: function(data)
success: function(data)
{
$("#sem"+type).empty();
$("#sem"+type).append('<option value=""><?php echo $p->t('lvplan/sem'); ?></option>');
@@ -201,7 +204,7 @@ function LoadSemester(type)
$("#sem"+type).append('<option value="'+data+'">'+data+'</option>');
});
},
error: function(data)
error: function(data)
{
alert("Fehler beim Laden der Daten");
}
@@ -222,7 +225,7 @@ function LoadVerband(type)
},
type: "POST",
dataType: "json",
success: function(data)
success: function(data)
{
$("#ver"+type).empty();
$("#ver"+type).append('<option value=""><?php echo $p->t('lvplan/ver'); ?></option>');
@@ -230,7 +233,7 @@ function LoadVerband(type)
$("#ver"+type).append('<option value="'+data+'">'+data+'</option>');
});
},
error: function(data)
error: function(data)
{
alert("Fehler beim Laden der Daten");
}
@@ -253,7 +256,7 @@ function LoadGruppe(type)
},
type: "POST",
dataType: "json",
success: function(data)
success: function(data)
{
$("#grp"+type).empty();
$("#grp"+type).append('<option value=""><?php echo $p->t('lvplan/grp'); ?></option>');
@@ -261,7 +264,7 @@ function LoadGruppe(type)
$("#grp"+type).append('<option value="'+data+'">'+data+'</option>');
});
},
error: function(data)
error: function(data)
{
alert("Fehler beim Laden der Daten");
}
@@ -279,7 +282,7 @@ function LoadGruppe(type)
<td class="cmscontent" rowspan="3" valign="top">
<FORM name="Auswahl" action="stpl_week.php">
<table class="tabcontent"><tr><td valign="top" width="30%">
<?php
if (isset($uid))
@@ -288,13 +291,13 @@ function LoadGruppe(type)
echo $p->t('lvplan/nichtVorhanden').' '.$p->t('lvplan/bitteWendenSieSichAn').'<A href="mailto:'.MAIL_ADMIN.'">Admin</A>!';
?>
<a class="Item" href="stpl_week.php?pers_uid=<?php echo $uid; ?>"><?php echo $p->t("lvplan/persoenlicherLvPlan");?></a><br><br>
</td><td valign="top">
</td><td valign="top">
<?php
if(!defined('CIS_LVPLAN_EXPORT_ANZEIGEN') || CIS_LVPLAN_EXPORT_ANZEIGEN)
{
echo'
echo'
<h2>'.$p->t('lvplan/persoenlichenAbonnieren').'</h2>
<div>
<div>
<a class="Item" href="../../../cms/content.php?content_id='.$p->t('dms_link/lvplanSyncFAQ').'" target="_blank">'.$p->t('lvplan/anleitungLVPlanSync').'</a>
<br>';
@@ -309,13 +312,13 @@ function LoadGruppe(type)
echo '
</td></tr>
<tr>
<td width="30%">
<h2>'.$p->t("lvplan/saalplan").'</h2>
</td>
<td>';
if(!defined('CIS_LVPLAN_PERSONENAUSWAHL_ANZEIGEN') || CIS_LVPLAN_PERSONENAUSWAHL_ANZEIGEN)
{
echo '<h2>'.$p->t("lvplan/lektorInStudentIn").'</h2>';
@@ -330,21 +333,21 @@ function LoadGruppe(type)
<option value="stpl_week.php" selected>'.$p->t('lvplan/raumAuswaehlen').'</option>';
if(defined('CIS_SAALPLAN_ALLERAEUME_OPTION') && CIS_SAALPLAN_ALLERAEUME_OPTION)
echo '<option value="stpl_week.php?type=ort&amp;ort_kurzbz=all" value="all">'.$p->t('lvplan/alleRaeume').'</option>';
for ($i=0;$i<$num_rows_ort;$i++)
{
$row=$db->db_fetch_object ($result_ort, $i);
echo "<option value=\"stpl_week.php?type=ort&amp;ort_kurzbz=$row->ort_kurzbz\">$row->ort_kurzbz ($row->bezeichnung)</option>";
}
echo '</select>';
if ($raumres)
{
echo '<BR><BR><A class="Item" href="stpl_reserve_list.php">'.$p->t("lvplan/reservierungenLoeschen").'</A><BR>';
}
}
echo'</td>
<td valign="top">';
@@ -353,10 +356,10 @@ function LoadGruppe(type)
{
echo "<input class='search' placeholder='".$p->t('lvplan/nameEingeben')."' type='text' id='benutzer' size='32' value=''>";
echo "<input type='hidden' id='mitarbeiter_uid' name='pers_uid'>";
echo "<input type='hidden' id='uid' name='type' value='student'>";
echo "<input type='hidden' id='uid' name='type' value='student'>";
echo "<input type='submit' value='Go' onclick='return checkSetBenutzer();'>";
}
echo '
</td>
</tr>
@@ -373,14 +376,14 @@ function LoadGruppe(type)
<td width="20%" valign="middle">
<select style="width:200px;" id="stg_kz" name="stg_kz" onchange="LoadSemester()">
<option value="" selected>'.$p->t('lvplan/studiengangAuswaehlen').'</option>';
$num_rows=$db->db_num_rows($result_stg);
for ($i=0;$i<$num_rows;$i++)
{
$row=$db->db_fetch_object ($result_stg, $i);
echo '<option value="'.$row->studiengang_kz.'">'.strtoupper($row->typ.$row->kurzbz).' ('.($sprache=='English' && $row->english!=''?$row->english:$row->bezeichnung).')</option>';
}
echo '
</select>
</td>
@@ -441,14 +444,14 @@ if(!defined('CIS_LVPLAN_ARCHIVAUSWAHL_ANZEIGEN') || CIS_LVPLAN_ARCHIVAUSWAHL_ANZ
<td valign="bottom">
<select style="width:200px;" name="stg_kz_semplan" id="stg_kz_semplan" onchange="LoadSemester(\'_semplan\')">
<option value="" selected>'.$p->t('lvplan/studiengangAuswaehlen').'</option>';
$num_rows=$db->db_num_rows($result_stg);
for ($i=0;$i<$num_rows;$i++)
{
$row=$db->db_fetch_object ($result_stg, $i);
echo '<option value="'.$row->studiengang_kz.'">'.strtoupper($row->typ.$row->kurzbz).' ('.($sprache=='English' && $row->english!=''?$row->english:$row->bezeichnung).')</option>';
}
echo '
</select>
</td>
@@ -489,10 +492,10 @@ if(!defined('CIS_LVPLAN_ARCHIVAUSWAHL_ANZEIGEN') || CIS_LVPLAN_ARCHIVAUSWAHL_ANZ
</select>
</td></tr><tr>
<td valign="middle" >';
$studiensemester = new studiensemester();
$studiensemester->getFinished();
$studiensemester->getFinished();
echo '<SELECT style="width:200px;" name="begin" id="studiensemester">';
echo '<OPTION value="" selected>'.$p->t('lvplan/studiensemesterAuswaehlen').'</OPTION>';
foreach($studiensemester->studiensemester as $row)
@@ -500,9 +503,9 @@ if(!defined('CIS_LVPLAN_ARCHIVAUSWAHL_ANZEIGEN') || CIS_LVPLAN_ARCHIVAUSWAHL_ANZ
$studiensemester->getTimestamp($row->studiensemester_kurzbz);
echo '<OPTION value="'.$studiensemester->begin->start.'&amp;ende='.$studiensemester->ende->ende.'">'.$row->studiensemester_kurzbz.'</OPTION>';
}
echo '</SELECT>';
echo '</td>
<td colspan="3" valign="bottom">
<input type="button" name="Abschicken" value="'.$p->t('lvplan/semesterplanLaden').'" onClick="jumpKalender()">
+24 -20
View File
@@ -24,7 +24,7 @@ require_once('../../../config/cis.config.inc.php');
require_once('../../../include/ort.class.php');
require_once('../../../include/raumtyp.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/phrasen.class.php');
$datum = (isset($_POST['datum'])?$_POST['datum']:date('d.m.Y'));
$vonzeit = (isset($_POST['vonzeit'])?$_POST['vonzeit']:date('H:i'));
@@ -33,8 +33,8 @@ $raumtyp = (isset($_POST['raumtyp'])?$_POST['raumtyp']:'');
$anzahlpersonen = (isset($_POST['anzahlpersonen'])?$_POST['anzahlpersonen']:'0');
$sent = true; //isset($_POST['sent']);
$datum_obj = new datum();
$sprache = getSprache();
$sprache = getSprache();
$p = new phrasen($sprache);
echo '
@@ -47,21 +47,25 @@ echo '
<link rel="stylesheet" href="../../../skin/fhcomplete.css" type="text/css"/>
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link rel="stylesheet" href="../../../skin/flexcrollstyles.css" type="text/css" />
<script type="text/javascript" src="../../../include/js/flexcroll.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<script language="Javascript">
$(document).ready(function()
{
$(document).ready(function()
{
$("#myTable").tablesorter(
{
sortList: [[0,0]],
widgets: ["zebra"]
});
$( "#datum" ).datepicker($.datepicker.regional["de"]);
});
});
function checkdata()
{
if(document.getElementById("datum").value=="")
@@ -75,13 +79,13 @@ echo '
alert("'.$p->t('lvplan/datumUngueltig').'");
return false;
}
if(document.getElementById("vonzeit").value=="")
{
alert("'.$p->t('lvplan/vonZeitEingeben').'");
return false;
}
if(document.getElementById("biszeit").value=="")
{
alert("'.$p->t('lvplan/bisZeitEingeben').'");
@@ -109,9 +113,9 @@ foreach ($raumtyp_obj->result as $row)
{
if($raumtyp==$row->raumtyp_kurzbz)
$selected='selected';
else
else
$selected='';
echo '<OPTION value="'.$row->raumtyp_kurzbz.'" '.$selected.'>'.$row->beschreibung.'</OPTION>';
}
echo ' </SELECT>
@@ -136,7 +140,7 @@ if($sent)
echo "<br>".$p->t('lvplan/bisZeitEingeben');
$error = true;
}
if(!$error)
{
//Von Zeit pruefen
@@ -151,7 +155,7 @@ if($sent)
echo "<br>".$p->t('lvplan/bisZeitFormat');
$error = true;
}
//Datum pruefen
if(!$datum_obj->checkDatum($datum))
{
@@ -164,9 +168,9 @@ if($sent)
$ort = new ort();
if(!$ort->search($datum_obj->formatDatum($datum), $vonzeit, $biszeit, $raumtyp, $anzahlpersonen, true))
{
echo $ort->errormsg;
echo $ort->errormsg;
}
else
else
{
echo '<br><table class="tablesorter" id="myTable" style="width: auto">
<thead>
@@ -198,4 +202,4 @@ if($sent)
}
}
echo '</body></html>';
?>
?>
@@ -49,8 +49,13 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Anzahl Studenten Lehrveranstaltungsplan FH Technikum-Wien</title>
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<script src="../../../include/js/jquery.js" type="text/javascript"></script>
<script src="../../../include/js/jquery-ui.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<script src="../../../vendor/components/jqueryui/jquery-ui.min.js" type="text/javascript"></script>
<style type="text/css">
<!--
li { list-style : outside url("../../../skin/images/right.gif");}
+6 -1
View File
@@ -57,7 +57,12 @@ if(!$is_lector)
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
<title><?php echo $p->t('mailverteiler/mailverteiler');?></title>
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../vendor/jquery/sizzle/sizzle.js"></script>
<script language="JavaScript" type="text/javascript">
<!--
__js_page_array = new Array();
+157 -154
View File
@@ -16,14 +16,14 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Karl Burkhart <burkhart@technikum-wien.at>
*
*
*/
require_once('../../../config/cis.config.inc.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/person.class.php');
require_once('../../../include/benutzer.class.php');
require_once('../../../include/preoutgoing.class.php');
require_once('../../../include/preoutgoing.class.php');
require_once('../../../include/firma.class.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/mobilitaetsprogramm.class.php');
@@ -34,34 +34,34 @@ require_once('../../../include/akte.class.php');
$method = (isset($_GET['method'])?$_GET['method']:'');
$message = '';
$uid=get_uid();
$sprache = getSprache();
$sprache = getSprache();
$p=new phrasen($sprache);
$outgoing = new preoutgoing();
$outgoing->loadUid($uid);
$outgoing = new preoutgoing();
$outgoing->loadUid($uid);
// speichert outgoing
if(isset($_REQUEST['submitOutgoing']))
{
{
$ansprechpersonUid = (isset($_REQUEST['ansprechperson_uid']))?$_REQUEST['ansprechperson_uid']:'';
$datum=new datum();
$datum=new datum();
$zeitraum_von = $datum->formatDatum($_REQUEST['zeitraum_von'], 'Y-m-d');
$zeitraum_bis = $datum->formatDatum($_REQUEST['zeitraum_bis'], 'Y-m-d');
$preoutgoing = new preoutgoing();
$preoutgoing = new preoutgoing();
$preoutgoing->loadUid($outgoing->uid);
// löschen der Ansprechperson
if($_POST['ansprechperson']==' ' || $_POST['ansprechperson']=='' || $_POST['ansprechperson_uid'] == '')
$ansprechpersonUid = '';
$preoutgoing->new = false;
$preoutgoing->ansprechperson = $ansprechpersonUid;
$preoutgoing->dauer_von = $zeitraum_von;
$preoutgoing->dauer_bis = $zeitraum_bis;
$preoutgoing->new = false;
$preoutgoing->ansprechperson = $ansprechpersonUid;
$preoutgoing->dauer_von = $zeitraum_von;
$preoutgoing->dauer_bis = $zeitraum_bis;
$preoutgoing->anmerkung_student = $_POST['anmerkung'];
$preoutgoing->updatevon = $uid;
$preoutgoing->updatevon = $uid;
if($preoutgoing->save())
$message='<span class="ok">'.$p->t('global/erfolgreichgespeichert').'</span>';
else
@@ -70,11 +70,11 @@ if(isset($_REQUEST['submitOutgoing']))
// Updated die Daten des Preoutgoing
if(isset($_REQUEST['zDaten']))
{
$preoutgoingZDaten = new preoutgoing();
{
$preoutgoingZDaten = new preoutgoing();
$preoutgoingZDaten->load($outgoing->preoutgoing_id);
$datum=new datum();
$datum=new datum();
// wenn sprachkurs gesetzt -> erasmus programm
if(isset($_REQUEST['sprachkurs']))
{
@@ -82,36 +82,36 @@ if(isset($_REQUEST['zDaten']))
$preoutgoingZDaten->sprachkurs_bis = $datum->formatDatum($_REQUEST['sprachkurs_bis'], 'Y-m-d');
if($_REQUEST['sprachkurs'] == 'vorbereitend')
{
$preoutgoingZDaten->sprachkurs = true;
$preoutgoingZDaten->sprachkurs = true;
$preoutgoingZDaten->intensivsprachkurs = false;
}
else if($_REQUEST['sprachkurs']=='intensiv')
{
$preoutgoingZDaten->sprachkurs = false;
$preoutgoingZDaten->intensivsprachkurs = true;
$preoutgoingZDaten->sprachkurs = false;
$preoutgoingZDaten->intensivsprachkurs = true;
}
else
{
$preoutgoingZDaten->sprachkurs = false;
$preoutgoingZDaten->sprachkurs = false;
$preoutgoingZDaten->intensivsprachkurs = false;
}
}
}
$preoutgoingZDaten->praktikum_von = $datum->formatDatum($_REQUEST['praktikum_von'], 'Y-m-d');
$preoutgoingZDaten->praktikum_bis = $datum->formatDatum($_REQUEST['praktikum_bis'], 'Y-m-d');
$preoutgoingZDaten->praktikum = isset($_REQUEST['praktikum'])?true:false;
$preoutgoingZDaten->praktikum_bis = $datum->formatDatum($_REQUEST['praktikum_bis'], 'Y-m-d');
$preoutgoingZDaten->praktikum = isset($_REQUEST['praktikum'])?true:false;
$betreuer = isset($_POST['betreuer_uid'])?$_POST['betreuer_uid']:'';
if($_POST['betreuer']==' ' || $_POST['betreuer']=='' || $_POST['betreuer_uid'] == '')
$betreuer = '';
$preoutgoingZDaten->bachelorarbeit = isset($_REQUEST['bachelorarbeit'])?true:false;
$preoutgoingZDaten->masterarbeit = isset($_REQUEST['masterarbeit'])?true:false;
$preoutgoingZDaten->bachelorarbeit = isset($_REQUEST['bachelorarbeit'])?true:false;
$preoutgoingZDaten->masterarbeit = isset($_REQUEST['masterarbeit'])?true:false;
$preoutgoingZDaten->projektarbeittitel = $_REQUEST['projektarbeittitel'];
$preoutgoingZDaten->behinderungszuschuss = isset($_REQUEST['behinderungszuschuss'])?true:false;
$preoutgoingZDaten->studienbeihilfe = isset($_REQUEST['studienbeihilfe'])?true:false;
$preoutgoingZDaten->betreuer = $betreuer;
$preoutgoingZDaten->behinderungszuschuss = isset($_REQUEST['behinderungszuschuss'])?true:false;
$preoutgoingZDaten->studienbeihilfe = isset($_REQUEST['studienbeihilfe'])?true:false;
$preoutgoingZDaten->betreuer = $betreuer;
$preoutgoingZDaten->studienrichtung_gastuniversitaet = isset($_REQUEST['studienrichtungGastuni'])?$_REQUEST['studienrichtungGastuni']:'';
$preoutgoingZDaten->new = false;
$preoutgoingZDaten->new = false;
if(!$preoutgoingZDaten->save())
$message='<span class="error">'.$p->t('global/fehlerBeimSpeichernDerDaten').'</span>';
else
@@ -121,17 +121,17 @@ if(isset($_REQUEST['zDaten']))
// neuen Datensatz anlegen
if($method=='new')
{
$preoutgoing = new preoutgoing();
$preoutgoing->uid = $uid;
$preoutgoing->new = true;
$preoutgoing->bachelorarbeit = false;
$preoutgoing->masterarbeit = false;
$preoutgoing->sprachkurs = false;
$preoutgoing->intensivsprachkurs = false;
$preoutgoing->praktikum = false;
$preoutgoing->behinderungszuschuss = false;
$preoutgoing->studienbeihilfe = false;
$preoutgoing->insertvon = $uid;
$preoutgoing = new preoutgoing();
$preoutgoing->uid = $uid;
$preoutgoing->new = true;
$preoutgoing->bachelorarbeit = false;
$preoutgoing->masterarbeit = false;
$preoutgoing->sprachkurs = false;
$preoutgoing->intensivsprachkurs = false;
$preoutgoing->praktikum = false;
$preoutgoing->behinderungszuschuss = false;
$preoutgoing->studienbeihilfe = false;
$preoutgoing->insertvon = $uid;
if($preoutgoing->save())
{
// Email an Auslandsabteilung schicken
@@ -144,20 +144,20 @@ if($method=='new')
// speichert die eingegebene Lehrveranstaltung
if(isset($_POST['saveLv']) == 'saveLv')
{
{
$bezeichnung = $_POST['lv_bezeichnung'];
$ects = $_POST['lv_ects'];
$wochenstunden = $_POST['lv_wochenstunden'];
$unitcode = $_POST['lv_unitcode'];
$preoutgoingLv = new preoutgoing();
$preoutgoingLv = new preoutgoing();
$preoutgoingLv->preoutgoing_id = $outgoing->preoutgoing_id;
$preoutgoingLv->bezeichnung = $bezeichnung;
$preoutgoingLv->ects = $ects;
$preoutgoingLv->wochenstunden = $wochenstunden;
$preoutgoingLv->unitcode = $unitcode;
$preoutgoingLv->new = true;
$preoutgoingLv->insertvon = $uid;
$preoutgoingLv->bezeichnung = $bezeichnung;
$preoutgoingLv->ects = $ects;
$preoutgoingLv->wochenstunden = $wochenstunden;
$preoutgoingLv->unitcode = $unitcode;
$preoutgoingLv->new = true;
$preoutgoingLv->insertvon = $uid;
if(!$preoutgoingLv->saveLv())
$message='<span class="error">'.$p->t('global/fehlerBeimSpeichernDerDaten').'</span>';
else
@@ -168,12 +168,12 @@ if(isset($_POST['saveLv']) == 'saveLv')
if($method== 'deleteLv')
{
$lv_id = $_GET['lv_id'];
$preoutgoingLv = new preoutgoing();
$preoutgoingLv = new preoutgoing();
// Wenn die Lv zum preoutgoing gehört wird sie gelöscht
if($preoutgoingLv->checkLv($lv_id, $outgoing->preoutgoing_id))
{
{
if(!$preoutgoingLv->deleteLv($lv_id))
$message ='<span class="error">'.$p->t('incoming/fehlerBeimLoeschenDerLv').'</span>';
else
@@ -184,15 +184,15 @@ if($method== 'deleteLv')
// speichert die ausgewählte Firma
if($method=='saveFirma')
{
$firmaOutgoing = new preoutgoing();
$firmaOutgoing = new preoutgoing();
// Check ob schon 3 Firmen Eingetragen sind
if(($firmaOutgoing->getAnzahlFirma($outgoing->preoutgoing_id)) < 3)
if(($firmaOutgoing->getAnzahlFirma($outgoing->preoutgoing_id)) < 3)
{
if(!isset($_GET['firma_id']))
{
// Freemover wird ausgewählt
$firma_id = '';
$firma_id = '';
$name = $_GET['name'];
$firmaOutgoing->mobilitaetsprogramm_code = 202;
}
@@ -201,29 +201,29 @@ if($method=='saveFirma')
// Programm ausgewählt
$firma_id = $_GET['firma_id'];
$name = '';
$firmaOutgoing->mobilitaetsprogramm_code = $_GET['programm'];
$firmaOutgoing->mobilitaetsprogramm_code = $_GET['programm'];
}
$firmaOutgoing->preoutgoing_id = $outgoing->preoutgoing_id;
$firmaOutgoing->firma_id = $firma_id;
$firmaOutgoing->name = $name;
$firmaOutgoing->auswahl = false;
$firmaOutgoing->new = true;
$firmaOutgoing->firma_id = $firma_id;
$firmaOutgoing->name = $name;
$firmaOutgoing->auswahl = false;
$firmaOutgoing->new = true;
if(!$firmaOutgoing->saveFirma())
{
die($firmaOutgoing->errormsg);
die($firmaOutgoing->errormsg);
}
$message='<span class="ok">'.$p->t('global/erfolgreichgespeichert').'</span>';
}
else
$message = '<span class="error">'.$p->t('incoming/nichtMehrAlsDreiUniversitaeten').'</span>';
$message = '<span class="error">'.$p->t('incoming/nichtMehrAlsDreiUniversitaeten').'</span>';
}
// Löscht die Akte mit übergebener Id
if($method == 'files')
{
$akte = new akte();
$akte = new akte();
if(isset($_GET['id']))
{
if($_GET['mode']=="delete")
@@ -242,10 +242,10 @@ if($method =="deleteFirma")
if(isset($_GET['outgoingFirma_id']))
{
$outgoingFirma_id = $_GET['outgoingFirma_id'];
$firmaOutgoing = new preoutgoing();
$firmaOutgoing = new preoutgoing();
if(!$firmaOutgoing->deleteFirma($outgoingFirma_id))
$message = '<span class="error">'.$p->t('global/fehlerBeimLoeschenDesEintrags').'</span>';
$message ='<span class="ok">'.$p->t('global/erfolgreichgelöscht').'</span>';
$message ='<span class="ok">'.$p->t('global/erfolgreichgelöscht').'</span>';
}
else
$message = '<span class="error">'.$p->t('incoming/ungueltigeIdUebergeben').'</span>';
@@ -262,36 +262,39 @@ if($method =="deleteFirma")
<link href="../../../skin/jquery.css" rel="stylesheet" type="text/css"/>
<link href="../../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
<script src="../../../include/js/tablesort/table.js" type="text/javascript"></script>
<script src="../../../include/js/jquery1.9.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript">
$(document).ready(function()
$(document).ready(function()
{
$( "#datepicker_zeitraumvon" ).datepicker($.datepicker.regional['de']);
$( "#datepicker_zeitraumbis" ).datepicker($.datepicker.regional['de']);
$( "#datepicker_sprachkursvon" ).datepicker($.datepicker.regional['de']);
$( "#datepicker_sprachkursbis" ).datepicker($.datepicker.regional['de']);
$( "#datepicker_praktikumvon" ).datepicker($.datepicker.regional['de']);
$( "#datepicker_praktikumbis" ).datepicker($.datepicker.regional['de']);
$( "#datepicker_praktikumbis" ).datepicker($.datepicker.regional['de']);
$("#myTable").tablesorter(
{
widgets: ["zebra"]
});
});
$("#myTableFiles").tablesorter(
{
sortList: [[0,0]],
widgets: ["zebra"]
});
});
function formatItem(row)
function formatItem(row)
{
return row[0] + " " + row[1] + " " + row[2];
}
}
$("#ansprechperson").autocomplete({
source: "outgoing_autocomplete.php?autocomplete=mitarbeiter",
minLength:2,
@@ -310,7 +313,7 @@ if($method =="deleteFirma")
$("#ansprechperson_uid").val(ui.item.uid);
}
});
$("#betreuer").autocomplete({
source: "outgoing_autocomplete.php?autocomplete=mitarbeiter",
minLength:2,
@@ -328,21 +331,21 @@ if($method =="deleteFirma")
//Ausgeaehlte Ressource zuweisen und Textfeld wieder leeren
$("#betreuer_uid").val(ui.item.uid);
}
});
});
});
});
</script>
</head>
<body>
<?php
$benutzer = new benutzer();
$benutzer->load($uid);
$outgoing = new preoutgoing();
$outgoing->loadUid($uid);
$datum = new datum();
$benutzer = new benutzer();
$benutzer->load($uid);
$outgoing = new preoutgoing();
$outgoing->loadUid($uid);
$datum = new datum();
$zeitraum_von = $datum->formatDatum($outgoing->dauer_von, 'd.m.Y');
$zeitraum_bis = $datum->formatDatum($outgoing->dauer_bis, 'd.m.Y');
$ansprechperson = new benutzer();
@@ -351,12 +354,12 @@ $ansprechperson->load($outgoing->ansprechperson);
$name = '';
if($benutzer->titelpre !='')
$name.=$benutzer->titelpre.' ';
$name.= $benutzer->vorname.' '.$benutzer->nachname.' '.$benutzer->titelpost;
//
$name.= $benutzer->vorname.' '.$benutzer->nachname.' '.$benutzer->titelpost;
//
if(isset($_GET['ansicht']) == 'auswahl')
{
?>
?>
<table border ="0" width="100%">
<tr>
<td align="left" colspan="4"><b><h1><div style="display:block; text-align:left; float:left;"><?php echo $p->t('incoming/outgoingRegistration'); ?></div><div style="display:block; text-align:right; margin-right:6px; "><?php echo((check_lektor($outgoing->uid)!='0')?"Mitarbeiter: ":"Student: ").$name; ?></div></h1></b></td>
@@ -364,7 +367,7 @@ if(isset($_GET['ansicht']) == 'auswahl')
<tr><td><?php echo $message; ?></td></tr>
<tr><td><h3><?php echo $p->t('incoming/programmAuswahl');?>:</h3></td><td><div style="display:block; text-align:right; margin-right:6px; "><a href="<?php echo $_SERVER['PHP_SELF']; ?>?method=new&ansicht=auswahl" align ="left"><?php echo $p->t('incoming/neuenOutgoingAnlegen'); ?></a></div></td></tr>
</table>
<table border="0" width="100%">
<tr>
<td width="50%">
@@ -374,10 +377,10 @@ if(isset($_GET['ansicht']) == 'auswahl')
<td><b>ERASMUS</b>: Finanzielle Unterstützung für Studierendenmobilität bei Partnerinstitutionen in den EU-Mitgliedsstaaten, Island, Kroatien, Liechtenstein, Norwegen, der Schweiz und der Türkei.</td>
</tr>
<tr>
<td><SELECT name="auswahl_erasmus" style="width: 90%" onchange="saveFirma(this.value, '7')">
<td><SELECT name="auswahl_erasmus" style="width: 90%" onchange="saveFirma(this.value, '7')">
<option value="erasmus_auswahl">-- select --</option>
<?php
$firmaErasmus = new firma();
<?php
$firmaErasmus = new firma();
$firmaErasmus->getFirmenMobilitaetsprogramm('7');
foreach($firmaErasmus->result as $fi)
echo'<option value="'.$fi->firma_id.'">'.$fi->name.'</option>';
@@ -388,12 +391,12 @@ if(isset($_GET['ansicht']) == 'auswahl')
<table width="90%" style="border: thin solid black; border-spacing:10px; background-color: lightgray; margin-top:5px">
<tr>
<td><b>CEEPUS</b>: Finanzielle Unterstützung für Studierendenmobilität bei Partnerinstitutionen im Rahmen unseres Netzwerkes in Albanien, Bosnien-Herzegowina, Bulgarien, Kosovo (Universität Prishtina), Kroatien, Mazedonien, Moldawien, Montenegro, Österreich, Polen, Rumänien, Serbien, der Slowakischen Republik, Slowenien, der Tschechischen Republik und Ungarn.</td>
</tr>
</tr>
<tr>
<td><SELECT name="auswahl_ceepus" style="width: 90%" onchange="saveFirma(this.value, '6')" >
<td><SELECT name="auswahl_ceepus" style="width: 90%" onchange="saveFirma(this.value, '6')" >
<option value="ceepus_auswahl">-- select --</option>
<?php
$firmaCeepus = new firma();
<?php
$firmaCeepus = new firma();
$firmaCeepus->getFirmenMobilitaetsprogramm('6');
foreach($firmaCeepus->result as $fi)
echo'<option value="'.$fi->firma_id.'">'.$fi->name.'</option>';
@@ -406,10 +409,10 @@ if(isset($_GET['ansicht']) == 'auswahl')
<td><b>Sonstige</b>: Bilaterale Abkommen zwischen der FH Technikum Wien und Hochschulen außerhalb Europas zum gegenseitigen geförderten Studierendenaustausch. Eine Liste der Partnerinstitutionen befindet sich auf unserer Homepage. </td>
</tr>
<tr>
<td><SELECT name="auswahl_sonstige" style="width: 90%" onchange="saveFirma(this.value, '30')">
<td><SELECT name="auswahl_sonstige" style="width: 90%" onchange="saveFirma(this.value, '30')">
<option value="sonstige_auswahl">-- select --</option>
<?php
$firmaSonstige = new firma();
<?php
$firmaSonstige = new firma();
$firmaSonstige->getFirmenMobilitaetsprogramm('30');
foreach($firmaSonstige->result as $fi)
echo'<option value="'.$fi->firma_id.'">'.$fi->name.'</option>';
@@ -430,39 +433,39 @@ if(isset($_GET['ansicht']) == 'auswahl')
</td>
<!-- Rechte Seite -> Ausgewählte Universitäten -->
<td valign="top">
<table width="100%" style="border: thin solid black; border-spacing:5px; background-color: lightgray; margin-top:5px;" >
<tr><td><b> <?php echo $p->t('incoming/auswahlUniversitaeten'); ?>: </b></td></tr>
<?php
$outgoingFirma = new preoutgoing();
<?php
$outgoingFirma = new preoutgoing();
$outgoingFirma->loadAuswahlFirmen($outgoing->preoutgoing_id);
$disabledSpeichern = ($outgoing->checkStatus($outgoing->preoutgoing_id, 'freigabe'))?'disabled':'';
$i = 1;
$i = 1;
foreach($outgoingFirma->firmen as $fi)
{
$firmaAuswahl = new firma();
$firmaAuswahl = new firma();
$firmaAuswahl->load($fi->firma_id);
$style = '';
$link = '';
if($fi->auswahl == true)
$style = 'style="color:red"';
$mobilitätsprogramm = new mobilitaetsprogramm();
$mobilitätsprogramm = new mobilitaetsprogramm();
$mobilitätsprogramm->load($fi->mobilitaetsprogramm_code);
if($mobilitätsprogramm->kurzbz == '')
$mobprogramm = 'SUMMERSCHOOL';
else
$mobprogramm = $mobilitätsprogramm->kurzbz;
$mobprogramm = $mobilitätsprogramm->kurzbz;
if($fi->name == '')
{
if(!$outgoing->checkStatus($outgoing->preoutgoing_id, 'freigabe'))
$link = "<a href='".$_SERVER['PHP_SELF']."?method=deleteFirma&outgoingFirma_id=".$fi->preoutgoing_firma_id."&ansicht=auswahl'>delete</a>";
echo " <tr><td ".$style.">".$i.": ".$firmaAuswahl->name." [".$mobprogramm."] $link </td></tr>";
}
else // freemover
@@ -474,7 +477,7 @@ if(isset($_GET['ansicht']) == 'auswahl')
$i++;
}
?>
</table>
<form action="<?php echo $_SERVER['PHP_SELF']."?ansicht=auswahl"; ?>" method ="POST">
<table width="100%" style="border: thin solid black; border-spacing:5px; background-color: lightgray; margin-top:5px; margin-bottom:5px;" >
@@ -498,13 +501,13 @@ if(isset($_GET['ansicht']) == 'auswahl')
<tr>
<td><?php
if(!$outgoing->checkStatus($outgoing->preoutgoing_id, 'freigabe'))
echo '<span class="error">'.$p->t('incoming/warteAufFreigabe').'</span>';
echo '<span class="error">'.$p->t('incoming/warteAufFreigabe').'</span>';
?>
</td>
</tr>
</table>
</form>
</td>
</tr>
@@ -516,12 +519,12 @@ if(isset($_GET['ansicht']) == 'auswahl')
<table width="46%" style="border: thin solid black; border-spacing:10px; background-color: lightgray; margin-top:5px">
<tr>
<td><b>Summerschool</b>: Meist zwei- bis dreiwöchige wissenschaftliche Fachkurse, die in den Sommerferien von Partnerhochschulen organisiert werden. Ankündigungen von Summer Schools erfolgen auf der CIS-Seite. </td>
</tr>
</tr>
<tr>
<td><SELECT name="auswahl_summerschool" onchange="saveFirma(this.value, '')" style="width: 90%">
<option value="summerschool_auswahl">-- select --</option>
<?php
$firmaSummerschool = new firma();
<?php
$firmaSummerschool = new firma();
$firmaSummerschool->getFirmen('Partneruniversität');
foreach($firmaSummerschool->result as $fi)
echo'<option value="'.$fi->firma_id.'">'.$fi->name.'</option>';
@@ -539,9 +542,9 @@ else
// Wenn schon Freigegeben -> dann zusätzliche Felder anzeigen
if($outgoing->checkStatus($outgoing->preoutgoing_id, 'freigabe'))
{
$outgoing_id = $outgoing->preoutgoing_id;
$outgoing_id = $outgoing->preoutgoing_id;
$outgoingAuswahlFirma = new preoutgoing();
$outgoingAuswahlFirma = new preoutgoing();
$outgoingAuswahlFirma->loadAuswahl($outgoing_id);
$bscChecked = $outgoing->bachelorarbeit?'checked':'';
$mscChecked = $outgoing->masterarbeit?'checked':'';
@@ -564,7 +567,7 @@ else
echo '<form name="zusaetzlicheDaten" method="POST" action="'.$_SERVER['PHP_SELF'].'">';
echo '<table width="90%" style="border: thin solid black; border-spacing:10px; background-color: lightgray; margin-top:5px; margin-bottom:5px;">';
echo '<tr><td><table>';
echo '<tr><td>'.$p->t('incoming/praktikum').': </td><td><input type="checkbox" name="praktikum" value="Praktikum" '.$praktikumChecked.'></td>
<td>'.$p->t('incoming/bachelorthesis').': <input type="checkbox" name="bachelorarbeit" '.$bscChecked.'></td>';
echo '<td>'.$p->t('incoming/masterthesis').': <input type="checkbox" name="masterarbeit" '.$mscChecked.'></td></tr>';
@@ -573,16 +576,16 @@ else
echo '<tr><td>&nbsp; </td></tr>';
// zusätzliche Felder bei Erasmus
if($outgoingAuswahlFirma->mobilitaetsprogramm_code == '7')
{
{
echo '<tr><td>'.$p->t('incoming/sprachkurs').': </td><td><select name="sprachkurs">
<option value="kein">'.$p->t('incoming/keiner').'</option>
<option value="vorbereitend" '.$sprachkursSelect.'>'.$p->t('incoming/vorbereitenderSprachkurs').'</option>
<option value="intensiv" '.$intensivSprachkursSelect.'>'.$p->t('incoming/erasmusIntensivsprachkurs').'</option>
</select></td></tr>';
echo '<tr><td>'.$p->t('incoming/sprachkursVon').':</td><td> <input type="text" name="sprachkurs_von" id="datepicker_sprachkursvon" value="'.$datum->formatDatum($outgoing->sprachkurs_von, 'd.m.Y').'"></td><td colspan="4">'.$p->t('incoming/studienrichtungGastuniversitaet').': <input type="text" name="studienrichtungGastuni" value="'.$outgoing->studienrichtung_gastuniversitaet.'"></td></tr>';
echo '<tr><td>'.$p->t('incoming/sprachkursVon').':</td><td> <input type="text" name="sprachkurs_von" id="datepicker_sprachkursvon" value="'.$datum->formatDatum($outgoing->sprachkurs_von, 'd.m.Y').'"></td><td colspan="4">'.$p->t('incoming/studienrichtungGastuniversitaet').': <input type="text" name="studienrichtungGastuni" value="'.$outgoing->studienrichtung_gastuniversitaet.'"></td></tr>';
echo '<tr><td>'.$p->t('incoming/sprachkursBis').': </td><td><input type="text" name="sprachkurs_bis" id="datepicker_sprachkursbis" value="'.$datum->formatDatum($outgoing->sprachkurs_bis, 'd.m.Y').'"></td></tr>';
}
echo '<tr><td colspan="6">'.$p->t('incoming/aufgrundEinerBehinderung').': <input type="checkbox" name="behinderungszuschuss" '.$behindChecked.'>';
echo '<tr><td colspan="6">'.$p->t('incoming/währendDesAuslandsaufenthaltes').': <input type="checkbox" name="studienbeihilfe" '.$beihilfeChecked.'>';
echo '</table>';
@@ -591,7 +594,7 @@ else
echo '<tr><td><input type="button" value="'.$p->t('global/zurueck').'" onclick="clickZurueck()"></td><td align="right"><input type="submit" value="'.$p->t('global/speichern').'" name="zDaten"></td>';
echo '</table>';
echo '</form>';
// Bei Mitarbeiter Lehrveranstaltung ausblenden
if(check_lektor($outgoing->uid)=='0')
{
@@ -610,7 +613,7 @@ else
<thead>
<tr>
<th>'.$p->t('global/bezeichnung').'</th>
<th>'.$p->t('incoming/wochenstunden').'</th>
<th>'.$p->t('incoming/wochenstunden').'</th>
<th>'.$p->t('incoming/ects').'</th>
<th>'.$p->t('incoming/unitcode').'</th>
<th></th>
@@ -627,12 +630,12 @@ else
echo '<tr><td><input type="button" value="'.$p->t('incoming/learningAgreement').'" onClick="getLearningAgreement();"><input type="button" value="'.$p->t('incoming/geaendertesLA').'" onClick="getLearningAgreementChange();"></td></tr>';
echo '</table>';
}
echo '<hr>';
echo '<h3>'.$p->t('incoming/verwaltungVonDateien').'</h3>';
echo '<table>
<tr><td><a href="'.APP_ROOT.'cis/private/outgoing/akteupload.php?person_id='.$benutzer->person_id.'" onclick="FensterOeffnen(this.href); return false;">',$p->t('incoming/fileupload'),'</a></td></td></tr>';
$akte = new akte();
$akte = new akte();
$akte->getAktenOutgoing($benutzer->person_id);
@@ -647,20 +650,20 @@ else
</thead>
<tbody>';
foreach ($akte->result as $ak)
{
{
echo '<tr>
<td><a href="'.APP_ROOT.'cis/private/outgoing/akte.php?id='.$ak->akte_id.'">'.$ak->titel.'</a></td>
<td><a href="'.$_SERVER['PHP_SELF'].'?method=files&mode=delete&id='.$ak->akte_id.'" title="delete">'.$p->t('incoming/loeschen').'</a></td>
</tr>';
}
echo '</table>';
echo '</table>';
}
}
}
// Lehrveranstaltungen eingragen
?>
<script type="text/javascript">
function saveFirma(firma_id, programm)
@@ -683,7 +686,7 @@ else
{
window.location.href="<?php echo $_SERVER['PHP_SELF'] ?>?ansicht=auswahl";
}
function FensterOeffnen (adresse)
function FensterOeffnen (adresse)
{
MeinFenster = window.open(adresse, "Info", "width=600,height=200");
MeinFenster.focus();
@@ -691,19 +694,19 @@ else
function getLearningAgreement()
{
var url = "<?php echo APP_ROOT ?>content/pdfExport.php?xsl=OutgoingLearning&xml=learningagreement_outgoing.rdf.php&preoutgoing_id=<?php echo $outgoing->preoutgoing_id;?>&output=pdf";
window.location.href= url;
window.location.href= url;
}
function getLearningAgreementChange()
{
var url = "<?php echo APP_ROOT ?>content/pdfExport.php?xsl=OutgoingChangeL&xml=learningagreement_outgoing.rdf.php&preoutgoing_id=<?php echo $outgoing->preoutgoing_id;?>&output=pdf";
window.location.href= url;
window.location.href= url;
}
function test()
{
alert('test')
}
</script>
</body>
</html>
@@ -711,9 +714,9 @@ else
function sendMailInternational()
{
$emailtext= "Dies ist eine automatisch generierte E-Mail.<br><br>";
$emailtext.= "Es hat sich ein neuer Outgoing am System registriert.</b>";
$emailtext.= "Es hat sich ein neuer Outgoing am System registriert.</b>";
$mail = new mail(MAIL_INTERNATIONAL_OUTGOING, 'no-reply', 'New Outgoing', 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.');
$mail->setHTMLContent($emailtext);
$mail->send();
$mail->setHTMLContent($emailtext);
$mail->send();
}
?>
?>
+6 -1
View File
@@ -50,7 +50,12 @@ echo '
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../vendor/jquery/sizzle/sizzle.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
+1 -1
View File
@@ -81,7 +81,7 @@ if(!$semester || !array_key_exists($semester, $alle_semester))
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link rel="stylesheet" href="../../../skin/jquery.css" type="text/css"/>
<script type="text/javascript" src="../../../include/js/jquery.min.1.11.1.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
</head>
<body class="anwesenheit">
<?php
+1 -1
View File
@@ -91,7 +91,7 @@ if($lehreinheit_id)
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link rel="stylesheet" href="../../../skin/jquery.css" type="text/css"/>
<script type="text/javascript" src="../../../include/js/jquery.min.1.11.1.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
</head>
<body class="anwesenheit">
+6 -1
View File
@@ -49,7 +49,12 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<title>'.$p->t('freebusy/titel').'</title>
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
+82 -78
View File
@@ -29,7 +29,7 @@ require_once('../../../include/person.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/betriebsmittel.class.php');
require_once('../../../include/betriebsmittelperson.class.php');
require_once('../../../include/betriebsmitteltyp.class.php');
require_once('../../../include/betriebsmitteltyp.class.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/betriebsmittel_betriebsmittelstatus.class.php');
require_once('../../../include/benutzer.class.php');
@@ -37,20 +37,20 @@ require_once('../../../include/mitarbeiter.class.php');
require_once('../../../include/student.class.php');
require_once('../../../include/kontakt.class.php');
require_once('../../../include/fotostatus.class.php');
require_once('../../../include/addon.class.php');
require_once('../../../include/addon.class.php');
require_once('../../../include/gruppe.class.php');
require_once('../../../include/adresse.class.php');
$sprache = getSprache();
$sprache = getSprache();
$p=new phrasen($sprache);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
$uid=get_uid();
$datum_obj = new datum();
$ansicht=false; //Wenn ein anderer User sich das Profil ansieht (Bei Personensuche)
if(isset($_GET['uid']))
{
@@ -90,7 +90,7 @@ if(!$ansicht && isset($_GET['action']))
break;
}
}
$stg = '';
$stg_obj = new studiengang();
@@ -99,7 +99,7 @@ $stg_obj->getAll('typ, kurzbz', false);
$stg_arr = array();
foreach ($stg_obj->result as $row)
$stg_arr[$row->studiengang_kz]=$row->kurzbzlang;
if(check_lektor($uid))
{
$user = new mitarbeiter();
@@ -119,9 +119,9 @@ if ($type=='mitarbeiter')
$vorwahl = '';
$kontakt = new kontakt();
$kontakt->loadFirmaKontakttyp($user->standort_id,'telefon');
$vorwahl = $kontakt->kontakt;
$vorwahl = $kontakt->kontakt;
}
echo '<!DOCTYPE HTML>
<html>
<head>
@@ -129,8 +129,12 @@ echo '<!DOCTYPE HTML>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../skin/flexcrollstyles.css" rel="stylesheet" type="text/css" />
<script src="../../../include/js/flexcroll.js" type="text/javascript" ></script>
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<script language="JavaScript" type="text/javascript">
<!--
@@ -138,14 +142,14 @@ echo '<!DOCTYPE HTML>
{
window.location.reload();
}
$(document).ready(function()
{
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[0,0]],
widgets: ["zebra"]
});
});
$("#t2").tablesorter(
{
sortList: [[0,0]],
@@ -160,23 +164,23 @@ echo '<!DOCTYPE HTML>
<div class="flexcroll" style="outline: none;">
<h1>'.$p->t('profil/profil').'</h1>
';
if(!$user->bnaktiv)
{
if(!$ansicht)
{
if ($type=='student')
$message = $p->t('profil/inaktivStudent');
elseif($type=='mitarbeiter')
$message = $p->t('profil/inaktivMitarbeiter');
else
$message = $p->t('profil/inaktivSonstige');
$message = $p->t('profil/inaktivSonstige');
}
else
$message = $p->t('profil/AccountInaktiv');
echo "<span style='color: red;'>$message</span>";
echo "<span style='color: red;'>$message</span>";
}
echo '
@@ -187,7 +191,7 @@ echo '
<table width="100%">
<tr>
<td valign="top" width="10%" nowrap style="padding-right:10px;">';
//Foto anzeigen
$benutzer = new benutzer();
$benutzer->load($uid);
@@ -200,7 +204,7 @@ if($person->foto!='')
else
echo '<img id="personimage" src="../../../skin/images/profilbild_dummy.jpg" alt="Dummy Picture" height="100px" width="75px">';
}
else
else
echo '<img id="personimage" src="../../../skin/images/profilbild_dummy.jpg" alt="Dummy Picture" height="100px" width="75px">';
if(!$ansicht)
@@ -212,7 +216,7 @@ if(!$ansicht)
}
if($user->foto_sperre)
echo '<br><b>'.$p->t('profil/profilfotoGesperrt').'</b>';
if(!$ansicht)
{
if($user->foto_sperre)
@@ -220,7 +224,7 @@ if(!$ansicht)
else
echo '<br><a href="'.$_SERVER['PHP_SELF'].'?action=foto_sperre" title="'.$p->t('profil/infotextSperre').'">'.$p->t('profil/fotosperren').'</a>';
}
echo '</td><td width="30%" valign="top">';
echo '
@@ -236,24 +240,24 @@ else
echo '
'.$p->t('global/nachname').': '.$user->nachname.'<br>
'.$p->t('global/postnomen').': '.$user->titelpost.'<br><br>';
if(!$ansicht)
{
echo ' '.$p->t('global/geburtsdatum').': '.$datum_obj->formatDatum($user->gebdatum,'d.m.Y')."<br>
".$p->t('global/geburtsort').": $user->gebort<br><br>";
}
if(!$ansicht)
{
$adresse = new adresse();
$adresse->load_pers($user->person_id);
function sortAdresse($a , $b)
{
if($a->typ === $b->typ)
return 0;
return ($a->typ < $b->typ) ? -1 : 1;
}
usort($adresse->result, "sortAdresse");
@@ -284,9 +288,9 @@ if(!$ansicht)
$studiengang = new studiengang();
if ($type=='student' && (!defined('CIS_PROFIL_STUDIENINFORMATION_ANZEIGEN') || CIS_PROFIL_STUDIENINFORMATION_ANZEIGEN))
{
{
$studiengang->load($user->studiengang_kz);
echo "
".$p->t('global/studiengang').": $studiengang->bezeichnung<br>
".$p->t('global/semester').": $user->semester <a href='#' onClick='javascript:window.open(\"../stud_in_grp.php?kz=$user->studiengang_kz&sem=$user->semester\",\"_blank\",\"width=600,height=500,location=no,menubar=no,status=no,toolbar=no,scrollbars=yes, resizable=1\");return false;'>".$p->t('benotungstool/liste')."</a><br>
@@ -296,12 +300,12 @@ if ($type=='student' && (!defined('CIS_PROFIL_STUDIENINFORMATION_ANZEIGEN') || C
if($user->studiengang_kz<10000)
echo $p->t('profil/martrikelnummer').": $user->matrikelnr<br />";
}
if ($type=='mitarbeiter')
{
echo "<br>
".$p->t('profil/kurzzeichen').": $user->kurzbz<BR>";
if($user->telefonklappe!='')
{
echo $p->t('profil/telefonTw').": $vorwahl - $user->telefonklappe<BR>";
@@ -309,11 +313,11 @@ if ($type=='mitarbeiter')
}
if ($user->ort_kurzbz!='')
echo $p->t('profil/buero').': '.$user->ort_kurzbz.'<br>';
}
}
echo '</td>';
echo '<td valign="top">';
if(!$ansicht && (!defined('CIS_PROFIL_FHAUSWEIS_ANZEIGEN') || CIS_PROFIL_FHAUSWEIS_ANZEIGEN))
{
{
echo '<b>'.$p->t('profil/fhausweisStatus').'</b><br>';
$bm = new betriebsmittel();
if($bm->zutrittskarteAusgegeben($user->uid))
@@ -339,13 +343,13 @@ if(!$ansicht && (!defined('CIS_PROFIL_FHAUSWEIS_ANZEIGEN') || CIS_PROFIL_FHAUSWE
{
echo '<br>'.$p->t('profil/fhausweisGedrucktAm').' '.$datum_obj->formatDatum($bm->insertamum,'d.m.Y');
$geliefertts = $datum_obj->mktime_fromtimestamp($bm->insertamum);
$abholungsdatum = $datum_obj->jump_day($geliefertts, 1);
echo '<br>'.$p->t('profil/fhausweisAbholbereitAmEmpfangAb').' '.date('d.m.Y',$abholungsdatum);
$abholungsdatum = $datum_obj->jump_day($geliefertts, 1);
echo '<br>'.$p->t('profil/fhausweisAbholbereitAmEmpfangAb').' '.date('d.m.Y',$abholungsdatum);
}
else
echo '<br>'.$p->t('profil/fhausweisWurdeNochNichtGedruckt');
break;
default:
echo '<br><div style="color:red;">'.$p->t('profil/ladenSieBitteEinGueltigesFotoHoch').'</div>';
break;
@@ -371,12 +375,12 @@ if(!$ansicht)
{
if($a->kontakttyp === $b->kontakttyp)
return 0;
return ($a->kontakttyp < $b->kontakttyp) ? -1 : 1;
}
echo '<br><br><b>'.$p->t('profil/kontaktPrivat').'</b>';
$kontakt = new kontakt();
$kontakt->load_pers($user->person_id);
$kontakt->load_pers($user->person_id);
usort($kontakt->result, "sortKontakt");
foreach($kontakt->result as $k)
@@ -410,17 +414,17 @@ $mail = MAIL_ADMIN;
{
$user->studiengang_kz = 0;
}
//Wenn eine Assistentin fuer diesen Studiengang eingetragen ist,
//dann werden die aenderungswuesche an diese Adresse gesendet
if($studiengang->email!='')
$mail = $studiengang->email;
else
$mail = MAIL_ADMIN;
if($user->studiengang_kz=='0')
$mail = MAIL_GST;
if(!$ansicht)
{
echo "
@@ -430,28 +434,28 @@ if(!$ansicht)
%0A%0A***%0DPlatz fuer weitere (nicht angefuehrte Daten)%0D***\">".$p->t('profil/zustaendigeAssistenz')."</a><br><br>";
}
echo '<table width="100%">';
echo '<table width="100%">';
echo '<tr>
<td valign="top">';
if(!defined('CIS_PROFIL_FUNKTIONEN_ANZEIGEN') || CIS_PROFIL_FUNKTIONEN_ANZEIGEN)
{
{
//Funktionen
$qry = "SELECT
$qry = "SELECT
*, tbl_benutzerfunktion.oe_kurzbz as oe_kurzbz, tbl_organisationseinheit.bezeichnung as oe_bezeichnung,
tbl_benutzerfunktion.semester, tbl_benutzerfunktion.bezeichnung as bf_bezeichnung
FROM
public.tbl_benutzerfunktion
JOIN public.tbl_funktion USING(funktion_kurzbz)
FROM
public.tbl_benutzerfunktion
JOIN public.tbl_funktion USING(funktion_kurzbz)
JOIN public.tbl_organisationseinheit USING(oe_kurzbz)
WHERE
uid=".$db->db_add_param($uid)." AND
WHERE
uid=".$db->db_add_param($uid)." AND
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now())";
if($result_funktion = $db->db_query($qry))
{
if($db->db_num_rows($result_funktion)>0)
@@ -473,7 +477,7 @@ if(!$ansicht && (!defined('CIS_PROFIL_BETRIEBSMITTEL_ANZEIGEN') || CIS_PROFIL_BE
$oBetriebsmittelperson = new betriebsmittelperson();
$oBetriebsmittelperson->result=array();
$oBetriebsmittelperson->errormsg='';
if ($oBetriebsmittelperson->getBetriebsmittelPerson($user->person_id))
{
if (is_array($oBetriebsmittelperson->result) && count($oBetriebsmittelperson->result)>0)
@@ -487,13 +491,13 @@ if(!$ansicht && (!defined('CIS_PROFIL_BETRIEBSMITTEL_ANZEIGEN') || CIS_PROFIL_BE
<th>'.$p->t('profil/ausgegebenAm').'</th>
</tr>
</thead><tbody>';
for ($i=0;$i<count($oBetriebsmittelperson->result);$i++)
{
if (empty($oBetriebsmittelperson->result[$i]->retouram) )
{
$bm = new betriebsmittel_betriebsmittelstatus();
if($bm->load_last_betriebsmittel_id($oBetriebsmittelperson->result[$i]->betriebsmittel_id)
if($bm->load_last_betriebsmittel_id($oBetriebsmittelperson->result[$i]->betriebsmittel_id)
&& $bm->betriebsmittelstatus_kurzbz<>'vorhanden')
{
continue;
@@ -508,7 +512,7 @@ if(!$ansicht && (!defined('CIS_PROFIL_BETRIEBSMITTEL_ANZEIGEN') || CIS_PROFIL_BE
<td>".$oBetriebsmittelperson->result[$i]->nummer.' <a href="mailto:'.$mailtext_inventar.'>'.$oBetriebsmittelperson->result[$i]->inventarnummer."</a></td>
<td>".$datum_obj->formatDatum($oBetriebsmittelperson->result[$i]->ausgegebenam,'d.m.Y')."</td>
</tr>";
}
}
echo '</tbody></table>';
@@ -531,30 +535,30 @@ if(!$ansicht && (!defined('CIS_PROFIL_BETRIEBSMITTEL_ANZEIGEN') || CIS_PROFIL_BE
</thead>
<tbody>
';
foreach($gruppe->result as $row)
{
echo '<tr>';
echo '<td>'.$row->bezeichnung.'</td>';
echo '</tr>';
echo '</tr>';
}
echo '</tbody>
</thead>
</table>';
}
}
echo '
echo '
</td>
</tr>
</table>
</td>';
$menubox='';
//Überprüfung ob Addon vorhanden ist
$addon = new addon();
$addon = new addon();
foreach($addon->aktive_addons as $ad)
{
// checken ob es file profil_array.php gibt
@@ -567,12 +571,12 @@ if(!$ansicht && (!defined('CIS_PROFIL_BETRIEBSMITTEL_ANZEIGEN') || CIS_PROFIL_BE
{
foreach($menu as $entry)
{
$menubox.= "<p><a href=".$entry['link']." target=".$entry['target'].">".$entry['name']."</a></p>";
$menubox.= "<p><a href=".$entry['link']." target=".$entry['target'].">".$entry['name']."</a></p>";
}
}
}
}
//Überprüfung ob Hilfe-Link vorhanden
if ($p->t("dms_link/profilhilfe")!='')
$menubox.= '<p><a href="../../../cms/content.php?content_id='.$p->t("dms_link/profilhilfe").'" target="_blank">'.$p->t('global/hilfe').'</a></p>';
@@ -591,30 +595,30 @@ if(!$ansicht && (!defined('CIS_PROFIL_BETRIEBSMITTEL_ANZEIGEN') || CIS_PROFIL_BE
echo "<SMALL>".$p->t('profil/sieSindMitgliedInFolgendenVerteilern').":</SMALL>";
else
echo "<SMALL>".$p->t('profil/derUserIstInFolgendenVerteilern',array($user->uid)).":</SMALL>";
echo '<table>';
// Mail-Groups
$qry_gruppen = "
SELECT
gruppe_kurzbz, beschreibung
FROM
campus.vw_persongruppe
WHERE
mailgrp
SELECT
gruppe_kurzbz, beschreibung
FROM
campus.vw_persongruppe
WHERE
mailgrp
AND uid=".$db->db_add_param($uid);
if(!($erg_mg=$db->db_query($qry_gruppen)))
die($db->db_last_error());
$nr_mg=$db->db_num_rows($erg_mg);
for($i=0;$i<$nr_mg;$i++)
{
$row=$db->db_fetch_object($erg_mg,$i);
echo '<TR><TD><A href="mailto:'.strtolower(trim($row->gruppe_kurzbz)).'@'.DOMAIN.'">'.strtolower($row->gruppe_kurzbz).'&nbsp;</TD>';
echo "<TD>&nbsp;$row->beschreibung</TD></TR>";
}
if (isset($user->matrikelnr))
{
echo '<TR><TD><A href="mailto:'.strtolower(trim($studiengang->kuerzel)).'_std@'.DOMAIN.'">'.strtolower($studiengang->kuerzel).'_std&nbsp;</TD>';
+6 -1
View File
@@ -119,7 +119,12 @@ require_once('../../../include/benutzerberechtigung.class.php');
<title>'.$p->t('lvaliste/titel').'</title>
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link rel="stylesheet" href="../../../skin/jquery.css" type="text/css"/>
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<script language="Javascript">
<!--
+6 -1
View File
@@ -66,7 +66,12 @@ $buchung->getBuchungPerson($benutzer->person_id, $options);
<title><?php echo $p->t('buchungen/titel'); ?></title>
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link rel="stylesheet" href="../../../skin/jquery.css" type="text/css"/>
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<script language="Javascript">
<!--
+5 -1
View File
@@ -133,7 +133,11 @@ echo '<!DOCTYPE html>
<link rel="stylesheet" href="../../../skin/style.css.php" />
<link rel="stylesheet" href="../../../skin/jquery.css" />
<link rel="stylesheet" href="../../../skin/jquery-ui-1.9.2.custom.min.css" />
<script type="text/javascript" src="../../../include/js/jquery1.9.min.js"></script>';
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
';
// ADDONS laden
$addon_obj = new addon();
+32 -28
View File
@@ -40,19 +40,19 @@ $rechte->getBerechtigungen($user);
if(isset($_GET['year']) && is_numeric($_GET['year']))
$year = $_GET['year'];
else
else
{
//Bis August das aktuelle Jahr anzeigen
//Ab September das naechste
if(date('m')<9)
$year = date('Y');
else
else
$year = date('Y')+1;
}
if(isset($_GET['uid']))
$uid=$_GET['uid'];
else
else
$uid='';
$datum_obj = new datum();
@@ -62,7 +62,11 @@ echo '<html>
<title>Urlaubsfreigabe</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<script src="../../../include/js/jquery1.9.min.js" type="text/javascript"></script>';
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
';
// ADDONS laden
$addon_obj = new addon();
@@ -76,7 +80,7 @@ foreach($addon_obj->result as $addon)
// Wenn Seite fertig geladen ist Addons aufrufen
echo '
<script>
$( document ).ready(function()
$( document ).ready(function()
{
for(i in addon)
{
@@ -140,16 +144,16 @@ if(isset($_GET['action']) && $_GET['action']=='freigabe')
if(!$zeitsperre->save(false))
echo "<b>Fehler bei der Freigabe: $zeitsperre->errormsg</b>";
}
else
else
{
echo '<b>Sie haben keine Berechtigung den Urlaub für diesen Mitarbeiter freizugeben</b>';
}
}
else
else
{
echo '<b>Die Zeitsperre konnte nicht geladen werden</b>';
}
}
//Speichern der Resturlaubstage
@@ -159,16 +163,16 @@ if(isset($_POST['saveresturlaub']))
{
$resturlaub = new resturlaub();
$resturlaub->load($uid);
$resturlaub->resturlaubstage=$_POST['resturlaubstage'];
$resturlaub->updateamum=date('Y-m-d H:i:s');
$resturlaub->updatevon = $user;
if($resturlaub->save())
echo 'Resturlaubstage wurden erfolgreich gespeichert';
else
else
echo '<span class="error">Fehler beim Speichern der Resturlaubstage: '.$resturlaub->errormsg.'</span>';
}
else
else
echo '<span class="error">Fehler beim Speichern der Resturlaubstage: Resturlaub muss eine gueltige Zahl sein</span>';
}
@@ -176,30 +180,30 @@ if(isset($_POST['saveresturlaub']))
function draw_monat($monat)
{
global $untergebene, $mitarbeiter, $year, $datum_obj, $uid;
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
echo '<td style="border: 1px solid black; height:100px; width: 30%" valign="top">';
echo '<center><b>';
echo date('F',mktime(0,0,0,$monat,1,date('Y')));
echo " ".($monat>8?$year-1:$year);
echo '</b></center>';
//Alle Anzeigen bei denen das von- oder bisdatum in dieses monat fallen
$qry = "SELECT * FROM campus.tbl_zeitsperre WHERE zeitsperretyp_kurzbz='Urlaub'
AND
$qry = "SELECT * FROM campus.tbl_zeitsperre WHERE zeitsperretyp_kurzbz='Urlaub'
AND
(
(date_part('month', vondatum)='$monat' AND date_part('year', vondatum)='".($monat>8?$year-1:$year)."')
OR
(date_part('month', vondatum)='$monat' AND date_part('year', vondatum)='".($monat>8?$year-1:$year)."')
OR
(date_part('month', bisdatum)='$monat' AND date_part('year', bisdatum)='".($monat>8?$year-1:$year)."')
)";
if($uid=='')
$qry.=" AND mitarbeiter_uid in($untergebene)";
else
else
$qry.=" AND mitarbeiter_uid='".addslashes($uid)."'";
$qry.="ORDER BY vondatum, mitarbeiter_uid";
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
@@ -230,9 +234,9 @@ if($uid!='')
echo '</td><td style="width:33%">';
//echo '<div id="resturlaub"></div>';
//echo '</td></tr></table>';
//Anzeige Resturlaubsberechnung
$resturlaub = new resturlaub();
if($resturlaub->load($uid))
@@ -241,17 +245,17 @@ if($uid!='')
$mehrarbeitsstunden = $resturlaub->mehrarbeitsstunden;
$anspruch = $resturlaub->urlaubstageprojahr;
}
else
else
{
$resturlaubstage=0;
$mehrarbeitsstunden=0;
// wenn mitarbeiter ist kein fixangestellter --> kein urlaubsanspruch
$mitarbeiter_anspruch = new mitarbeiter();
$mitarbeiter_anspruch = new mitarbeiter();
$mitarbeiter_anspruch->load($uid);
if($mitarbeiter_anspruch->fixangestellt == true)
$anspruch=25;
else
$anspruch = 0;
else
$anspruch = 0;
}
$jahr=date('Y');
@@ -296,7 +300,7 @@ if($uid!='')
echo "<input type='submit' value='OK' name='saveresturlaub'>";
echo "</form>";
}
else
else
{
echo "$resturlaubstage Tage";
}
@@ -305,9 +309,9 @@ if($uid!='')
echo "<tr><td style='border-top: 1px solid black;' nowrap>aktueller Stand</td><td style='border-top: 1px solid black;' align='right' nowrap>".($anspruch+$resturlaubstage-$gebuchterurlaub)." Tage</td><td class='grey' nowrap>&nbsp;&nbsp;&nbsp;( Stichtag: $datum_ende )</td></tr>";
echo "</table>";
echo '</div>';
echo '</td></tr></table>';
}
echo '<br><center>';
+4 -1
View File
@@ -422,7 +422,10 @@ $datum_obj = new datum();
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link rel="stylesheet" href="../../../skin/jquery-ui-1.9.2.custom.min.css" type="text/css">
<script src="../../../include/js/tablesort/table.js" type="text/javascript"></script>
<script src="../../../include/js/jquery1.9.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<?php
// ADDONS laden
$addon_obj = new addon();
+6 -1
View File
@@ -62,7 +62,12 @@
<title>'.$p->t('tools/zahlungen').'</title>
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
</head>
<style>
table.tablesorter
+60 -57
View File
@@ -35,12 +35,12 @@ require_once('../../../include/mail.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/phrasen.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
$sprache = getSprache();
$p = new phrasen($sprache);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
$uid = get_uid();
$PHP_SELF = $_SERVER['PHP_SELF'];
@@ -48,7 +48,7 @@ $PHP_SELF = $_SERVER['PHP_SELF'];
if(isset($_GET['type']))
$type=$_GET['type'];
//Wenn User Administrator ist und UID uebergeben wurde, dann die Zeitsperren
//Wenn User Administrator ist und UID uebergeben wurde, dann die Zeitsperren
//des uebergebenen Users anzeigen
if(isset($_GET['uid']))
{
@@ -58,7 +58,7 @@ if(isset($_GET['uid']))
{
$uid = $_GET['uid'];
}
else
else
{
die($p->t('global/FuerDieseAktionBenoetigenSieAdministrationsrechte'));
}
@@ -78,10 +78,13 @@ $num_rows_stunde=$db->db_num_rows($result_stunde);
<title><?php echo $p->t('zeitsperre/zeitsperre');?></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<script src="../../../include/js/jquery1.9.min.js" type="text/javascript"></script>
<script src="../../../include/js/jquery.ui.timepicker.js" type="text/javascript" ></script>
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script src="../../../vendor/fgelinas/timepicker/jquery.ui.timepicker.js" type="text/javascript" ></script>
<link href="../../../skin/jquery.css" rel="stylesheet" type="text/css"/>
<link href="../../../skin/jquery.ui.timepicker.css" rel="stylesheet" type="text/css"/>
<link href="../../../vendor/fgelinas/timepicker/jquery.ui.timepicker.css" rel="stylesheet" type="text/css"/>
<link href="../../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
<?php
// ADDONS laden
@@ -96,7 +99,7 @@ foreach($addon_obj->result as $addon)
// Wenn Seite fertig geladen ist Addons aufrufen
echo '
<script>
$( document ).ready(function()
$( document ).ready(function()
{
if(typeof addon !== \'undefined\')
{
@@ -105,14 +108,14 @@ $( document ).ready(function()
addon[i].init("cis/private/profile/urlaubstool.php", {uid:\''.$uid.'\'});
}
}
$( ".datepicker_datum" ).datepicker({
changeMonth: true,
changeYear: true,
changeYear: true,
dateFormat: "dd.mm.yy",
});
$( ".timepicker" ).timepicker({
showPeriodLabels: false,
hourText: "'.$p->t("global/stunde").'",
@@ -165,43 +168,43 @@ function checkdatum()
return false;
}
var Datum, Tag, Monat,Jahr,vonDatum,bisDatum;
var Datum, Tag, Monat,Jahr,vonDatum,bisDatum;
Datum=document.getElementById('vondatum').value;
Tag=Datum.substring(0,2);
Monat=Datum.substring(3,5);
Tag=Datum.substring(0,2);
Monat=Datum.substring(3,5);
if (parseInt(Monat,10)<1 || parseInt(Monat,10)>12)
{
{
alert('<?php echo $p->t('zeitsperre/vonDatumMonat');?>'+ document.getElementById('vondatum').value+ ' <?php echo $p->t('zeitsperre/istNichtRichtig');?>.');
document.getElementById('vondatum').focus();
return false;
}
Jahr=Datum.substring(6,10);
Jahr=Datum.substring(6,10);
vonDatum=Jahr+''+Monat+''+Tag;
Datum=document.getElementById('bisdatum').value;
Tag=Datum.substring(0,2);
Monat=Datum.substring(3,5);
Tag=Datum.substring(0,2);
Monat=Datum.substring(3,5);
if (parseInt(Monat,10)<1 || parseInt(Monat,10)>12)
{
{
alert('<?php echo $p->t('zeitsperre/bisDatumMonat');?>'+ document.getElementById('bisdatum').value+ ' <?php echo $p->t('zeitsperre/istNichtRichtig');?>.');
document.getElementById('bisdatum').focus();
return false;
}
Jahr=Datum.substring(6,10);
bisDatum=Jahr+''+Monat+''+Tag;
if (vonDatum>bisDatum)
Jahr=Datum.substring(6,10);
bisDatum=Jahr+''+Monat+''+Tag;
if (vonDatum>bisDatum)
{
alert('<?php echo $p->t('zeitsperre/vonDatum');?> '+ document.getElementById('vondatum').value+ ' <?php echo $p->t('zeitsperre/istGroesserAlsBisDatum');?> '+document.getElementById('bisdatum').value);
document.getElementById('vondatum').focus();
return false;
}
return true;
}
@@ -222,13 +225,13 @@ function showHideBezeichnungDropDown()
str += '<option value="Wohnungswechsel">h) Wohnungswechsel in eigenen Haushalt</option>';
str += '<option value="Bundesheer">i) Einberufung Bundesheer</option>';
str += '</select>';
sp.innerHTML = str;
}
else
{
sp.innerHTML = '<input type="text" name="bezeichnung" maxlength="32" size="32" value="">';
}
if (dd.options[dd.selectedIndex].value == 'Urlaub')
@@ -267,7 +270,7 @@ function setBisDatum()
<?php
//Zeitsperre Speichern
if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_sperre'))
{
@@ -294,27 +297,27 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
$date=explode('.',$_POST['vondatum']);
if (@checkdate($date[1], $date[0], $date[2]))
{
$vondatum=$date[2].$date[1].$date[0];
}
$vondatum=$date[2].$date[1].$date[0];
}
else
{
$error=true;
$error_msg .= $p->t('zeitsperre/vonDatumUngueltig').' ';
}
}
}
else
{
$error=true;
}
}
$bisdatum=0;
if(isset($_POST['bisdatum']))
{
$date=explode('.',$_POST['bisdatum']);
if (@checkdate($date[1], $date[0], $date[2]))
{
$bisdatum=$date[2].$date[1].$date[0];
}
$bisdatum=$date[2].$date[1].$date[0];
}
else
{
$error=true;
@@ -324,16 +327,16 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
else
{
$error=true;
}
}
if($vondatum > $bisdatum)
{
$error=true;
$error_msg .= $p->t('zeitsperre/vonDatumGroesserAlsBisDatum').'! ';
}
$zeitsperre = new zeitsperre();
if($_GET['type']=='edit_sperre')
@@ -418,9 +421,9 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
$benutzer->load($uid);
if($datum_obj->formatDatum($zeitsperre->vondatum, 'm')>=9)
$jahr = $datum_obj->formatDatum($zeitsperre->vondatum, 'Y')+1;
else
else
$jahr = $datum_obj->formatDatum($zeitsperre->vondatum, 'Y');
$message = "Dies ist eine automatische Mail! \n".
"$benutzer->nachname $benutzer->vorname hat einen neuen Urlaub eingetragen:\n".
"$zeitsperre->bezeichnung von ".$datum_obj->formatDatum($zeitsperre->vondatum,'d.m.Y')." bis ".$datum_obj->formatDatum($zeitsperre->bisdatum,'d.m.Y')."\n\n".
@@ -494,9 +497,9 @@ if(count($zeit->result)>0)
{
$i++;
//name der vertretung holen
$qry = "SELECT vorname || ' ' || nachname as kurzbz FROM public.tbl_mitarbeiter, public.tbl_benutzer, public.tbl_person
WHERE tbl_benutzer.uid=tbl_mitarbeiter.mitarbeiter_uid
AND tbl_benutzer.person_id=tbl_person.person_id
$qry = "SELECT vorname || ' ' || nachname as kurzbz FROM public.tbl_mitarbeiter, public.tbl_benutzer, public.tbl_person
WHERE tbl_benutzer.uid=tbl_mitarbeiter.mitarbeiter_uid
AND tbl_benutzer.person_id=tbl_person.person_id
AND mitarbeiter_uid=".$db->db_add_param($row->vertretung_uid);
$result_vertretung = $db->db_query($qry);
@@ -511,13 +514,13 @@ if(count($zeit->result)>0)
<td align='center'>".($row->freigabeamum!=''?'Ja':'')."</td>";
if ($row->zeitsperretyp_kurzbz == 'DienstV')
$content_table .= '<td>&nbsp;</td>';
else
else
$content_table.="<td><a href='$PHP_SELF?type=edit&id=$row->zeitsperre_id' class='Item'>".$p->t('zeitsperre/edit')."</a></td>";
if($row->freigabeamum=='' || $row->zeitsperretyp_kurzbz!='Urlaub')
{
$content_table.="\n<td><a href='$PHP_SELF?type=delete_sperre&id=$row->zeitsperre_id' onclick='return conf_del()' class='Item'>".$p->t('zeitsperre/loeschen')."</a></td>";
}
else
else
$content_table .= '<td>&nbsp;</td>';
$content_table.="</tr>";
}
@@ -679,15 +682,15 @@ $anspruch = '25';
$resturlaubstage = $resturlaub->resturlaubstage;
$mehrarbeitsstunden = $resturlaub->mehrarbeitsstunden;
$anspruch = $resturlaub->urlaubstageprojahr;
}else
}else
{
// wenn mitarbeiter ist kein fixangestellter --> kein urlaubsanspruch
$mitarbeiter_anspruch = new mitarbeiter();
$mitarbeiter_anspruch = new mitarbeiter();
$mitarbeiter_anspruch->load($uid);
if($mitarbeiter_anspruch->fixangestellt == true)
$anspruch=25;
else
$anspruch = 0;
else
$anspruch = 0;
}
//Den Bereich fuer die Resturlaubstage nur anzeigen wenn dies
//im config angegeben ist
+19 -20
View File
@@ -33,10 +33,10 @@ require_once('../../../include/benutzer.class.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/sprache.class.php');
$sprache = getSprache();
$lang = new sprache();
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
$p = new phrasen($sprache);
$p = new phrasen($sprache);
if (!$db = new basis_db())
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
@@ -62,7 +62,7 @@ $num_rows_stunde=$db->db_num_rows($result_stunde);
if (isset($type) && $type=='save')
{
$zw = new zeitwunsch();
for ($t=1;$t<7;$t++)
{
for ($i=0;$i<$num_rows_stunde;$i++)
@@ -72,23 +72,23 @@ if (isset($type) && $type=='save')
continue;
$gewicht=$_POST[$var];
$stunde=$i+1;
$zw->mitarbeiter_uid = $uid;
$zw->stunde = $stunde;
$zw->tag = $t;
$zw->gewicht = $gewicht;
$zw->updateamum = date('Y-m-d H:i:s');
$zw->updatevon = $uid;
if (!$zw->exists($uid, $stunde, $t))
{
$zw->new = true;
$zw->insertamum = date('Y-m-d H:i:s');
$zw->insertvon = $uid;
}
else
else
$zw->new = false;
if(!$zw->save())
echo $zw->errormsg;
}
@@ -115,14 +115,13 @@ if(!$person->load($uid))
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link href="../../../skin/flexcrollstyles.css" rel="stylesheet" type="text/css" />
<script src="../../../include/js/flexcroll.js" type="text/javascript" ></script>
<script type="text/javascript">
// Pruefen ob nur die erlaubten Werte verwendet wurden
function checkvalues()
{
var elem = document.getElementsByTagName('input');
var error=false;
for (var i = 0;i<elem.length;i++)
{
if(elem[i].name.match("^wunsch"))
@@ -131,7 +130,7 @@ if(!$person->load($uid))
error=true;
}
}
if(error)
{
alert('<?php echo $p->t('zeitwunsch/falscheWerteEingetragen');?>');
@@ -146,10 +145,10 @@ if(!$person->load($uid))
<body>
<div class="flexcroll" style="outline: none;">
<table>
<tr>
<tr>
<td>
<h1><?php echo $p->t('zeitwunsch/zeitwunsch');?></h1>
<!--Auskommentiert von Kindl, da sich der Hilfetext nicht vom Anleitungtext auf der Seite unterscheidet
<!--Auskommentiert von Kindl, da sich der Hilfetext nicht vom Anleitungtext auf der Seite unterscheidet
<td class="ContentHeader" align="right">
<A onclick="window.open('zeitwunsch_help.php','Hilfe', 'height=320,width=480,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');" class="hilfe" target="_blank">
<font class="ContentHeader">
@@ -163,7 +162,7 @@ if(!$person->load($uid))
echo '<FORM name="zeitwunsch" method="post" action="zeitwunsch.php?type=save" onsubmit="return checkvalues()">
<TABLE>
<TR>';
echo '<th>'.$p->t('global/stunde').'<br>'.$p->t('global/beginn').'<br>'.$p->t('global/ende').'</th>';
for ($i=0;$i<$num_rows_stunde; $i++)
{
@@ -174,9 +173,9 @@ if(!$person->load($uid))
$stunde=$db->db_result($result_stunde,$i,'"stunde"');
echo "<th><div align=\"center\">$stunde<br>$beginn<br>$ende</div></th>";
}
echo '</TR>';
for ($j=1; $j<7; $j++)
{
echo '<TR><TD>'.$tagbez[$lang->index][$j].'</TD>';
@@ -193,21 +192,21 @@ if(!$person->load($uid))
}
echo '</TR>';
}
echo '
</TABLE><br>
<INPUT type="hidden" name="uid" value="'.$uid.'">
<INPUT type="submit" name="Abschicken" value="'.$p->t('global/speichern').'">
';
if($zw->updateamum!='')
{
echo '<font size="x-small">'.$p->t('zeitwunsch/letzteAenderung').': '.$datum_obj->formatDatum($zw->updateamum,'d.m.Y H:i:s').' '.$p->t('zeitwunsch/von').' '.$zw->updatevon.'</font>';
}
?>
</FORM>
<hr><?php
<hr><?php
$href = "<a href='zeitsperre_resturlaub.php' class='Item'>";
echo $p->t('zeitwunsch/formularZumEintragenDerZeitsperren', array($href));
?>
+6 -1
View File
@@ -32,7 +32,12 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../vendor/jquery/sizzle/sizzle.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
+6 -1
View File
@@ -40,7 +40,12 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
<link rel="stylesheet" href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<link rel="stylesheet" href="../../../skin/jquery.css" type="text/css"/>
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<title>',$p->t('tools/ampelsystem'),'</title>
<script type="text/javascript">
+6 -1
View File
@@ -69,7 +69,12 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
<link rel="stylesheet" href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<link rel="stylesheet" href="../../../skin/jquery.css" type="text/css"/>
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<title>',$p->t('tools/ampelsystem'),'</title>
<script type="text/javascript">
+24 -25
View File
@@ -15,17 +15,17 @@ require_once('../../../include/basis_db.class.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/File/SearchReplace.php');
require_once('../../../include/File/Match.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/authentication.class.php');
$sprache = getSprache();
$p=new phrasen($sprache);
$sprache = getSprache();
$p=new phrasen($sprache);
if (!$db = new basis_db())
die($p->t("global/fehlerBeimOeffnenDerDatenbankverbindung"));
if (!$user=get_uid())
die($p->t("global/nichtAngemeldet").'! <a href="javascript:history.back()">'.$p->t("global/zurueck").'</a>');
$mac_result = trim((isset($_REQUEST['mac_result']) ? $_REQUEST['mac_result']:''));
$txtUID = trim((isset($_REQUEST['txtUID']) ? $_REQUEST['txtUID']:''));
$txtPassword = trim((isset($_REQUEST['txtPassword']) ? $_REQUEST['txtPassword']:''));
@@ -35,7 +35,7 @@ if(check_lektor($user))
$is_lector=true;
else
$is_lector=false;
function ip_increment($ip = "")
{
$ip = split("\.", $ip);
@@ -58,7 +58,6 @@ function ip_increment($ip = "")
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../skin/flexcrollstyles.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="../../../include/js/flexcroll.js"></script>
</head>
<body onLoad="document.regMAC.txtMAC.focus();">
@@ -97,9 +96,9 @@ function ip_increment($ip = "")
{
if(isset($txtMAC) && $txtMAC != "")
{
$sql_query = "SELECT DISTINCT vorname, nachname
$sql_query = "SELECT DISTINCT vorname, nachname
FROM campus.vw_benutzer WHERE uid=".$db->db_add_param($txtUID)." LIMIT 1";
if($result = $db->db_query($sql_query))
{
if($row = $db->db_fetch_object($result))
@@ -111,14 +110,14 @@ function ip_increment($ip = "")
}
else
die($p->t("global/fehlerBeimErmittelnDerUID"));
$mac = mb_eregi_replace(":", "", mb_eregi_replace("-", "", mb_strtoupper($txtMAC)));
$filename_dat = '../../../../system/dhcp.dat';
$filename_ip = '../../../../system/dhcp.ip';
copy($filename_dat, '../../../../system/backup/dhcp_'.date('j-m-Y_H-i-s').'.dat');
unset($mfiles);
// leich gepfuscht aber funktioniert
$mfiles = new File_Match("/$mac?\s(.{1}) (.*)\s?/", $filename_dat, '', 0, array('#',';'));
@@ -135,12 +134,12 @@ function ip_increment($ip = "")
if ($fuser != $txtUID)
$error = 3;
}
unset($mfiles);
if(!$VLAN)
if(!$VLAN)
$VLAN = 'S';
if (!$error)
{
if($VLAN != 'S')
@@ -150,32 +149,32 @@ function ip_increment($ip = "")
else if ($VLAN == 'S')
{
$mfiles = new File_SearchReplace("/.*?\sS\s$txtUID\s(.*)?\snb-$txtUID\s(.*)/", "$mac S $txtUID $1 nb-$txtUID $name", $filename_dat, '', 0, array("#", ";"));
$mfiles->setSearchFunction('preg');
if(preg_match("/[A-Fa-f0-9]{12}/", $mac) && $mac != '' && mb_strlen($mac) == 12)
{
$mfiles->doSearch();
// neuen eintrag erzeugen und ip hochzählen
if($mfiles->occurences == 0)
{
//$content = file($filename_dat, "r");
//$content = implode('', $content);
$content = file_get_contents($filename_dat);
//$ip = file($filename_ip);
//$ip = trim($ip[0]);
$ip = file_get_contents($filename_ip);
$ip = trim($ip);
$ip = ip_increment($ip);
// nachschauen ob, die mac adresse schon
// einmal gespeichert wurde
$sfiles = new File_Match("/$mac?\s/", $filename_dat, '', 0, array('#',';'));
$sfiles->doFind();
if($sfiles->occurences)
{
echo 'MAC IN USE';
@@ -189,12 +188,12 @@ function ip_increment($ip = "")
unset($txtMAC);
}
unset($sfiles);
}
else if($mfiles->occurences > 0)
{
$mac_result = 1;
unset($txtMAC);
}
}
+8 -5
View File
@@ -91,10 +91,13 @@ if($aktion!='zip')
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<script src="../../../include/js/jquery.js" type="text/javascript"></script>
<script src="../../../include/js/jquery-ui.js" type="text/javascript"></script>
<script src="../../../include/js/jquery.autocomplete.js" type="text/javascript"></script>
<script src="../../../include/js/jquery.autocomplete.min.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<script src="../../../vendor/components/jqueryui/jquery-ui.min.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
$(document).ready(function()
{
@@ -183,7 +186,7 @@ if($aktion!='zip')
output += '<option value=\"' + json[p].oTermin + '\">' + json[p].oTerminAnzeige + '<\/option>\n';
}
$('#termin').html(output);
$('#termin').result(function(event, data, formatted) {}).focus();
$('#termin').focus();
}
}
);
+6 -1
View File
@@ -52,7 +52,12 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
<title>Globale Suche</title>
</head>
<body>';
+6 -3
View File
@@ -128,11 +128,14 @@ echo '<!DOCTYPE HTML>
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../skin/tablesort.css" rel="stylesheet" type="text/css"/>
<link href="../../../skin/jquery.css" rel="stylesheet" type="text/css"/>
<link href="../../../skin/jquery.ui.timepicker.css" rel="stylesheet" type="text/css"/>
<link href="../../../vendor/fgelinas/timepicker/jquery.ui.timepicker.css" rel="stylesheet" type="text/css"/>
<link href="../../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
<script src="../../../include/js/tablesort/table.js" type="text/javascript"></script>
<script src="../../../include/js/jquery1.9.min.js" type="text/javascript" ></script>
<script src="../../../include/js/jquery.ui.timepicker.js" type="text/javascript" ></script>
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script src="../../../vendor/fgelinas/timepicker/jquery.ui.timepicker.js" type="text/javascript" ></script>
';
// ADDONS laden
+73 -65
View File
@@ -96,10 +96,10 @@ if(isset($_GET['filter']))
$stsemAktOrNext = $stsemAktOrNext->getaktorNext(1);
elseif($_GET['filter']=='SSemester')
$stsemAktOrNext = $stsemAktOrNext->getaktorNext(2);
else
else
$stsemAktOrNext = $stsemAktOrNext->getaktorNext();
}
else
else
{
$stsemAktOrNext = $stsemAktOrNext->getaktorNext();
}
@@ -118,11 +118,11 @@ $firma->getFirmen('Partneruniversität');
if (isset($_GET['lang']))
$get_url = str_replace('lang='.$_GET['lang'].'&', '', $_SERVER['QUERY_STRING']);
else
else
$get_url = $_SERVER['QUERY_STRING'];
$filter_url = '';
if (isset($_GET['filter']) || isset($_GET['unterrichtssprache']) || isset($_GET['studiengang']))
if (isset($_GET['filter']) || isset($_GET['unterrichtssprache']) || isset($_GET['studiengang']))
$filter_url = 'filter='.$_GET['filter'].'&unterrichtssprache='.$_GET['unterrichtssprache'].'&studiengang='.$_GET['studiengang'].'&go=Filter&';
$message = '';
@@ -135,49 +135,57 @@ $message = '';
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css"/>
<script src="../../../include/js/tablesort/table.js" type="text/javascript"></script>
<!--<script type="text/javascript" src="../../../include/js/jquery.js"></script>-->
<script type="text/javascript" src="../../../include/js/jquery1.9.min.js"></script>
<!--<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>-->
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css"/>
<script type="text/javascript">
$(document).ready(function()
{
$(document).ready(function()
{
$.datepicker.setDefaults( $.datepicker.regional[ "" ] );
<?php //Wenn Deutsch ausgewaehlt, dann Datepicker auch in Deutsch
<?php //Wenn Deutsch ausgewaehlt, dann Datepicker auch in Deutsch
if ($sprache=="German")
echo '$.datepicker.setDefaults( $.datepicker.regional[ "de" ] );
$( "#datepicker" ).datepicker(
$( "#datepicker" ).datepicker(
{
changeMonth: true,
changeYear: true,
defaultDate: "-6570",
maxDate: -5110,
yearRange: "-60:+00",
}
}
);
$( ".datepicker_exchange" ).datepicker(
$( ".datepicker_exchange" ).datepicker(
{
changeMonth: true,
changeYear: true
}
}
);';
else
else
echo '$( "#datepicker" ).datepicker({
dateFormat: "dd.mm.yy",
changeMonth: true,
changeYear: true,
defaultDate: "-6570",
maxDate: -5110,
yearRange: "-60:+00",
yearRange: "-60:+00",
});
$( ".datepicker_exchange" ).datepicker(
$( ".datepicker_exchange" ).datepicker(
{
dateFormat: "dd.mm.yy",
changeMonth: true,
changeYear: true
}
}
);';
?>
});
</script>
<?php
@@ -248,7 +256,7 @@ function setBisdatum(datum)
border-bottom: 6px solid #5cb85c;
border-right: 12px solid #5cb85c;
border-left: 12px solid #5cb85c;
display: inline-block;"
display: inline-block;"
}
.uploadbutton:hover, .uploadbutton:active, .uploadbutton:focus
{
@@ -264,7 +272,7 @@ function setBisdatum(datum)
border-bottom: 6px solid #339B33;
border-right: 12px solid #339B33;
border-left: 12px solid #339B33;
display: inline-block;"
display: inline-block;"
}
</style>
</head>
@@ -292,7 +300,7 @@ if($method =="austauschprogram")
{
$von_datum = $_REQUEST['von'];
$bis_datum = $_REQUEST['bis'];
//Datum auf Gueltigkeit pruefen
if (($von_datum != '' && !$date->formatDatum($von_datum,'Y-m-d')) || ($bis_datum != '' && !$date->formatDatum($bis_datum,'Y-m-d')))
{
@@ -302,7 +310,7 @@ if($method =="austauschprogram")
{
$von_datum = $date->formatDatum($von_datum,'Y-m-d');
$bis_datum = $date->formatDatum($bis_datum,'Y-m-d');
$dtstart = new DateTime($von_datum);
$dtende = new DateTime($bis_datum);
$jetzt = new DateTime();
@@ -317,7 +325,7 @@ if($method =="austauschprogram")
echo '<span style="color: red"><b>'.$p->t('incoming/endeGroesserStart').'</b></span>';
$_REQUEST['bis'] = '';
}
else
else
{
$preincoming->von = $date->formatDatum($_REQUEST['von'],'Y-m-d');
$preincoming->bis = $date->formatDatum($_REQUEST['bis'],'Y-m-d');
@@ -328,7 +336,7 @@ if($method =="austauschprogram")
else
$preincoming->mobilitaetsprogramm_code = $_REQUEST['austausch_kz'];
$preincoming->updateamum = date('Y-m-d H:i:s');
if(!$preincoming->save())
echo $preincoming->errormsg;
else
@@ -361,7 +369,7 @@ if($method =="austauschprogram")
$anzeigetext = 'Exchange';
elseif ($mob->kurzbz=='selbst')
$anzeigetext = 'Freemover';
else
else
$anzeigetext = $mob->kurzbz;
echo '<option value="'.$mob->mobilitaetsprogramm_code.'" '.$selected.'>'.$anzeigetext."</option>\n";
}
@@ -417,9 +425,9 @@ else if($method=="lehrveranstaltungen")
)
AND tbl_prestudentstatus.status_kurzbz = 'Incoming'
AND tbl_prestudentstatus.studiensemester_kurzbz = '$stsem->studiensemester_kurzbz'
UNION
SELECT person_id
FROM PUBLIC.tbl_preincoming_lehrveranstaltung
JOIN PUBLIC.tbl_preincoming using (preincoming_id)
@@ -441,7 +449,7 @@ else if($method=="lehrveranstaltungen")
) AS anzahl
FROM lehre.tbl_lehrveranstaltung
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id = ".$id;
if($result = $db->db_query($qry))
{
if ($db->db_num_rows($result)>0)
@@ -452,7 +460,7 @@ else if($method=="lehrveranstaltungen")
}
}
}
if(!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $_GET['id']) && $freieplaetze>0)
{
if($preincoming->addLehrveranstaltung($preincoming->preincoming_id, $_GET['id'], date('Y-m-d H:i:s'), 'Incoming '.$preincoming->preincoming_id))
@@ -460,7 +468,7 @@ else if($method=="lehrveranstaltungen")
else
$message = '<span style="color: red"><b>'.($p->t('global/fehleraufgetreten')).'</b></span>';
}
else
else
$message = '<span style="color: red"><b>'.$p->t('incoming/lvVollBelegt').'</b></span>';
}
// löschen der LV-ID
@@ -796,14 +804,14 @@ else if($method=="lehrveranstaltungen")
if ($row->typ == 'b' || $row->typ == 'm' || $row->studiengang_kz == '10006')
{
$selected = '';
if ($typ != $row->typ || $typ=='')
{
if ($typ!='')
echo '</optgroup>';
echo '<optgroup label="'.$type[$row->typ].'">';
}
if(isset($_GET['studiengang']) && $_GET['studiengang'] == $row->studiengang_kz)
$selected='selected';
@@ -835,21 +843,21 @@ else if($method=="lehrveranstaltungen")
if(isset($_GET['unterrichtssprache']) && $_GET['unterrichtssprache']!='')
$filterqry .= " AND tbl_lehrveranstaltung.sprache='".$_GET['unterrichtssprache']."'";
//Uebersicht LVs
/* Erklaerung der Datumszeitraeume ab Zeile 857:
* |=============== Studiensemester ===============|
* |--------------| Incoming beginnt vor SS-Beginn und endet VOR SS-Ende jedoch ueberwiegend innerhalb SS
* |--------------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend innerhalb SS
* |--------------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend innerhalb SS
* |----------| Incoming beginnt vor SS-Beginn und endet VOR SS-Ende jedoch ueberwiegend außerhalb SS
* |---------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend außerhalb SS
* |---------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend außerhalb SS
* |------------------------------| Incoming ist innerhalb oder GENAU SS da
* |------------------------------------------------------| Incoming ist VOR SS-Anfang und NACH SS-Ende da, jedoch ueberwiegend ueberlappend mit SS
* |------------------------------------------------------| Incoming ist VOR SS-Anfang und NACH SS-Ende da, jedoch ueberwiegend ueberlappend mit SS
* ------------------------------------------------------------ Von und Bis ist NULL
* -------------------| Von ist NULL und bis innerhalb SS
* |--------------------------- Bis ist NULL und von innerhalb SS
* |--------------------------- Bis ist NULL und von innerhalb SS
*/
$studiensemester_array = array();
$studiensemester = new studiensemester();
$studiensemester_array[] = $studiensemester->getakt();
@@ -904,29 +912,29 @@ else if($method=="lehrveranstaltungen")
(bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start')
)
AND aktiv = true
)a ) as anzahl
)a ) as anzahl
FROM
lehre.tbl_lehrveranstaltung
JOIN
public.tbl_studiengang USING(studiengang_kz)
lehre.tbl_lehrveranstaltung
JOIN
public.tbl_studiengang USING(studiengang_kz)
WHERE
tbl_lehrveranstaltung.incoming>0 AND
tbl_lehrveranstaltung.aktiv AND
tbl_lehrveranstaltung.lehre AND
tbl_lehrveranstaltung.incoming>0 AND
tbl_lehrveranstaltung.aktiv AND
tbl_lehrveranstaltung.lehre AND
tbl_lehrveranstaltung.lehrveranstaltung_id IN (
SELECT lehrveranstaltung_id FROM lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan USING (studienplan_id)
JOIN lehre.tbl_studienordnung USING (studienordnung_id)
SELECT lehrveranstaltung_id FROM lehre.tbl_studienplan_lehrveranstaltung
JOIN lehre.tbl_studienplan USING (studienplan_id)
JOIN lehre.tbl_studienordnung USING (studienordnung_id)
JOIN lehre.tbl_studienplan_semester USING (studienplan_id)
WHERE tbl_studienordnung.status_kurzbz='approved'
WHERE tbl_studienordnung.status_kurzbz='approved'
AND tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id
AND tbl_studienplan_semester.studiensemester_kurzbz IN ('".$stsem->studiensemester_kurzbz."')
AND tbl_lehrveranstaltung.semester=tbl_studienplan_semester.semester)
AND tbl_lehrveranstaltung.semester=tbl_studienplan_semester.semester)
AND ((tbl_lehrveranstaltung.studiengang_kz>0 AND tbl_lehrveranstaltung.studiengang_kz<10000) OR tbl_lehrveranstaltung.studiengang_kz=10006)";
if (isset($_GET['studiengang']) && $_GET['studiengang'] !='')
$qry .= " AND tbl_lehrveranstaltung.studiengang_kz=".$_GET['studiengang'];
$qry .= " AND tbl_studiengang.aktiv ".$filterqry." order by studiengang_kz
";
@@ -958,7 +966,7 @@ else if($method=="lehrveranstaltungen")
{
$freieplaetze = $row->incoming - $row->anzahl;
$style = '';
if ($preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id))
$style = 'style="background-color: #88DD88"';
elseif ($freieplaetze<=0)
@@ -976,7 +984,7 @@ else if($method=="lehrveranstaltungen")
else
$typ = '-';
echo '<tr>';
if(!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze>0)
echo '<td><a href="incoming.php?method=lehrveranstaltungen&mode=add&id='.$row->lehrveranstaltung_id.'&'.$filter_url.'">'.$p->t('global/anmelden').'</a></td>';
elseif (!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze<=0)
@@ -1006,7 +1014,7 @@ else if($method=="lehrveranstaltungen")
echo '<center><b>'.$p->t('incoming/derzeitKeineLehrveranstaltungen').'</b></center>';
}
}
else
else
echo '<center><b>'.$p->t('incoming/waehlenSieAusDenOptionen').'</b></center>';
}
}
@@ -1045,10 +1053,10 @@ else if ($method == "university")
$preincoming->program_name = $_REQUEST['name_of_program'];
//Pruefen, ob Jahre studiert eine ganze Zahl ist oder leer
//Pruefen, ob Jahre studiert eine ganze Zahl ist oder leer
if(ctype_digit($_REQUEST['jahre']) || $_REQUEST['jahre'] == '')
$preincoming->jahre = $_REQUEST['jahre'];
else
else
echo '<span class="error">'.$p->t('incoming/jahreStudiertMussGanzeZahlSein').'</span><br>';
if(isset($_REQUEST['bachelor']))
$preincoming->bachelor = true;
@@ -2061,14 +2069,14 @@ else if($method == 'files')
if (typeof window.screenLeft != "undefined")
{ //IE
posX = window.screenLeft + offsetX;
posY = window.screenTop + offsetY;
posY = window.screenTop + offsetY;
}
else if (typeof window.screenX != "undefined")
{ //NS/Moz
posX = window.screenX + offsetX;
posY = window.screenY + offsetY;
}
else
else
{ //default - center of screen
posX = screen.availWidth/2 - w/2;
posY = screen.availHeight/2 - h/2;
@@ -2115,7 +2123,7 @@ else if($method == 'files')
}
echo '</tbody></table></center>';
}
else
else
echo 'foo';
}
else if($method == 'ende')
@@ -2128,16 +2136,16 @@ else if($method == 'ende')
// sende Nachricht an Assistenz
//$emailtext= "Dies ist eine automatisch generierte E-Mail.<br><br>";
$emailtext.= "Der/Die Incoming ".$person->vorname.' '.$person->nachname.' hat seine Registration abgeschlossen';
$emailtext = wordwrap($emailtext,70); //Bricht den Code um, da es sonst zu Anzeigefehlern im Mail kommen kann
$mail = new mail(MAIL_INTERNATIONAL, 'no-reply', 'Incoming '.$person->vorname.' '.$person->nachname.' vollstaendig', 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.');
$mail->setHTMLContent($emailtext);
if(!$mail->send())
$message = '<span style="color: red"><b>'.($p->t('incoming/fehlerBeimSenden')).'</b></span>';
else
$message = '<span style="color: green"><b>'.($p->t('incoming/erfolgreichAbgeschickt')).'</b></span>';
}
echo '<center>'.$message.'</center>';
echo '<br><br><br>
@@ -2152,7 +2160,7 @@ else if($method == 'ende')
<br><br>
<input type="submit" name="submit_ende" value="'.$p->t('global/abschicken').'"></td>
</tr>
</table>
</form>';
}
@@ -2205,4 +2213,4 @@ else
</tr>
</table>
</body>
</html>
</html>
+9 -6
View File
@@ -51,7 +51,10 @@ echo '
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../skin/tablesort.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../../../include/js/jquery1.9.min.js" ></script>
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
@@ -96,9 +99,9 @@ echo "Studiengang: <SELECT name='studiengang' id='studiengang' onchange='window.
$i = 0;
$selected = '';
$result_count = count($studiengang->result);
for ($i = 0; $i < $result_count; $i++)
for ($i = 0; $i < $result_count; $i++)
{
if ($stg_kz == $studiengang->result[$i]->studiengang_kz)
if ($stg_kz == $studiengang->result[$i]->studiengang_kz)
$selected = 'selected';
echo "<OPTION value='".$_SERVER['PHP_SELF']."?stg_kz=".$studiengang->result[$i]->studiengang_kz."' ".$selected.">".strtoupper($studiengang->result[$i]->typ.$studiengang->result[$i]->kurzbz).' ('.$studiengang->result[$i]->bezeichnung.")</OPTION>";
$selected = '';
@@ -200,14 +203,14 @@ if (isset($_POST['save']) && $_POST['save'] == 'save')
if ($db->db_num_rows($result) == 0)
{
$gebiet = new gebiet();
$bezeichnung_mehrsprachig = array();
foreach ($sprache->result as $row_sprache)
{
$bezeichnung_mehrsprachig[$row_sprache->sprache] = $_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache];
}
$gebiet->bezeichnung_mehrsprachig = $bezeichnung_mehrsprachig;
$gebiet->kurzbz = $_POST['kurzbz'];
$gebiet->bezeichnung = $_POST['bezeichnung_intern'];
$gebiet->beschreibung = $_POST['beschreibung'];
@@ -225,7 +228,7 @@ if (isset($_POST['save']) && $_POST['save'] == 'save')
$gebiet->insertamum = date('Y-m-d H:i:s');
$gebiet->insertvon = $user;
$gebiet->antwortenprozeile = $_POST['antworten_pro_zeile'];
if ($gebiet->save(true))
{
echo 'Daten erfolgreich gespeichert';
+4 -1
View File
@@ -685,7 +685,10 @@ else
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link type="text/css" rel="stylesheet" href="../../../skin/style.css.php">
<link href="../../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
<script src="../../../include/js/jquery1.9.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
@@ -42,7 +42,12 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//DE" "http://www
<link rel="stylesheet" href="../../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../../include/js/tablesort/table.css" type="text/css">
<script src="../../../include/js/tablesort/table.js" type="text/javascript"></script>
<script type="text/javascript" src="../../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
</head>
<body class="Background_main">
<h2>Auswertung Reihungstest Detailergebnis PrestudentIn '.$db->convert_html_chars($_GET['prestudent_id']).'</h2>';
+22 -19
View File
@@ -57,7 +57,10 @@ echo '
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../skin/tablesort.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../../../include/js/jquery1.9.min.js" ></script>
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
@@ -130,7 +133,7 @@ echo '</tr><tr><td>Semester: </td><td><SELECT name="semester" onchange="document
$i=0; $selected='';
for ($i=1; $i<11; $i++)
{
if ($semester == $i)
if ($semester == $i)
$selected = 'selected';
echo '<OPTION value="'.$i.'" '.$selected.' >'.$i.'</OPTION>';
$selected = '';
@@ -179,12 +182,12 @@ if (isset($_POST['saveAblaufVorgabe']) && $_POST['saveAblaufVorgabe']=='new')
$ablauf->content_id = $_POST['content_id'];
$ablauf->insertvon = $user;
$ablauf->insertamum = date('Y-m-d H:i:s');
if (!$ablauf->saveAblaufVorgabe(true))
echo $ablauf->errormsg;
}
else
echo '<span class="error">Die Content ID '.$_POST['content_id'].' existiert nicht</span>';
else
echo '<span class="error">Die Content ID '.$_POST['content_id'].' existiert nicht</span>';
}
else
{
@@ -217,10 +220,10 @@ if (isset($_GET['action']) && $_GET['action']=='edit')
$ablauf_id = $ablauf->result[0];
$ablauf = new ablauf($ablauf_id);
$ablauf = $ablauf->result[0];
$gebiet = new gebiet($_POST['gebiet_id']);
$studiengang = new studiengang($stg_kz);
echo '<table><form action="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&action=editsave" method="POST">
<tr><td>Studiengang_kz: </td><td><input type="text" name="stg_kz" value="'.strtoupper($studiengang->typ.$studiengang->kurzbz).' ('.$studiengang->bezeichnung.')'.'" style="width:98.5%" disabled /></td></tr>
<tr><td>Gebiet: </td><td><input type="text" value="'.$gebiet->bezeichnung.' ('.$gebiet->kurzbz.')" style="width:98.5%" disabled /><input type="hidden" name="gebiet_id" value="'.$ablauf->gebiet_id.'"/></td></tr>
@@ -268,7 +271,7 @@ if (isset($_GET['action']) && $_GET['action']=='editsave')
$ablauf->ablauf_vorgaben_id = $_POST['ablauf_vorgaben_id'];
if (isset($_POST['studienplan_id'])) // && $_POST['studienplan_id']!=''
$ablauf->studienplan_id = $_POST['studienplan_id'];
if (!$ablauf->save(false))
echo $ablauf->errormsg;
}
@@ -291,13 +294,13 @@ else
{
if (isset($semester) && $semester!='')
$ablauf->getAblaufGebiete($stg_kz, null, $semester);
else
else
$ablauf->getAblaufGebiete($stg_kz);
}
$gebieteangehaengt = array();
// Formular zum anlegen einer neuen Ablauf-Vorgabe
echo '<a onclick="document.getElementById(\'vorgabeForm\').style.display=\'block\'">Neue Ablauf-Vorgabe</a>';
echo '<div id="vorgabeForm" style="display: none"><table><form action="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&action=edit" method="POST">
<tr><td><input type="hidden" name="stg_kz" value="'.$stg_kz.'"/>
@@ -353,7 +356,7 @@ if ($stg_kz != -1)
</form></td>
</tr>';
}
$gebiet->getAll();
echo '</tbody><tfoot><tr><form action="'.$_SERVER['PHP_SELF'].'?stg_kz='.$stg_kz.'&stp_id='.$stp_id.'&semester='.$semester.'&action=save" method="POST"><input type="hidden" name="stg_kz" value="'.$stg_kz.'" /><td><SELECT name="gebiet_id">';
foreach ($gebiet->result as $row)
@@ -445,7 +448,7 @@ if(isset($_POST['speichern']))
$bezeichnung_mehrsprachig[$row_sprache->sprache]=$_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache];
}
$gebiet->bezeichnung_mehrsprachig = $bezeichnung_mehrsprachig;
$gebiet->kurzbz = $_POST['kurzbz'];
$gebiet->bezeichnung = $_POST['bezeichnung_mehrsprachig_German'];
$gebiet->beschreibung = $_POST['beschreibung'];
@@ -516,22 +519,22 @@ function drawStudienplanDropdown($stg_kz, $db, $name='', $autosubmitform=null, $
$orgform_arr=array();
foreach($orgform_obj->result as $row)
$orgform_arr[$row->orgform_kurzbz]=$row->bezeichnung;
foreach($studienplan_obj->result as $row_sto)
{
$studienordnung_arr[$row_sto->studienordnung_id]['bezeichnung']=$row_sto->bezeichnung_studienordnung;
$studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['bezeichnung']=$row_sto->bezeichnung_studienplan;
$studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['orgform_kurzbz']=$row_sto->orgform_kurzbz;
$studienplan_arr[$row_sto->studienordnung_id][$row_sto->studienplan_id]['sprache']=$sprachen_arr[$row_sto->sprache];
$studienplaene_verwendet[$row_sto->studienplan_id] = $row_sto->bezeichnung_studienplan;
}
$selected = isset($_GET['stp_id'])?'':'selected';
echo "<SELECT id='studienplan_dropdown' name='".$name."' ";
if (isset($autosubmitform) && $autosubmitform!='')
echo 'onchange="document.getElementById(\''.$autosubmitform.'\').submit();"';
echo " style='".$style."'>";
echo "<OPTION value='' ".$selected.">Studienplan auswaehlen</OPTION>";
// Pruefen ob uebergebene StudienplanID in Auswahl enthalten
@@ -555,9 +558,9 @@ function drawStudienplanDropdown($stg_kz, $db, $name='', $autosubmitform=null, $
foreach($studienordnung_arr as $stoid=>$row_sto)
{
$selected='';
echo '<option value="" disabled>Studienordnung: '.$db->convert_html_chars($row_sto['bezeichnung']).'</option>';
foreach ($studienplan_arr[$stoid] as $stpid=>$row_stp)
{
if (isset($_GET['stp_id']) && $_GET['stp_id']==$stpid)
@@ -572,4 +575,4 @@ function drawStudienplanDropdown($stg_kz, $db, $name='', $autosubmitform=null, $
}
?>
?>
+5 -2
View File
@@ -51,7 +51,10 @@ echo '
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../skin/tablesort.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../../../include/js/jquery1.9.min.js" ></script>
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
@@ -172,7 +175,7 @@ if (isset($_POST['speichern']))
$bezeichnung_mehrsprachig[$row_sprache->sprache]=$_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache];
}
$gebiet->bezeichnung_mehrsprachig = $bezeichnung_mehrsprachig;
$gebiet->kurzbz = $_POST['kurzbz'];
$gebiet->bezeichnung = $_POST['bezeichnung'];
$gebiet->beschreibung = $_POST['beschreibung'];
+14 -11
View File
@@ -57,7 +57,10 @@ echo '
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../skin/tablesort.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../../../include/js/jquery1.9.min.js" ></script>
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
@@ -158,7 +161,7 @@ if (isset($_GET['action']) && $_GET['action'] == 'save')
{
$vorgaben_id = $ablauf_vorgaben->ablauf_vorgaben_id;
}
else
else
echo $ablauf_vorgaben->errormsg;
}
elseif (isset($_POST['ablauf_vorgaben_id']) && $_POST['ablauf_vorgaben_id'] != '')
@@ -191,7 +194,7 @@ if (isset($_GET['action']) && $_GET['action'] == 'delete')
$ablauf = new ablauf($_POST['ablauf_id']);
if ($ablauf->delete($_POST['ablauf_id']))
echo $ablauf->errormsg;
// Wenn der Ablauf-Eintrag der letzte war, und die Ablauf-Vorgaben-ID nicht woanders verwendet wird, dann auch diesen löschen
if (isset($_POST['ablauf_vorgaben_id']) && $_POST['ablauf_vorgaben_id'] != '')
{
@@ -203,7 +206,7 @@ if (isset($_GET['action']) && $_GET['action'] == 'delete')
if (!$abl_vorgabe->deleteAblaufVorgabe($_POST['ablauf_vorgaben_id']))
echo $abl_vorgabe->errormsg;
}
}
}
}
}
// Gebiet bearbeiten
@@ -225,7 +228,7 @@ if (isset($_GET['action']) && $_GET['action'] == 'edit')
<tr><td>Studienplan: </td><td>';
drawStudienplanDropdown($stg_kz, $db, $name = 'studienplan_id', null, 'width:100%', $ablauf->result[0]->studienplan_id);
echo '</td></tr>
<tr><td>Sprache*: </td><td><select name="sprache">';
<tr><td>Sprache*: </td><td><select name="sprache">';
foreach ($sprache->result as $row)
{
if ($ablauf->result[0]->sprache == $row->sprache)
@@ -259,7 +262,7 @@ if (isset($_GET['action']) && $_GET['action'] == 'editsave')
$ablauf->reihung = $_POST['reihung'];
$ablauf->gewicht = $_POST['gewicht'];
$ablauf->semester = $_POST['semester'];
if (isset($_POST['studienplan_id'])) // && $_POST['studienplan_id'] != ''
$ablauf->studienplan_id = $_POST['studienplan_id'];
@@ -289,12 +292,12 @@ if (isset($_GET['action']) && $_GET['action'] == 'editsave')
$ablauf_vorgaben->content_id = $content_id;
$ablauf_vorgaben->updateamum = date('Y-m-d H:i:s');
$ablauf_vorgaben->updatevon = $user;
if (!$ablauf_vorgaben->saveAblaufVorgabe(false))
{
echo $ablauf_vorgaben->errormsg;
}
}
else
echo $ablauf->errormsg;
@@ -339,7 +342,7 @@ if ($stg_kz != -1)
$studienplan->loadStudienplan($row->studienplan_id);
$gebiet = new gebiet($row->gebiet_id);
array_push($gebieteangehaengt, $gebiet->gebiet_id);
if ($ablauf_vorgaben_id == '' && $row->ablauf_vorgaben_id != '')
$ablauf_vorgaben_id = $row->ablauf_vorgaben_id;
echo '<tr>
@@ -390,7 +393,7 @@ if ($stg_kz != -1)
// Ablauf-Vorgaben können nur beim ersten Eintrag gespeichert werden. Ansonsten werden sie über EDIT geändert.
if (count($gebieteangehaengt) == 0)
{
echo '<td><select name="sprache">';
echo '<td><select name="sprache">';
foreach ($sprache->result as $row)
{
echo '<OPTION value="'.$row->sprache.'" '.$selected.'>'.$row->sprache.'</OPTION>';
@@ -399,7 +402,7 @@ if ($stg_kz != -1)
echo '<td><input type="checkbox" name="sprachwahl" /></td>';
echo '<td><input type="text" name="content_id" /></td>';
}
else
else
echo '<td></td><td></td><td></td>';
echo '<input type="hidden" name="ablauf_vorgaben_id" value="'.$ablauf_vorgaben_id.'" />';
echo '<td><input type="submit" value="Speichern"/></td></form></tr></tfoot></table>';
+4 -1
View File
@@ -34,7 +34,10 @@ if (!$db = new basis_db())
<title>Testool Fragen Übersicht</title>
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../skin/tablesort.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../../../include/js/jquery1.9.min.js"></script>
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript">
function deleteGebiet(id)
{
+4 -1
View File
@@ -257,7 +257,10 @@ if(isset($_POST['save']) && isset($_SESSION['prestudent_id']))
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../skin/jquery.css" type="text/css"/>
<script type="text/javascript" src="../../include/js/jquery1.9.min.js"></script>
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css"/>
<script type="text/javascript">
$(document).ready(function()
+6 -1
View File
@@ -122,7 +122,12 @@ if(isset($_POST['NewContent']))
<link href="../skin/fhcomplete.css" rel="stylesheet" type="text/css">
<link href="../skin/style.css.php" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../include/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript" src="../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../vendor/jquery/sizzle/sizzle.js"></script>
<script type="text/javascript">
function conf_del()
+110 -102
View File
@@ -16,7 +16,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Karl Burkhart <karl.burkhart@technikum-wien.at>
*
*
*/
require_once('../config/cis.config.inc.php');
require_once('../include/functions.inc.php');
@@ -30,9 +30,9 @@ $rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(!$rechte->isberechtigt('basis/dms',null, 'suid', null))
die('Sie haben keine Berechtigung diese Seite zu sehen.');
$kategorie_kurzbz = isset($_REQUEST['kategorie_kurzbz'])?$_REQUEST['kategorie_kurzbz']:'';
$method = isset($_REQUEST['method'])?$_REQUEST['method']:'';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//DE"
@@ -48,7 +48,12 @@ $method = isset($_REQUEST['method'])?$_REQUEST['method']:'';
<link href="../skin/fhcomplete.css" rel="stylesheet" type="text/css">
<link href="../skin/style.css.php" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../include/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript" src="../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../vendor/jquery/sizzle/sizzle.js"></script>
<script type="text/javascript">
var __js_page_array = new Array();
@@ -59,44 +64,44 @@ $method = isset($_REQUEST['method'])?$_REQUEST['method']:'';
var block = "table-row";
if (navigator.appName.indexOf('Microsoft') > -1)
block = 'block';
// Aktueller Anzeigemode ermitteln
// Aktueller Anzeigemode ermitteln
var status = __js_page_array[conid];
if (status == null)
{
if (document.getElementById && document.getElementById(conid))
{
if (document.getElementById && document.getElementById(conid))
{
status=document.getElementById(conid).style.display;
} else if (document.all && document.all[conid]) {
} else if (document.all && document.all[conid]) {
status=document.all[conid].style.display;
} else if (document.layers && document.layers[conid]) {
} else if (document.layers && document.layers[conid]) {
status=document.layers[conid].style.display;
}
}
}
}
// Anzeigen oder Ausblenden
if (status == 'none')
{
if (document.getElementById && document.getElementById(conid))
{
if (document.getElementById && document.getElementById(conid))
{
document.getElementById(conid).style.display = 'block';
} else if (document.all && document.all[conid]) {
} else if (document.all && document.all[conid]) {
document.all[conid].style.display='block';
} else if (document.layers && document.layers[conid]) {
} else if (document.layers && document.layers[conid]) {
document.layers[conid].style.display='block';
}
}
__js_page_array[conid] = 'block';
}
else
{
if (document.getElementById && document.getElementById(conid))
{
if (document.getElementById && document.getElementById(conid))
{
document.getElementById(conid).style.display = 'none';
} else if (document.all && document.all[conid]) {
} else if (document.all && document.all[conid]) {
document.all[conid].style.display='none';
} else if (document.layers && document.layers[conid]) {
} else if (document.layers && document.layers[conid]) {
document.layers[conid].style.display='none';
}
}
__js_page_array[conid] = 'none';
}
return false;
@@ -107,7 +112,7 @@ $method = isset($_REQUEST['method'])?$_REQUEST['method']:'';
</script>
</head>
<body>
<?php
<?php
if(isset($_REQUEST['save']))
{
@@ -116,51 +121,51 @@ if(isset($_REQUEST['save']))
// Speichert die Gruppenzugehörigkeit
if($_REQUEST['kategorie_kurzbz'] != '')
{
$dms = new dms();
$dms = new dms();
$dms->kategorie_kurzbz = $_REQUEST['kategorie_kurzbz'];
$dms->gruppe_kurzbz = $_POST['gruppe_kurzbz'];
$dms->insertamum = date('Y-m-d H:i:s');
$dms->insertvon = $user;
$dms->insertvon = $user;
if(!$dms->saveGruppeKategorie())
echo '<span class="error">'.$dms->errormsg.'</span>';
echo '<span class="error">'.$dms->errormsg.'</span>';
else
echo '<span class="ok">Gruppe erfolgreich zugeteilt</span>';
}
else
else
{
echo '<span class="error">Keine gültige Kategorie übergeben</span>';
}
}
else
{
$kategorieSave = new dms();
$kategorieSave = new dms();
if($_POST['kategorie_kurzbz'] != '')
{
// wenn keine auswahl getroffen wurde
$kategorie_auswahl = (($_POST['kategorie_parent']=='auswahl')?null:$_POST['kategorie_parent']);
if($kategorieSave->loadKategorie($_POST['kategorie_kurzbz']))
{
// Update
$kategorieSave->bezeichnung = $_POST['kategorie_bezeichnung'];
$kategorieSave->beschreibung =$_POST['kategorie_beschreibung'];
$kategorieSave->parent_kategorie_kurzbz = $kategorie_auswahl;
$kategorieSave->new=false;
$kategorieSave->new=false;
if(!$kategorieSave->saveKategorie())
echo '<span class="error">'.$kategorieSave->errormsg.'</span>';
else
else
echo'<span class="ok">Erfolgreich gespeichert</span>';
}
else
else
{
// Neu anlegen
$kategorieSave->kategorie_kurzbz = $_POST['kategorie_kurzbz'];
$kategorieSave->bezeichnung = $_POST['kategorie_bezeichnung'];
$kategorieSave->beschreibung =$_POST['kategorie_beschreibung'];
$kategorieSave->parent_kategorie_kurzbz = $kategorie_auswahl;
$kategorieSave->new=true;
$kategorieSave->new=true;
if(!$kategorieSave->saveKategorie())
echo '<span class="error">'.$kategorieSave->errormsg.'<span class="error">';
else
@@ -175,38 +180,38 @@ if(isset($_REQUEST['save']))
// Löscht eine Kategorie
if(isset($_REQUEST['delete']))
{
if($method=='gruppe')
{
$dms = new dms();
$dms = new dms();
if(!$dms->deleteGruppe($_REQUEST['kategorie_kurzbz'], $_REQUEST['gruppe_kurzbz']))
echo '<span class="error">'.$dms->errormsg.'</span>';
else
else
echo'<span class="ok">Gruppe erfolgreich gelöscht!</span>';
}
else
else
{
if(isset($_REQUEST['kategorie_kurzbz']))
{
$dms = new dms();
$dms = new dms();
if(!$dms->deleteKategorie($_REQUEST['kategorie_kurzbz']))
echo '<span class="error">'.$dms->errormsg.'</span>';
else
echo '<span class="ok">Erfolgreich gelöscht</span>';
echo '<span class="error">'.$dms->errormsg.'</span>';
else
echo '<span class="ok">Erfolgreich gelöscht</span>';
}
else
echo "keine Kategorie übergeben";
else
echo "keine Kategorie übergeben";
$kategorie_kurzbz ='';
}
}
//Kategorien anzeigen
$dms = new dms();
$dms->getKategorie();
echo' <table cellspacing=0 border="0">
<tr>
<tr>
<td valign="top" nowrap style="border-right: 1px solid lightblue;border-top: 1px solid lightblue;padding-right:5px">
<h3>Kategorie:</h3>
<table class="tabcontent" border="0">
@@ -222,75 +227,78 @@ echo' <table cellspacing=0 border="0">
<tr><td>&nbsp;</td></tr>
<tr><td colspan="2"><a href ="'.$_SERVER['PHP_SELF'].'">Neue Kategorie anlegen</a></td></tr>
</table></td></tr></table>';
echo '<script>
$(document).ready(function()
{
$(document).ready(function()
{
OpenTreeToKategorie("'.$kategorie_kurzbz.'");
});
//Klappt den Kategoriebaum auf, damit die ausgewaehlte Kategorie sichtbar ist
function OpenTreeToKategorie(kategorie)
{
elem = document.getElementById(kategorie);
if(elem.nodeName=="TABLE")
elem.style.display="block";
while(true)
if (elem != null)
{
if(!elem.parentNode)
break;
else
elem = elem.parentNode;
if(elem.nodeName=="TABLE" && elem.className=="tabcontent")
if(elem.nodeName=="TABLE")
elem.style.display="block";
}
while(true)
{
if(!elem.parentNode)
break;
else
elem = elem.parentNode;
if(elem.nodeName=="TABLE" && elem.className=="tabcontent")
elem.style.display="block";
}
}
}
</script>';
echo '</td>
<td valign="top" style="border-top: 1px solid lightblue; width: 100%;">
<a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'">Eigenschaften</a> | <a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&method=gruppe">Gruppen</a><br><br>';
switch($method)
{
case 'gruppe':
print_rights($kategorie_kurzbz);
break;
default:
break;
default:
drawKategorie($kategorie_kurzbz);
break;
break;
}
echo '
</td>
</tr>
</table>';
function drawKategorie($kategorie_kurzbz)
{
$kategorie = new dms();
{
$kategorie = new dms();
$kategorie_beschreibung = '';
$kategorie_bezeichnung = '';
$disabled='';
if($kategorie->loadKategorie($kategorie_kurzbz))
{
// Formular zum Editieren bestehender Kategorien
$kategorie_bezeichnung = $kategorie->bezeichnung;
$kategorie_bezeichnung = $kategorie->bezeichnung;
$kategorie_beschreibung = $kategorie->beschreibung;
$disabled = 'disabled="true"';
}
$allKategorien = new dms();
}
$allKategorien = new dms();
$allKategorien->getAllKategories();
//var_dump($allKategorien->result);
echo ' <form action="'.$_SERVER['PHP_SELF'].'?save" method="POST" name="form_kategorie">
echo ' <form action="'.$_SERVER['PHP_SELF'].'?save" method="POST" name="form_kategorie">
<table border="0">
<tr>
<td>Kategorie_kurzbz: </td><td><input type="text" name="kategorie_kurzbz" value="'.$kategorie_kurzbz.'" '.$disabled.' ></td>
@@ -309,21 +317,21 @@ function drawKategorie($kategorie_kurzbz)
$selected ='';
if($kategorienResult->kategorie_kurzbz == $kategorie->parent_kategorie_kurzbz )
$selected='selected';
if($kategorienResult->kategorie_kurzbz != $kategorie->kategorie_kurzbz)
if($kategorienResult->kategorie_kurzbz != $kategorie->kategorie_kurzbz)
echo '<option '.$selected.' value="'.$kategorienResult->kategorie_kurzbz.'">'.$kategorienResult->bezeichnung.' ['.$kategorienResult->kategorie_kurzbz.']</option>';
}
echo' </select>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr></tr>
<tr>
<td><input type="submit" value="Speichern" onclick="document.form_kategorie.kategorie_kurzbz.disabled=false";></td>
<td><input type="submit" value="Speichern" onclick="document.form_kategorie.kategorie_kurzbz.disabled=false";></td>
</tr>
</table></form>';
}
}
/**
* Erstellt den Karteireiter zum Verwalten der Zugriffsrechte auf einen Content
@@ -334,14 +342,14 @@ function print_rights($kategorie_kurzbz)
{
$dms = new dms();
$dms->loadGruppenForKategorie($kategorie_kurzbz);
if(count($dms->result)>0)
{
echo 'Die Mitglieder der folgenden Gruppen dürfen die Seite ansehen:<br><br>';
echo '
<script type="text/javascript">
$(document).ready(function()
{
$(document).ready(function()
{
$("#rights_table").tablesorter(
{
sortList: [[1,1]],
@@ -374,10 +382,10 @@ function print_rights($kategorie_kurzbz)
}
else
echo 'Diese Seite darf von allen angezeigt werden!<br><br>';
$gruppe = new gruppe();
$gruppe->getgruppe(null, null, null, null, true);
echo '<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&method=gruppe&save" method="POST">';
echo 'Gruppe <select name="gruppe_kurzbz">';
foreach($gruppe->result as $row)
@@ -392,13 +400,13 @@ function print_rights($kategorie_kurzbz)
/**
* Zeichnet das Kategorie Menu
*
*
* @param $rows DMS Result Object
*/
function drawKategorieMenue($rows)
{
{
global $kategorie_kurzbz;
//echo '<ul>';
foreach($rows as $row)
{
@@ -406,12 +414,12 @@ function drawKategorieMenue($rows)
$class='marked';
else
$class='';
$dms = new dms();
$dms->getKategorie($row->kategorie_kurzbz);
$delete = '<a href="'.$_SERVER['PHP_SELF'].'?delete&kategorie_kurzbz='.$row->kategorie_kurzbz.'"><img src="../skin/images/cross.png" height="12px" title="Kategorie löschen" /></a>';
//Suchen, ob eine Sperre fuer diese Kategorie vorhanden ist
$groups = $dms->getLockGroups($row->kategorie_kurzbz);
$locked='';
@@ -424,7 +432,7 @@ function drawKategorieMenue($rows)
}
if(count($dms->result)>0)
{
echo '
<tr>
<td class="tdwidth10" nowrap>&nbsp;</td>
@@ -443,11 +451,11 @@ function drawKategorieMenue($rows)
<tr>
<td class="tdwidth10" nowrap>&nbsp;</td>
<td class="tdwrap"><a id="'.$row->kategorie_kurzbz.'" href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$row->kategorie_kurzbz.'" class="Item"><img src="../skin/images/menu_item.gif" alt="menu item" width="7" height="9">&nbsp;<span class="'.$class.'">'.$row->bezeichnung.' </span></a>'.$delete.$locked.'</td>
</tr>';
</tr>';
}
}
//echo '</table>';
//echo '</ul>';
}
?>
?>
+79 -66
View File
@@ -18,7 +18,7 @@
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
*/
/**
* Diese Seite dient zum Anlegen und aendern von Newseintraegen
* Diese Seite dient zum Anlegen und aendern von Newseintraegen
*/
require_once('../config/cis.config.inc.php');
require_once('../include/functions.inc.php');
@@ -43,7 +43,7 @@ if(isset($_REQUEST['studiengang_kz']))
$studiengang_kz=$_REQUEST['studiengang_kz'];
else
$studiengang_kz='0';
if(isset($_REQUEST['semester']))
$semester = $_REQUEST['semester'];
else
@@ -53,7 +53,7 @@ if(check_lektor($uid))
$is_lector=true;
else
$is_lector=false;
if(!$rechte->isBerechtigt('basis/news'))
$berechtigt=false;
else
@@ -69,7 +69,7 @@ $news_id = (isset($_REQUEST['news_id'])?$_REQUEST['news_id']:null);
if($studiengang_kz=='0' && is_null($semester) && $news_id=='')
{
if(!$berechtigt)
die('Sie haben keine Berechtigung zum Eintragen/Bearbeiten von allgemeinen News');
die('Sie haben keine Berechtigung zum Eintragen/Bearbeiten von allgemeinen News');
}
$datum_obj = new datum();
@@ -84,16 +84,21 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../skin/style.css.php" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../skin/styles/jquery.css" type="text/css">
<link rel="stylesheet" href="../skin/styles/jquery-ui.css" type="text/css">
<link rel="stylesheet" href="../vendor/components/jqueryui/themes/base/jquery-ui.min.css" type="text/css">
<script src="../include/js/jquery.js" type="text/javascript"></script>
<script src="../include/js/jquery-ui.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../vendor/jquery/sizzle/sizzle.js"></script>
<script src="../vendor/components/jqueryui/jquery-ui.min.js" type="text/javascript"></script>
<script type="text/javascript" src="../include/tiny_mce/tiny_mce.js"></script>
<title>'.$p->t('news/newsverwaltung').'</title>
<script type="text/javascript">
$(document).ready(function()
{
$(document).ready(function()
{
$( ".datepicker_datum" ).datepicker({
changeMonth: true,
dateFormat: "dd.mm.yy",
@@ -109,12 +114,12 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
theme : "advanced",
language : "de",
file_browser_callback: "FHCFileBrowser",
plugins : "spellchecker,pagebreak,style,layer,table,advhr,advimage,advlink,inlinepopups,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras",
// Theme options
theme_advanced_buttons1 : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,link,unlink,image,|,bullist,formatselect,fontsizeselect,pastetext",
theme_advanced_buttons2 : "",
theme_advanced_buttons1 : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,link,unlink,image,|,bullist,formatselect,fontsizeselect,pastetext",
theme_advanced_buttons2 : "",
theme_advanced_buttons3 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "center",
@@ -130,17 +135,17 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
paste_strip_class_attributes: true,
paste_retain_style_properties: "",
paste_text_sticky: true,
setup : function(ed)
{
setup : function(ed)
{
ed.onInit.add(function(ed)
{ ed.pasteAsPlainText = true;
ed.controlManager.setActive("pastetext", true);
});
}
}
);
function FHCFileBrowser(field_name, url, type, win)
function FHCFileBrowser(field_name, url, type, win)
{
cmsURL = "'.APP_ROOT.'cms/tinymce_dms.php?type="+type;
tinyMCE.activeEditor.windowManager.open({
@@ -158,7 +163,7 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
});
return false;
}
</script>
</head>
<body>';
@@ -168,10 +173,10 @@ if(isset($_GET['action']) && $_GET['action']=='add_uebersetzung')
{
$news = new news();
$news->load($_GET['news_id']);
$content = new content();
$content->getContent($news->content_id);
$content->new = true;
$content->sichtbar=false;
$content->sprache=$_GET['lang'];
@@ -182,7 +187,7 @@ if(isset($_GET['action']) && $_GET['action']=='add_uebersetzung')
$content->reviewvon='';
$content->reviewamum='';
$content->gesperrt_uid='';
if($content->saveContentSprache())
$message.= '<span class="ok">'.$p->t('global/erfolgreichgespeichert').'</span>';
else
@@ -194,7 +199,7 @@ if(isset($_GET['action']) && $_GET['action']=='delete')
{
if(!$rechte->isBerechtigt('basis/news',null, 'suid') && !$is_lector)
die($p->t('global/keineBerechtigungFuerDieseSeite'));
if(isset($_GET['news_id']) && is_numeric($_GET['news_id']))
{
$news_id = $_GET['news_id'];
@@ -203,7 +208,7 @@ if(isset($_GET['action']) && $_GET['action']=='delete')
{
$studiengang_kz=$news->studiengang_kz;
$semester = $news->semester;
if($news->delete($news_id))
{
$message.= '<span class="ok">'.$p->t('global/erfolgreichgelöscht').'</span>';
@@ -212,7 +217,7 @@ if(isset($_GET['action']) && $_GET['action']=='delete')
else
{
$message.= '<span class="error">'.$news->errormsg.'</span>';
}
}
}
else
{
@@ -221,8 +226,8 @@ if(isset($_GET['action']) && $_GET['action']=='delete')
}
else
die($p->t('global/fehlerBeiDerParameteruebergabe'));
}
//Speichern eines Eintrags
@@ -231,9 +236,9 @@ if(isset($_POST['save']))
$save_error=false;
$news_id = $_POST['news_id'];
$mail = false;
$news = new news();
if($news_id!='')
{
$news->load($news_id);
@@ -253,12 +258,12 @@ if(isset($_POST['save']))
$news->updatevon = $uid;
$news->datum = $datum_obj->formatDatum($_POST['datum'],'Y-m-d');
$news->datum_bis = $datum_obj->formatDatum($_POST['datum_bis'],'Y-m-d');
if($news->content_id=='')
{
$studiengang = new studiengang();
$studiengang->load($_POST['studiengang_kz']);
$content = new content();
$content->template_kurzbz='news';
$content->oe_kurzbz=$studiengang->oe_kurzbz;
@@ -268,10 +273,10 @@ if(isset($_POST['save']))
$content->insertvon = $uid;
if(!$content->save(true))
die($content->errormsg);
$news->content_id = $content->content_id;
}
if(!$news->save())
die($news->errormsg);
$news_id = $news->news_id;
@@ -281,7 +286,7 @@ if(isset($_POST['save']))
foreach($_POST as $key=>$value)
if(mb_strstr($key,'contentsprache_id_'))
$sprachen[] = mb_substr($key, strlen('contentsprache_id_'));
$sprachen = array_unique($sprachen);
foreach($sprachen as $lang)
@@ -289,7 +294,7 @@ if(isset($_POST['save']))
$content = new content();
if (isset($_POST['sichtbar_'.$lang]))
$sichtbar = true;
else
else
$sichtbar = false;
if(isset($_POST['contentsprache_id_'.$lang]) && $_POST['contentsprache_id_'.$lang]!='')
@@ -307,13 +312,13 @@ if(isset($_POST['save']))
$content->new = true;
$content->sprache = $lang;
}
$xml = '<news>';
$xml.='<verfasser><![CDATA['.$_POST['verfasser_'.$lang].']]></verfasser>';
$xml.='<betreff><![CDATA['.$_POST['betreff_'.$lang].']]></betreff>';
$xml.='<text><![CDATA['.$_POST['text_'.$lang].']]></text>';
$xml.='</news>';
$content->content = $xml;
$content->sichtbar = $sichtbar;
$content->updateamum = date('Y-m-d H:i:s');
@@ -326,23 +331,23 @@ if(isset($_POST['save']))
}
if ($sichtbar == true)
$message.='<span class="ok">'.$p->t('news/eintragVeroeffentlicht',array($lang)).'</span><br/>';
else
else
$message.='<span class="error">'.$p->t('news/eintragNochNichtVeroeffentlicht',array($lang)).'</span><br/>';
}
if(!$save_error)
{
$message.= '<span class="ok">'.$p->t('global/erfolgreichgespeichert').'</span>';
}
if ($mail && $_POST['studiengang_kz']=='0' && $_POST['semester']==NULL)
{
$oe = new studiengang();
$oe->load($_POST['studiengang_kz']);
$oe_translate = $oe->oe_kurzbz;
$translate = new benutzerfunktion();
$translate->getBenutzerFunktionen('translate', $oe_translate);
if(count($translate->result)==0)
$translate->getBenutzerFunktionen('translate');
$to='';
@@ -358,7 +363,7 @@ if(isset($_POST['save']))
$subject = $p->t('news/neuerNewseintrag');
$text = $p->t('news/mailtext');
$texthtml = $p->t('news/mailtextHTML',array(APP_ROOT."cms/newsverwaltung.php?news_id=".$news_id,$content->titel,$_POST['text_'.DEFAULT_LANGUAGE])) ;
$mail = new mail($to, $from, $subject, $text);
$mail->setHTMLContent($texthtml);
if($mail->send())
@@ -382,16 +387,16 @@ $sprachen = array(DEFAULT_LANGUAGE);
$news = new news();
if($news_id!='')
{
$news->load($news_id);
$news->load($news_id);
$sprachen = $content->getLanguages($news->content_id);
$studiengang_kz = $news->studiengang_kz;
$semester = $news->semester;
if($studiengang_kz=='0' && $semester=='' && !$berechtigt)
{
die($p->t('global/keineBerechtigungFuerDieseSeite'));
die($p->t('global/keineBerechtigungFuerDieseSeite'));
}
}
if($studiengang_kz=='0' && $semester=='')
$type=$p->t('news/allgemein');
@@ -424,7 +429,7 @@ if($studiengang_kz!='')
{
$studiengang = new studiengang();
$studiengang->getAll('typ, kurzbz', false);
echo '<table>
<tr>
<td>'.$p->t('global/studiengang').'</td>
@@ -441,20 +446,20 @@ if($studiengang_kz!='')
echo ' </SELECT>
</td>
</tr>';
echo '<tr>
<td>'.$p->t('global/semester').'</td>
<td>
<SELECT name="semester">';
echo '<OPTION value="">'.$p->t('news/allesemester').'</OPTION>';
for($i=0;$i<=8;$i++)
{
if($semester!='' && $i==$semester)
$selected='selected';
else
$selected='';
echo '<OPTION value="'.$i.'" '.$selected.'>'.$p->t('news/xsemester',array($i)).'</OPTION>';
}
if($studiengang_kz=='10006')
@@ -478,7 +483,7 @@ echo '</td><td align="right" valign="top">'.$message.'</td></tr></table>';
//Tabs fuer alle vorhandenen Sprachen anlegen
echo '<div id="tabs" style="font-size:80%;">
<ul class="css-tabs">';
foreach($sprachen as $lang)
{
$sprache_obj = new sprache();
@@ -495,7 +500,7 @@ foreach($sprachen as $lang)
{
$sprachindex[$lang]=$idx;
$idx++;
$verfasser='';
$betreff='';
$text='';
@@ -503,7 +508,7 @@ foreach($sprachen as $lang)
if($news->content_id!='')
{
$content->getContent($news->content_id, $lang, null, null, false);
$xml_inhalt = new DOMDocument();
if($content->content!='')
{
@@ -516,7 +521,7 @@ foreach($sprachen as $lang)
$betreff = $xml_inhalt->getElementsByTagName('betreff')->item(0)->nodeValue;
if($xml_inhalt->getElementsByTagName('text')->item(0))
$text = $xml_inhalt->getElementsByTagName('text')->item(0)->nodeValue;
$sichtbar = $content->sichtbar;
}
echo '<div id="'.$lang.'">';
@@ -539,7 +544,7 @@ foreach($sprachen as $lang)
<td><input type="checkbox" name="sichtbar_'.$lang.'" '.($sichtbar==true?'checked':'').'></td>
</tr>
</table>';
echo '</div>';
}
@@ -552,8 +557,8 @@ if($news->content_id!='')
die($content->errormsg);
$sprache_obj = new sprache();
$sprache_obj->getAll(true);
//Wenn noch nicht alle Uebersetzungen vorhanden sind,
//Wenn noch nicht alle Uebersetzungen vorhanden sind,
//wird ein Link zum Erstellen der Uebersetzung angezeigt.
if(count($vorhandene_sprachen)<count($sprache_obj->result))
{
@@ -562,7 +567,7 @@ if($news->content_id!='')
foreach($sprache_obj->result as $row)
{
if(!in_array($row->sprache, $vorhandene_sprachen))
echo '<br /><a style="color:#008381" href="'.$_SERVER['PHP_SELF'].'?news_id='.$news_id.'&action=add_uebersetzung&lang='.$row->sprache.'">'.$row->bezeichnung_arr[$sprache].'</a>';
echo '<br /><a style="color:#008381" href="'.$_SERVER['PHP_SELF'].'?news_id='.$news_id.'&action=add_uebersetzung&lang='.$row->sprache.'">'.$row->bezeichnung_arr[$sprache].'</a>';
}
}
else
@@ -576,20 +581,28 @@ echo '</div><br />';
echo '<input type="hidden" id="tabselect" name="tabselect" value="">';
echo '<input type="submit" name="save" value="'.$p->t('global/speichern').'" onclick="var idx=$( \'#tabs\').tabs(\'option\',\'selected\');$(\'#tabselect\').val(idx);">';
echo '</form>';
if(isset($_POST['tabselect']) && $_POST['tabselect']!='')
$tabselect=$_POST['tabselect'];
if (isset($_POST['tabselect']) && $_POST['tabselect'] != '')
{
$tabselect = $_POST['tabselect'];
}
else
{
if(isset($_GET['lang']))
if (isset($_GET['lang']))
{
$tabselect = $sprachindex[$_GET['lang']];
}
else
{
$tabselect = $sprachindex[DEFAULT_LANGUAGE];
}
}
echo '<script type="text/javascript">
$(document).ready(function() {
$("#tabs").tabs();
$( "#tabs").tabs( "select", '.$tabselect.');
})
$(document).ready(function() {
$("#tabs").tabs({
active: 1
});
$("#tabs").tabs("option", "active", '.$tabselect.');
});
</script>
';
@@ -608,4 +621,4 @@ echo '<hr>
</tr></table>';
echo '</body>
</html>';
?>
?>
+161 -156
View File
@@ -42,12 +42,17 @@ if(!$rechte->isberechtigt('basis/dms',null, 's', null))
<head>
<title>FHComplete Document Management System</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../skin/superfish.css" type="text/css">
<link rel="stylesheet" href="../vendor/joeldbirch/superfish/dist/css/superfish.css" type="text/css">
<link rel="stylesheet" href="../skin/fhcomplete.css" type="text/css">
<link rel="stylesheet" href="../skin/style.css.php" type="text/css">
<link rel="stylesheet" href="../skin/tablesort.css" type="text/css"/>
<script type="text/javascript" src="../include/js/jquery.js"></script>
<script type="text/javascript" src="../include/js/superfish.js"></script>
<link rel="stylesheet" type="text/css" href="../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../vendor/jquery/sizzle/sizzle.js"></script>
<script type="text/javascript" src="../vendor/joeldbirch/superfish/dist/js/superfish.min.js"></script>
<script type="text/javascript" src="../include/tiny_mce/tiny_mce_popup.js"></script>
<style type="text/css">
.buttondesign {
@@ -88,7 +93,7 @@ if(!$rechte->isberechtigt('basis/dms',null, 's', null))
tinyMCEPopup.close();
}
};
$('document').ready(function() {
$('.buttondesign').mouseenter(function() {
$(this).animate({
@@ -101,25 +106,25 @@ if(!$rechte->isberechtigt('basis/dms',null, 's', null))
}, 300);
});
});
//tinyMCEPopup.onInit.add(FileBrowserDialog.init, FileBrowserDialog);
$(document).ready(function()
{
$(document).ready(function()
{
//$('#divupload').hide();
jQuery('ul.sf-menu').superfish({speed:'fast', delay:200});
});
function upload(id, name)
{
$('#divupload').show();
if(typeof(id)!='undefined')
{
$('#dms_id').val(id);
$('#dms_id_import').val(id);
$('#dms_id_import').val(id);
$('#ueberschrift').html('Neue Version von '+name);
}
else
{
@@ -137,7 +142,7 @@ if(!$rechte->isberechtigt('basis/dms',null, 's', null))
beschreibungstext = beschreibungstext.replace(/6Sl4sh/g, "\\");
beschreibungstext = beschreibungstext.replace(/D4n7ührung/g, "\"");
beschreibungstext = beschreibungstext.replace(/Ze1l3numxbr/g, "\r\n");
document.getElementById("beschreibung-textarea").value = beschreibungstext;
document.getElementById("beschreibung-textarea").value = beschreibungstext;
}
var __js_page_array = new Array();
@@ -148,44 +153,44 @@ if(!$rechte->isberechtigt('basis/dms',null, 's', null))
var block = "table-row";
if (navigator.appName.indexOf('Microsoft') > -1)
block = 'block';
// Aktueller Anzeigemode ermitteln
// Aktueller Anzeigemode ermitteln
var status = __js_page_array[conid];
if (status == null)
{
if (document.getElementById && document.getElementById(conid))
{
if (document.getElementById && document.getElementById(conid))
{
status=document.getElementById(conid).style.display;
} else if (document.all && document.all[conid]) {
} else if (document.all && document.all[conid]) {
status=document.all[conid].style.display;
} else if (document.layers && document.layers[conid]) {
} else if (document.layers && document.layers[conid]) {
status=document.layers[conid].style.display;
}
}
}
}
// Anzeigen oder Ausblenden
if (status == 'none')
{
if (document.getElementById && document.getElementById(conid))
{
if (document.getElementById && document.getElementById(conid))
{
document.getElementById(conid).style.display = 'block';
} else if (document.all && document.all[conid]) {
} else if (document.all && document.all[conid]) {
document.all[conid].style.display='block';
} else if (document.layers && document.layers[conid]) {
} else if (document.layers && document.layers[conid]) {
document.layers[conid].style.display='block';
}
}
__js_page_array[conid] = 'block';
}
else
{
if (document.getElementById && document.getElementById(conid))
{
if (document.getElementById && document.getElementById(conid))
{
document.getElementById(conid).style.display = 'none';
} else if (document.all && document.all[conid]) {
} else if (document.all && document.all[conid]) {
document.all[conid].style.display='none';
} else if (document.layers && document.layers[conid]) {
} else if (document.layers && document.layers[conid]) {
document.layers[conid].style.display='none';
}
}
__js_page_array[conid] = 'none';
}
return false;
@@ -235,17 +240,17 @@ if($importFile != '')
{
if(!$rechte->isberechtigt('basis/dms',null, 'sui', null))
die($rechte->errormsg);
$ext = pathinfo($importFile, PATHINFO_EXTENSION);
$filename=uniqid();
$filename.=".".$ext;
$filename=uniqid();
$filename.=".".$ext;
$dms_id = $_POST['dms_id_import'];
// kopiert aus import Verzeichnis
if(copy(IMPORT_PATH.$importFile, DMS_PATH.$filename))
{
$dms = new dms;
$dms = new dms;
if($dms_id!='')
{
if(!$dms->load($dms_id))
@@ -261,61 +266,61 @@ if($importFile != '')
}
//Mimetype auslesen
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$dms->insertamum=date('Y-m-d H:i:s');
$dms->insertvon = $user;
$dms->mimetype= finfo_file($finfo, IMPORT_PATH.$importFile); //Davor deprecated: mime_content_type(IMPORT_PATH.$importFile);
$dms->filename = $filename;
$dms->name = $importFile;
if($dms->save(true))
{
echo 'File wurde erfolgreich hochgeladen. <br>Filename:'.$filename.' <br>ID: <a href="id://'.$dms->dms_id.'/Auswahl" onclick="FileBrowserDialog.mySubmit('.$dms->dms_id.'); return false;" style="font-size: small">'.$dms->dms_id.'</a>';
$dms_id=$dms->dms_id;
if($projekt_kurzbz!='' || $projektphase_id!='')
{
if(!$dms->saveProjektzuordnung($dms_id, $projekt_kurzbz, $projektphase_id))
echo $dms->errormsg;
}
}
}
else
echo 'Fehler beim Speichern der Daten';
if(!@chgrp(DMS_PATH.$filename,'dms'))
echo '<br>CHGRP failed';
if(!@chmod(DMS_PATH.$filename, 0774))
echo '<br>CHMOD failed';
exec('sudo chown wwwrun '.$filename);
exec('sudo chown wwwrun '.$filename);
// Lösche File aus Verzeichnis nachdem es raufgeladen wurde
if(!unlink(IMPORT_PATH.$importFile))
echo 'Fehler beim Löschen aufgetreten.';
echo 'Fehler beim Löschen aufgetreten.';
}
}
if(isset($_POST['fileupload']))
{
if(!$rechte->isberechtigt('basis/dms',null, 'sui', null))
die($rechte->errormsg);
$dms_id = $_POST['dms_id'];
$beschreibung = $_POST['beschreibung'];
$ext = pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION);
$ext = pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION);
$filename = uniqid();
$filename.=".".$ext;
$filename.=".".$ext;
$uploadfile = DMS_PATH.$filename;
if(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
if(move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
{
if(!@chgrp($uploadfile,'dms'))
echo '<br>CHGRP failed';
if(!@chmod($uploadfile, 0774))
echo '<br>CHMOD failed';
exec('sudo chown wwwrun '.$uploadfile);
exec('sudo chown wwwrun '.$uploadfile);
$dms = new dms();
if($dms_id!='')
{
if(!$dms->load($dms_id))
@@ -331,31 +336,31 @@ if(isset($_POST['fileupload']))
}
//Mimetype auslesen
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$dms->insertamum=date('Y-m-d H:i:s');
$dms->insertvon = $user;
$dms->mimetype = finfo_file($finfo, $uploadfile); // Davor deprecated: $_FILES['userfile']['type'];
$dms->filename = $filename;
$dms->name = $_FILES['userfile']['name'];
$dms->beschreibung = $beschreibung;
if($dms->save(true))
{
echo '<span class="ok">File wurde erfolgreich hochgeladen.</span> <br>Filename:'.$filename.' <br>ID:'.$dms->dms_id;
$dms_id=$dms->dms_id;
if($projekt_kurzbz!='' || $projektphase_id!='')
{
if(!$dms->saveProjektzuordnung($dms_id, $projekt_kurzbz, $projektphase_id))
echo $dms->errormsg;
}
}
}
else
{
echo '<span class="error">Fehler beim Speichern der Daten</span>';
}
}
else
}
else
{
echo '<span class="error">Fehler beim Hochladen der Datei</span>';
}
@@ -365,12 +370,12 @@ if(isset($_POST['action']) && $_POST['action']=='rename')
{
if(!$rechte->isberechtigt('basis/dms',null, 'su', null))
die($rechte->errormsg);
$name = $_POST['dateiname'];
$dms_id = $_POST['dms_id'];
$version = $_POST['version'];
$beschreibung = $_POST['beschreibung'];
$dms = new dms();
if($dms->load($dms_id, $version))
{
@@ -378,7 +383,7 @@ if(isset($_POST['action']) && $_POST['action']=='rename')
$dms->beschreibung = $beschreibung;
$dms->updateamum=date('Y-m-d H:i:s');
$dms->updatevon = $user;
if($dms->save(false))
echo '<span class="ok">Dateiname wurde erfolgreich geändert</span>';
else
@@ -392,14 +397,14 @@ if(isset($_REQUEST['delete']))
{
if(!$rechte->isberechtigt('basis/dms',null, 'suid', null))
die($rechte->errormsg);
// lösche nur die Version
if(isset($_REQUEST['version']))
{
$dms_id = $_REQUEST['dms_id'];
$version = $_REQUEST['version'];
$dms = new dms();
$dms = new dms();
$dms->load($dms_id, $version);
// DB Eintrag löschen
@@ -419,26 +424,26 @@ if(isset($_REQUEST['delete']))
}
if($versionId != '')
{
{
// Übersicht der Versionen
echo '<h1>Versionsübersicht</h1>';
echo '<h1>Versionsübersicht</h1>';
if (isset($_REQUEST['searching']) && $_REQUEST['searching'] == 'true')
echo '<p><a href="'.$_SERVER['PHP_SELF'].'?searching=true&searchstring='.$_REQUEST['searchstring'].'&page='.$page.'&dpp='.$dpp.'">zurück</a></p>';
else
echo '<p><a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$_REQUEST['kategorie_kurzbz'].'&page='.$page.'&dpp='.$dpp.'">zurück</a></p>';
drawAllVersions($versionId);
else
echo '<p><a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$_REQUEST['kategorie_kurzbz'].'&page='.$page.'&dpp='.$dpp.'">zurück</a></p>';
drawAllVersions($versionId);
}
elseif($renameId!='')
{
// Datei umbenennen
if(!$rechte->isberechtigt('basis/dms',null, 'su', null))
die($rechte->errormsg);
echo '<h1>Datei umbennen</h1>';
echo '<h1>Datei umbennen</h1>';
if (isset($_REQUEST['searching']) && $_REQUEST['searching'] == 'true')
echo '<p><a href="'.$_SERVER['PHP_SELF'].'?searching=true&searchstring='.$_REQUEST['searchstring'].'&page='.$page.'&dpp='.$dpp.'">zurück</a></p>';
else
echo '<p><a href="'.$_SERVER['PHP_SELF'].'?searching=true&searchstring='.$_REQUEST['searchstring'].'&page='.$page.'&dpp='.$dpp.'">zurück</a></p>';
else
echo '<p><a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$_REQUEST['kategorie_kurzbz'].'&page='.$page.'&dpp='.$dpp.'">zurück</a></p>';
drawRenameForm($renameId, $version, $page, $dpp, $searching, $searchstring);
}
@@ -447,7 +452,7 @@ elseif($renameId!='')
{
echo '<form action="'.$_SERVER['PHP_SELF'].'?searching=true&searchstring='.$searchstring.'&page='.$page.'&dpp='.$dpp.'" method="POST" enctype="multipart/form-data">';
}
else
else
{
echo '<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page='.$page.'&dpp='.$dpp.'" method="POST" enctype="multipart/form-data">';
}*/
@@ -455,10 +460,10 @@ elseif($renameId!='')
elseif($chkatID != '')
{
//Kategorie aendern
if(!$rechte->isberechtigt('basis/dms',null, 'su', null))
die($rechte->errormsg);
if(isset($_POST['action']) && ($_POST['action']=='chkat'))
{
// neue Kategorie speichern
@@ -466,11 +471,11 @@ elseif($chkatID != '')
$dms->load($chkatID);
$dms->kategorie_kurzbz = $_POST['kategoriez'];
$dms->save();
if (isset($_REQUEST['searching']) && $_REQUEST['searching'] == 'true')
if (isset($_REQUEST['searching']) && $_REQUEST['searching'] == 'true')
{
echo '<meta http-equiv="refresh" content="0; url='.$_SERVER['PHP_SELF'].'?searching=true&searchstring='.$_REQUEST['searchstring'].'&page='.$page.'&dpp='.$dpp.'" />';
}
else
else
{
echo '<meta http-equiv="refresh" content="0; url='.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$_REQUEST['kategorie_kurzbz'].'&page='.$page.'&dpp='.$dpp.'" />';
}
@@ -485,17 +490,17 @@ elseif($chkatID != '')
drawChangeKategorie($chkatID, $page, $dpp);
}
}
else
else
{
echo '<div align="left"><h1>Dokument Auswählen</h1></div><div align="right"></div>
<form action="'.$_SERVER['PHP_SELF'].'?searching=true&searchstring='.$searchstring.'" method="POST">
<input type="text" name="searchstring" value="'.$searchstring.'">
<input type="submit" class="buttondesign" value="Suchen">
</form>';
// Suche anzeigen
echo' <table cellspacing=0>
<tr>
<tr>
<td valign="top" nowrap style="border-right: 1px solid lightblue;border-top: 1px solid lightblue;padding-right:5px">
<a href="admin_dms.php" target="_blank" style="position: absolute; margin-left:12px; margin-top:29px;">Administration</a>
<h3>Kategorie:</h3>
@@ -516,11 +521,11 @@ else
drawKategorieMenue($dms->result);
echo '</table></td></tr></table>';
echo '<script>
$(document).ready(function()
{
$(document).ready(function()
{
OpenTreeToKategorie("'.$kategorie_kurzbz.'");
});
//Klappt den Kategoriebaum auf, damit die ausgewaehlte Kategorie sichtbar ist
function OpenTreeToKategorie(kategorie)
{
@@ -533,17 +538,17 @@ else
break;
else
elem = elem.parentNode;
if(elem.nodeName=="TABLE" && elem.className=="tabcontent")
elem.style.display="block";
}
}
}
</script>';
echo '</td>
<td valign="top" style="border-top: 1px solid lightblue;">';
//Dokumente der Ausgewaehlten Kategorie laden und Anzeigen
$dms = new dms();
if($searchstring!='' || (isset($_GET['searching']) && $_GET['searching'] == true))
{
$count = new dms();
@@ -551,8 +556,8 @@ else
$anzahl = count($count->result);
$dms->search($searchstring, $dpp, $page);
$suche = true;
if ($page != 0)
{
echo '<span style="float:left">'.$anzahl.' Elemente gefunden</span><span style="float:right">Seite '.$page.' von <a href="'.$_SERVER['PHP_SELF'].'?page='; if (is_int($anzahl/$dpp)) { echo (int)($anzahl/$dpp); } else { echo (int)(($anzahl/$dpp)+1); } echo '&dpp='.$dpp.'&searching=true&searchstring='.$searchstring.'">';
@@ -569,8 +574,8 @@ else
{
echo '<span align="center"><a href="'.$_SERVER['PHP_SELF'].'?page=1&dpp='.$dpp.'&searching=true&searchstring='.$searchstring.'">Seite 1</a></span>';
}
drawFilesList($dms->result);
echo '<form action="'.$_SERVER['PHP_SELF'].'?page='; if($page-100 < 1){echo '1';}else{echo ($page-100);} if (isset($_GET['dpp'])) { echo '&dpp='.$_GET['dpp']; } echo '&searching=true&searchstring='.$searchstring.'" method="POST" style="float:left"><input type="submit" class="buttondesign" name="100zurück" value="100 zurück" style="margin-left:5px;"/><input type="hidden" name="searchstring" id="searchstring" value="'.$searchstring.'" /></form>';
echo '<form action="'.$_SERVER['PHP_SELF'].'?page='; if($page-10 < 1){echo '1';}else{echo ($page-10);} if (isset($_GET['dpp'])) { echo '&dpp='.$_GET['dpp']; } echo '&searching=true&searchstring='.$searchstring.'" method="POST" style="float:left"><input type="submit" class="buttondesign" name="10zurück" value="10 zurück" style="margin-left:2px;"/><input type="hidden" name="searchstring" id="searchstring" value="'.$searchstring.'" /></form>';
@@ -625,7 +630,7 @@ else
$count->getDocuments($kategorie_kurzbz);
$anzahl = count($count->result);
$dms->getDocuments($kategorie_kurzbz, $dpp, $page);
if ($page != 0)
{
echo '<span style="float:left">'.$anzahl.' Elemente gefunden</span><span style="float:right">Seite '.$page.' von <a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page='; if (is_int($anzahl/$dpp)) { echo (int)($anzahl/$dpp); } else { echo (int)(($anzahl/$dpp)+1); } echo '&dpp='.$dpp.'">';
@@ -633,7 +638,7 @@ else
{
echo (int)($anzahl/$dpp).'&nbsp;</a></span>';
}
else
else
{
echo (int)(($anzahl/$dpp)+1).'&nbsp;</a></span>';
}
@@ -642,7 +647,7 @@ else
{
echo '<span align="center"><a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page=1&dpp='.$dpp.'">Seite 1</a></span>';
}
drawFilesList($dms->result);
echo '<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page='; if($page-100 < 1){echo '1';}else{echo ($page-100);} if (isset($_GET['dpp'])) { echo '&dpp='.$_GET['dpp']; } echo '" method="POST" style="float:left"><input type="submit" class="buttondesign" name="100zurück" value="100 zurück" style="margin-left:5px;"/></form>';
echo '<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page='; if($page-10 < 1){echo '1';}else{echo ($page-10);} if (isset($_GET['dpp'])) { echo '&dpp='.$_GET['dpp']; } echo '" method="POST" style="float:left"><input type="submit" class="buttondesign" name="10zurück" value="10 zurück" style="margin-left:2px;"/></form>';
@@ -690,8 +695,8 @@ else
</form>';
}
//drawFilesThumb($dms->result);
echo '
</td>
</tr>
@@ -702,7 +707,7 @@ else
<br>
<a href="#Upload" onclick="return upload()">Neue Datei hochladen</a>
<br>
<br><br>
<div id="divupload">
<hr>
@@ -711,7 +716,7 @@ else
{
echo '<form action="'.$_SERVER['PHP_SELF'].'?searching=true&searchstring='.$searchstring.'&page='.$page.'&dpp='.$dpp.'" method="POST" enctype="multipart/form-data">';
}
else
else
{
echo '<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page='.$page.'&dpp='.$dpp.'" method="POST" enctype="multipart/form-data">';
}
@@ -736,14 +741,14 @@ else
$files = scandir(IMPORT_PATH);
$files_count = count($files)-2; // Minus zwei wegen "." und ".."
if ($files_count>0 && $rechte->isberechtigt('basis/dms',null, 'sui', null))
drawFilesFromImport();
drawFilesFromImport();
echo '</div>';
}
if($openupload)
{
echo '<script>
$(document).ready(function()
{
$(document).ready(function()
{
';
if($newVersionID!='')
{
@@ -753,30 +758,30 @@ else
}
else
echo 'upload();';
echo '
});
</script>';
}
}
/************ FUNCTIONS ********************/
/**
* Zeigt alle Versionen des Dokumentes an
*
*
* @param $id DokumentID die angezeigt werden soll
*/
function drawAllVersions($id)
{
global $rechte;
$dms = new dms();
$dms->getAllVersions($id);
$dms = new dms();
$dms->getAllVersions($id);
echo '<script>
$(document).ready(function()
{
$(document).ready(function()
{
$("#t3").tablesorter(
{
sortList: [[0,0]], headers: {6:{sorter:false}},
@@ -811,31 +816,31 @@ function drawAllVersions($id)
<li><a href="dms.php?id='.$dms_help->dms_id.'&version='.$dms_help->version.'" style="font-size:small" target="_blank">Herunterladen</a></li>';
if($rechte->isberechtigt('basis/dms',null, 'suid', null))
echo '<li><a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$dms_help->kategorie_kurzbz.'&versionid='.$dms_help->dms_id.'&dms_id='.$dms_help->dms_id.'&version='.$dms_help->version.'&delete" style="font-size:small">Löschen</a></li>';
echo '</ul>
</li>
</ul>
</td>
</tr>';
</tr>';
}
echo '</tbody></table>';
echo '</tbody></table>';
}
/**
* Liest die Files aus dem Importverzeichnis aus
*
*
*/
function drawFilesFromImport()
{
global $kategorie_kurzbz, $projekt_kurzbz, $projektphase_id;
if ($handle = opendir(IMPORT_PATH))
if ($handle = opendir(IMPORT_PATH))
{
echo '<script>
$(document).ready(function()
{
$("#t3").tablesorter(
{
{
sortList: [[0,0]], headers: {1:{sorter:false}},
widgets: ["zebra"]
});
@@ -843,9 +848,9 @@ function drawFilesFromImport()
</script>';
echo ' <h3>Files im Import Ordner</h3>
<table class="tablesorter" id="t3" style="width: auto"> <form action ="'.$_SERVER['PHP_SELF'].'" method="POST" name="import" >
<thead><th>File</th><th></th></thead><tbody>';
<thead><th>File</th><th></th></thead><tbody>';
while (false !== ($file = readdir($handle)))
while (false !== ($file = readdir($handle)))
{
if($file != '.' && $file != '..')
{
@@ -857,10 +862,10 @@ function drawFilesFromImport()
<td>
<a onclick="window.location=\'#divupload\'; document.import.importFile.value=\''.$file.'\';document.import.submit();" style="font-size:small">Upload</a>
</td>
</tr>';
</tr>';
}
}
echo'
echo'
<input type="hidden" name="dms_id_import" id="dms_id_import" value="">
<input type="hidden" name="importFile" value="">
<input type="hidden" name="kategorie_kurzbz" id="kategorie_kurzbz" value="'.$kategorie_kurzbz.'">
@@ -872,13 +877,13 @@ function drawFilesFromImport()
}
/**
* Zeichnet das Kategorie Menu
*
*
* @param $rows DMS Result Object
*/
function drawKategorieMenue($rows)
{
{
global $kategorie_kurzbz;
//echo '<ul>';
foreach($rows as $row)
{
@@ -888,10 +893,10 @@ function drawKategorieMenue($rows)
$class='marked';
else
$class='';
$dms = new dms();
$dms->getKategorie($row->kategorie_kurzbz);
//Suchen, ob eine Sperre fuer diese Kategorie vorhanden ist
$groups = $dms->getLockGroups($row->kategorie_kurzbz);
$locked='';
@@ -904,7 +909,7 @@ function drawKategorieMenue($rows)
}
if(count($dms->result)>0)
{
echo '
<tr>
<td class="tdwidth10" nowrap>&nbsp;</td>
@@ -923,36 +928,36 @@ function drawKategorieMenue($rows)
<tr>
<td class="tdwidth10" nowrap>&nbsp;</td>
<td class="tdwrap"><a id="'.$row->kategorie_kurzbz.'" href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$row->kategorie_kurzbz.'" class="Item">&nbsp;<span class="'.$class.'">'.$row->bezeichnung.'</span></a>'.$locked.'</td>
</tr>';
</tr>';
}
}
//echo '</table>';
//echo '</ul>';
}
/**
* Zeichnet die Files in Listenform
*
*
* @param $rows DMS Result Object
*/
function drawFilesList($rows)
{
global $mimetypes, $suche, $rechte;
$dms = new dms();
$dms = new dms();
if(count($rows)>0)
{
echo '
<script>
$(document).ready(function()
{
$(document).ready(function()
{
$("#t2").tablesorter(
{';
if($suche == true)
echo 'sortList: [[4,0],[1,1]], headers: {3:{sorter:false}},';
else
echo 'sortList: [[0,0]], headers: {2:{sorter:false}},';
echo'
widgets: ["zebra"]
});
@@ -960,7 +965,7 @@ function drawFilesList($rows)
</script>
';
}
echo '
<table class="tablesorter" id="t2">
<thead>
@@ -989,29 +994,29 @@ function drawFilesList($rows)
echo '<img title="'.$row->name.'" src="../skin/images/'.$mimetypes[$row->mimetype].'" style="height: 15px">';
else
echo '<img title="'.$row->name.'" src="../skin/images/blank.gif" style="height: 15px">';
// wenn es noch höhere Versionen zu diesem Dokument gibt, wird dieses gekennzeichnet
// wenn es noch höhere Versionen zu diesem Dokument gibt, wird dieses gekennzeichnet
$newVersion = '';
$newerVersionAlert='';
if($dms->checkVersion($row->dms_id, $row->version))
{
$newVersion = '--';
$newerVersionAlert = 'alert(\'Achtung!! Es gibt eine neuere Version dieses Dokuments. Es wird die aktuellste eingefügt.\');';
$newerVersionAlert = 'alert(\'Achtung!! Es gibt eine neuere Version dieses Dokuments. Es wird die aktuellste eingefügt.\');';
}
echo'
<a href="id://'.$row->dms_id.'/Auswahl" onclick="'.$newerVersionAlert.' FileBrowserDialog.mySubmit('.$row->dms_id.'); return false;" style="font-size: small" title="'.$row->beschreibung.'">
'.$newVersion.' '.$row->name.'</a>
</td>';
$datum = new datum();
echo '<td style="padding: 1px;" title="'.$datum->formatDatum($row->insertamum,'d.m.Y H:m').' von '.$row->insertvon.'">';
echo $row->version;
echo '</td>';
$kategorie = new dms();
$kategorie->loadKategorie($row->kategorie_kurzbz);
// zeige bei suche auch kategorie an
if($suche == true)
{
@@ -1020,7 +1025,7 @@ function drawFilesList($rows)
echo '</td>';
}
echo'<td style="padding: 1px;">';
//Upload einer neuen Version
echo '<ul class="sf-menu">
<li><a href="#" style="font-size:small">Erweitert</a>
@@ -1058,7 +1063,7 @@ function drawFilesList($rows)
}
if($rechte->isberechtigt('basis/dms',null, 'suid', null))
echo '<li><a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$row->kategorie_kurzbz.'&dms_id='.$row->dms_id.'&delete" onclick="return conf_del()" style="font-size:small" >Löschen</a></li>';
}
echo '
</ul>
@@ -1068,9 +1073,9 @@ function drawFilesList($rows)
echo '<td style="padding: 1px;">'.$row->dms_id.'</td>';
echo '<td style="padding: 1px;">'.$dms->convert_html_chars($row->beschreibung).'</td>';
echo '</tr>';
}
echo '
echo '
</tbody></table>';
$suche = false;
}
@@ -1083,7 +1088,7 @@ function drawFilesList($rows)
function drawRenameForm($dms_id, $version, $page = NULL, $dpp = NULL, $searching, $searchstring)
{
global $kategorie_kurzbz;
$dms = new dms();
if($dms->load($dms_id, $version))
{
@@ -1091,7 +1096,7 @@ function drawRenameForm($dms_id, $version, $page = NULL, $dpp = NULL, $searching
{
echo '<form action="'.$_SERVER['PHP_SELF'].'?searching=true&searchstring='.$searchstring; if (!is_null($page)) echo '&page='.$page; if (!is_null($dpp)) echo '&dpp='.$dpp; echo '" method="POST">';
}
else
else
{
echo '<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz; if (!is_null($page)) echo '&page='.$page; if (!is_null($dpp)) echo '&dpp='.$dpp; echo '" method="POST">';
}
@@ -1125,15 +1130,15 @@ function drawRenameForm($dms_id, $version, $page = NULL, $dpp = NULL, $searching
function drawChangeKategorie($dms_id, $page = NULL, $dpp = NULL) {
$dms = new dms;
$dms->load($dms_id);
$allKategorien = new dms();
$allKategorien->getAllKategories();
if (isset($_REQUEST['searching']) && $_REQUEST['searching'] == 'true')
{
echo '<form action="'.$_SERVER['PHP_SELF'].'?chkatID='.$dms_id.'&searching=true&searchstring='.$_REQUEST['searchstring']; if (!is_null($page)) echo '&page='.$page; if (!is_null($dpp)) echo '&dpp='.$dpp; echo '" method="POST">';
}
else
else
{
echo '<form action="'.$_SERVER['PHP_SELF'].'?chkatID='.$dms_id.'&kategorie_kurzbz='.$dms->kategorie_kurzbz; if (!is_null($page)) echo '&page='.$page; if (!is_null($dpp)) echo '&dpp='.$dpp; echo '" method="POST">';
}
@@ -1145,10 +1150,10 @@ function drawChangeKategorie($dms_id, $page = NULL, $dpp = NULL) {
$selected ='';
if($kategorienResult->kategorie_kurzbz == $dms->kategorie_kurzbz)
$selected='selected';
echo '<option '.$selected.' value="'.$kategorienResult->kategorie_kurzbz.'">'.$kategorienResult->bezeichnung.' ['.$kategorienResult->kategorie_kurzbz.']</option>';
}
echo '</select>
<input type="hidden" name="action" value="chkat">
<input type="hidden" name="dms_id" value="'.$dms_id.'">';
@@ -1159,4 +1164,4 @@ function drawChangeKategorie($dms_id, $page = NULL, $dpp = NULL) {
?>
</body>
</html>
</html>
+92 -6
View File
@@ -87,11 +87,90 @@
{
"type": "package",
"package": {
"name": "jquery/jquery1.9",
"version": "1.9.0",
"name": "jquery/jqueryV1",
"version": "1.12.4",
"dist": {
"type": "file",
"url": "https://code.jquery.com/jquery-1.9.0.min.js"
"url": "https://code.jquery.com/jquery-1.12.4.min.js"
}
}
},
{
"type": "package",
"package": {
"name": "fgelinas/timepicker",
"version": "0.3.3",
"dist": {
"url": "https://fgelinas.com/code/timepicker/releases/jquery-ui-timepicker-0.3.3.zip",
"type": "zip"
}
}
},
{
"type": "package",
"package": {
"name": "alvaro-prieto/colResizable",
"version": "1.6",
"dist": {
"url": "https://github.com/alvaro-prieto/colResizable/archive/1.6.zip",
"type": "zip"
}
}
},
{
"type": "package",
"package": {
"name": "tapmodo/Jcrop",
"version": "2.0.4",
"dist": {
"url": "https://github.com/tapmodo/Jcrop/archive/v2.0.4.zip",
"type": "zip"
}
}
},
{
"type": "package",
"package": {
"name": "jquery-archive/jquery-metadata",
"version": "1.0",
"source": {
"url": "https://github.com/jquery-archive/jquery-metadata.git",
"type": "git",
"reference": "e5a9e4315675bf4d68716872ca754e858088f8ab"
}
}
},
{
"type": "package",
"package": {
"name": "tomazdragar/SimpleCropper",
"version": "1.0",
"source": {
"url": "https://github.com/tomazdragar/SimpleCropper.git",
"type": "git",
"reference": "9750b81fa55ed07b3b429297d18ffbeac07a2cde"
}
}
},
{
"type": "package",
"package": {
"name": "joeldbirch/superfish",
"version": "1.7.9",
"dist": {
"url": "https://github.com/joeldbirch/superfish/archive/v1.7.9.zip",
"type": "zip"
}
}
},
{
"type": "package",
"package": {
"name": "jquery/sizzle",
"version": "1.0",
"dist": {
"url": "https://github.com/jquery/sizzle/archive/1.0.0.zip",
"type": "zip"
}
}
}
@@ -107,7 +186,7 @@
"rougin/combustor": "1.1.*",
"rougin/refinery": "*",
"components/jquery": "2.1.4",
"components/jqueryui": "1.12.*",
"components/jqueryui": "^1.12",
"components/angular.js": "1.3.16",
"components/bootstrap": "3.3.5",
"michelf/php-markdown": "1.5.0",
@@ -120,10 +199,17 @@
"wikimedia/composer-merge-plugin": "^1.3",
"fzaninotto/faker": "1.*",
"netcarver/textile": "^3.5",
"netcarver/textile": "^3.5",
"borgar/textile-js": "1.0",
"rmariuzzo/jquery-checkboxes": "1.0.7",
"jquery/jquery1.9": "1.9.0"
"christianbach/tablesorter": "^1.0",
"jquery/jqueryV1": "^1.12",
"fgelinas/timepicker": "^0.3.3",
"components/jquery-cookie": "1.4.1.2",
"alvaro-prieto/colResizable": "^1.6",
"tapmodo/Jcrop": "^2.0",
"joeldbirch/superfish": "^1.7",
"jquery/sizzle": "^1.0",
"tomazdragar/SimpleCropper": "^1.0"
},
"require-dev": {
"squizlabs/php_codesniffer": "2.*"
Generated
+576 -231
View File
File diff suppressed because it is too large Load Diff
+6 -1
View File
@@ -52,7 +52,12 @@ echo '<!DOCTYPE html>
<link rel="stylesheet" href="../../skin/jquery.css" type="text/css"/>
<link rel="stylesheet" href="../../skin/fhcomplete.css" type="text/css"/>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css" />
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../vendor/jquery/sizzle/sizzle.js"></script>
<title>Studierende ZGV Statistik</title>
<script type="text/javascript">
$(document).ready(function()
+6 -1
View File
@@ -56,7 +56,12 @@ $html.= '<!DOCTYPE html>
<link rel="stylesheet" href="../../skin/jquery.css" type="text/css"/>
<link rel="stylesheet" href="../../skin/fhcomplete.css" type="text/css"/>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css" />
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../vendor/jquery/sizzle/sizzle.js"></script>
<title>DropOut Statistik</title>
<script type="text/javascript">
$(document).ready(function()
+6 -1
View File
@@ -52,7 +52,12 @@ echo '<!DOCTYPE html>
<link rel="stylesheet" href="../../skin/jquery.css" type="text/css"/>
<link rel="stylesheet" href="../../skin/fhcomplete.css" type="text/css"/>
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css" />
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="../../skin/jquery-ui-1.9.2.custom.min.css">
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
<script type="text/javascript" src="../../vendor/jquery/sizzle/sizzle.js"></script>
<title>DropOut ZGV Statistik</title>
<script type="text/javascript">
$(document).ready(function()
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-314
View File
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
-221
View File
@@ -1,221 +0,0 @@
/*
Author : Tomaz Dragar
Mail : <tomaz@dragar.net>
Homepage : http://www.dragar.net
*/
(function($) {
$.fn.simpleCropper = function() {
var image_dimension_x = 600;
var image_dimension_y = 600;
var scaled_width = 0;
var scaled_height = 0;
var x1 = 0;
var y1 = 0;
var x2 = 0;
var y2 = 0;
var current_image = null;
var aspX = 1;
var aspY = 1;
var file_display_area = null;
var ias = null;
var jcrop_api;
var bottom_html = "<input type='file' id='fileInput' name='files[]'/><canvas id='myCanvas' style='display:none;'></canvas><div id='modal'></div><div id='preview'><div class='buttons'><div class='cancel' style='background-image:url(../../skin/images/false-27.png);'></div><div class='ok' style='background-image:url(../../skin/images/true-27.png);'></div></div></div>";
$('body').append(bottom_html);
//add click to element
this.click(function() {
aspX = $(this).width();
aspY = $(this).height();
file_display_area = $(this);
$('#fileInput').click();
});
$(document).ready(function() {
//capture selected filename
$('#fileInput').change(function(click) {
imageUpload($('#preview').get(0));
// Reset input value
$(this).val("");
});
//ok listener
$('.ok').click(function() {
preview();
$('#preview').delay(100).hide();
$('#modal').hide();
jcrop_api.destroy();
reset();
});
//cancel listener
$('.cancel').click(function(event) {
$('#preview').delay(100).hide();
$('#modal').hide();
jcrop_api.destroy();
reset();
});
});
function reset() {
scaled_width = 0;
scaled_height = 0;
x1 = 0;
y1 = 0;
x2 = 0;
y2 = 0;
current_image = null;
aspX = 1;
aspY = 1;
file_display_area = null;
}
function imageUpload(dropbox) {
var file = $("#fileInput").get(0).files[0];
//var file = document.getElementById('fileInput').files[0];
var imageType = /image.*/;
if (file.type.match(imageType)) {
var reader = new FileReader();
reader.onload = function(e) {
// Clear the current image.
$('#photo').remove();
// Create a new image with image crop functionality
current_image = new Image();
current_image.src = reader.result;
current_image.id = "photo";
current_image.style['maxWidth'] = image_dimension_x + 'px';
current_image.style['maxHeight'] = image_dimension_y + 'px';
current_image.onload = function() {
// Calculate scaled image dimensions
if (current_image.width > image_dimension_x || current_image.height > image_dimension_y) {
if (current_image.width > current_image.height) {
scaled_width = image_dimension_x;
scaled_height = image_dimension_x * current_image.height / current_image.width;
}
if (current_image.width < current_image.height) {
scaled_height = image_dimension_y;
scaled_width = image_dimension_y * current_image.width / current_image.height;
}
if (current_image.width == current_image.height) {
scaled_width = image_dimension_x;
scaled_height = image_dimension_y;
}
}
else {
scaled_width = current_image.width;
scaled_height = current_image.height;
}
// Position the modal div to the center of the screen
$('#modal').css('display', 'block');
var window_width = $(window).width() / 2 - scaled_width / 2 + "px";
var window_height = $(window).height() / 2 - scaled_height / 2 + "px";
// Show image in modal view
$("#preview").css("top", window_height);
$("#preview").css("left", window_width);
$('#preview').show(500);
// Calculate selection rect
var selection_width = 0;
var selection_height = 0;
var max_x = Math.floor(scaled_height * aspX / aspY);
var max_y = Math.floor(scaled_width * aspY / aspX);
if (max_x > scaled_width) {
selection_width = scaled_width;
selection_height = max_y;
}
else {
selection_width = max_x;
selection_height = scaled_height;
}
ias = $(this).Jcrop({
onSelect: showCoords,
onChange: showCoords,
bgColor: '#747474',
bgOpacity: .4,
aspectRatio: aspX / aspY,
setSelect: [0, 0, selection_width, selection_height]
}, function() {
jcrop_api = this;
});
}
// Add image to dropbox element
dropbox.appendChild(current_image);
}
reader.readAsDataURL(file);
} else {
dropbox.innerHTML = "File not supported!";
}
}
function showCoords(c) {
x1 = c.x;
y1 = c.y;
x2 = c.x2;
y2 = c.y2;
}
function preview() {
// Set canvas
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
// Delete previous image on canvas
context.clearRect(0, 0, canvas.width, canvas.height);
// Set selection width and height
var sw = x2 - x1;
var sh = y2 - y1;
// Set image original width and height
var imgWidth = current_image.naturalWidth;
var imgHeight = current_image.naturalHeight;
// Set selection koeficient
var kw = imgWidth / $("#preview").width();
var kh = imgHeight / $("#preview").height();
// Set canvas width and height and draw selection on it
canvas.width = aspX;
canvas.height = aspY;
context.drawImage(current_image, (x1 * kw), (y1 * kh), (sw * kw), (sh * kh), 0, 0, aspX, aspY);
// Convert canvas image to normal img
var dataUrl = canvas.toDataURL();
var imageFoo = document.createElement('img');
imageFoo.src = dataUrl;
// Append it to the body element
$('#preview').delay(100).hide();
$('#modal').hide();
file_display_area.html('');
file_display_area.append(imageFoo);
}
$(window).resize(function() {
// Position the modal div to the center of the screen
var window_width = $(window).width() / 2 - scaled_width / 2 + "px";
var window_height = $(window).height() / 2 - scaled_height / 2 + "px";
// Show image in modal view
$("#preview").css("top", window_height);
$("#preview").css("left", window_width);
});
}
}(jQuery));
-502
View File
@@ -1,502 +0,0 @@
jQuery.autocomplete = function(input, options) {
// Create a link to self
var me = this;
// Create jQuery object for input element
var $input = $(input).attr("autocomplete", "off");
// Apply inputClass if necessary
if (options.inputClass) $input.addClass(options.inputClass);
// Create results
var results = document.createElement("div");
// Create jQuery object for results
var $results = $(results);
$results.hide().addClass(options.resultsClass).css("position", "absolute");
if( options.width > 0 ) $results.css("width", options.width);
// Add to body element
$("body").append(results);
input.autocompleter = me;
var timeout = null;
var prev = "";
var active = -1;
var cache = {};
var keyb = false;
var hasFocus = false;
var lastKeyPressCode = null;
// flush cache
function flushCache(){
cache = {};
cache.data = {};
cache.length = 0;
};
// flush cache
flushCache();
// if there is a data array supplied
if( options.data != null ){
var sFirstChar = "", stMatchSets = {}, row = [];
// no url was specified, we need to adjust the cache length to make sure it fits the local data store
if( typeof options.url != "string" ) options.cacheLength = 1;
// loop through the array and create a lookup structure
for( var i=0; i < options.data.length; i++ ){
// if row is a string, make an array otherwise just reference the array
row = ((typeof options.data[i] == "string") ? [options.data[i]] : options.data[i]);
// if the length is zero, don't add to list
if( row[0].length > 0 ){
// get the first character
sFirstChar = row[0].substring(0, 1).toLowerCase();
// if no lookup array for this character exists, look it up now
if( !stMatchSets[sFirstChar] ) stMatchSets[sFirstChar] = [];
// if the match is a string
stMatchSets[sFirstChar].push(row);
}
}
// add the data items to the cache
for( var k in stMatchSets ){
// increase the cache size
options.cacheLength++;
// add to the cache
addToCache(k, stMatchSets[k]);
}
}
$input
.keydown(function(e) {
// track last key pressed
lastKeyPressCode = e.keyCode;
switch(e.keyCode) {
case 38: // up
e.preventDefault();
moveSelect(-1);
break;
case 40: // down
e.preventDefault();
moveSelect(1);
break;
case 9: // tab
case 13: // return
if( selectCurrent() ){
// make sure to blur off the current field
$input.get(0).blur();
e.preventDefault();
}
break;
default:
active = -1;
if (timeout) clearTimeout(timeout);
timeout = setTimeout(function(){onChange();}, options.delay);
break;
}
})
.focus(function(){
// track whether the field has focus, we shouldn't process any results if the field no longer has focus
hasFocus = true;
})
.blur(function() {
// track whether the field has focus
hasFocus = false;
hideResults();
});
hideResultsNow();
function onChange() {
// ignore if the following keys are pressed: [del] [shift] [capslock]
if( lastKeyPressCode == 46 || (lastKeyPressCode > 8 && lastKeyPressCode < 32) ) return $results.hide();
var v = $input.val();
if (v == prev) return;
prev = v;
if (v.length >= options.minChars) {
$input.addClass(options.loadingClass);
requestData(v);
} else {
$input.removeClass(options.loadingClass);
$results.hide();
}
};
function moveSelect(step) {
var lis = $("li", results);
if (!lis) return;
active += step;
if (active < 0) {
active = 0;
} else if (active >= lis.size()) {
active = lis.size() - 1;
}
lis.removeClass("ac_over");
$(lis[active]).addClass("ac_over");
// Weird behaviour in IE
// if (lis[active] && lis[active].scrollIntoView) {
// lis[active].scrollIntoView(false);
// }
};
function selectCurrent() {
var li = $("li.ac_over", results)[0];
if (!li) {
var $li = $("li", results);
if (options.selectOnly) {
if ($li.length == 1) li = $li[0];
} else if (options.selectFirst) {
li = $li[0];
}
}
if (li) {
selectItem(li);
return true;
} else {
return false;
}
};
function selectItem(li) {
if (!li) {
li = document.createElement("li");
li.extra = [];
li.selectValue = "";
}
var v = $.trim(li.selectValue ? li.selectValue : li.innerHTML);
input.lastSelected = v;
prev = v;
$results.html("");
$input.val(v);
hideResultsNow();
if (options.onItemSelect) setTimeout(function() { options.onItemSelect(li) }, 1);
};
// selects a portion of the input string
function createSelection(start, end){
// get a reference to the input element
var field = $input.get(0);
if( field.createTextRange ){
var selRange = field.createTextRange();
selRange.collapse(true);
selRange.moveStart("character", start);
selRange.moveEnd("character", end);
selRange.select();
} else if( field.setSelectionRange ){
field.setSelectionRange(start, end);
} else {
if( field.selectionStart ){
field.selectionStart = start;
field.selectionEnd = end;
}
}
field.focus();
};
// fills in the input box w/the first match (assumed to be the best match)
function autoFill(sValue){
// if the last user key pressed was backspace, don't autofill
if( lastKeyPressCode != 8 ){
// fill in the value (keep the case the user has typed)
$input.val($input.val() + sValue.substring(prev.length));
// select the portion of the value not typed by the user (so the next character will erase)
createSelection(prev.length, sValue.length);
}
};
function showResults() {
// get the position of the input field right now (in case the DOM is shifted)
var pos = findPos(input);
// either use the specified width, or autocalculate based on form element
var iWidth = (options.width > 0) ? options.width : $input.width();
// reposition
$results.css({
width: parseInt(iWidth) + "px",
top: (pos.y + input.offsetHeight) + "px",
left: pos.x + "px"
}).show();
};
function hideResults() {
if (timeout) clearTimeout(timeout);
timeout = setTimeout(hideResultsNow, 200);
};
function hideResultsNow() {
if (timeout) clearTimeout(timeout);
$input.removeClass(options.loadingClass);
if ($results.is(":visible")) {
$results.hide();
}
if (options.mustMatch) {
var v = $input.val();
if (v != input.lastSelected) {
selectItem(null);
}
}
};
function receiveData(q, data) {
if (data) {
$input.removeClass(options.loadingClass);
results.innerHTML = "";
// if the field no longer has focus or if there are no matches, do not display the drop down
if( !hasFocus || data.length == 0 ) return hideResultsNow();
if ($.browser.msie) {
// we put a styled iframe behind the calendar so HTML SELECT elements don't show through
$results.append(document.createElement('iframe'));
}
results.appendChild(dataToDom(data));
// autofill in the complete box w/the first match as long as the user hasn't entered in more data
if( options.autoFill && ($input.val().toLowerCase() == q.toLowerCase()) ) autoFill(data[0][0]);
showResults();
} else {
hideResultsNow();
}
};
function parseData(data) {
if (!data) return null;
var parsed = [];
var rows = data.split(options.lineSeparator);
for (var i=0; i < rows.length; i++) {
var row = $.trim(rows[i]);
if (row) {
parsed[parsed.length] = row.split(options.cellSeparator);
}
}
return parsed;
};
function dataToDom(data) {
var ul = document.createElement("ul");
var num = data.length;
// limited results to a max number
if( (options.maxItemsToShow > 0) && (options.maxItemsToShow < num) ) num = options.maxItemsToShow;
for (var i=0; i < num; i++) {
var row = data[i];
if (!row) continue;
var li = document.createElement("li");
if (options.formatItem) {
li.innerHTML = options.formatItem(row, i, num);
li.selectValue = row[0];
} else {
li.innerHTML = row[0];
li.selectValue = row[0];
}
var extra = null;
if (row.length > 1) {
extra = [];
for (var j=1; j < row.length; j++) {
extra[extra.length] = row[j];
}
}
li.extra = extra;
ul.appendChild(li);
$(li).hover(
function() { $("li", ul).removeClass("ac_over"); $(this).addClass("ac_over"); active = $("li", ul).indexOf($(this).get(0)); },
function() { $(this).removeClass("ac_over"); }
).click(function(e) { e.preventDefault(); e.stopPropagation(); selectItem(this) });
}
return ul;
};
function requestData(q) {
if (!options.matchCase) q = q.toLowerCase();
var data = options.cacheLength ? loadFromCache(q) : null;
// recieve the cached data
if (data) {
receiveData(q, data);
// if an AJAX url has been supplied, try loading the data now
} else if( (typeof options.url == "string") && (options.url.length > 0) ){
$.get(makeUrl(q), function(data) {
data = parseData(data);
addToCache(q, data);
receiveData(q, data);
});
// if there's been no data found, remove the loading class
} else {
$input.removeClass(options.loadingClass);
}
};
function makeUrl(q) {
var url = options.url + "?q=" + encodeURI(q);
for (var i in options.extraParams) {
url += "&" + i + "=" + encodeURI(options.extraParams[i]);
}
return url;
};
function loadFromCache(q) {
if (!q) return null;
if (cache.data[q]) return cache.data[q];
if (options.matchSubset) {
for (var i = q.length - 1; i >= options.minChars; i--) {
var qs = q.substr(0, i);
var c = cache.data[qs];
if (c) {
var csub = [];
for (var j = 0; j < c.length; j++) {
var x = c[j];
var x0 = x[0];
if (matchSubset(x0, q)) {
csub[csub.length] = x;
}
}
return csub;
}
}
}
return null;
};
function matchSubset(s, sub) {
if (!options.matchCase) s = s.toLowerCase();
var i = s.indexOf(sub);
if (i == -1) return false;
return i == 0 || options.matchContains;
};
this.flushCache = function() {
flushCache();
};
this.setExtraParams = function(p) {
options.extraParams = p;
};
this.findValue = function(){
var q = $input.val();
if (!options.matchCase) q = q.toLowerCase();
var data = options.cacheLength ? loadFromCache(q) : null;
if (data) {
findValueCallback(q, data);
} else if( (typeof options.url == "string") && (options.url.length > 0) ){
$.get(makeUrl(q), function(data) {
data = parseData(data)
addToCache(q, data);
findValueCallback(q, data);
});
} else {
// no matches
findValueCallback(q, null);
}
}
function findValueCallback(q, data){
if (data) $input.removeClass(options.loadingClass);
var num = (data) ? data.length : 0;
var li = null;
for (var i=0; i < num; i++) {
var row = data[i];
if( row[0].toLowerCase() == q.toLowerCase() ){
li = document.createElement("li");
if (options.formatItem) {
li.innerHTML = options.formatItem(row, i, num);
li.selectValue = row[0];
} else {
li.innerHTML = row[0];
li.selectValue = row[0];
}
var extra = null;
if( row.length > 1 ){
extra = [];
for (var j=1; j < row.length; j++) {
extra[extra.length] = row[j];
}
}
li.extra = extra;
}
}
if( options.onFindValue ) setTimeout(function() { options.onFindValue(li) }, 1);
}
function addToCache(q, data) {
if (!data || !q || !options.cacheLength) return;
if (!cache.length || cache.length > options.cacheLength) {
flushCache();
cache.length++;
} else if (!cache[q]) {
cache.length++;
}
cache.data[q] = data;
};
function findPos(obj) {
var curleft = obj.offsetLeft || 0;
var curtop = obj.offsetTop || 0;
while (obj = obj.offsetParent) {
curleft += obj.offsetLeft
curtop += obj.offsetTop
}
return {x:curleft,y:curtop};
}
}
jQuery.fn.autocomplete = function(url, options, data) {
// Make sure options exists
options = options || {};
// Set url as option
options.url = url;
// set some bulk local data
options.data = ((typeof data == "object") && (data.constructor == Array)) ? data : null;
// Set default values for required options
options.inputClass = options.inputClass || "ac_input";
options.resultsClass = options.resultsClass || "ac_results";
options.lineSeparator = options.lineSeparator || "\n";
options.cellSeparator = options.cellSeparator || "|";
options.minChars = options.minChars || 1;
options.delay = options.delay || 400;
options.matchCase = options.matchCase || 0;
options.matchSubset = options.matchSubset || 1;
options.matchContains = options.matchContains || 0;
options.cacheLength = options.cacheLength || 1;
options.mustMatch = options.mustMatch || 0;
options.extraParams = options.extraParams || {};
options.loadingClass = options.loadingClass || "ac_loading";
options.selectFirst = options.selectFirst || false;
options.selectOnly = options.selectOnly || false;
options.maxItemsToShow = options.maxItemsToShow || -1;
options.autoFill = options.autoFill || false;
options.width = parseInt(options.width, 10) || 0;
this.each(function() {
var input = this;
new jQuery.autocomplete(input, options);
});
// Don't break the chain
return this;
}
jQuery.fn.autocompleteArray = function(data, options) {
return this.autocomplete(null, options, data);
}
jQuery.fn.indexOf = function(e){
for( var i=0; i<this.length; i++ ){
if( this[i] == e ) return i;
}
return -1;
};
File diff suppressed because one or more lines are too long
-118
View File
@@ -1,118 +0,0 @@
/*!
* jQuery Cookie Plugin v1.4.0
* https://github.com/carhartl/jquery-cookie
*
* Copyright 2013 Klaus Hartl
* Released under the MIT license
*/
(function(factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as anonymous module.
define(['jquery'], factory);
} else {
// Browser globals.
factory(jQuery);
}
}(function($) {
var pluses = /\+/g;
function encode(s) {
return config.raw ? s : encodeURIComponent(s);
}
function decode(s) {
return config.raw ? s : decodeURIComponent(s);
}
function stringifyCookieValue(value) {
return encode(config.json ? JSON.stringify(value) : String(value));
}
function parseCookieValue(s) {
if (s.indexOf('"') === 0) {
// This is a quoted cookie as according to RFC2068, unescape...
s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
}
try {
// Replace server-side written pluses with spaces.
// If we can't decode the cookie, ignore it, it's unusable.
s = decodeURIComponent(s.replace(pluses, ' '));
} catch (e) {
return;
}
try {
// If we can't parse the cookie, ignore it, it's unusable.
return config.json ? JSON.parse(s) : s;
} catch (e) {
}
}
function read(s, converter) {
var value = config.raw ? s : parseCookieValue(s);
return $.isFunction(converter) ? converter(value) : value;
}
var config = $.cookie = function(key, value, options) {
// Write
if (value !== undefined && !$.isFunction(value)) {
options = $.extend({}, config.defaults, options);
if (typeof options.expires === 'number') {
var days = options.expires, t = options.expires = new Date();
t.setDate(t.getDate() + days);
}
return (document.cookie = [
encode(key), '=', stringifyCookieValue(value),
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
options.path ? '; path=' + options.path : '',
options.domain ? '; domain=' + options.domain : '',
options.secure ? '; secure' : ''
].join(''));
}
// Read
var result = key ? undefined : {};
// To prevent the for loop in the first place assign an empty array
// in case there are no cookies at all. Also prevents odd result when
// calling $.cookie().
var cookies = document.cookie ? document.cookie.split('; ') : [];
for (var i = 0, l = cookies.length; i < l; i++) {
var parts = cookies[i].split('=');
var name = decode(parts.shift());
var cookie = parts.join('=');
if (key && key === name) {
// If second argument (value) is a function it's a converter...
result = read(cookie, value);
break;
}
// Prevent storing a cookie that we couldn't decode.
if (!key && (cookie = read(cookie)) !== undefined) {
result[name] = cookie;
}
}
return result;
};
config.defaults = {};
$.removeCookie = function(key, options) {
if ($.cookie(key) !== undefined) {
// Must not alter options, thus extending a fresh object...
$.cookie(key, '', $.extend({}, options, {expires: -1}));
return true;
}
return false;
};
}));
-122
View File
@@ -1,122 +0,0 @@
/*
* Metadata - jQuery plugin for parsing metadata from elements
*
* Copyright (c) 2006 John Resig, Yehuda Katz, Jörn Zaefferer, Paul McLanahan
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Revision: $Id$
*
*/
/**
* Sets the type of metadata to use. Metadata is encoded in JSON, and each property
* in the JSON will become a property of the element itself.
*
* There are three supported types of metadata storage:
*
* attr: Inside an attribute. The name parameter indicates *which* attribute.
*
* class: Inside the class attribute, wrapped in curly braces: { }
*
* elem: Inside a child element (e.g. a script tag). The
* name parameter indicates *which* element.
*
* The metadata for an element is loaded the first time the element is accessed via jQuery.
*
* As a result, you can define the metadata type, use $(expr) to load the metadata into the elements
* matched by expr, then redefine the metadata type and run another $(expr) for other elements.
*
* @name $.metadata.setType
*
* @example <p id="one" class="some_class {item_id: 1, item_label: 'Label'}">This is a p</p>
* @before $.metadata.setType("class")
* @after $("#one").metadata().item_id == 1; $("#one").metadata().item_label == "Label"
* @desc Reads metadata from the class attribute
*
* @example <p id="one" class="some_class" data="{item_id: 1, item_label: 'Label'}">This is a p</p>
* @before $.metadata.setType("attr", "data")
* @after $("#one").metadata().item_id == 1; $("#one").metadata().item_label == "Label"
* @desc Reads metadata from a "data" attribute
*
* @example <p id="one" class="some_class"><script>{item_id: 1, item_label: 'Label'}</script>This is a p</p>
* @before $.metadata.setType("elem", "script")
* @after $("#one").metadata().item_id == 1; $("#one").metadata().item_label == "Label"
* @desc Reads metadata from a nested script element
*
* @param String type The encoding type
* @param String name The name of the attribute to be used to get metadata (optional)
* @cat Plugins/Metadata
* @descr Sets the type of encoding to be used when loading metadata for the first time
* @type undefined
* @see metadata()
*/
(function($) {
$.extend({
metadata : {
defaults : {
type: 'class',
name: 'metadata',
cre: /({.*})/,
single: 'metadata'
},
setType: function( type, name ){
this.defaults.type = type;
this.defaults.name = name;
},
get: function( elem, opts ){
var settings = $.extend({},this.defaults,opts);
// check for empty string in single property
if ( !settings.single.length ) settings.single = 'metadata';
var data = $.data(elem, settings.single);
// returned cached data if it already exists
if ( data ) return data;
data = "{}";
if ( settings.type == "class" ) {
var m = settings.cre.exec( elem.className );
if ( m )
data = m[1];
} else if ( settings.type == "elem" ) {
if( !elem.getElementsByTagName )
return undefined;
var e = elem.getElementsByTagName(settings.name);
if ( e.length )
data = $.trim(e[0].innerHTML);
} else if ( elem.getAttribute != undefined ) {
var attr = elem.getAttribute( settings.name );
if ( attr )
data = attr;
}
if ( data.indexOf( '{' ) <0 )
data = "{" + data + "}";
data = eval("(" + data + ")");
$.data( elem, settings.single, data );
return data;
}
}
});
/**
* Returns the metadata object for the first member of the jQuery object.
*
* @name metadata
* @descr Returns element's metadata object
* @param Object opts An object contianing settings to override the defaults
* @type jQuery
* @cat Plugins/Metadata
*/
$.fn.metadata = function( opts ){
return $.metadata.get( this[0], opts );
};
})(jQuery);
File diff suppressed because one or more lines are too long
-916
View File
@@ -1,916 +0,0 @@
/*
*
* TableSorter 2.0 - Client-side table sorting with ease!
* Version 2.0.3
* @requires jQuery v1.2.3
*
* Copyright (c) 2007 Christian Bach
* Examples and docs at: http://tablesorter.com
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
*/
/**
*
* @description Create a sortable table with multi-column sorting capabilitys
*
* @example $('table').tablesorter();
* @desc Create a simple tablesorter interface.
*
* @example $('table').tablesorter({ sortList:[[0,0],[1,0]] });
* @desc Create a tablesorter interface and sort on the first and secound column in ascending order.
*
* @example $('table').tablesorter({ headers: { 0: { sorter: false}, 1: {sorter: false} } });
* @desc Create a tablesorter interface and disableing the first and secound column headers.
*
* @example $('table').tablesorter({ 0: {sorter:"integer"}, 1: {sorter:"currency"} });
* @desc Create a tablesorter interface and set a column parser for the first and secound column.
*
*
* @param Object settings An object literal containing key/value pairs to provide optional settings.
*
* @option String cssHeader (optional) A string of the class name to be appended to sortable tr elements in the thead of the table.
* Default value: "header"
*
* @option String cssAsc (optional) A string of the class name to be appended to sortable tr elements in the thead on a ascending sort.
* Default value: "headerSortUp"
*
* @option String cssDesc (optional) A string of the class name to be appended to sortable tr elements in the thead on a descending sort.
* Default value: "headerSortDown"
*
* @option String sortInitialOrder (optional) A string of the inital sorting order can be asc or desc.
* Default value: "asc"
*
* @option String sortMultisortKey (optional) A string of the multi-column sort key.
* Default value: "shiftKey"
*
* @option String textExtraction (optional) A string of the text-extraction method to use.
* For complex html structures inside td cell set this option to "complex",
* on large tables the complex option can be slow.
* Default value: "simple"
*
* @option Object headers (optional) An array containing the forces sorting rules.
* This option let's you specify a default sorting rule.
* Default value: null
*
* @option Array sortList (optional) An array containing the forces sorting rules.
* This option let's you specify a default sorting rule.
* Default value: null
*
* @option Array sortForce (optional) An array containing forced sorting rules.
* This option let's you specify a default sorting rule, which is prepended to user-selected rules.
* Default value: null
*
* @option Array sortAppend (optional) An array containing forced sorting rules.
* This option let's you specify a default sorting rule, which is appended to user-selected rules.
* Default value: null
*
* @option Boolean widthFixed (optional) Boolean flag indicating if tablesorter should apply fixed widths to the table columns.
* This is usefull when using the pager companion plugin.
* This options requires the dimension jquery plugin.
* Default value: false
*
* @option Boolean cancelSelection (optional) Boolean flag indicating if tablesorter should cancel selection of the table headers text.
* Default value: true
*
* @option Boolean debug (optional) Boolean flag indicating if tablesorter should display debuging information usefull for development.
*
* @type jQuery
*
* @name tablesorter
*
* @cat Plugins/Tablesorter
*
* @author Christian Bach/christian.bach@polyester.se
*/
(function($) {
$.extend({
tablesorter: new function() {
var parsers = [], widgets = [];
this.defaults = {
cssHeader: "header",
cssAsc: "headerSortUp",
cssDesc: "headerSortDown",
sortInitialOrder: "asc",
sortMultiSortKey: "shiftKey",
sortForce: null,
sortAppend: null,
textExtraction: "simple",
parsers: {},
widgets: [],
widgetZebra: {css: ["even","odd"]},
headers: {},
widthFixed: false,
cancelSelection: true,
sortList: [],
headerList: [],
dateFormat: "us",
decimal: '.',
debug: false
};
/* debuging utils */
function benchmark(s,d) {
log(s + "," + (new Date().getTime() - d.getTime()) + "ms");
}
this.benchmark = benchmark;
function log(s) {
if (typeof console != "undefined" && typeof console.debug != "undefined") {
console.log(s);
} else {
alert(s);
}
}
/* parsers utils */
function buildParserCache(table,$headers) {
if(table.config.debug) { var parsersDebug = ""; }
var rows = table.tBodies[0].rows;
if(table.tBodies[0].rows[0]) {
var list = [], cells = rows[0].cells, l = cells.length;
for (var i=0;i < l; i++) {
var p = false;
if($.metadata && ($($headers[i]).metadata() && $($headers[i]).metadata().sorter) ) {
p = getParserById($($headers[i]).metadata().sorter);
} else if((table.config.headers[i] && table.config.headers[i].sorter)) {
p = getParserById(table.config.headers[i].sorter);
}
if(!p) {
p = detectParserForColumn(table,cells[i]);
}
if(table.config.debug) { parsersDebug += "column:" + i + " parser:" +p.id + "\n"; }
list.push(p);
}
}
if(table.config.debug) { log(parsersDebug); }
return list;
};
function detectParserForColumn(table,node) {
var l = parsers.length;
for(var i=1; i < l; i++) {
if(parsers[i].is($.trim(getElementText(table.config,node)),table,node)) {
return parsers[i];
}
}
// 0 is always the generic parser (text)
return parsers[0];
}
function getParserById(name) {
var l = parsers.length;
for(var i=0; i < l; i++) {
if(parsers[i].id.toLowerCase() == name.toLowerCase()) {
return parsers[i];
}
}
return false;
}
/* utils */
function buildCache(table) {
if(table.config.debug) { var cacheTime = new Date(); }
var totalRows = (table.tBodies[0] && table.tBodies[0].rows.length) || 0,
totalCells = (table.tBodies[0].rows[0] && table.tBodies[0].rows[0].cells.length) || 0,
parsers = table.config.parsers,
cache = {row: [], normalized: []};
for (var i=0;i < totalRows; ++i) {
/** Add the table data to main data array */
var c = table.tBodies[0].rows[i], cols = [];
cache.row.push($(c));
for(var j=0; j < totalCells; ++j) {
cols.push(parsers[j].format(getElementText(table.config,c.cells[j]),table,c.cells[j]));
}
cols.push(i); // add position for rowCache
cache.normalized.push(cols);
cols = null;
};
if(table.config.debug) { benchmark("Building cache for " + totalRows + " rows:", cacheTime); }
return cache;
};
function getElementText(config,node) {
if(!node) return "";
var t = "";
if(config.textExtraction == "simple") {
if(node.childNodes[0] && node.childNodes[0].hasChildNodes()) {
t = node.childNodes[0].innerHTML;
} else {
t = node.innerHTML;
}
} else {
if(typeof(config.textExtraction) == "function") {
t = config.textExtraction(node);
} else {
t = $(node).text();
}
}
t=t.replace('ö','o');
t=t.replace('Ö','O');
t=t.replace('ü','u');
t=t.replace('Ü','U');
t=t.replace('ä','a');
t=t.replace('Ä','A');
return t;
}
function appendToTable(table,cache) {
if(table.config.debug) {var appendTime = new Date()}
var c = cache,
r = c.row,
n= c.normalized,
totalRows = n.length,
checkCell = (n[0].length-1),
tableBody = $(table.tBodies[0]),
rows = [];
for (var i=0;i < totalRows; i++) {
rows.push(r[n[i][checkCell]]);
if(!table.config.appender) {
var o = r[n[i][checkCell]];
var l = o.length;
for(var j=0; j < l; j++) {
tableBody[0].appendChild(o[j]);
}
//tableBody.append(r[n[i][checkCell]]);
}
}
if(table.config.appender) {
table.config.appender(table,rows);
}
rows = null;
if(table.config.debug) { benchmark("Rebuilt table:", appendTime); }
//apply table widgets
applyWidget(table);
// trigger sortend
setTimeout(function() {
$(table).trigger("sortEnd");
},0);
};
function buildHeaders(table) {
if(table.config.debug) { var time = new Date(); }
var meta = ($.metadata) ? true : false, tableHeadersRows = [];
for(var i = 0; i < table.tHead.rows.length; i++) { tableHeadersRows[i]=0; };
$tableHeaders = $("thead th",table);
$tableHeaders.each(function(index) {
this.count = 0;
this.column = index;
this.order = formatSortingOrder(table.config.sortInitialOrder);
if(checkHeaderMetadata(this) || checkHeaderOptions(table,index)) this.sortDisabled = true;
if(!this.sortDisabled) {
$(this).addClass(table.config.cssHeader);
}
// add cell to headerList
table.config.headerList[index]= this;
});
if(table.config.debug) { benchmark("Built headers:", time); log($tableHeaders); }
return $tableHeaders;
};
function checkCellColSpan(table, rows, row) {
var arr = [], r = table.tHead.rows, c = r[row].cells;
for(var i=0; i < c.length; i++) {
var cell = c[i];
if ( cell.colSpan > 1) {
arr = arr.concat(checkCellColSpan(table, headerArr,row++));
} else {
if(table.tHead.length == 1 || (cell.rowSpan > 1 || !r[row+1])) {
arr.push(cell);
}
//headerArr[row] = (i+row);
}
}
return arr;
};
function checkHeaderMetadata(cell) {
if(($.metadata) && ($(cell).metadata().sorter === false)) { return true; };
return false;
}
function checkHeaderOptions(table,i) {
if((table.config.headers[i]) && (table.config.headers[i].sorter === false)) { return true; };
return false;
}
function applyWidget(table) {
var c = table.config.widgets;
var l = c.length;
for(var i=0; i < l; i++) {
getWidgetById(c[i]).format(table);
}
}
function getWidgetById(name) {
var l = widgets.length;
for(var i=0; i < l; i++) {
if(widgets[i].id.toLowerCase() == name.toLowerCase() ) {
return widgets[i];
}
}
};
function formatSortingOrder(v) {
if(typeof(v) != "Number") {
i = (v.toLowerCase() == "desc") ? 1 : 0;
} else {
i = (v == (0 || 1)) ? v : 0;
}
return i;
}
function isValueInArray(v, a) {
var l = a.length;
for(var i=0; i < l; i++) {
if(a[i][0] == v) {
return true;
}
}
return false;
}
function setHeadersCss(table,$headers, list, css) {
// remove all header information
$headers.removeClass(css[0]).removeClass(css[1]);
var h = [];
$headers.each(function(offset) {
if(!this.sortDisabled) {
h[this.column] = $(this);
}
});
var l = list.length;
for(var i=0; i < l; i++) {
h[list[i][0]].addClass(css[list[i][1]]);
}
}
function fixColumnWidth(table,$headers) {
var c = table.config;
if(c.widthFixed) {
var colgroup = $('<colgroup>');
$("tr:first td",table.tBodies[0]).each(function() {
colgroup.append($('<col>').css('width',$(this).width()));
});
$(table).prepend(colgroup);
};
}
function updateHeaderSortCount(table,sortList) {
var c = table.config, l = sortList.length;
for(var i=0; i < l; i++) {
var s = sortList[i], o = c.headerList[s[0]];
o.count = s[1];
o.count++;
}
}
/* sorting methods */
function multisort(table,sortList,cache) {
if(table.config.debug) { var sortTime = new Date(); }
var dynamicExp = "var sortWrapper = function(a,b) {", l = sortList.length;
for(var i=0; i < l; i++) {
var c = sortList[i][0];
var order = sortList[i][1];
var s = (getCachedSortType(table.config.parsers,c) == "text") ? ((order == 0) ? "sortText" : "sortTextDesc") : ((order == 0) ? "sortNumeric" : "sortNumericDesc");
var e = "e" + i;
dynamicExp += "var " + e + " = " + s + "(a[" + c + "],b[" + c + "]); ";
dynamicExp += "if(" + e + ") { return " + e + "; } ";
dynamicExp += "else { ";
}
// if value is the same keep orignal order
var orgOrderCol = cache.normalized[0].length - 1;
dynamicExp += "return a[" + orgOrderCol + "]-b[" + orgOrderCol + "];";
for(var i=0; i < l; i++) {
dynamicExp += "}; ";
}
dynamicExp += "return 0; ";
dynamicExp += "}; ";
eval(dynamicExp);
cache.normalized.sort(sortWrapper);
if(table.config.debug) { benchmark("Sorting on " + sortList.toString() + " and dir " + order+ " time:", sortTime); }
return cache;
};
function sortText(a,b) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
};
function sortTextDesc(a,b) {
return ((b < a) ? -1 : ((b > a) ? 1 : 0));
};
function sortNumeric(a,b) {
return a-b;
};
function sortNumericDesc(a,b) {
return b-a;
};
function getCachedSortType(parsers,i) {
return parsers[i].type;
};
/* public methods */
this.construct = function(settings) {
return this.each(function() {
if(!this.tHead || !this.tBodies) return;
var $this, $document,$headers, cache, config, shiftDown = 0, sortOrder;
this.config = {};
config = $.extend(this.config, $.tablesorter.defaults, settings);
// store common expression for speed
$this = $(this);
// build headers
$headers = buildHeaders(this);
// try to auto detect column type, and store in tables config
this.config.parsers = buildParserCache(this,$headers);
// build the cache for the tbody cells
cache = buildCache(this);
// get the css class names, could be done else where.
var sortCSS = [config.cssDesc,config.cssAsc];
// fixate columns if the users supplies the fixedWidth option
fixColumnWidth(this);
// apply event handling to headers
// this is to big, perhaps break it out?
$headers.click(function(e) {
$this.trigger("sortStart");
var totalRows = ($this[0].tBodies[0] && $this[0].tBodies[0].rows.length) || 0;
if(!this.sortDisabled && totalRows > 0) {
// store exp, for speed
var $cell = $(this);
// get current column index
var i = this.column;
// get current column sort order
this.order = this.count++ % 2;
// user only whants to sort on one column
if(!e[config.sortMultiSortKey]) {
// flush the sort list
config.sortList = [];
if(config.sortForce != null) {
var a = config.sortForce;
for(var j=0; j < a.length; j++) {
if(a[j][0] != i) {
config.sortList.push(a[j]);
}
}
}
// add column to sort list
config.sortList.push([i,this.order]);
// multi column sorting
} else {
// the user has clicked on an all ready sortet column.
if(isValueInArray(i,config.sortList)) {
// revers the sorting direction for all tables.
for(var j=0; j < config.sortList.length; j++) {
var s = config.sortList[j], o = config.headerList[s[0]];
if(s[0] == i) {
o.count = s[1];
o.count++;
s[1] = o.count % 2;
}
}
} else {
// add column to sort list array
config.sortList.push([i,this.order]);
}
};
setTimeout(function() {
//set css for headers
setHeadersCss($this[0],$headers,config.sortList,sortCSS);
appendToTable($this[0],multisort($this[0],config.sortList,cache));
},1);
// stop normal event by returning false
return false;
}
// cancel selection
}).mousedown(function() {
if(config.cancelSelection) {
this.onselectstart = function() {return false};
return false;
}
});
// apply easy methods that trigger binded events
$this.bind("update",function() {
// rebuild parsers.
this.config.parsers = buildParserCache(this,$headers);
// rebuild the cache map
cache = buildCache(this);
}).bind("sorton",function(e,list) {
$(this).trigger("sortStart");
config.sortList = list;
// update and store the sortlist
var sortList = config.sortList;
// update header count index
updateHeaderSortCount(this,sortList);
//set css for headers
setHeadersCss(this,$headers,sortList,sortCSS);
// sort the table and append it to the dom
appendToTable(this,multisort(this,sortList,cache));
}).bind("appendCache",function() {
appendToTable(this,cache);
}).bind("applyWidgetId",function(e,id) {
getWidgetById(id).format(this);
}).bind("applyWidgets",function() {
// apply widgets
applyWidget(this);
});
if($.metadata && ($(this).metadata() && $(this).metadata().sortlist)) {
config.sortList = $(this).metadata().sortlist;
}
// if user has supplied a sort list to constructor.
if(config.sortList.length > 0) {
$this.trigger("sorton",[config.sortList]);
}
// apply widgets
applyWidget(this);
});
};
this.addParser = function(parser) {
var l = parsers.length, a = true;
for(var i=0; i < l; i++) {
if(parsers[i].id.toLowerCase() == parser.id.toLowerCase()) {
a = false;
}
}
if(a) { parsers.push(parser); };
};
this.addWidget = function(widget) {
widgets.push(widget);
};
this.formatFloat = function(s) {
var i = parseFloat(s);
return (isNaN(i)) ? 0 : i;
};
this.formatInt = function(s) {
var i = parseInt(s);
return (isNaN(i)) ? 0 : i;
};
this.isDigit = function(s,config) {
var DECIMAL = '\\' + config.decimal;
var exp = '/(^[+]?0(' + DECIMAL +'0+)?$)|(^([-+]?[1-9][0-9]*)$)|(^([-+]?((0?|[1-9][0-9]*)' + DECIMAL +'(0*[1-9][0-9]*)))$)|(^[-+]?[1-9]+[0-9]*' + DECIMAL +'0+$)/';
return RegExp(exp).test($.trim(s));
};
this.isInt = function(s,config) {
if(isNaN(parseInt(s)))
return false;
else
return true;
};
this.clearTableBody = function(table) {
if($.browser.msie) {
function empty() {
while ( this.firstChild ) this.removeChild( this.firstChild );
}
empty.apply(table.tBodies[0]);
} else {
table.tBodies[0].innerHTML = "";
}
};
}
});
// extend plugin scope
$.fn.extend({
tablesorter: $.tablesorter.construct
});
var ts = $.tablesorter;
// add default parsers
ts.addParser({
id: "text",
is: function(s) {
return true;
},
format: function(s) {
return $.trim(s.toLowerCase());
},
type: "text"
});
ts.addParser({
id: "digit",
is: function(s,table) {
var c = table.config;
return $.tablesorter.isDigit(s,c);
},
format: function(s) {
return $.tablesorter.formatFloat(s);
},
type: "numeric"
});
ts.addParser({
id: "digitmittausenderpunkt",
is: function(s) {
return /^[0-9.,]/.test(s);
},
format: function(s) {
return $.tablesorter.formatFloat(s.replace('.',""));
},
type: "numeric"
});
ts.addParser({
id: "DatummitUhrzeit",
is: function(s) {
return s.match(new RegExp(/^[0-9]{1,2}.[0-9]{1,2}.[0-9]{4} (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]))$/));
},
format: function(s) {
return $.tablesorter.formatFloat(new Date(s).getTime());
},
type: "numeric"
});
ts.addParser({
id: "integer",
is: function(s,table) {
var c = table.config;
return $.tablesorter.isInt(s,c);
},
format: function(s) {
return $.tablesorter.formatInt(s);
},
type: "numeric"
});
ts.addParser({
id: "currency",
is: function(s) {
return /^[£$€?.]/.test(s);
},
format: function(s) {
return $.tablesorter.formatFloat(s.replace(new RegExp(/[^0-9.]/g),""));
},
type: "numeric"
});
ts.addParser({
id: "ipAddress",
is: function(s) {
return /^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s);
},
format: function(s) {
var a = s.split("."), r = "", l = a.length;
for(var i = 0; i < l; i++) {
var item = a[i];
if(item.length == 2) {
r += "0" + item;
} else {
r += item;
}
}
return $.tablesorter.formatFloat(r);
},
type: "numeric"
});
ts.addParser({
id: "url",
is: function(s) {
return /^(https?|ftp|file):\/\/$/.test(s);
},
format: function(s) {
return jQuery.trim(s.replace(new RegExp(/(https?|ftp|file):\/\//),''));
},
type: "text"
});
ts.addParser({
id: "isoDate",
is: function(s) {
return /^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(s);
},
format: function(s) {
return $.tablesorter.formatFloat((s != "") ? new Date(s.replace(new RegExp(/-/g),"/")).getTime() : "0");
},
type: "numeric"
});
ts.addParser({
id: "percent",
is: function(s) {
return /\%$/.test($.trim(s));
},
format: function(s) {
return $.tablesorter.formatFloat(s.replace(new RegExp(/%/g),""));
},
type: "numeric"
});
ts.addParser({
id: "usLongDate",
is: function(s) {
return s.match(new RegExp(/^[A-Za-z]{3,10}\.? [0-9]{1,2}, ([0-9]{4}|'?[0-9]{2}) (([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(AM|PM)))$/));
},
format: function(s) {
return $.tablesorter.formatFloat(new Date(s).getTime());
},
type: "numeric"
});
ts.addParser({
id: "shortDate",
is: function(s) {
return /\d{1,2}[\/\-]\d{1,2}[\/\-]\d{2,4}/.test(s);
},
format: function(s,table) {
var c = table.config;
s = s.replace(/\-/g,"/");
if(c.dateFormat == "us") {
// reformat the string in ISO format
s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/, "$3/$1/$2");
} else if(c.dateFormat == "uk") {
//reformat the string in ISO format
s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})/, "$3/$2/$1");
} else if(c.dateFormat == "dd/mm/yy" || c.dateFormat == "dd-mm-yy") {
s = s.replace(/(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{2})/, "$1/$2/$3");
}
return $.tablesorter.formatFloat(new Date(s).getTime());
},
type: "numeric"
});
ts.addParser({
id: "dedate",
is: function(s) {
return /\d{1,2}.\d{1,2}.\d{2,4}/.test(s);
},
format: function(s) {
s = s.replace(/(\d{1,2}).(\d{1,2}).(\d{2,4})/, "$2/$1/$3");
return $.tablesorter.formatFloat(new Date(s).getTime());
},
type: "numeric"
});
ts.addParser({
id: "time",
is: function(s) {
return /^(([0-2]?[0-9]:[0-5][0-9])|([0-1]?[0-9]:[0-5][0-9]\s(am|pm)))$/.test(s);
},
format: function(s) {
return $.tablesorter.formatFloat(new Date("2000/01/01 " + s).getTime());
},
type: "numeric"
});
ts.addParser({
id: "metadata",
is: function(s) {
return false;
},
format: function(s,table,cell) {
var c = table.config, p = (!c.parserMetadataName) ? 'sortValue' : c.parserMetadataName;
return $(cell).metadata()[p];
},
type: "numeric"
});
// add default widgets
ts.addWidget({
id: "zebra",
format: function(table) {
if(table.config.debug) { var time = new Date(); }
$("tr:visible",table.tBodies[0])
.filter(':even')
.removeClass(table.config.widgetZebra.css[1]).addClass(table.config.widgetZebra.css[0])
.end().filter(':odd')
.removeClass(table.config.widgetZebra.css[0]).addClass(table.config.widgetZebra.css[1]);
if(table.config.debug) { $.tablesorter.benchmark("Applying Zebra widget", time); }
}
});
})(jQuery);
-752
View File
@@ -1,752 +0,0 @@
/*!
* TableSorter 2.15.11 min - Client-side table sorting with ease!
* Copyright (c) 2007 Christian Bach
*/
!function(g) {
g.extend({tablesorter: new function() {
function d() {
var a = arguments[0], b = 1 < arguments.length ? Array.prototype.slice.call(arguments) : a;
if ("undefined" !== typeof console && "undefined" !== typeof console.log)
console[/error/i.test(a) ? "error" : /warn/i.test(a) ? "warn" : "log"](b);
else
alert(b)
}
function t(a, b) {
d(a + " (" + ((new Date).getTime() - b.getTime()) + "ms)")
}
function m(a) {
for (var b in a)
return!1;
return!0
}
function q(a, b, c) {
if (!b)
return"";
var h = a.config, e = h.textExtraction, f = "", f = "simple" === e ? h.supportsTextContent ? b.textContent : g(b).text() : "function" === typeof e ? e(b, a, c) : "object" === typeof e && e.hasOwnProperty(c) ? e[c](b, a, c) : h.supportsTextContent ? b.textContent : g(b).text();
return g.trim(f)
}
function s(a) {
var b = a.config, c = b.$tbodies = b.$table.children("tbody:not(." + b.cssInfoBlock + ")"), h, e, w, k, n, g, l, z = "";
if (0 === c.length)
return b.debug ? d("Warning: *Empty table!* Not building a parser cache") : "";
b.debug && (l = new Date, d("Detecting parsers for each column"));
c = c[0].rows;
if (c[0])
for (h = [], e = c[0].cells.length, w = 0; w < e; w++) {
k = b.$headers.filter(":not([colspan])");
k = k.add(b.$headers.filter('[colspan="1"]')).filter('[data-column="' + w + '"]:last');
n = b.headers[w];
g = f.getParserById(f.getData(k, n, "sorter"));
b.empties[w] = f.getData(k, n, "empty") || b.emptyTo || (b.emptyToBottom ? "bottom" : "top");
b.strings[w] = f.getData(k, n, "string") || b.stringTo || "max";
if (!g)
a:{
k = a;
n = c;
g = -1;
for (var m = w, y = void 0, x = f.parsers.length, r = !1, s = "", y = !0; "" === s && y; )
g++, n[g] ? (r = n[g].cells[m], s = q(k, r, m), k.config.debug && d("Checking if value was empty on row " + g + ", column: " + m + ': "' + s + '"')) : y = !1;
for (; 0 <= --x; )
if ((y = f.parsers[x]) && "text" !== y.id && y.is && y.is(s, k, r)) {
g = y;
break a
}
g = f.getParserById("text")
}
b.debug && (z += "column:" + w + "; parser:" + g.id + "; string:" + b.strings[w] + "; empty: " + b.empties[w] + "\n");
h.push(g)
}
b.debug && (d(z), t("Completed detecting parsers", l));
b.parsers = h
}
function v(a) {
var b = a.tBodies, c = a.config, h, e, w = c.parsers, k, n, p, l, z, m, y, x = [];
c.cache = {};
if (!w)
return c.debug ? d("Warning: *Empty table!* Not building a cache") : "";
c.debug && (y = new Date);
c.showProcessing && f.isProcessing(a, !0);
for (l = 0; l < b.length; l++)
if (c.cache[l] = {row: [], normalized: []}, !g(b[l]).hasClass(c.cssInfoBlock)) {
h = b[l] && b[l].rows.length || 0;
e = b[l].rows[0] && b[l].rows[0].cells.length || 0;
for (n = 0; n < h; ++n)
if (z = g(b[l].rows[n]), m = [], z.hasClass(c.cssChildRow))
c.cache[l].row[c.cache[l].row.length - 1] = c.cache[l].row[c.cache[l].row.length - 1].add(z);
else {
c.cache[l].row.push(z);
for (p = 0; p < e; ++p)
"undefined" === typeof w[p] ? c.debug && d("No parser found for cell:", z[0].cells[p], "does it have a header?") : (k = q(a, z[0].cells[p], p), k = w[p].format(k, a, z[0].cells[p], p), m.push(k), "numeric" === (w[p].type || "").toLowerCase() && (x[p] = Math.max(Math.abs(k) || 0, x[p] || 0)));
m.push(c.cache[l].normalized.length);
c.cache[l].normalized.push(m)
}
c.cache[l].colMax = x
}
c.showProcessing && f.isProcessing(a);
c.debug && t("Building cache for " + h + " rows", y)
}
function A(a, b) {
var c = a.config, h = c.widgetOptions, e = a.tBodies, w = [], k = c.cache, d, p, l, z, q, y, x, r, s, u, v;
if (m(k))
return c.appender ? c.appender(a, w) : a.isUpdating ? c.$table.trigger("updateComplete", a) : "";
c.debug && (v = new Date);
for (r = 0; r < e.length; r++)
if (d = g(e[r]), d.length && !d.hasClass(c.cssInfoBlock)) {
q = f.processTbody(a, d, !0);
d = k[r].row;
p = k[r].normalized;
z = (l = p.length) ? p[0].length - 1 : 0;
for (y = 0; y < l; y++)
if (u = p[y][z], w.push(d[u]), !c.appender || c.pager && !(c.pager.removeRows && h.pager_removeRows || c.pager.ajax))
for (s = d[u].length, x = 0; x < s; x++)
q.append(d[u][x]);
f.processTbody(a, q, !1)
}
c.appender && c.appender(a, w);
c.debug && t("Rebuilt table", v);
b || c.appender || f.applyWidget(a);
a.isUpdating && c.$table.trigger("updateComplete", a)
}
function D(a) {
var b = [], c = {}, h = 0, e = g(a).children("thead, tfoot").children("tr"), f, d, n, p, l, m, t, q, s, r;
for (f = 0; f < e.length; f++)
for (l = e[f].cells, d = 0; d < l.length; d++) {
p = l[d];
m = p.parentNode.rowIndex;
t = m + "-" + p.cellIndex;
q = p.rowSpan || 1;
s = p.colSpan || 1;
"undefined" === typeof b[m] && (b[m] = []);
for (n = 0; n < b[m].length + 1; n++)
if ("undefined" === typeof b[m][n]) {
r = n;
break
}
c[t] = r;
h = Math.max(r, h);
g(p).attr({"data-column": r});
for (n = m; n < m + q; n++)
for ("undefined" === typeof b[n] && (b[n] = []), t = b[n], p = r; p < r + s; p++)
t[p] = "x"
}
a.config.columns = h + 1;
return c
}
function C(a) {
return/^d/i.test(a) || 1 === a
}
function E(a) {
var b = D(a), c, h, e, w, k, n, p, l = a.config;
l.headerList = [];
l.headerContent = [];
l.debug && (p = new Date);
w = l.cssIcon ? '<i class="' + (l.cssIcon === f.css.icon ? f.css.icon : l.cssIcon + " " + f.css.icon) + '"></i>' : "";
l.$headers = g(a).find(l.selectorHeaders).each(function(a) {
h = g(this);
c = l.headers[a];
l.headerContent[a] = g(this).html();
k = l.headerTemplate.replace(/\{content\}/g, g(this).html()).replace(/\{icon\}/g, w);
l.onRenderTemplate && (e = l.onRenderTemplate.apply(h, [a, k])) && "string" === typeof e && (k = e);
g(this).html('<div class="' + f.css.headerIn + '">' + k + "</div>");
l.onRenderHeader && l.onRenderHeader.apply(h, [a]);
this.column = b[this.parentNode.rowIndex + "-" + this.cellIndex];
this.order = C(f.getData(h, c, "sortInitialOrder") || l.sortInitialOrder) ? [1, 0, 2] : [0, 1, 2];
this.count = -1;
this.lockedOrder = !1;
n = f.getData(h, c, "lockedOrder") || !1;
"undefined" !== typeof n && !1 !== n && (this.order = this.lockedOrder = C(n) ? [1, 1, 1] : [0, 0, 0]);
h.addClass(f.css.header + " " + l.cssHeader);
l.headerList[a] = this;
h.parent().addClass(f.css.headerRow + " " + l.cssHeaderRow).attr("role", "row");
l.tabIndex && h.attr("tabindex", 0)
}).attr({scope: "col", role: "columnheader"});
G(a);
l.debug && (t("Built headers:", p), d(l.$headers))
}
function B(a, b, c) {
var h = a.config;
h.$table.find(h.selectorRemove).remove();
s(a);
v(a);
H(h.$table, b, c)
}
function G(a) {
var b, c, h = a.config;
h.$headers.each(function(e, d) {
c = g(d);
b = "false" === f.getData(d, h.headers[e], "sorter");
d.sortDisabled = b;
c[b ? "addClass" : "removeClass"]("sorter-false").attr("aria-disabled", "" + b);
a.id && (b ? c.removeAttr("aria-controls") : c.attr("aria-controls", a.id))
})
}
function F(a) {
var b, c, h, e = a.config, d = e.sortList, k = f.css.sortNone + " " + e.cssNone, n = [f.css.sortAsc + " " + e.cssAsc, f.css.sortDesc + " " + e.cssDesc], p = ["ascending", "descending"], l = g(a).find("tfoot tr").children().removeClass(n.join(" "));
e.$headers.removeClass(n.join(" ")).addClass(k).attr("aria-sort", "none");
h = d.length;
for (b = 0; b < h; b++)
if (2 !== d[b][1] && (a = e.$headers.not(".sorter-false").filter('[data-column="' + d[b][0] + '"]' + (1 === h ? ":last" : "")), a.length))
for (c = 0; c < a.length; c++)
a[c].sortDisabled || (a.eq(c).removeClass(k).addClass(n[d[b][1]]).attr("aria-sort", p[d[b][1]]), l.length && l.filter('[data-column="' + d[b][0] + '"]').eq(c).addClass(n[d[b][1]]));
e.$headers.not(".sorter-false").each(function() {
var a = g(this), b = this.order[(this.count + 1) % (e.sortReset ? 3 : 2)], b = a.text() + ": " + f.language[a.hasClass(f.css.sortAsc) ? "sortAsc" : a.hasClass(f.css.sortDesc) ? "sortDesc" : "sortNone"] + f.language[0 === b ? "nextAsc" : 1 === b ? "nextDesc" : "nextNone"];
a.attr("aria-label", b)
})
}
function L(a) {
if (a.config.widthFixed && 0 === g(a).find("colgroup").length) {
var b = g("<colgroup>"), c = g(a).width();
g(a.tBodies[0]).find("tr:first").children("td:visible").each(function() {
b.append(g("<col>").css("width", parseInt(g(this).width() / c * 1E3, 10) / 10 + "%"))
});
g(a).prepend(b)
}
}
function M(a, b) {
var c, h, e, d = a.config, f = b || d.sortList;
d.sortList = [];
g.each(f, function(a, b) {
c = [parseInt(b[0], 10), parseInt(b[1], 10)];
if (e = d.$headers[c[0]])
d.sortList.push(c), h = g.inArray(c[1], e.order), e.count = 0 <= h ? h : c[1] % (d.sortReset ? 3 : 2)
})
}
function N(a, b) {
return a && a[b] ? a[b].type || "" : ""
}
function O(a, b, c) {
var h, e, d, k = a.config, n = !c[k.sortMultiSortKey], p = k.$table;
p.trigger("sortStart", a);
b.count = c[k.sortResetKey] ? 2 : (b.count + 1) % (k.sortReset ? 3 : 2);
k.sortRestart && (e = b, k.$headers.each(function() {
this === e || !n && g(this).is("." + f.css.sortDesc + ",." + f.css.sortAsc) || (this.count = -1)
}));
e = b.column;
if (n) {
k.sortList = [];
if (null !== k.sortForce)
for (h = k.sortForce, c = 0; c < h.length; c++)
h[c][0] !== e && k.sortList.push(h[c]);
h = b.order[b.count];
if (2 > h && (k.sortList.push([e, h]), 1 < b.colSpan))
for (c = 1; c < b.colSpan; c++)
k.sortList.push([e + c, h])
} else {
if (k.sortAppend && 1 < k.sortList.length)
for (c = 0; c < k.sortAppend.length; c++)
d = f.isValueInArray(k.sortAppend[c][0], k.sortList), 0 <= d && k.sortList.splice(d, 1);
if (0 <= f.isValueInArray(e, k.sortList))
for (c = 0; c < k.sortList.length; c++)
d = k.sortList[c], h = k.$headers[d[0]], d[0] === e && (d[1] = h.order[b.count], 2 === d[1] && (k.sortList.splice(c, 1), h.count = -1));
else if (h = b.order[b.count], 2 > h && (k.sortList.push([e, h]), 1 < b.colSpan))
for (c = 1; c < b.colSpan; c++)
k.sortList.push([e + c, h])
}
if (null !== k.sortAppend)
for (h = k.sortAppend, c = 0; c < h.length; c++)
h[c][0] !== e && k.sortList.push(h[c]);
p.trigger("sortBegin", a);
setTimeout(function() {
F(a);
I(a);
A(a);
p.trigger("sortEnd", a)
}, 1)
}
function I(a) {
var b, c, h, e, d, k, g, p, l, q, s, u, x = 0, r = a.config, v = r.textSorter || "", A = r.sortList, B = A.length, C = a.tBodies.length;
if (!r.serverSideSorting && !m(r.cache)) {
r.debug && (l = new Date);
for (c = 0; c < C; c++)
d = r.cache[c].colMax, p = (k = r.cache[c].normalized) && k[0] ? k[0].length - 1 : 0, k.sort(function(c, k) {
for (b = 0; b < B; b++) {
e = A[b][0];
g = A[b][1];
x = 0 === g;
if (r.sortStable && c[e] === k[e] && 1 === B)
break;
(h = /n/i.test(N(r.parsers, e))) && r.strings[e] ? (h = "boolean" === typeof r.string[r.strings[e]] ? (x ? 1 : -1) * (r.string[r.strings[e]] ? -1 : 1) : r.strings[e] ? r.string[r.strings[e]] || 0 : 0, q = r.numberSorter ? r.numberSorter(c[e], k[e], x, d[e], a) : f["sortNumeric" + (x ? "Asc" : "Desc")](c[e], k[e], h, d[e], e, a)) : (s = x ? c : k, u = x ? k : c, q = "function" === typeof v ? v(s[e], u[e], x, e, a) : "object" === typeof v && v.hasOwnProperty(e) ? v[e](s[e], u[e], x, e, a) : f["sortNatural" + (x ? "Asc" : "Desc")](c[e], k[e], e, a, r));
if (q)
return q
}
return c[p] - k[p]
});
r.debug && t("Sorting on " + A.toString() + " and dir " + g + " time", l)
}
}
function J(a, b) {
a[0].isUpdating && a.trigger("updateComplete");
"function" === typeof b && b(a[0])
}
function H(a, b, c) {
var h = a[0].config.sortList;
!1 !== b && !a[0].isProcessing && h.length ? a.trigger("sorton", [h, function() {
J(a, c)
}, !0]) : J(a, c)
}
function K(a) {
var b = a.config, c = b.$table;
c.unbind("sortReset update updateRows updateCell updateAll addRows updateComplete sorton appendCache updateCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave ".split(" ").join(b.namespace + " ")).bind("sortReset" + b.namespace, function(c) {
c.stopPropagation();
b.sortList = [];
F(a);
I(a);
A(a)
}).bind("updateAll" + b.namespace, function(c, e, d) {
c.stopPropagation();
a.isUpdating = !0;
f.refreshWidgets(a, !0, !0);
f.restoreHeaders(a);
E(a);
f.bindEvents(a, b.$headers);
K(a);
B(a, e, d)
}).bind("update" + b.namespace + " updateRows" + b.namespace, function(b, c, d) {
b.stopPropagation();
a.isUpdating = !0;
G(a);
B(a, c, d)
}).bind("updateCell" + b.namespace, function(h, e, d, f) {
h.stopPropagation();
a.isUpdating = !0;
c.find(b.selectorRemove).remove();
var n, p, l;
n = c.find("tbody");
h = n.index(g(e).parents("tbody").filter(":first"));
var m = g(e).parents("tr").filter(":first");
e = g(e)[0];
n.length && 0 <= h && (p = n.eq(h).find("tr").index(m), l = e.cellIndex, n = b.cache[h].normalized[p].length - 1, b.cache[h].row[a.config.cache[h].normalized[p][n]] = m, b.cache[h].normalized[p][l] = b.parsers[l].format(q(a, e, l), a, e, l), H(c, d, f))
}).bind("addRows" + b.namespace, function(h, e, d, f) {
h.stopPropagation();
a.isUpdating = !0;
if (m(b.cache))
G(a), B(a, d, f);
else {
var g, p = e.filter("tr").length, l = [], t = e[0].cells.length, v = c.find("tbody").index(e.parents("tbody").filter(":first"));
b.parsers || s(a);
for (h = 0; h < p; h++) {
for (g = 0; g < t; g++)
l[g] = b.parsers[g].format(q(a, e[h].cells[g], g), a, e[h].cells[g], g);
l.push(b.cache[v].row.length);
b.cache[v].row.push([e[h]]);
b.cache[v].normalized.push(l);
l = []
}
H(c, d, f)
}
}).bind("updateComplete" + b.namespace, function() {
a.isUpdating = !1
}).bind("sorton" + b.namespace, function(b, e, d, f) {
var g = a.config;
b.stopPropagation();
c.trigger("sortStart", this);
M(a, e);
F(a);
g.delayInit && m(g.cache) && v(a);
c.trigger("sortBegin", this);
I(a);
A(a, f);
c.trigger("sortEnd", this);
"function" === typeof d && d(a)
}).bind("appendCache" + b.namespace, function(b, c, d) {
b.stopPropagation();
A(a, d);
"function" === typeof c && c(a)
}).bind("updateCache" + b.namespace, function(c, e) {
b.parsers || s(a);
v(a);
"function" === typeof e && e(a)
}).bind("applyWidgetId" + b.namespace, function(c, e) {
c.stopPropagation();
f.getWidgetById(e).format(a, b, b.widgetOptions)
}).bind("applyWidgets" + b.namespace, function(b, c) {
b.stopPropagation();
f.applyWidget(a, c)
}).bind("refreshWidgets" + b.namespace, function(b, c, d) {
b.stopPropagation();
f.refreshWidgets(a, c, d)
}).bind("destroy" + b.namespace, function(b, c, d) {
b.stopPropagation();
f.destroy(a, c, d)
})
}
var f = this;
f.version = "2.15.11";
f.parsers = [];
f.widgets = [];
f.defaults = {theme: "default", widthFixed: !1, showProcessing: !1, headerTemplate: "{content}", onRenderTemplate: null, onRenderHeader: null, cancelSelection: !0, tabIndex: !0, dateFormat: "mmddyyyy", sortMultiSortKey: "shiftKey", sortResetKey: "ctrlKey", usNumberFormat: !0, delayInit: !1, serverSideSorting: !1, headers: {}, ignoreCase: !0, sortForce: null, sortList: [], sortAppend: null, sortStable: !1, sortInitialOrder: "asc", sortLocaleCompare: !1, sortReset: !1, sortRestart: !1, emptyTo: "bottom", stringTo: "max", textExtraction: "simple", textSorter: null, numberSorter: null, widgets: [], widgetOptions: {zebra: ["even", "odd"]}, initWidgets: !0, initialized: null, tableClass: "", cssAsc: "", cssDesc: "", cssNone: "", cssHeader: "", cssHeaderRow: "", cssProcessing: "", cssChildRow: "tablesorter-childRow", cssIcon: "tablesorter-icon", cssInfoBlock: "tablesorter-infoOnly", selectorHeaders: "> thead th, > thead td", selectorSort: "th, td", selectorRemove: ".remove-me", debug: !1, headerList: [], empties: {}, strings: {}, parsers: []};
f.css = {table: "tablesorter", childRow: "tablesorter-childRow", header: "tablesorter-header", headerRow: "tablesorter-headerRow", headerIn: "tablesorter-header-inner", icon: "tablesorter-icon", info: "tablesorter-infoOnly", processing: "tablesorter-processing", sortAsc: "tablesorter-headerAsc", sortDesc: "tablesorter-headerDesc", sortNone: "tablesorter-headerUnSorted"};
f.language = {sortAsc: "Ascending sort applied, ", sortDesc: "Descending sort applied, ", sortNone: "No sort applied, ", nextAsc: "activate to apply an ascending sort", nextDesc: "activate to apply a descending sort", nextNone: "activate to remove the sort"};
f.log = d;
f.benchmark = t;
f.construct = function(a) {
return this.each(function() {
var b = g.extend(!0, {}, f.defaults, a);
!this.hasInitialized && f.buildTable && "TABLE" !== this.tagName ? f.buildTable(this, b) : f.setup(this, b)
})
};
f.setup = function(a, b) {
if (!a || !a.tHead || 0 === a.tBodies.length || !0 === a.hasInitialized)
return b.debug ? d("ERROR: stopping initialization! No table, thead, tbody or tablesorter has already been initialized") : "";
var c = "", h = g(a), e = g.metadata;
a.hasInitialized = !1;
a.isProcessing = !0;
a.config = b;
g.data(a, "tablesorter", b);
b.debug && g.data(a, "startoveralltimer", new Date);
b.supportsTextContent = "x" === g("<span>x</span>")[0].textContent;
b.supportsDataObject = function(a) {
a[0] = parseInt(a[0], 10);
return 1 < a[0] || 1 === a[0] && 4 <= parseInt(a[1], 10)
}(g.fn.jquery.split("."));
b.string = {max: 1, min: -1, "max+": 1, "max-": -1, zero: 0, none: 0, "null": 0, top: !0, bottom: !1};
/tablesorter\-/.test(h.attr("class")) || (c = "" !== b.theme ? " tablesorter-" + b.theme : "");
b.$table = h.addClass(f.css.table + " " + b.tableClass + c).attr({role: "grid"});
b.namespace = b.namespace ? "." + b.namespace.replace(/\W/g, "") : ".tablesorter" + Math.random().toString(16).slice(2);
b.$tbodies = h.children("tbody:not(." + b.cssInfoBlock + ")").attr({"aria-live": "polite", "aria-relevant": "all"});
b.$table.find("caption").length && b.$table.attr("aria-labelledby", "theCaption");
b.widgetInit = {};
E(a);
L(a);
s(a);
b.delayInit || v(a);
f.bindEvents(a, b.$headers);
K(a);
b.supportsDataObject && "undefined" !== typeof h.data().sortlist ? b.sortList = h.data().sortlist : e && h.metadata() && h.metadata().sortlist && (b.sortList = h.metadata().sortlist);
f.applyWidget(a, !0);
0 < b.sortList.length ? h.trigger("sorton", [b.sortList, {}, !b.initWidgets, !0]) : (F(a), b.initWidgets && f.applyWidget(a));
b.showProcessing && h.unbind("sortBegin" + b.namespace + " sortEnd" + b.namespace).bind("sortBegin" + b.namespace + " sortEnd" + b.namespace, function(b) {
f.isProcessing(a, "sortBegin" === b.type)
});
a.hasInitialized = !0;
a.isProcessing = !1;
b.debug && f.benchmark("Overall initialization time", g.data(a, "startoveralltimer"));
h.trigger("tablesorter-initialized", a);
"function" === typeof b.initialized && b.initialized(a)
};
f.isProcessing = function(a, b, c) {
a = g(a);
var h = a[0].config;
a = c || a.find("." + f.css.header);
b ? ("undefined" !== typeof c && 0 < h.sortList.length && (a = a.filter(function() {
return this.sortDisabled ? !1 : 0 <= f.isValueInArray(parseFloat(g(this).attr("data-column")), h.sortList)
})), a.addClass(f.css.processing + " " + h.cssProcessing)) : a.removeClass(f.css.processing + " " + h.cssProcessing)
};
f.processTbody = function(a, b, c) {
a = g(a)[0];
if (c)
return a.isProcessing = !0, b.before('<span class="tablesorter-savemyplace"/>'), c = g.fn.detach ? b.detach() : b.remove();
c = g(a).find("span.tablesorter-savemyplace");
b.insertAfter(c);
c.remove();
a.isProcessing = !1
};
f.clearTableBody = function(a) {
g(a)[0].config.$tbodies.empty()
};
f.bindEvents = function(a, b) {
a = g(a)[0];
var c, h = a.config;
b.find(h.selectorSort).add(b.filter(h.selectorSort)).unbind(["mousedown", "mouseup", "sort", "keyup", ""].join(h.namespace + " ")).bind(["mousedown", "mouseup", "sort", "keyup", ""].join(h.namespace + " "), function(e, d) {
var f;
f = e.type;
if (!(1 !== (e.which || e.button) && !/sort|keyup/.test(f) || "keyup" === f && 13 !== e.which || "mouseup" === f && !0 !== d && 250 < (new Date).getTime() - c)) {
if ("mousedown" === f)
return c = (new Date).getTime(), "INPUT" === e.target.tagName ? "" : !h.cancelSelection;
h.delayInit && m(h.cache) && v(a);
f = /TH|TD/.test(this.tagName) ? this : g(this).parents("th, td")[0];
f = h.$headers[b.index(f)];
f.sortDisabled || O(a, f, e)
}
});
h.cancelSelection && b.attr("unselectable", "on").bind("selectstart", !1).css({"user-select": "none", MozUserSelect: "none"})
};
f.restoreHeaders = function(a) {
var b = g(a)[0].config;
b.$table.find(b.selectorHeaders).each(function(a) {
g(this).find("." + f.css.headerIn).length && g(this).html(b.headerContent[a])
})
};
f.destroy = function(a, b, c) {
a = g(a)[0];
if (a.hasInitialized) {
f.refreshWidgets(a, !0, !0);
var h = g(a), e = a.config, d = h.find("thead:first"), k = d.find("tr." + f.css.headerRow).removeClass(f.css.headerRow + " " + e.cssHeaderRow), n = h.find("tfoot:first > tr").children("th, td");
d.find("tr").not(k).remove();
h.removeData("tablesorter").unbind("sortReset update updateAll updateRows updateCell addRows updateComplete sorton appendCache updateCache applyWidgetId applyWidgets refreshWidgets destroy mouseup mouseleave keypress sortBegin sortEnd ".split(" ").join(e.namespace + " "));
e.$headers.add(n).removeClass([f.css.header, e.cssHeader, e.cssAsc, e.cssDesc, f.css.sortAsc, f.css.sortDesc, f.css.sortNone].join(" ")).removeAttr("data-column");
k.find(e.selectorSort).unbind(["mousedown", "mouseup", "keypress", ""].join(e.namespace + " "));
f.restoreHeaders(a);
!1 !== b && h.removeClass(f.css.table + " " + e.tableClass + " tablesorter-" + e.theme);
a.hasInitialized = !1;
"function" === typeof c && c(a)
}
};
f.regex = {chunk: /(^([+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?)?$|^0x[0-9a-f]+$|\d+)/gi, chunks: /(^\\0|\\0$)/, hex: /^0x[0-9a-f]+$/i};
f.sortNatural = function(a, b) {
if (a === b)
return 0;
var c, d, e, g, k, n;
d = f.regex;
if (d.hex.test(b)) {
c = parseInt(a.match(d.hex), 16);
e = parseInt(b.match(d.hex), 16);
if (c < e)
return-1;
if (c > e)
return 1
}
c = a.replace(d.chunk, "\\0$1\\0").replace(d.chunks, "").split("\\0");
d = b.replace(d.chunk, "\\0$1\\0").replace(d.chunks, "").split("\\0");
n = Math.max(c.length, d.length);
for (k = 0; k < n; k++) {
e = isNaN(c[k]) ? c[k] || 0 : parseFloat(c[k]) || 0;
g = isNaN(d[k]) ? d[k] || 0 : parseFloat(d[k]) || 0;
if (isNaN(e) !== isNaN(g))
return isNaN(e) ? 1 : -1;
typeof e !== typeof g && (e += "", g += "");
if (e < g)
return-1;
if (e > g)
return 1
}
return 0
};
f.sortNaturalAsc = function(a, b, c, d, e) {
if (a === b)
return 0;
c = e.string[e.empties[c] || e.emptyTo];
return"" === a && 0 !== c ? "boolean" === typeof c ? c ? -1 : 1 : -c || -1 : "" === b && 0 !== c ? "boolean" === typeof c ? c ? 1 : -1 : c || 1 : f.sortNatural(a, b)
};
f.sortNaturalDesc = function(a, b, c, d, e) {
if (a === b)
return 0;
c = e.string[e.empties[c] || e.emptyTo];
return"" === a && 0 !== c ? "boolean" === typeof c ? c ? -1 : 1 : c || 1 : "" === b && 0 !== c ? "boolean" === typeof c ? c ? 1 : -1 : -c || -1 : f.sortNatural(b, a)
};
f.sortText = function(a, b) {
return a > b ? 1 : a < b ? -1 : 0
};
f.getTextValue = function(a, b, c) {
if (c) {
var d = a ? a.length : 0, e = c + b;
for (c = 0; c < d; c++)
e += a.charCodeAt(c);
return b * e
}
return 0
};
f.sortNumericAsc = function(a, b, c, d, e, g) {
if (a === b)
return 0;
g = g.config;
e = g.string[g.empties[e] || g.emptyTo];
if ("" === a && 0 !== e)
return"boolean" === typeof e ? e ? -1 : 1 : -e || -1;
if ("" === b && 0 !== e)
return"boolean" === typeof e ? e ? 1 : -1 : e || 1;
isNaN(a) && (a = f.getTextValue(a, c, d));
isNaN(b) && (b = f.getTextValue(b, c, d));
return a - b
};
f.sortNumericDesc = function(a, b, c, d, e, g) {
if (a === b)
return 0;
g = g.config;
e = g.string[g.empties[e] || g.emptyTo];
if ("" === a && 0 !== e)
return"boolean" === typeof e ? e ? -1 : 1 : e || 1;
if ("" === b && 0 !== e)
return"boolean" === typeof e ? e ? 1 : -1 : -e || -1;
isNaN(a) && (a = f.getTextValue(a, c, d));
isNaN(b) && (b = f.getTextValue(b, c, d));
return b - a
};
f.sortNumeric = function(a, b) {
return a - b
};
f.characterEquivalents = {a: "\u00e1\u00e0\u00e2\u00e3\u00e4\u0105\u00e5", A: "\u00c1\u00c0\u00c2\u00c3\u00c4\u0104\u00c5", c: "\u00e7\u0107\u010d", C: "\u00c7\u0106\u010c", e: "\u00e9\u00e8\u00ea\u00eb\u011b\u0119", E: "\u00c9\u00c8\u00ca\u00cb\u011a\u0118", i: "\u00ed\u00ec\u0130\u00ee\u00ef\u0131", I: "\u00cd\u00cc\u0130\u00ce\u00cf", o: "\u00f3\u00f2\u00f4\u00f5\u00f6", O: "\u00d3\u00d2\u00d4\u00d5\u00d6", ss: "\u00df", SS: "\u1e9e", u: "\u00fa\u00f9\u00fb\u00fc\u016f", U: "\u00da\u00d9\u00db\u00dc\u016e"};
f.replaceAccents = function(a) {
var b, c = "[", d = f.characterEquivalents;
if (!f.characterRegex) {
f.characterRegexArray = {};
for (b in d)
"string" === typeof b && (c += d[b], f.characterRegexArray[b] = RegExp("[" + d[b] + "]", "g"));
f.characterRegex = RegExp(c + "]")
}
if (f.characterRegex.test(a))
for (b in d)
"string" === typeof b && (a = a.replace(f.characterRegexArray[b], b));
return a
};
f.isValueInArray = function(a, b) {
var c, d = b.length;
for (c = 0; c < d; c++)
if (b[c][0] === a)
return c;
return-1
};
f.addParser = function(a) {
var b, c = f.parsers.length, d = !0;
for (b = 0; b < c; b++)
f.parsers[b].id.toLowerCase() === a.id.toLowerCase() && (d = !1);
d && f.parsers.push(a)
};
f.getParserById = function(a) {
var b, c = f.parsers.length;
for (b = 0; b < c; b++)
if (f.parsers[b].id.toLowerCase() === a.toString().toLowerCase())
return f.parsers[b];
return!1
};
f.addWidget = function(a) {
f.widgets.push(a)
};
f.getWidgetById = function(a) {
var b, c, d = f.widgets.length;
for (b = 0; b < d; b++)
if ((c = f.widgets[b]) && c.hasOwnProperty("id") && c.id.toLowerCase() === a.toLowerCase())
return c
};
f.applyWidget = function(a, b) {
a = g(a)[0];
var c = a.config, d = c.widgetOptions, e = [], m, k, n;
c.debug && (m = new Date);
c.widgets.length && (c.widgets = g.grep(c.widgets, function(a, b) {
return g.inArray(a, c.widgets) === b
}), g.each(c.widgets || [], function(a, b) {
(n = f.getWidgetById(b)) && n.id && (n.priority || (n.priority = 10), e[a] = n)
}), e.sort(function(a, b) {
return a.priority < b.priority ? -1 : a.priority === b.priority ? 0 : 1
}), g.each(e, function(e, f) {
if (f) {
if (b || !c.widgetInit[f.id])
f.hasOwnProperty("options") && (d = a.config.widgetOptions = g.extend(!0, {}, f.options, d)), f.hasOwnProperty("init") && f.init(a, f, c, d), c.widgetInit[f.id] = !0;
!b && f.hasOwnProperty("format") && f.format(a, c, d, !1)
}
}));
c.debug && (k = c.widgets.length, t("Completed " + (!0 === b ? "initializing " : "applying ") + k + " widget" + (1 !== k ? "s" : ""), m))
};
f.refreshWidgets = function(a, b, c) {
a = g(a)[0];
var h, e = a.config, m = e.widgets, k = f.widgets, n = k.length;
for (h = 0; h < n; h++)
k[h] && k[h].id && (b || 0 > g.inArray(k[h].id, m)) && (e.debug && d('Refeshing widgets: Removing "' + k[h].id + '"'), k[h].hasOwnProperty("remove") && e.widgetInit[k[h].id] && (k[h].remove(a, e, e.widgetOptions), e.widgetInit[k[h].id] = !1));
!0 !== c && f.applyWidget(a, b)
};
f.getData = function(a, b, c) {
var d = "";
a = g(a);
var e, f;
if (!a.length)
return"";
e = g.metadata ? a.metadata() : !1;
f = " " + (a.attr("class") || "");
"undefined" !== typeof a.data(c) || "undefined" !== typeof a.data(c.toLowerCase()) ? d += a.data(c) || a.data(c.toLowerCase()) : e && "undefined" !== typeof e[c] ? d += e[c] : b && "undefined" !== typeof b[c] ? d += b[c] : " " !== f && f.match(" " + c + "-") && (d = f.match(RegExp("\\s" + c + "-([\\w-]+)"))[1] || "");
return g.trim(d)
};
f.formatFloat = function(a, b) {
if ("string" !== typeof a || "" === a)
return a;
var c;
a = (b && b.config ? !1 !== b.config.usNumberFormat : "undefined" !== typeof b ? b : 1) ? a.replace(/,/g, "") : a.replace(/[\s|\.]/g, "").replace(/,/g, ".");
/^\s*\([.\d]+\)/.test(a) && (a = a.replace(/^\s*\(([.\d]+)\)/, "-$1"));
c = parseFloat(a);
return isNaN(c) ? g.trim(a) : c
};
f.isDigit = function(a) {
return isNaN(a) ? /^[\-+(]?\d+[)]?$/.test(a.toString().replace(/[,.'"\s]/g, "")) : !0
}
}});
var q = g.tablesorter;
g.fn.extend({tablesorter: q.construct});
q.addParser({id: "text", is: function() {
return!0
}, format: function(d, t) {
var m = t.config;
d && (d = g.trim(m.ignoreCase ? d.toLocaleLowerCase() : d), d = m.sortLocaleCompare ? q.replaceAccents(d) : d);
return d
}, type: "text"});
q.addParser({id: "digit", is: function(d) {
return q.isDigit(d)
}, format: function(d, t) {
var m = q.formatFloat((d || "").replace(/[^\w,. \-()]/g, ""), t);
return d && "number" === typeof m ? m : d ? g.trim(d && t.config.ignoreCase ? d.toLocaleLowerCase() : d) : d
}, type: "numeric"});
q.addParser({id: "currency", is: function(d) {
return/^\(?\d+[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]|[\u00a3$\u20ac\u00a4\u00a5\u00a2?.]\d+\)?$/.test((d || "").replace(/[+\-,. ]/g, ""))
}, format: function(d, t) {
var m = q.formatFloat((d || "").replace(/[^\w,. \-()]/g, ""), t);
return d && "number" === typeof m ? m : d ? g.trim(d && t.config.ignoreCase ? d.toLocaleLowerCase() : d) : d
}, type: "numeric"});
q.addParser({id: "ipAddress", is: function(d) {
return/^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$/.test(d)
}, format: function(d, g) {
var m, u = d ? d.split(".") : "", s = "", v = u.length;
for (m = 0; m < v; m++)
s += ("00" + u[m]).slice(-3);
return d ? q.formatFloat(s, g) : d
}, type: "numeric"});
q.addParser({id: "url", is: function(d) {
return/^(https?|ftp|file):\/\//.test(d)
}, format: function(d) {
return d ? g.trim(d.replace(/(https?|ftp|file):\/\//, "")) : d
}, type: "text"});
q.addParser({id: "isoDate", is: function(d) {
return/^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}/.test(d)
}, format: function(d, g) {
return d ? q.formatFloat("" !== d ? (new Date(d.replace(/-/g, "/"))).getTime() || d : "", g) : d
}, type: "numeric"});
q.addParser({id: "percent", is: function(d) {
return/(\d\s*?%|%\s*?\d)/.test(d) && 15 > d.length
}, format: function(d, g) {
return d ? q.formatFloat(d.replace(/%/g, ""), g) : d
}, type: "numeric"});
q.addParser({id: "usLongDate", is: function(d) {
return/^[A-Z]{3,10}\.?\s+\d{1,2},?\s+(\d{4})(\s+\d{1,2}:\d{2}(:\d{2})?(\s+[AP]M)?)?$/i.test(d) || /^\d{1,2}\s+[A-Z]{3,10}\s+\d{4}/i.test(d)
}, format: function(d, g) {
return d ? q.formatFloat((new Date(d.replace(/(\S)([AP]M)$/i, "$1 $2"))).getTime() || d, g) : d
}, type: "numeric"});
q.addParser({id: "shortDate", is: function(d) {
return/(^\d{1,2}[\/\s]\d{1,2}[\/\s]\d{4})|(^\d{4}[\/\s]\d{1,2}[\/\s]\d{1,2})/.test((d || "").replace(/\s+/g, " ").replace(/[\-.,]/g, "/"))
}, format: function(d, g, m, u) {
if (d) {
m = g.config;
var s = m.$headers.filter("[data-column=" + u + "]:last");
u = s.length && s[0].dateFormat || q.getData(s, m.headers[u], "dateFormat") || m.dateFormat;
d = d.replace(/\s+/g, " ").replace(/[\-.,]/g, "/");
"mmddyyyy" === u ? d = d.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/, "$3/$1/$2") : "ddmmyyyy" === u ? d = d.replace(/(\d{1,2})[\/\s](\d{1,2})[\/\s](\d{4})/, "$3/$2/$1") : "yyyymmdd" === u && (d = d.replace(/(\d{4})[\/\s](\d{1,2})[\/\s](\d{1,2})/, "$1/$2/$3"))
}
return d ? q.formatFloat((new Date(d)).getTime() || d, g) : d
}, type: "numeric"});
q.addParser({id: "time", is: function(d) {
return/^(([0-2]?\d:[0-5]\d)|([0-1]?\d:[0-5]\d\s?([AP]M)))$/i.test(d)
}, format: function(d, g) {
return d ? q.formatFloat((new Date("2000/01/01 " + d.replace(/(\S)([AP]M)$/i, "$1 $2"))).getTime() || d, g) : d
}, type: "numeric"});
q.addParser({id: "metadata", is: function() {
return!1
}, format: function(d, q, m) {
d = q.config;
d = d.parserMetadataName ? d.parserMetadataName : "sortValue";
return g(m).metadata()[d]
}, type: "numeric"});
q.addWidget({id: "zebra", priority: 90, format: function(d, t, m) {
var u, s, v, A, D, C, E = RegExp(t.cssChildRow, "i"), B = t.$tbodies;
t.debug && (D = new Date);
for (d = 0; d < B.length; d++)
u = B.eq(d), C = u.children("tr").length, 1 < C && (v = 0, u = u.children("tr:visible").not(t.selectorRemove), u.each(function() {
s = g(this);
E.test(this.className) || v++;
A = 0 === v % 2;
s.removeClass(m.zebra[A ? 1 : 0]).addClass(m.zebra[A ? 0 : 1])
}));
t.debug && q.benchmark("Applying Zebra widget", D)
}, remove: function(d, q, m) {
var u;
q = q.$tbodies;
var s = (m.zebra || ["even", "odd"]).join(" ");
for (m = 0; m < q.length; m++)
u = g.tablesorter.processTbody(d, q.eq(m), !0), u.children().removeClass(s), g.tablesorter.processTbody(d, u, !1)
}})
}(jQuery);
@@ -0,0 +1,28 @@
/* German initialisation for the jQuery UI date picker plugin. */
/* Written by Milian Wolff (mail@milianw.de). */
jQuery(function($) {
if ($.datepicker != null)
{
$.datepicker.regional['de'] = {
closeText: 'schließen',
prevText: '&#x3c;zurück',
nextText: 'Vor&#x3e;',
currentText: 'heute',
monthNames: [
'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'
],
monthNamesShort: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
dayNames: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],
dayNamesShort: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
weekHeader: 'Wo',
dateFormat: 'dd.mm.yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''
};
$.datepicker.setDefaults($.datepicker.regional['de']);
}
});
-1496
View File
File diff suppressed because it is too large Load Diff
-952
View File
File diff suppressed because one or more lines are too long
-121
View File
@@ -1,121 +0,0 @@
/*
* Superfish v1.4.8 - jQuery menu widget
* Copyright (c) 2008 Joel Birch
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
*/
;(function($){
$.fn.superfish = function(op){
var sf = $.fn.superfish,
c = sf.c,
$arrow = $(['<span class="',c.arrowClass,'"> &#187;</span>'].join('')),
over = function(){
var $$ = $(this), menu = getMenu($$);
clearTimeout(menu.sfTimer);
$$.showSuperfishUl().siblings().hideSuperfishUl();
},
out = function(){
var $$ = $(this), menu = getMenu($$), o = sf.op;
clearTimeout(menu.sfTimer);
menu.sfTimer=setTimeout(function(){
o.retainPath=($.inArray($$[0],o.$path)>-1);
$$.hideSuperfishUl();
if (o.$path.length && $$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}
},o.delay);
},
getMenu = function($menu){
var menu = $menu.parents(['ul.',c.menuClass,':first'].join(''))[0];
sf.op = sf.o[menu.serial];
return menu;
},
addArrow = function($a){ $a.addClass(c.anchorClass).append($arrow.clone()); };
return this.each(function() {
var s = this.serial = sf.o.length;
var o = $.extend({},sf.defaults,op);
o.$path = $('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){
$(this).addClass([o.hoverClass,c.bcClass].join(' '))
.filter('li:has(ul)').removeClass(o.pathClass);
});
sf.o[s] = sf.op = o;
$('li:has(ul)',this)[($.fn.hoverIntent && !o.disableHI) ? 'hoverIntent' : 'hover'](over,out).each(function() {
if (o.autoArrows) addArrow( $('>a:first-child',this) );
})
.not('.'+c.bcClass)
.hideSuperfishUl();
var $a = $('a',this);
$a.each(function(i){
var $li = $a.eq(i).parents('li');
$a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});
});
o.onInit.call(this);
}).each(function() {
var menuClasses = [c.menuClass];
if (sf.op.dropShadows && !($.browser.msie && $.browser.version < 7)) menuClasses.push(c.shadowClass);
$(this).addClass(menuClasses.join(' '));
});
};
var sf = $.fn.superfish;
sf.o = [];
sf.op = {};
sf.IE7fix = function(){
var o = sf.op;
if ($.browser.msie && $.browser.version > 6 && o.dropShadows && o.animation.opacity!=undefined)
this.toggleClass(sf.c.shadowClass+'-off');
};
sf.c = {
bcClass : 'sf-breadcrumb',
menuClass : 'sf-js-enabled',
anchorClass : 'sf-with-ul',
arrowClass : 'sf-sub-indicator',
shadowClass : 'sf-shadow'
};
sf.defaults = {
hoverClass : 'sfHover',
pathClass : 'overideThisToUse',
pathLevels : 1,
delay : 800,
animation : {opacity:'show'},
speed : 'normal',
autoArrows : true,
dropShadows : true,
disableHI : false, // true disables hoverIntent detection
onInit : function(){}, // callback functions
onBeforeShow: function(){},
onShow : function(){},
onHide : function(){}
};
$.fn.extend({
hideSuperfishUl : function(){
var o = sf.op,
not = (o.retainPath===true) ? o.$path : '';
o.retainPath = false;
var $ul = $(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass)
.find('>ul').hide().css('visibility','hidden');
o.onHide.call($ul);
return this;
},
showSuperfishUl : function(){
var o = sf.op,
sh = sf.c.shadowClass+'-off',
$ul = this.addClass(o.hoverClass)
.find('>ul:hidden').css('visibility','visible');
sf.IE7fix.call($ul);
o.onBeforeShow.call($ul);
$ul.animate(o.animation,o.speed,function(){ sf.IE7fix.call($ul); o.onShow.call($ul); });
return this;
}
});
})(jQuery);
+1 -1
View File
@@ -356,7 +356,7 @@ function drawLehrauftrag($uid)
,nachname
,vw_student.studiengang_kz
,projekttyp_kurzbz
,tbl_organisationseinheit.oe_kurzbz
,lehrfach.oe_kurzbz
FROM lehre.tbl_projektbetreuer
,lehre.tbl_lehreinheit
,lehre.tbl_lehrveranstaltung AS lehrfach
-27
View File
@@ -1,27 +0,0 @@
CSS FILES
*****************************
in einzubindender Reihenfolge
Alle CSS Files im Ordner trunk/skin
jquery.css
->autocomplete
->datepicker
tabelsort.css
->tablesort
fhcomplete.css
wawi/cis/fas.css
JS FILES
*****************************
in einzubindender Reihenfolge
Alle JS Files im Ordner trunk/include/js
jquery.js
->autocomplete
->datepicker
->tablesorter
->Deutsches Schema fr datepicker
-572
View File
@@ -1,572 +0,0 @@
/*
* jQuery UI CSS Framework 1.8.6
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Theming/API
*/
/* Layout helpers
----------------------------------*/
.ui-helper-hidden { display: none; }
.ui-helper-hidden-accessible { position: absolute; left: -99999999px; }
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.ui-helper-clearfix { display: inline-block; }
/* required comment for clearfix to work in Opera \*/
* html .ui-helper-clearfix { height:1%; }
.ui-helper-clearfix { display:block; }
/* end clearfix */
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
/* Interaction Cues
----------------------------------*/
.ui-state-disabled { cursor: default !important; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/*
* jQuery UI CSS Framework 1.8.6
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Theming/API
*
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
*/
/* Component containers
----------------------------------*/
.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; }
.ui-widget .ui-widget { font-size: 1em; }
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; }
.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; }
.ui-widget-content a { color: #333333; }
.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
.ui-widget-header a { color: #ffffff; }
/* Interaction states
----------------------------------*/
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; }
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; }
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; }
.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; }
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; }
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; }
.ui-widget :active { outline: none; }
/* Interaction Cues
----------------------------------*/
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; }
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; }
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; }
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; }
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); }
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); }
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); }
/* positioning */
.ui-icon-carat-1-n { background-position: 0 0; }
.ui-icon-carat-1-ne { background-position: -16px 0; }
.ui-icon-carat-1-e { background-position: -32px 0; }
.ui-icon-carat-1-se { background-position: -48px 0; }
.ui-icon-carat-1-s { background-position: -64px 0; }
.ui-icon-carat-1-sw { background-position: -80px 0; }
.ui-icon-carat-1-w { background-position: -96px 0; }
.ui-icon-carat-1-nw { background-position: -112px 0; }
.ui-icon-carat-2-n-s { background-position: -128px 0; }
.ui-icon-carat-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -64px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -64px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position: -192px -96px; }
.ui-icon-unlocked { background-position: -208px -96px; }
.ui-icon-bookmark { background-position: -224px -96px; }
.ui-icon-tag { background-position: -240px -96px; }
.ui-icon-home { background-position: 0 -112px; }
.ui-icon-flag { background-position: -16px -112px; }
.ui-icon-calendar { background-position: -32px -112px; }
.ui-icon-cart { background-position: -48px -112px; }
.ui-icon-pencil { background-position: -64px -112px; }
.ui-icon-clock { background-position: -80px -112px; }
.ui-icon-disk { background-position: -96px -112px; }
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-close { background-position: -80px -128px; }
.ui-icon-closethick { background-position: -96px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-off { background-position: -96px -144px; }
.ui-icon-radio-on { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-squaresmall-close { background-position: -80px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; }
.ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
.ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
.ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
.ui-corner-top { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; }
.ui-corner-bottom { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
.ui-corner-right { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; border-top-right-radius: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
.ui-corner-left { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; border-top-left-radius: 4px; -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
.ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
/* Overlays */
.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); }
.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/*
* jQuery UI Resizable 1.8.6
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Resizable#theming
*/
.ui-resizable { position: relative;}
.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;}
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*
* jQuery UI Selectable 1.8.6
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Selectable#theming
*/
.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
/*
* jQuery UI Accordion 1.8.6
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Accordion#theming
*/
/* IE/Win - Fix animation bug - #4615 */
.ui-accordion { width: 100%; }
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
.ui-accordion .ui-accordion-li-fix { display: inline; }
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
.ui-accordion .ui-accordion-content-active { display: block; }/*
* jQuery UI Autocomplete 1.8.6
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Autocomplete#theming
*/
.ui-autocomplete { position: absolute; cursor: default; }
/* workarounds */
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
/*
* jQuery UI Menu 1.8.6
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Menu#theming
*/
.ui-menu {
list-style:none;
padding: 2px;
margin: 0;
display:block;
float: left;
}
.ui-menu .ui-menu {
margin-top: -3px;
}
.ui-menu .ui-menu-item {
margin:0;
padding: 0;
zoom: 1;
float: left;
clear: left;
width: 100%;
}
.ui-menu .ui-menu-item a {
text-decoration:none;
display:block;
padding:.2em .4em;
line-height:1.5;
zoom:1;
}
.ui-menu .ui-menu-item a.ui-state-hover,
.ui-menu .ui-menu-item a.ui-state-active {
font-weight: normal;
margin: -1px;
}
/*
* jQuery UI Button 1.8.6
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Button#theming
*/
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
.ui-button-icons-only { width: 3.4em; }
button.ui-button-icons-only { width: 3.7em; }
/*button text element */
.ui-button .ui-button-text { display: block; line-height: 1.4; }
.ui-button-text-only .ui-button-text { padding: .4em 1em; }
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
/* no icon support for input elements, provide padding by default */
input.ui-button { padding: .4em 1em; }
/*button icon element(s) */
.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
/*button sets*/
.ui-buttonset { margin-right: 7px; }
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
/* workarounds */
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
/*
* jQuery UI Dialog 1.8.6
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Dialog#theming
*/
.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
.ui-dialog .ui-dialog-titlebar { padding: .5em 1em .3em; position: relative; }
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .2em 0; }
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
.ui-draggable .ui-dialog-titlebar { cursor: move; }
/*
* jQuery UI Slider 1.8.6
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Slider#theming
*/
.ui-slider { position: relative; text-align: left; }
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
.ui-slider-horizontal { height: .8em; }
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
.ui-slider-vertical { width: .8em; height: 100px; }
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
.ui-slider-vertical .ui-slider-range-max { top: 0; }/*
* jQuery UI Tabs 1.8.6
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Tabs#theming
*/
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
.ui-tabs .ui-tabs-hide { display: none !important; }
/*
* jQuery UI Datepicker 1.8.6
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Datepicker#theming
*/
.ui-datepicker { width: 17em; padding: .2em .2em 0; }
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
.ui-datepicker .ui-datepicker-prev { left:2px; }
.ui-datepicker .ui-datepicker-next { right:2px; }
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year { width: 49%;}
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
.ui-datepicker td { border: 0; padding: 1px; }
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi { width:auto; }
.ui-datepicker-multi .ui-datepicker-group { float:left; }
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
.ui-datepicker-row-break { clear:both; width:100%; }
/* RTL support */
.ui-datepicker-rtl { direction: rtl; }
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
.ui-datepicker-cover {
display: none; /*sorry for IE5*/
display/**/: block; /*sorry for IE5*/
position: absolute; /*must have*/
z-index: -1; /*must have*/
filter: mask(); /*must have*/
top: -4px; /*must have*/
left: -4px; /*must have*/
width: 200px; /*must have*/
height: 200px; /*must have*/
}/*
* jQuery UI Progressbar 1.8.6
*
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
* Dual licensed under the MIT or GPL Version 2 licenses.
* http://jquery.org/license
*
* http://docs.jquery.com/UI/Progressbar#theming
*/
.ui-progressbar { height:2em; text-align: left; }
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
-165
View File
@@ -1,165 +0,0 @@
/* jquery.Jcrop.css v0.9.12 - MIT License */
/*
The outer-most container in a typical Jcrop instance
If you are having difficulty with formatting related to styles
on a parent element, place any fixes here or in a like selector
You can also style this element if you want to add a border, etc
A better method for styling can be seen below with .jcrop-light
(Add a class to the holder and style elements for that extended class)
*/
.jcrop-holder {
direction: ltr;
text-align: left;
}
/* Selection Border */
.jcrop-vline,
.jcrop-hline {
background: #ffffff url("../images/Jcrop.gif");
font-size: 0;
position: absolute;
}
.jcrop-vline {
height: 100%;
width: 1px !important;
}
.jcrop-vline.right {
right: 0;
}
.jcrop-hline {
height: 1px !important;
width: 100%;
}
.jcrop-hline.bottom {
bottom: 0;
}
/* Invisible click targets */
.jcrop-tracker {
height: 100%;
width: 100%;
/* "turn off" link highlight */
-webkit-tap-highlight-color: transparent;
/* disable callout, image save panel */
-webkit-touch-callout: none;
/* disable cut copy paste */
-webkit-user-select: none;
}
/* Selection Handles */
.jcrop-handle {
background-color: #333333;
border: 1px #eeeeee solid;
width: 7px;
height: 7px;
font-size: 1px;
}
.jcrop-handle.ord-n {
left: 50%;
margin-left: -4px;
margin-top: -4px;
top: 0;
}
.jcrop-handle.ord-s {
bottom: 0;
left: 50%;
margin-bottom: -4px;
margin-left: -4px;
}
.jcrop-handle.ord-e {
margin-right: -4px;
margin-top: -4px;
right: 0;
top: 50%;
}
.jcrop-handle.ord-w {
left: 0;
margin-left: -4px;
margin-top: -4px;
top: 50%;
}
.jcrop-handle.ord-nw {
left: 0;
margin-left: -4px;
margin-top: -4px;
top: 0;
}
.jcrop-handle.ord-ne {
margin-right: -4px;
margin-top: -4px;
right: 0;
top: 0;
}
.jcrop-handle.ord-se {
bottom: 0;
margin-bottom: -4px;
margin-right: -4px;
right: 0;
}
.jcrop-handle.ord-sw {
bottom: 0;
left: 0;
margin-bottom: -4px;
margin-left: -4px;
}
/* Dragbars */
.jcrop-dragbar.ord-n,
.jcrop-dragbar.ord-s {
height: 7px;
width: 100%;
}
.jcrop-dragbar.ord-e,
.jcrop-dragbar.ord-w {
height: 100%;
width: 7px;
}
.jcrop-dragbar.ord-n {
margin-top: -4px;
}
.jcrop-dragbar.ord-s {
bottom: 0;
margin-bottom: -4px;
}
.jcrop-dragbar.ord-e {
margin-right: -4px;
right: 0;
}
.jcrop-dragbar.ord-w {
margin-left: -4px;
}
/* The "jcrop-light" class/extension */
.jcrop-light .jcrop-vline,
.jcrop-light .jcrop-hline {
background: #ffffff;
filter: alpha(opacity=70) !important;
opacity: .70!important;
}
.jcrop-light .jcrop-handle {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
background-color: #000000;
border-color: #ffffff;
border-radius: 3px;
}
/* The "jcrop-dark" class/extension */
.jcrop-dark .jcrop-vline,
.jcrop-dark .jcrop-hline {
background: #000000;
filter: alpha(opacity=70) !important;
opacity: 0.7 !important;
}
.jcrop-dark .jcrop-handle {
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
background-color: #ffffff;
border-color: #000000;
border-radius: 3px;
}
/* Simple macro to turn off the antlines */
.solid-line .jcrop-vline,
.solid-line .jcrop-hline {
background: #ffffff;
}
/* Fix for twitter bootstrap et al. */
.jcrop-holder img,
img.jcrop-preview {
max-width: none;
}
+13 -29
View File
@@ -1,7 +1,5 @@
@charset "utf-8";
/* Icons
----------------------------------*/
@@ -197,8 +195,8 @@
table.navbar {width:100%;border: 1px solid WindowFrame;}
table.navbar tr {text-align:left;}
table.navbar td {text-align:left;white-space: nowrap;}
table.navbar .ac_submit {width:10%;background-color: #FFFFDD;}
table.navbar td {text-align:left;white-space: nowrap;}
table.navbar .ac_submit {width:10%;background-color: #FFFFDD;}
.ac_results iframe {
display:none;/*sorry for IE5*/
@@ -207,12 +205,12 @@
.ac_results {padding: 0px;border: 1px solid black;background-color: white;overflow: hidden;z-index: 99999;}
.ac_results ul {width: 100%;list-style-position: outside;list-style: none;padding: 0;margin: 0;}
.ac_results li {margin: 0px;padding: 2px 5px;cursor: default;display: block;
/* if width will be 100% horizontal scrollbar will apear
/* if width will be 100% horizontal scrollbar will apear
when scroll mode will be used */
/*width: 100%;*/
font: menu;
font-size: 12px;
/* it is very important, if line-height not setted or setted
/* it is very important, if line-height not setted or setted
in relative units scroll will be broken in firefox */
line-height: 16px; overflow: hidden;
}
@@ -273,7 +271,7 @@
top: 10px;
left: 10px;
}
/* Layout helpers
----------------------------------*/
.ui-helper-hidden { display: none; }
@@ -286,36 +284,22 @@
.ui-helper-clearfix { display:block; }
/* end clearfix */
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
/* Interaction Cues
----------------------------------*/
.ui-state-disabled { cursor: default !important; }
/* Icons
----------------------------------*/
/* states and images */
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

Some files were not shown because too many files have changed in this diff Show More