diff --git a/application/views/system/logs/testVBform.php b/application/views/system/logs/testVBform.php
new file mode 100644
index 000000000..566abb1cb
--- /dev/null
+++ b/application/views/system/logs/testVBform.php
@@ -0,0 +1,16 @@
+ 'Test VBform',
+ 'bootstrap5' => true,
+ 'fontawesome6' => true,
+ 'vue3' => true,
+ 'customJSModules' => array('public/js/apps/vbform/vbform.js')
+ );
+
+ $this->load->view('templates/FHC-Header', $includesArray);
+?>
+
+
+
+load->view('templates/FHC-Footer', $includesArray); ?>
+
diff --git a/application/views/system/messages/FAShtmlWriteTemplate.php b/application/views/system/messages/FAShtmlWriteTemplate.php
new file mode 100644
index 000000000..83f895d14
--- /dev/null
+++ b/application/views/system/messages/FAShtmlWriteTemplate.php
@@ -0,0 +1,197 @@
+load->view(
+ 'templates/FHC-Header',
+ array(
+ 'title' => 'Write a new message or reply using templates',
+ 'jquery3' => true,
+ 'jqueryui1' => true,
+ 'bootstrap3' => true,
+ 'ajaxlib' => true,
+ 'fontawesome4' => true,
+ 'tinymce3' => true,
+ 'sbadmintemplate3' => true,
+ 'dialoglib' => true,
+ 'widgets' => true,
+ 'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css'),
+ 'customJSs' => array('public/js/bootstrapper.js', 'public/js/messaging/fasMessageWrite.js')
+ )
+ );
+?>
+
+
+
+
+load->view("templates/FHC-Footer"); ?>
+
diff --git a/application/views/system/messages/ajaxRead.php b/application/views/system/messages/ajaxRead.php
index 2cb88708e..4c1a77deb 100644
--- a/application/views/system/messages/ajaxRead.php
+++ b/application/views/system/messages/ajaxRead.php
@@ -12,7 +12,7 @@
'tabulator4' => true,
'ajaxlib' => true,
'dialoglib' => true,
- 'tinymce4' => true,
+ 'tinymce5' => true,
'phrases' => array('global', 'ui'),
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css'),
'customJSs' => array('public/js/bootstrapper.js', 'public/js/messaging/read.js')
diff --git a/application/views/system/messages/ajaxWrite.php b/application/views/system/messages/ajaxWrite.php
index 3b1582f22..b3a598506 100644
--- a/application/views/system/messages/ajaxWrite.php
+++ b/application/views/system/messages/ajaxWrite.php
@@ -10,7 +10,7 @@
'sbadmintemplate3' => true,
'ajaxlib' => true,
'dialoglib' => true,
- 'tinymce4' => true,
+ 'tinymce5' => true,
'phrases' => array('global', 'ui'),
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css'),
'customJSs' => array('public/js/bootstrapper.js', 'public/js/messaging/write.js')
diff --git a/application/views/system/messages/ajaxWriteReply.php b/application/views/system/messages/ajaxWriteReply.php
index 0a496c93e..08dc188fa 100644
--- a/application/views/system/messages/ajaxWriteReply.php
+++ b/application/views/system/messages/ajaxWriteReply.php
@@ -10,7 +10,7 @@
'sbadmintemplate3' => true,
'ajaxlib' => true,
'dialoglib' => true,
- 'tinymce4' => true,
+ 'tinymce5' => true,
'phrases' => array('global', 'ui'),
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css'),
'customJSs' => array('public/js/bootstrapper.js', 'public/js/messaging/writeReply.js')
diff --git a/application/views/system/messages/htmlWriteReply.php b/application/views/system/messages/htmlWriteReply.php
index 9106d802b..d2150c1fb 100644
--- a/application/views/system/messages/htmlWriteReply.php
+++ b/application/views/system/messages/htmlWriteReply.php
@@ -6,7 +6,7 @@
'jquery3' => true,
'bootstrap3' => true,
'fontawesome4' => true,
- 'tinymce4' => true,
+ 'tinymce5' => true,
'sbadmintemplate3' => true,
'customCSSs' => array('public/css/sbadmin2/admintemplate_contentonly.css', 'public/css/messaging/message.css'),
'customJSs' => array('public/js/bootstrapper.js', 'public/js/messaging/messageWriteReply.js')
diff --git a/application/views/system/messages/htmlWriteTemplate.php b/application/views/system/messages/htmlWriteTemplate.php
index 761e05f96..42a31f374 100644
--- a/application/views/system/messages/htmlWriteTemplate.php
+++ b/application/views/system/messages/htmlWriteTemplate.php
@@ -8,7 +8,7 @@
'bootstrap3' => true,
'ajaxlib' => true,
'fontawesome4' => true,
- 'tinymce4' => true,
+ 'tinymce5' => true,
'sbadmintemplate3' => true,
'dialoglib' => true,
'widgets' => true,
diff --git a/application/views/system/vorlage/templatetextEdit.php b/application/views/system/vorlage/templatetextEdit.php
index 42efc1519..cc2487959 100644
--- a/application/views/system/vorlage/templatetextEdit.php
+++ b/application/views/system/vorlage/templatetextEdit.php
@@ -1,5 +1,5 @@
load->view('templates/header', array('title' => 'VorlageEdit', 'tinymce4' => true, 'jsonforms' => true));
+ $this->load->view('templates/header', array('title' => 'VorlageEdit', 'tinymce5' => true, 'jsonforms' => true));
?>
diff --git a/application/views/templates/FHC-Common.php b/application/views/templates/FHC-Common.php
index dd1d8ae1c..072ff1d7f 100644
--- a/application/views/templates/FHC-Common.php
+++ b/application/views/templates/FHC-Common.php
@@ -23,7 +23,7 @@
$tablesorter2 = isset($tablesorter2) ? $tablesorter2 : false;
$tabulator4 = isset($tabulator4) ? $tabulator4 : false;
$tabulator5 = isset($tabulator5) ? $tabulator5 : false;
- $tinymce4 = isset($tinymce4) ? $tinymce4 : false;
+ $tinymce3 = isset($tinymce3) ? $tinymce3 : false;
$tinymce5 = isset($tinymce5) ? $tinymce5 : false;
$vue3 = isset($vue3) ? $vue3 : false;
$primevue3 = isset($primevue3) ? $primevue3 : false;
@@ -34,6 +34,7 @@
// Internal resources
$ajaxlib = isset($ajaxlib) ? $ajaxlib : false;
$bootstrapper = isset($bootstrapper) ? $bootstrapper : false;
+ $cis = isset($cis) ? $cis : false;
$dialoglib = isset($dialoglib) ? $dialoglib : false;
$filtercomponent = isset($filtercomponent) ? $filtercomponent : false;
$filterwidget = isset($filterwidget) ? $filterwidget : false;
@@ -43,4 +44,3 @@
$tablewidget = isset($tablewidget) ? $tablewidget : false;
$udfs = isset($udfs) ? $udfs : false;
$widgets = isset($widgets) ? $widgets : false;
-
diff --git a/application/views/templates/FHC-Footer.php b/application/views/templates/FHC-Footer.php
index c461dd8b0..3daac26cd 100644
--- a/application/views/templates/FHC-Footer.php
+++ b/application/views/templates/FHC-Footer.php
@@ -100,14 +100,14 @@
// Tabulator 5 JS
if ($tabulator5 === true) generateJSsInclude('vendor/olifolkerd/tabulator5/dist/js/tabulator.min.js');
- // Tinymce 4 JS
- if ($tinymce4 === true) generateJSsInclude('vendor/tinymce/tinymce4/tinymce.min.js');
+ // Tinymce 3 JS
+ if ($tinymce3 === true) generateJSsInclude('include/tiny_mce/tiny_mce.js');
// Tinymce 5 JS
if ($tinymce5 === true) generateJSsInclude('vendor/tinymce/tinymce5/tinymce.min.js');
// Vue 3 JS
- if ($vue3 === true)
+ if ($vue3 === true)
{
generateJSsInclude('vendor/vuejs/vuejs3/vue.global.prod.js');
generateJSsInclude('vendor/vuejs/vuerouter4/vue-router.global.js');
@@ -122,6 +122,11 @@
generateJSsInclude('vendor/npm-asset/primevue/column/column.min.js');
generateJSsInclude('vendor/npm-asset/primevue/calendar/calendar.min.js');
generateJSsInclude('vendor/npm-asset/primevue/skeleton/skeleton.min.js');
+ generateJSsInclude('vendor/npm-asset/primevue/timeline/timeline.min.js');
+ generateJSsInclude('vendor/npm-asset/primevue/multiselect/multiselect.min.js');
+ generateJSsInclude('vendor/npm-asset/primevue/autocomplete/autocomplete.min.js');
+ generateJSsInclude('vendor/npm-asset/primevue/overlaypanel/overlaypanel.min.js');
+ generateJSsInclude('vendor/npm-asset/primevue/datatable/datatable.min.js');
}
// --------------------------------------------------------------------------------------------------------
diff --git a/application/views/templates/FHC-Header.php b/application/views/templates/FHC-Header.php
index aa63541c5..ed9fa97b9 100644
--- a/application/views/templates/FHC-Header.php
+++ b/application/views/templates/FHC-Header.php
@@ -77,10 +77,7 @@
}
// Tabulator 5 CSS
- if ($tabulator5 === true) generateCSSsInclude('vendor/olifolkerd/tabulator5/dist/css/tabulator_bootstrap5.min.css');
-
- // Tinymce 4 CSS
- if ($tinymce4 === true) generateCSSsInclude('public/css/TinyMCE4.css');
+ if ($tabulator5 === true) generateCSSsInclude('public/css/Tabulator5.css');
// Tinymce 5 CSS
if ($tinymce5 === true) generateCSSsInclude('public/css/TinyMCE5.css');
@@ -118,6 +115,9 @@
// HTML Widget CSS
if ($widgets === true) generateCSSsInclude('public/css/Widgets.css');
+ // CIS
+ if ($cis === true) generateCSSsInclude('public/css/cis_bs5.css');
+
// Eventually required CSS
generateCSSsInclude($customCSSs); // Eventually required CSS
?>
diff --git a/application/views/templates/header.php b/application/views/templates/header.php
index 637eb3c7a..e75acca4f 100644
--- a/application/views/templates/header.php
+++ b/application/views/templates/header.php
@@ -95,7 +95,7 @@ if($jqueryV1 && $jqueryV2) show_error("Two JQuery versions used: composer and in
-
+
diff --git a/application/views/widgets/tinymce.php b/application/views/widgets/tinymce.php
index 3e2093e55..618cb4836 100644
--- a/application/views/widgets/tinymce.php
+++ b/application/views/widgets/tinymce.php
@@ -5,5 +5,6 @@
plugins: [],
toolbar: ""
});
-
- <=$selector?> name="=$name?>" style="=$style?>">=$text?>=$selector?>>
+
+<=$selector?> name="=$name?>" style="=$style?>">=$text?>=$selector?>>
+
diff --git a/application/widgets/FilterWidget.php b/application/widgets/FilterWidget.php
index 1cef91c15..45bcf7e04 100644
--- a/application/widgets/FilterWidget.php
+++ b/application/widgets/FilterWidget.php
@@ -1,5 +1,22 @@
.
+ */
+
/**
* To filter data using a SQL statement
*/
@@ -59,6 +76,8 @@ class FilterWidget extends Widget
private $_sessionTimeout; // session expiring time
+ private $_encryptedColumns; // contains info about encrypted columns
+
private static $_FilterWidgetInstance; // static property that contains the instance of itself
/**
@@ -195,6 +214,7 @@ class FilterWidget extends Widget
$this->_formatRow = null;
$this->_markRow = null;
$this->_checkboxes = null;
+ $this->_encryptedColumns = null;
$this->_hideOptions = null;
$this->_hideSelectFields = null;
$this->_hideSelectFilters = null;
@@ -252,6 +272,14 @@ class FilterWidget extends Widget
$this->_additionalColumns = $args[FilterWidgetLib::ADDITIONAL_COLUMNS];
}
+ // Parameter is used to define the ecrypted columns
+ if (isset($args[FilterWidgetLib::ENCRYPTED_COLUMNS])
+ && is_array($args[FilterWidgetLib::ENCRYPTED_COLUMNS])
+ && count($args[FilterWidgetLib::ENCRYPTED_COLUMNS]) > 0)
+ {
+ $this->_encryptedColumns = $args[FilterWidgetLib::ENCRYPTED_COLUMNS];
+ }
+
// Parameter is used to add use aliases for the columns fo the dataset
if (isset($args[FilterWidgetLib::COLUMNS_ALIASES])
&& is_array($args[FilterWidgetLib::COLUMNS_ALIASES])
@@ -441,7 +469,7 @@ class FilterWidget extends Widget
);
// Then retrieve dataset from DB
- $dataset = $this->filterwidgetlib->getDataset($datasetQuery);
+ $dataset = $this->filterwidgetlib->getDataset($datasetQuery, $this->_encryptedColumns);
// Save changes into session if data are valid
if (!isError($dataset))
@@ -476,7 +504,7 @@ class FilterWidget extends Widget
$datasetQuery = $this->filterwidgetlib->generateDatasetQuery($this->_query, $parsedFilterJson->filters);
// Then retrieve dataset from DB
- $dataset = $this->filterwidgetlib->getDataset($datasetQuery);
+ $dataset = $this->filterwidgetlib->getDataset($datasetQuery, $this->_encryptedColumns);
// Try to load the name of the filter using the PhrasesLib
$filterName = $this->filterwidgetlib->getFilterName($parsedFilterJson);
@@ -497,6 +525,7 @@ class FilterWidget extends Widget
FilterWidgetLib::SESSION_SELECTED_FIELDS => $this->_getColumnsNames($parsedFilterJson->columns), // all the selected fields
FilterWidgetLib::SESSION_COLUMNS_ALIASES => $this->_columnsAliases, // all the fields aliases
FilterWidgetLib::SESSION_ADDITIONAL_COLUMNS => $this->_additionalColumns, // additional columns
+ FilterWidgetLib::SESSION_ENCRYPTED_COLUMNS => $this->_encryptedColumns, // encrypted columns
FilterWidgetLib::SESSION_CHECKBOXES => $this->_checkboxes, // the name of the field used to build the checkboxes column
FilterWidgetLib::SESSION_FILTERS => $parsedFilterJson->filters, // all the filters used to filter the dataset
FilterWidgetLib::SESSION_METADATA => $this->FiltersModel->getExecutedQueryMetaData(), // the metadata of the dataset
@@ -525,7 +554,7 @@ class FilterWidget extends Widget
private function _setFilterMenu()
{
// Generates the filters structure array
- $filterMenu = $this->filterwidgetlib->generateFilterMenu(
+ $this->filterwidgetlib->generateFilterMenu(
$this->router->directory.$this->router->class.'/'.$this->router->method
);
}
@@ -604,7 +633,7 @@ class FilterWidget extends Widget
{
$columnsNames = array();
- foreach ($columns as $key => $obj)
+ foreach ($columns as $obj)
{
if (isset($obj->name))
{
diff --git a/application/widgets/TableWidget.php b/application/widgets/TableWidget.php
index 5a000601f..e59efce10 100644
--- a/application/widgets/TableWidget.php
+++ b/application/widgets/TableWidget.php
@@ -1,5 +1,22 @@
.
+ */
+
/**
* To display a table that shows data retriev by a SQL statement
*/
@@ -40,6 +57,8 @@ class TableWidget extends Widget
private $_sessionTimeout; // session expiring time
+ private $_encryptedColumns; // contains info about encrypted columns
+
private static $_TableWidgetInstance; // static property that contains the instance of itself
/**
@@ -127,6 +146,7 @@ class TableWidget extends Widget
$this->_datasetRepresentationOptions = null;
$this->_datasetRepFieldsDefs = null;
$this->_sessionTimeout = TableWidgetLib::SESSION_DEFAULT_TIMEOUT;
+ $this->_encryptedColumns = null;
// Retrieved the required permissions parameter if present
if (isset($args[TableWidgetLib::REQUIRED_PERMISSIONS]))
@@ -206,6 +226,14 @@ class TableWidget extends Widget
{
$this->_sessionTimeout = $args[TableWidgetLib::SESSION_TIMEOUT];
}
+
+ // Parameter is used to define the ecrypted columns
+ if (isset($args[TableWidgetLib::ENCRYPTED_COLUMNS])
+ && is_array($args[TableWidgetLib::ENCRYPTED_COLUMNS])
+ && count($args[TableWidgetLib::ENCRYPTED_COLUMNS]) > 0)
+ {
+ $this->_encryptedColumns = $args[TableWidgetLib::ENCRYPTED_COLUMNS];
+ }
}
/**
@@ -288,7 +316,7 @@ class TableWidget extends Widget
$datasetQuery = $this->tablewidgetlib->generateDatasetQuery($this->_query);
// Then retrieve dataset from DB
- $dataset = $this->tablewidgetlib->getDataset($datasetQuery);
+ $dataset = $this->tablewidgetlib->getDataset($datasetQuery, $this->_encryptedColumns);
// Save changes into session if data are valid
if (!isError($dataset))
@@ -310,7 +338,7 @@ class TableWidget extends Widget
$datasetQuery = $this->tablewidgetlib->generateDatasetQuery($this->_query);
// Then retrieve dataset from DB
- $dataset = $this->tablewidgetlib->getDataset($datasetQuery);
+ $dataset = $this->tablewidgetlib->getDataset($datasetQuery, $this->_encryptedColumns);
// Save changes into session if data are valid
if (!isError($dataset))
@@ -324,6 +352,7 @@ class TableWidget extends Widget
TableWidgetLib::SESSION_FIELDS => $this->tablewidgetlib->getExecutedQueryListFields(), // all the fields of the dataset
TableWidgetLib::SESSION_COLUMNS_ALIASES => $this->_columnsAliases, // all the fields aliases
TableWidgetLib::SESSION_ADDITIONAL_COLUMNS => $this->_additionalColumns, // additional columns
+ TableWidgetLib::SESSION_ENCRYPTED_COLUMNS => $this->_encryptedColumns, // encrypted columns
TableWidgetLib::SESSION_CHECKBOXES => $this->_checkboxes, // the name of the field used to build the checkboxes column
TableWidgetLib::SESSION_METADATA => $this->tablewidgetlib->getExecutedQueryMetaData(), // the metadata of the dataset
TableWidgetLib::SESSION_ROW_NUMBER => count($dataset->retval), // the number of loaded rows by this table
@@ -411,24 +440,6 @@ class TableWidget extends Widget
return !isset($class) ? '' : $class;
}
- /**
- * Utility method that retrieves the name of the columns present in a table JSON definition
- */
- private function _getColumnsNames($columns)
- {
- $columnsNames = array();
-
- foreach ($columns as $key => $obj)
- {
- if (isset($obj->name))
- {
- $columnsNames[] = $obj->name;
- }
- }
-
- return $columnsNames;
- }
-
/**
* Loads a view using the given viewName and eventually other parameters
*/
@@ -438,3 +449,4 @@ class TableWidget extends Widget
$ci->load->view($viewName, $parameters);
}
}
+
diff --git a/cis/index.php b/cis/index.php
index 38af9f50d..d490a201a 100644
--- a/cis/index.php
+++ b/cis/index.php
@@ -215,7 +215,13 @@ function loadampel()
|
diff --git a/cis/private/lehre/abgabe_lektor_zusatz.php b/cis/private/lehre/abgabe_lektor_zusatz.php
index 39488b6c3..b764fd556 100644
--- a/cis/private/lehre/abgabe_lektor_zusatz.php
+++ b/cis/private/lehre/abgabe_lektor_zusatz.php
@@ -121,15 +121,15 @@ echo '
|
- | '.$p->t('abgabetool/kontrollierteSchlagwoerter').':* |
+ '.$p->t('abgabetool/kontrollierteSchlagwoerter').': |
|
- | '.$p->t('abgabetool/deutscheSchlagwoerter').': |
+ '.$p->t('abgabetool/deutscheSchlagwoerter').':* |
|
- | '.$p->t('abgabetool/englischeSchlagwoerter').': |
+ '.$p->t('abgabetool/englischeSchlagwoerter').':* |
|
diff --git a/cis/private/lehre/abgabe_student.php b/cis/private/lehre/abgabe_student.php
index 9b3cec6f6..2512d9831 100644
--- a/cis/private/lehre/abgabe_student.php
+++ b/cis/private/lehre/abgabe_student.php
@@ -124,7 +124,6 @@ $sql_query = "SELECT (SELECT nachname FROM public.tbl_person WHERE person_id=tb
AND tbl_projektarbeit.student_uid=".$db->db_add_param($uid)."
ORDER BY studiensemester_kurzbz desc, tbl_lehrveranstaltung.kurzbz";
-//AND tbl_projektarbeit.student_uid='$getuid' 'ie07m102';
if(!$erg=$db->db_query($sql_query))
{
$errormsg=$p->t('global/fehlerBeimLesenAusDatenbank');
diff --git a/cis/private/lehre/abgabe_student_details.php b/cis/private/lehre/abgabe_student_details.php
index 6575dcf70..860eb7579 100644
--- a/cis/private/lehre/abgabe_student_details.php
+++ b/cis/private/lehre/abgabe_student_details.php
@@ -64,7 +64,6 @@ if(!isset($_POST['uid']))
$fixtermin = false;
$datum = '01.01.1980';
$kurzbz = '';
- $kontrollschlagwoerter = '';
$schlagwoerter = '';
$schlagwoerter_en = '';
$abstract = '';
@@ -88,7 +87,6 @@ else
$kurzbz = (isset($_POST['kurzbz'])?$_POST['kurzbz']:'');
$betreuer = (isset($_POST['betreuer'])?$_POST['betreuer']:'-1');
$sprache = (isset($_POST['sprache'])?$_POST['sprache']:'German');
- $kontrollschlagwoerter = (isset($_POST['kontrollschlagwoerter'])?$_POST['kontrollschlagwoerter']:'-1');
$schlagwoerter = (isset($_POST['schlagwoerter'])?$_POST['schlagwoerter']:'-1');
$schlagwoerter_en = (isset($_POST['schlagwoerter_en'])?$_POST['schlagwoerter_en']:'-1');
$abstract = (isset($_POST['abstract'])?$_POST['abstract']:'-1');
@@ -211,23 +209,7 @@ if($command=='add')
{
//zusätzliche Daten bearbeiten
//Check der Eingabedaten
- if(strlen($kontrollschlagwoerter)<1)
- {
- $error=true;
- }
- if(mb_strlen($kontrollschlagwoerter)>=150)
- {
- $kontrollschlagwoerter = mb_substr($kontrollschlagwoerter, 0, 146).'...';
- }
- if(strlen($abstract)<1)
- {
- $error=true;
- }
- if(strlen($abstract_en)<1)
- {
- $error=true;
- }
- if($seitenanzahl<1)
+ if((strlen($schlagwoerter) < 1) || (strlen($schlagwoerter_en) < 1) || (strlen($abstract) < 1) || (strlen($abstract_en) < 1) || ($seitenanzahl < 1))
{
$error=true;
}
@@ -237,7 +219,6 @@ if($command=='add')
seitenanzahl = ".$db->db_add_param($seitenanzahl).",
abgabedatum = now(),
sprache = ".$db->db_add_param($sprache).",
- kontrollschlagwoerter = ".$db->db_add_param($kontrollschlagwoerter).",
schlagwoerter_en = ".$db->db_add_param($schlagwoerter_en).",
schlagwoerter = ".$db->db_add_param($schlagwoerter).",
abstract = ".$db->db_add_param($abstract).",
@@ -413,19 +394,16 @@ if($command=="update" && $error!=true)
$htmlstr .= " \n";
}
$htmlstr .= "
\n";
- $htmlstr .= '
| '.$p->t('abgabetool/kontrollierteSchlagwoerter').':* |
- |
- |
'."\n";
- $htmlstr .= '
| '.$p->t('abgabetool/deutscheSchlagwoerter').': |
- |
'."\n";
- $htmlstr .= '
| '.$p->t('abgabetool/englischeSchlagwoerter').': |
- |
'."\n";
+ $htmlstr .= '
| '.$p->t('abgabetool/deutscheSchlagwoerter').':* |
+ |
'."\n";
+ $htmlstr .= '
| '.$p->t('abgabetool/englischeSchlagwoerter').':* |
+ |
'."\n";
$htmlstr .= '
| '.$p->t('abgabetool/abstract').' '.$p->t('abgabetool/maxZeichen').':* |
- |
'."\n";
+
| '."\n";
$htmlstr .= '
| '.$p->t('abgabetool/abstractEng').''.$p->t('abgabetool/maxZeichen').':* |
- |
'."\n";
+
| '."\n";
$htmlstr .= '
| '.$p->t('abgabetool/seitenanzahl').':* |
- |
'."\n";
+
| '."\n";
$htmlstr .="
| |
\n";
// If there are info about the signed document
@@ -657,7 +635,6 @@ if($command!="add")
$htmlstr .= '
'."\n";
$htmlstr .= '
'."\n";
$htmlstr .= '
'."\n";
- $htmlstr .= '
'."\n";
$htmlstr .= '
'."\n";
$htmlstr .= '
'."\n";
$htmlstr .= '
'."\n";
diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php
index e201fbe30..6757cf391 100644
--- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php
+++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php
@@ -419,7 +419,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$semCounter = $fakultaeten[1]["sem"];
break;
default:
- $semCounter = 2;
+ $semCounter = 3;
break;
}
}
diff --git a/cis/private/lehre/swd.php b/cis/private/lehre/swd.php
deleted file mode 100644
index 248779aac..000000000
--- a/cis/private/lehre/swd.php
+++ /dev/null
@@ -1,11 +0,0 @@
-
diff --git a/cis/private/pdfExport.php b/cis/private/pdfExport.php
index 4535ff74d..6db6f885a 100644
--- a/cis/private/pdfExport.php
+++ b/cis/private/pdfExport.php
@@ -144,6 +144,8 @@ if (isset($_GET['projektarbeit_id']))
$params .= '&projektarbeit_id='. $_GET['projektarbeit_id'];
if (isset($_GET['betreuerart_kurzbz']))
$params .= '&betreuerart_kurzbz='. $_GET['betreuerart_kurzbz'];
+if (isset($_GET['id']))
+ $params .= '&id='. $_GET['id'];
// Logeintrag bei Download von Zahlungsbestaetigungen
diff --git a/cis/private/profile/dokumente.php b/cis/private/profile/dokumente.php
index f75529561..9e7f6bf5b 100644
--- a/cis/private/profile/dokumente.php
+++ b/cis/private/profile/dokumente.php
@@ -31,6 +31,7 @@ require_once('../../../include/akte.class.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/webservicelog.class.php');
+require_once('../../../include/studierendenantrag.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
@@ -228,6 +229,28 @@ echo '
';
// Wenn es für das übergebene Studiensemester keinen PreStudentStatus gibt, werden nur Abschlussdokumente angezeigt
if (in_array($stsem, $stsem_arr))
{
+ $studierendenantrag = new studierendenantrag();
+ if ($studierendenantrag->loadUserAntrag($student_studiengang->prestudent_id, $stsem) && $studierendenantrag->result) {
+ echo '
' . $p->t('studierendenantrag/antraege_header') . '
';
+ echo '
+
+
+ |
+ '.$p->t('global/name').' |
+
+
+ ';
+ foreach ($studierendenantrag->result as $antrag) {
+ $path = "../pdfExport.php?xsl=Antrag" . $antrag->typ . "&xml=Antrag" . $antrag->typ . ".xml.php&uid=" . $uid . "&id=" . $antrag->studierendenantrag_id;
+ echo '';
+ echo ' | ';
+ echo '' . $p->t('studierendenantrag/title_' . $antrag->typ) . ' | ';
+ echo '
';
+ }
+ echo '
';
+ }
+
+
$konto = new konto();
$buchungstypen = array();
diff --git a/cis/private/profile/index.php b/cis/private/profile/index.php
index ed3295287..26312d5be 100644
--- a/cis/private/profile/index.php
+++ b/cis/private/profile/index.php
@@ -276,15 +276,22 @@ if (!$ansicht)
{
if ($type === 'mitarbeiter')
{
- $verwendung = new bisverwendung();
- if($verwendung->getLastVerwendung($uid))
+ if(defined('DIENSTVERHAELTNIS_SUPPORT') && DIENSTVERHAELTNIS_SUPPORT)
{
- if (!$verwendung->hauptberuflich)
- {
- echo 'Hauptberuf: '. $verwendung->hauptberuf;
- }
+ // TODO Hauptberuf wieder anzeigen sobald verfuegbar
}
- echo "
";
+ else
+ {
+ $verwendung = new bisverwendung();
+ if($verwendung->getLastVerwendung($uid))
+ {
+ if (!$verwendung->hauptberuflich)
+ {
+ echo 'Hauptberuf: '. $verwendung->hauptberuf;
+ }
+ }
+ echo "
";
+ }
}
}
@@ -606,9 +613,36 @@ function printFunctionsTable($query, $headingphrase, $tableid, $showVertragsstun
if ($showVertragsstunden === true && $adminOrOwnUser)
{
$vertragsstunden = 0.00;
- $qry = "SELECT sum(vertragsstunden) AS vertragsstdsumme from bis.tbl_bisverwendung
- WHERE mitarbeiter_uid = ".$db->db_add_param($uid)."
- AND (ende > now() OR ende IS NULL)";
+ if(defined('DIENSTVERHAELTNIS_SUPPORT') && DIENSTVERHAELTNIS_SUPPORT)
+ {
+ $qry = "SELECT
+ sum(wochenstunden) AS vertragsstdsumme
+ FROM
+ hr.tbl_vertragsbestandteil_stunden vbs
+ JOIN
+ hr.tbl_vertragsbestandteil vb USING(vertragsbestandteil_id)
+ JOIN
+ hr.tbl_dienstverhaeltnis dv USING(dienstverhaeltnis_id)
+ WHERE
+ dv.mitarbeiter_uid = ".$db->db_add_param($uid)."
+ AND NOW() BETWEEN COALESCE(vb.von, '1970-01-01'::date) AND COALESCE(vb.bis, '2170-12-31'::date)
+ AND NOT EXISTS (
+ SELECT
+ 1
+ FROM
+ hr.tbl_vertragsbestandteil
+ WHERE
+ dienstverhaeltnis_id = dv.dienstverhaeltnis_id
+ AND vertragsbestandteiltyp_kurzbz = 'karenz'
+ AND NOW() BETWEEN COALESCE(von, '1970-01-01'::date) AND COALESCE(bis, '2170-12-31'::date)
+ )";
+ }
+ else
+ {
+ $qry = "SELECT sum(vertragsstunden) AS vertragsstdsumme from bis.tbl_bisverwendung
+ WHERE mitarbeiter_uid = ".$db->db_add_param($uid)."
+ AND (ende > now() OR ende IS NULL)";
+ }
if ($result_vertragsstd = $db->db_query($qry))
{
diff --git a/cis/private/profile/zeitsperre_resturlaub.php b/cis/private/profile/zeitsperre_resturlaub.php
index 46d342971..ffd179401 100644
--- a/cis/private/profile/zeitsperre_resturlaub.php
+++ b/cis/private/profile/zeitsperre_resturlaub.php
@@ -79,7 +79,12 @@ else if (defined('CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS') && CIS_ZEITAUFZEICHNUNG_GE
else
$gesperrt_bis = '2015-08-31';
-//echo $gesperrt_bis;
+//Default-Wert für Max-Intervall in Tagen für Zeitsperre, über Config veränderbar
+$maxDauerZS = 730;
+
+if (defined('CIS_ZEITSPERREN_MAX_DAUER') && CIS_ZEITSPERREN_MAX_DAUER != '') {
+ $maxDauerZS = CIS_ZEITSPERREN_MAX_DAUER;
+}
//Stundentabelleholen
if(! $result_stunde=$db->db_query("SELECT * FROM lehre.tbl_stunde ORDER BY stunde"))
@@ -204,66 +209,72 @@ function berechnen()
function checkdatum()
{
- if(document.getElementById('vondatum').value.length<10)
+ if (document.getElementById('vondatum').value.length < 10)
{
alert('t('zeitsperre/vonDatumIstUngueltigNullenAngeben');?>');
return false;
}
- if(document.getElementById('bisdatum').value.length<10)
+ if (document.getElementById('bisdatum').value.length < 10)
{
alert('t('zeitsperre/bisDatumIstUngueltigNullenAngeben');?>');
return false;
}
- var Datum, Tag, Monat,Jahr,vonDatum,bisDatum, diff;
+ var Datum, Tag, Monat, Jahr, vonDatum, bisDatum, vonDatumDate, bisDatumDate, diff, diffTime, diffmax;
- Datum=document.getElementById('vondatum').value;
- Tag=Datum.substring(0,2);
- Monat=Datum.substring(3,5);
- if (parseInt(Monat,10)<1 || parseInt(Monat,10)>12)
- {
- alert('t('zeitsperre/vonDatumMonat');?>'+ document.getElementById('vondatum').value+ ' t('zeitsperre/istNichtRichtig');?>.');
+ Datum = document.getElementById('vondatum').value;
+ Tag = Datum.substring(0, 2);
+ Monat = Datum.substring(3, 5);
+ if (parseInt(Monat, 10) < 1 || parseInt(Monat, 10) > 12)
+ {
+ alert('t('zeitsperre/vonDatumMonat');?>' + document.getElementById('vondatum').value + ' t('zeitsperre/istNichtRichtig');?>.');
document.getElementById('vondatum').focus();
- return false;
- }
+ return false;
+ }
- Jahr=Datum.substring(6,10);
+ Jahr = Datum.substring(6, 10);
- vonDatum=Jahr+''+Monat+''+Tag;
+ vonDatum = Jahr + '' + Monat + '' + Tag;
+ vonDatumDate = Jahr + '-' + Monat + '-' + Tag;
- Datum=document.getElementById('bisdatum').value;
- Tag=Datum.substring(0,2);
- Monat=Datum.substring(3,5);
- if (parseInt(Monat,10)<1 || parseInt(Monat,10)>12)
- {
- alert('t('zeitsperre/bisDatumMonat');?>'+ document.getElementById('bisdatum').value+ ' t('zeitsperre/istNichtRichtig');?>.');
+ Datum = document.getElementById('bisdatum').value;
+ Tag = Datum.substring(0, 2);
+ Monat = Datum.substring(3, 5);
+ if (parseInt(Monat, 10) < 1 || parseInt(Monat, 10) > 12) {
+ alert('t('zeitsperre/bisDatumMonat');?>' + document.getElementById('bisdatum').value + ' t('zeitsperre/istNichtRichtig');?>.');
document.getElementById('bisdatum').focus();
- return false;
- }
+ return false;
+ }
- Jahr=Datum.substring(6,10);
+ Jahr = Datum.substring(6, 10);
+ bisDatum = Jahr + '' + Monat + '' + Tag;
+ bisDatumDate = Jahr + '-' + Monat + '-' + Tag;
- bisDatum=Jahr+''+Monat+''+Tag;
+ bisDatumDate = new Date(bisDatumDate);
+ vonDatumDate = new Date(vonDatumDate);
- diff=bisDatum-vonDatum;
+ diffTime = bisDatumDate.getTime() - vonDatumDate.getTime();
+ diff = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
+ diffmax =
- if (vonDatum>bisDatum)
- {
- alert('t('zeitsperre/vonDatum');?> '+ document.getElementById('vondatum').value+ ' t('zeitsperre/istGroesserAlsBisDatum');?> '+document.getElementById('bisdatum').value);
+ if (vonDatum > bisDatum) {
+ alert('t('zeitsperre/vonDatum');?> ' + document.getElementById('vondatum').value + ' t('zeitsperre/istGroesserAlsBisDatum');?> ' + document.getElementById('bisdatum').value);
document.getElementById('vondatum').focus();
- return false;
- }
- else if (diff>14)
- {
- Check = confirm('t('zeitaufzeichnung/zeitraumAuffallendHoch');?>');
+ return false;
+ }
+ else if (diff > 14 && diff < diffmax) {
+ Check = confirm('t('zeitaufzeichnung/zeitraumAuffallendHoch');?>');
document.getElementById('bisdatum').focus();
- if (Check == false)
- return false;
- else
- return true;
- }
-
+ if (Check == false)
+ return false;
+ else
+ return true;
+ } else if (diff >= diffmax) {
+ alert('t('zeitsperre/bisDatumGroesserMax');?> ');
+ document.getElementById('bisdatum').focus();
+ return false;
+ }
return true;
}
@@ -445,7 +456,8 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
$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];
+ $bisdatum_iso = $date[2].'-'.$date[1].'-'.$date[0];
}
else
{
@@ -464,6 +476,17 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
$error_msg .= $p->t('zeitsperre/vonDatumGroesserAlsBisDatum').'! ';
}
+ //check if bis-Datum zu weit in der Zukunft
+ $bis = new DateTime($bisdatum);
+ $von = new DateTime($vondatum);
+
+ $intervall = $bis->diff($von);
+ if ($intervall->days >= $maxDauerZS)
+ {
+ $error=true;
+ $error_msg = $p->t('zeitsperre/bisDatumGroesserMax');
+ }
+
//von-datum pruefen TODO
if($vondatum_iso < $gesperrt_bis && in_array($_POST['zeitsperretyp_kurzbz'],$typen_arr))
{
diff --git a/cis/private/tools/suche.php b/cis/private/tools/suche.php
index 52dbc2385..09d63b12a 100644
--- a/cis/private/tools/suche.php
+++ b/cis/private/tools/suche.php
@@ -126,6 +126,9 @@ if (!$searchPerson && !$searchOrt && !$searchDms && !$searchContent && !$searchO
function searchPerson($searchItems)
{
+ if (defined('CIS_ALLOW_PERSON_SEARCH') && !CIS_ALLOW_PERSON_SEARCH)
+ return false;
+
global $db, $p, $noalias, $uid;
$bn = new benutzer();
//search only active and Mitarbeiter with positive Personalnr
@@ -172,9 +175,6 @@ function searchPerson($searchItems)
';
foreach($bn->result as $row)
{
- $bisverwendung = new bisverwendung();
- $bisverwendung->getLastAktVerwendung($row->uid);
-
echo '
';
//echo '| ',$row->titelpre,' | ';
echo '',$row->anrede,' | ';
@@ -185,21 +185,16 @@ function searchPerson($searchItems)
echo '',$row->vorname, ' | ';
echo '';
- if(!defined('CIS_SUCHE_PROFIL_ANZEIGEN'))
- echo '',$row->nachname,'';
- else if(!CIS_SUCHE_PROFIL_ANZEIGEN)
- {
- $mitarbeiter = new Mitarbeiter($uid);
- if($mitarbeiter->errormsg === NULL)
- echo '',$row->nachname,'';
- else
+
+ $mitarbeiter = new Mitarbeiter();
+ if (defined('CIS_SUCHE_PROFIL_ANZEIGEN') && CIS_SUCHE_PROFIL_ANZEIGEN === false && !$mitarbeiter->load($uid))
echo $row->nachname;
- }
else
echo '',$row->nachname,'';
+
if($row->aktiv==false)
echo ' (ausgeschieden)';
- elseif($bisverwendung->beschausmasscode=='5')
+ elseif(isKarenziert($row->uid))
echo ' (karenziert)';
echo ' | ';
//echo '',$row->titelpost,' | ';
@@ -262,6 +257,47 @@ function searchPerson($searchItems)
else
return false;
}
+
+function isKarenziert($uid)
+{
+ global $db;
+
+ if(defined('DIENSTVERHAELTNIS_SUPPORT') && DIENSTVERHAELTNIS_SUPPORT)
+ {
+ $qry ="
+ SELECT
+ 1
+ FROM
+ hr.tbl_dienstverhaeltnis
+ JOIN hr.tbl_vertragsbestandteil USING(dienstverhaeltnis_id)
+ JOIN hr.tbl_vertragsbestandteil_karenz USING(vertragsbestandteil_id)
+ WHERE
+ tbl_dienstverhaeltnis.mitarbeiter_uid=".$db->db_add_param($uid)."
+ AND tbl_vertragsbestandteil.von<=now() AND tbl_vertragsbestandteil.bis>=now()
+ ";
+
+ if($result = $db->db_query($qry))
+ {
+ if($db->db_num_rows($result)>0)
+ return true;
+ else
+ return false;
+ }
+ else
+ return false;
+ }
+ else
+ {
+ $bisverwendung = new bisverwendung();
+ $bisverwendung->getLastAktVerwendung($uid);
+
+ if($bisverwendung->beschausmasscode=='5')
+ return true;
+ else
+ return false;
+ }
+}
+
function searchOE($searchItems)
{
global $db, $p, $noalias;
@@ -332,8 +368,6 @@ function searchOE($searchItems)
$mitarbeiter->load($bf->uid);
$kontakt = new kontakt();
$kontakt->loadFirmaKontakttyp($mitarbeiter->standort_id,'telefon');
- $bisverwendung = new bisverwendung();
- $bisverwendung->getLastAktVerwendung($bf->uid);
$benutzer = new benutzer($bf->uid);
if ($benutzer->bnaktiv)
{
@@ -341,8 +375,8 @@ function searchOE($searchItems)
echo ''.$person->vorname.' | ';
echo '',$person->nachname,' | ';
echo ''.$bf->bezeichnung;
- if($bisverwendung->beschausmasscode=='5')
- echo ' (karenziert)';
+ if( isKarenziert($bf->uid))
+ echo ' (karenziert)';
echo ' | ';
// Display phone number
diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php
index 0eb86bdb1..46fd2c4c3 100644
--- a/cis/private/tools/zeitaufzeichnung.php
+++ b/cis/private/tools/zeitaufzeichnung.php
@@ -41,11 +41,10 @@ require_once('../../../include/service.class.php');
require_once('../../../include/mitarbeiter.class.php');
require_once('../../../include/betriebsmittelperson.class.php');
require_once('../../../include/globals.inc.php');
-require_once('../../../include/bisverwendung.class.php');
-require_once('../../../include/studiensemester.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../include/zeitaufzeichnung_import_csv.class.php');
require_once('../../../include/zeitaufzeichnung_import_post.class.php');
+require_once('../../../include/vertragsbestandteil.class.php');
$sprache = getSprache();
$p=new phrasen($sprache);
@@ -229,6 +228,21 @@ $( document ).ready(function()
';
+echo <<
+ $(document).ready(function() {
+ const scrollDiv = document.createElement('div');
+ scrollDiv.style.cssText = 'width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;';
+ document.body.appendChild(scrollDiv);
+ const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
+ document.body.removeChild(scrollDiv);
+ var marginright = Math.max((20 - scrollbarWidth), 0);
+ document.body.style.setProperty('width', 'calc(100% - ' + marginright + 'px)');
+ });
+
+
+EOSBJS;
+
echo '