mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-18 23:42:17 +00:00
Merge branch 'master' into 9503/csvExportProjektÜbersicht
This commit is contained in:
@@ -20,31 +20,31 @@ class LehrauftragJob extends JOB_Controller
|
||||
{
|
||||
const BERECHTIGUNG_LEHRAUFTRAG_ERTEILEN = 'lehre/lehrauftrag_erteilen';
|
||||
const BERECHTIGUNG_LEHRAUFTRAG_AKZEPTIEREN = 'lehre/lehrauftrag_akzeptieren';
|
||||
|
||||
|
||||
const LEHRAUFTRAG_ERTEILEN_URI = 'lehre/lehrauftrag/LehrauftragErteilen';
|
||||
const LEHRAUFTRAG_AKZEPTIEREN_URI = '/lehre/lehrauftrag/LehrauftragAkzeptieren';
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
|
||||
// Load models
|
||||
$this->load->model('accounting/Vertrag_model', 'VertragModel');
|
||||
$this->load->model('accounting/Vertragvertragsstatus_model', 'VertragvertragsstatusModel');
|
||||
$this->load->model('education/Lehrveranstaltung_model', 'LehrveranstaltungModel');
|
||||
$this->load->model('person/Benutzerfunktion_model', 'BenutzerfunktionModel');
|
||||
$this->load->model('system/Benutzerrolle_model', 'BenutzerrolleModel');
|
||||
|
||||
|
||||
// Load libraries
|
||||
$this->load->library('PermissionLib');
|
||||
|
||||
|
||||
// Load helpers
|
||||
$this->load->helper('hlp_sancho_helper');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This daily job sends information about all lehr-/projektauftraege ordered (and not approved) the day bofore.
|
||||
* Receivers: Department-/Kompetenzfeldleiter
|
||||
@@ -62,7 +62,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
foreach ($vertrag_arr as $vertrag)
|
||||
{
|
||||
$result = $this->VertragModel->getLehreinheitData($vertrag->vertrag_id, 'lehrveranstaltung_id, studiensemester_kurzbz');
|
||||
|
||||
|
||||
if (hasData($result))
|
||||
{
|
||||
$obj = new StdClass();
|
||||
@@ -72,7 +72,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Build the data array to be used in the email. Data array is clustered as follows:
|
||||
* Array
|
||||
@@ -90,7 +90,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
foreach ($lehreinheit_data_arr as $lehreinheit_data)
|
||||
{
|
||||
$result = $this->_getLVData($lehreinheit_data->lehrveranstaltung_id);
|
||||
|
||||
|
||||
if (hasData($result))
|
||||
{
|
||||
// Search if studiensemester exists in data_arr
|
||||
@@ -102,12 +102,12 @@ class LehrauftragJob extends JOB_Controller
|
||||
$data = array(
|
||||
'studiensemester_kurzbz' => $lehreinheit_data->studiensemester_kurzbz
|
||||
);
|
||||
|
||||
|
||||
$data []= array(
|
||||
'oe_kurzbz' => $result->retval[0]->oe_kurzbz,
|
||||
'oe_bezeichnung' => $result->retval[0]->lv_oe_bezeichnung
|
||||
);
|
||||
|
||||
|
||||
// Add stg data to oe, start amount with 1
|
||||
$data[0][] = array(
|
||||
'stg_kz' => $result->retval[0]->studiengang_kz,
|
||||
@@ -115,7 +115,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
'stg_bezeichnung' => $result->retval[0]->lv_stg_bezeichnung,
|
||||
'amount' => 1
|
||||
);
|
||||
|
||||
|
||||
// Push to final data_arr
|
||||
$data_arr []= $data;
|
||||
}
|
||||
@@ -124,7 +124,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
{
|
||||
// Search if oe exists inside existing studiensemester of data_arr
|
||||
$oe_index = array_search($result->retval[0]->oe_kurzbz, array_column($data_arr[$ss_index], 'oe_kurzbz'));
|
||||
|
||||
|
||||
// If oe is new, add oe and stg to studiensemester
|
||||
if ($oe_index === false)
|
||||
{
|
||||
@@ -132,7 +132,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
$data_arr[$ss_index][] = array(
|
||||
'oe_kurzbz' => $result->retval[0]->oe_kurzbz,
|
||||
'oe_bezeichnung' => $result->retval[0]->lv_oe_bezeichnung,
|
||||
|
||||
|
||||
// Add stg data to oe, start amount with 1
|
||||
array(
|
||||
'stg_kz' => $result->retval[0]->studiengang_kz,
|
||||
@@ -147,7 +147,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
{
|
||||
// Search if stg exists inside existing oe of data_arr
|
||||
$stg_index = array_search($result->retval[0]->studiengang_kz, array_column($data_arr[$ss_index][$oe_index], 'stg_kz'));
|
||||
|
||||
|
||||
// If stg is new, add stg to oe, start amount with 1
|
||||
if ($stg_index === false)
|
||||
{
|
||||
@@ -168,7 +168,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Cluster data by uid of entitled mail receivers.
|
||||
* Returning array is clustered as follows:
|
||||
@@ -186,7 +186,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
* [amount] // amount of new ordered lehrauftraege of that stg
|
||||
*/
|
||||
$data_arr = $this->_clusterData_byReceiver($data_arr);
|
||||
|
||||
|
||||
// Send email
|
||||
if(!$this->_sendMail_toApprove($data_arr))
|
||||
{
|
||||
@@ -197,7 +197,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
$this->logError('Error when sending emails in job MailLehrauftragToApprove');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This daily job sends information about all lehr-/projektauftraege approved the day bofore.
|
||||
* Receivers: lectors
|
||||
@@ -208,7 +208,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
$this->VertragvertragsstatusModel->addSelect('vertrag_id, uid');
|
||||
$this->VertragvertragsstatusModel->addOrder('uid');
|
||||
$result = $this->VertragvertragsstatusModel->getApproved_fromDate('YESTERDAY');
|
||||
|
||||
|
||||
/**
|
||||
* Build the data array to be used in the email. Data array is clustered as follows:
|
||||
* Array
|
||||
@@ -228,10 +228,10 @@ class LehrauftragJob extends JOB_Controller
|
||||
{
|
||||
$studiensemester = $studiensemester[0]->vertragsstunden_studiensemester_kurzbz;
|
||||
}
|
||||
|
||||
|
||||
// Search if uid exists in data_arr
|
||||
$uid_index = array_search($vertrag->uid, array_column($data_arr, 'uid'));
|
||||
|
||||
|
||||
// If uid is new, add uid, studiensemester and start amount with 1
|
||||
if ($uid_index === false)
|
||||
{
|
||||
@@ -249,7 +249,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
{
|
||||
$data_arr[$uid_index]['studiensemester'] .= ' und '. $studiensemester;
|
||||
}
|
||||
|
||||
|
||||
// Increase amount +1
|
||||
$data_arr[$uid_index]['amount']++;
|
||||
}
|
||||
@@ -266,11 +266,11 @@ class LehrauftragJob extends JOB_Controller
|
||||
$this->logError('Error when sending emails in job MailLehrauftragToAccept');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//******************************************************************************************************************
|
||||
// PRIVATE FUNCTIONS
|
||||
//******************************************************************************************************************
|
||||
|
||||
|
||||
/**
|
||||
* Get data of given lehrveranstaltung.
|
||||
* @param $lehrveranstaltung_id
|
||||
@@ -286,7 +286,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
stg.typ AS "stg_typ",
|
||||
stg.kurzbz AS "stg_kurzbz"
|
||||
');
|
||||
|
||||
|
||||
$this->LehrveranstaltungModel->addJoin('lehre.tbl_studienplan_lehrveranstaltung stpllv', 'lehrveranstaltung_id');
|
||||
$this->LehrveranstaltungModel->addJoin('lehre.tbl_studienplan stpl', 'studienplan_id');
|
||||
$this->LehrveranstaltungModel->addJoin('lehre.tbl_studienordnung sto', 'studienordnung_id');
|
||||
@@ -294,10 +294,10 @@ class LehrauftragJob extends JOB_Controller
|
||||
$this->LehrveranstaltungModel->addJoin('public.tbl_organisationseinheit oe', 'ON oe.oe_kurzbz = tbl_lehrveranstaltung.oe_kurzbz');
|
||||
$this->LehrveranstaltungModel->addOrder('stpllv.insertamum', 'DESC');
|
||||
$this->LehrveranstaltungModel->addLimit(1);
|
||||
|
||||
|
||||
return $this->LehrveranstaltungModel->load($lehrveranstaltung_id);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Send Sancho eMail about ordered Lehrauftraege.
|
||||
* @param $data_arr
|
||||
@@ -310,12 +310,12 @@ class LehrauftragJob extends JOB_Controller
|
||||
// Set mail recipients (department assistance/leader)
|
||||
$to = $data['uid']. '@'. DOMAIN;
|
||||
$html_table = $this->_renderData_LehrauftraegeToApprove($data);
|
||||
|
||||
|
||||
// Prepare mail content
|
||||
$content_data_arr = array(
|
||||
'table' => $html_table
|
||||
);
|
||||
|
||||
|
||||
sendSanchoMail(
|
||||
'LehrauftragNeueBestellungen',
|
||||
$content_data_arr,
|
||||
@@ -326,7 +326,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Cluster the data array by entitled mail receiver.
|
||||
* Returning array is clustered as follows:
|
||||
@@ -409,7 +409,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
|
||||
return $mail_data_arr;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Render the data array for the mail template returing a HTML table.
|
||||
* @param $data_arr Data to be used in HTML table
|
||||
@@ -425,11 +425,11 @@ class LehrauftragJob extends JOB_Controller
|
||||
if (isset($studiensemester_container['studiensemester_kurzbz']))
|
||||
{
|
||||
$studiensemester = $studiensemester_container['studiensemester_kurzbz'];
|
||||
|
||||
|
||||
// Link to LehrauftragErteilen
|
||||
$url = site_url(self::LEHRAUFTRAG_ERTEILEN_URI).'?studiensemester='. $studiensemester;
|
||||
}
|
||||
|
||||
|
||||
// HTML table header
|
||||
$html .= '
|
||||
<br>
|
||||
@@ -446,7 +446,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
</thead>
|
||||
<tbody>'
|
||||
;
|
||||
|
||||
|
||||
// HTML table body
|
||||
foreach ($studiensemester_container as $oe_container)
|
||||
{
|
||||
@@ -456,7 +456,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
{
|
||||
$oe_bezeichnung = $oe_container['oe_bezeichnung'];
|
||||
}
|
||||
|
||||
|
||||
foreach ($oe_container as $stg_data)
|
||||
{
|
||||
if (is_array($stg_data)) // is_array 'trims' the outer associative keys [oe_kurzbz] and [oe_bezeichnung]
|
||||
@@ -473,7 +473,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// HTML table body end and link
|
||||
$html .= '
|
||||
</tbody>
|
||||
@@ -484,10 +484,10 @@ class LehrauftragJob extends JOB_Controller
|
||||
';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Send Sancho eMail about ordered Lehrauftraege.
|
||||
* @param $data_arr
|
||||
@@ -499,24 +499,24 @@ class LehrauftragJob extends JOB_Controller
|
||||
{
|
||||
// Set mail recipient (lector)
|
||||
$to = $data['uid']. '@'. DOMAIN;
|
||||
|
||||
|
||||
// Link to LehrauftragAkzeptieren
|
||||
$url = CIS_ROOT. 'cis/index.php?menu='.
|
||||
CIS_ROOT. 'cis/menu.php?content_id=&content='.
|
||||
CIS_ROOT. index_page(). self::LEHRAUFTRAG_AKZEPTIEREN_URI;
|
||||
|
||||
|
||||
// Get first name
|
||||
$first_name = '';
|
||||
$this->load->model('person/Benutzer_model', 'BenutzerModel');
|
||||
$this->BenutzerModel->addSelect('vorname');
|
||||
$this->BenutzerModel->addJoin('public.tbl_person', 'person_id');
|
||||
$result = $this->BenutzerModel->loadWhere(array('uid' => $data['uid']));
|
||||
|
||||
|
||||
if (hasData($result))
|
||||
{
|
||||
$first_name = $result->retval[0]->vorname;
|
||||
}
|
||||
|
||||
|
||||
// Prepare mail content
|
||||
$content_data_arr = array(
|
||||
'vorname' => $first_name,
|
||||
@@ -524,7 +524,7 @@ class LehrauftragJob extends JOB_Controller
|
||||
'anzahl' => $data['amount'],
|
||||
'link' => anchor($url, 'Lehraufträge Übersicht')
|
||||
);
|
||||
|
||||
|
||||
sendSanchoMail(
|
||||
'LehrauftragNeueErteilte',
|
||||
$content_data_arr,
|
||||
@@ -532,5 +532,6 @@ class LehrauftragJob extends JOB_Controller
|
||||
'Neu erteilte Lehraufträge zum Annehmen bereit'
|
||||
);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,9 +115,11 @@ class Pruefungsprotokoll extends Auth_Controller
|
||||
public function saveProtokoll()
|
||||
{
|
||||
$abschlusspruefung_id = $this->input->post('abschlusspruefung_id');
|
||||
$data = $this->input->post('protocoldata');
|
||||
$freigebendata = $this->input->post('freigebendata');
|
||||
$protocoldata = $this->input->post('protocoldata');
|
||||
|
||||
if (isset($abschlusspruefung_id) && is_numeric($abschlusspruefung_id) && isset($data))
|
||||
if (isset($abschlusspruefung_id) && is_numeric($abschlusspruefung_id)
|
||||
&& isset($freigebendata['freigeben']) && isset($protocoldata))
|
||||
{
|
||||
// check permission
|
||||
$berechtigt = $this->_getAbschlusspruefungBerechtigt($abschlusspruefung_id);
|
||||
@@ -125,15 +127,14 @@ class Pruefungsprotokoll extends Auth_Controller
|
||||
$this->outputJsonError(getError($berechtigt));
|
||||
else
|
||||
{
|
||||
$freigabe = isset($data['freigabedatum']) && $data['freigabedatum'];
|
||||
$freigabe = $freigebendata['freigeben'] === 'true';
|
||||
|
||||
if ($freigabe)
|
||||
{
|
||||
// Verify password
|
||||
$password = $data['password'];
|
||||
unset($data['password']);
|
||||
if (!isEmptyString($password))
|
||||
if (isset($freigebendata['password']) && !isEmptyString($freigebendata['password']))
|
||||
{
|
||||
$password = $freigebendata['password'];
|
||||
$result = $this->authlib->checkUserAuthByUsernamePassword($this->_uid, $password);
|
||||
if (isError($result))
|
||||
{
|
||||
@@ -146,7 +147,8 @@ class Pruefungsprotokoll extends Auth_Controller
|
||||
}
|
||||
}
|
||||
|
||||
$data = $this->_prepareAbschlusspruefungDataForSave($data);
|
||||
$data = $this->_prepareAbschlusspruefungDataForSave($protocoldata, $freigabe);
|
||||
|
||||
$result = $this->AbschlusspruefungModel->update($abschlusspruefung_id, $data);
|
||||
|
||||
if (hasData($result))
|
||||
@@ -213,7 +215,7 @@ class Pruefungsprotokoll extends Auth_Controller
|
||||
* @param $data
|
||||
* @return array
|
||||
*/
|
||||
private function _prepareAbschlusspruefungDataForSave($data)
|
||||
private function _prepareAbschlusspruefungDataForSave($data, $freigabe)
|
||||
{
|
||||
$nullfields = array('uhrzeit', 'endezeit', 'abschlussbeurteilung_kurzbz', 'protokoll');
|
||||
foreach ($data as $idx => $item)
|
||||
@@ -222,7 +224,7 @@ class Pruefungsprotokoll extends Auth_Controller
|
||||
$data[$idx] = null;
|
||||
}
|
||||
|
||||
if (isset($data['freigabedatum']) && $data['freigabedatum'])
|
||||
if ($freigabe === true)
|
||||
$data['freigabedatum'] = date('Y-m-d');
|
||||
|
||||
return $data;
|
||||
|
||||
@@ -92,7 +92,8 @@ class Lehrauftrag extends Auth_Controller
|
||||
|
||||
// Retrieve studiengaenge the user is entitled for to populate studiengang dropdown
|
||||
if (!$studiengang_kz_arr = $this->permissionlib->getSTG_isEntitledFor(self::BERECHTIGUNG_LEHRAUFTRAG_BESTELLEN)) {
|
||||
show_error('Fehler bei Berechtigungsprüfung');
|
||||
show_error('Keine Studiengänge gefunden.<br>
|
||||
Es muss eine passende Organisationseinheit hinterlegt werden.<br>');
|
||||
}
|
||||
|
||||
// If studiengang_kz get param was set, check against entitled stg
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/**
|
||||
*
|
||||
* This is the super class for all those controllers that can only be called from command line
|
||||
* It provides also an helper to display the possible calls
|
||||
*/
|
||||
abstract class CLI_Controller extends FHC_Controller
|
||||
{
|
||||
@@ -15,9 +16,9 @@ abstract class CLI_Controller extends FHC_Controller
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct()
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
parent::__construct();
|
||||
|
||||
// Checks if the controller is called from command line
|
||||
$this->_isAllowed();
|
||||
@@ -103,3 +104,4 @@ abstract class CLI_Controller extends FHC_Controller
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,26 +3,36 @@
|
||||
if (!defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
/**
|
||||
*
|
||||
* This is the super class for a job.
|
||||
* All the controllers that extends this class can only be called from command line.
|
||||
* Provides utility methods to log into database
|
||||
*/
|
||||
abstract class JOB_Controller extends CLI_Controller
|
||||
{
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public function __construct()
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
parent::__construct();
|
||||
|
||||
// Loads LogLib with different debug trace levels to get data of the job that extends this class
|
||||
// It also specify parameters to set database fields
|
||||
$this->load->library('LogLib', array(
|
||||
'classIndex' => 5,
|
||||
'functionIndex' => 5,
|
||||
'lineIndex' => 4,
|
||||
'dbLogType' => 'job', // required
|
||||
'dbExecuteUser' => 'Cronjob system'
|
||||
));
|
||||
$this->load->library(
|
||||
'LogLib',
|
||||
array(
|
||||
'classIndex' => 5,
|
||||
'functionIndex' => 5,
|
||||
'lineIndex' => 4,
|
||||
'dbLogType' => 'job', // required
|
||||
'dbExecuteUser' => 'Cronjob system',
|
||||
'requestId' => 'JOB',
|
||||
'requestDataFormatter' => function($data) {
|
||||
return json_encode($data);
|
||||
}
|
||||
),
|
||||
'LogLibJob' // library alias case sensitive
|
||||
);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------------
|
||||
@@ -33,7 +43,7 @@ abstract class JOB_Controller extends CLI_Controller
|
||||
*/
|
||||
protected function logInfo($response, $parameters = null)
|
||||
{
|
||||
$this->_log(LogLib::INFO, 'Cronjob info', $response, $parameters);
|
||||
$this->_log(LogLib::INFO, $response, $parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -41,7 +51,7 @@ abstract class JOB_Controller extends CLI_Controller
|
||||
*/
|
||||
protected function logDebug($response, $parameters = null)
|
||||
{
|
||||
$this->_log(LogLib::DEBUG, 'Cronjob debug', $response, $parameters);
|
||||
$this->_log(LogLib::DEBUG, $response, $parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -49,7 +59,7 @@ abstract class JOB_Controller extends CLI_Controller
|
||||
*/
|
||||
protected function logWarning($response, $parameters = null)
|
||||
{
|
||||
$this->_log(LogLib::WARNING, 'Cronjob warning', $response, $parameters);
|
||||
$this->_log(LogLib::WARNING, $response, $parameters);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -57,7 +67,7 @@ abstract class JOB_Controller extends CLI_Controller
|
||||
*/
|
||||
protected function logError($response, $parameters = null)
|
||||
{
|
||||
$this->_log(LogLib::ERROR, 'Cronjob error', $response, $parameters);
|
||||
$this->_log(LogLib::ERROR, $response, $parameters);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------------
|
||||
@@ -66,7 +76,7 @@ abstract class JOB_Controller extends CLI_Controller
|
||||
/**
|
||||
* Writes a log to database
|
||||
*/
|
||||
private function _log($level, $requestId, $response, $parameters)
|
||||
private function _log($level, $response, $parameters)
|
||||
{
|
||||
$data = new stdClass();
|
||||
|
||||
@@ -76,17 +86,18 @@ abstract class JOB_Controller extends CLI_Controller
|
||||
switch($level)
|
||||
{
|
||||
case LogLib::INFO:
|
||||
$this->loglib->logInfoDB($requestId, json_encode(success($data, LogLib::INFO)));
|
||||
$this->LogLibJob->logInfoDB($data);
|
||||
break;
|
||||
case LogLib::DEBUG:
|
||||
$this->loglib->logDebugDB($requestId, json_encode(success($data, LogLib::DEBUG)));
|
||||
$this->LogLibJob->logDebugDB($data);
|
||||
break;
|
||||
case LogLib::WARNING:
|
||||
$this->loglib->logWarningDB($requestId, json_encode(error($data, LogLib::WARNING)));
|
||||
$this->LogLibJob->logWarningDB($data);
|
||||
break;
|
||||
case LogLib::ERROR:
|
||||
$this->loglib->logErrorDB($requestId, json_encode(error($data, LogLib::ERROR)));
|
||||
$this->LogLibJob->logErrorDB($data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,9 +5,10 @@ if (!defined("BASEPATH")) exit("No direct script access allowed");
|
||||
/**
|
||||
* Job Queue Worker
|
||||
*
|
||||
* This controller acts as interface of the JobsQueueLib that contains all the needed functionalities to operate with
|
||||
* the Jobs Queue System
|
||||
* This is an abstract class that provide basic functionalities, it has to be extended to broaden its logic
|
||||
* This controller acts as interface of the JobsQueueLib that contains
|
||||
* all the needed functionalities to operate with the Jobs Queue System
|
||||
* This is an abstract class that provide basic functionalities,
|
||||
* it has to be extended to broaden its logic
|
||||
*/
|
||||
abstract class JQW_Controller extends JOB_Controller
|
||||
{
|
||||
@@ -18,14 +19,13 @@ abstract class JQW_Controller extends JOB_Controller
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
// Loads LogLib with different parameters
|
||||
$this->load->library('LogLib', array(
|
||||
'classIndex' => 5,
|
||||
'functionIndex' => 5,
|
||||
'lineIndex' => 4,
|
||||
'dbLogType' => 'job', // required
|
||||
'dbExecuteUser' => 'Jobs queue system'
|
||||
));
|
||||
// Changes the needed configs for LogLib
|
||||
$this->LogLibJob->setConfigs(
|
||||
array(
|
||||
'dbExecuteUser' => 'Jobs queue system',
|
||||
'requestId' => 'JQW'
|
||||
)
|
||||
);
|
||||
|
||||
// Loads JobsQueueLib library
|
||||
$this->load->library('JobsQueueLib');
|
||||
|
||||
@@ -93,6 +93,7 @@ class FilterWidgetLib
|
||||
const OP_NOT_SET = 'nset';
|
||||
|
||||
// Filter options values
|
||||
const OPT_MINUTES = 'minutes';
|
||||
const OPT_HOURS = 'hours';
|
||||
const OPT_DAYS = 'days';
|
||||
const OPT_MONTHS = 'months';
|
||||
@@ -887,7 +888,8 @@ class FilterWidgetLib
|
||||
&& isset($filterDefinition->option)
|
||||
&& ($filterDefinition->option == self::OPT_HOURS
|
||||
|| $filterDefinition->option == self::OPT_DAYS
|
||||
|| $filterDefinition->option == self::OPT_MONTHS))
|
||||
|| $filterDefinition->option == self::OPT_MONTHS
|
||||
|| $filterDefinition->option == self::OPT_MINUTES))
|
||||
{
|
||||
$condition = '< (NOW() - \''.$filterDefinition->condition.' '.$filterDefinition->option.'\'::interval)';
|
||||
}
|
||||
@@ -903,7 +905,8 @@ class FilterWidgetLib
|
||||
&& isset($filterDefinition->option)
|
||||
&& ($filterDefinition->option == self::OPT_HOURS
|
||||
|| $filterDefinition->option == self::OPT_DAYS
|
||||
|| $filterDefinition->option == self::OPT_MONTHS))
|
||||
|| $filterDefinition->option == self::OPT_MONTHS
|
||||
|| $filterDefinition->option == self::OPT_MINUTES))
|
||||
{
|
||||
$condition = '> (NOW() - \''.$filterDefinition->condition.' '.$filterDefinition->option.'\'::interval)';
|
||||
}
|
||||
|
||||
@@ -42,6 +42,8 @@ class LogLib
|
||||
const P_NAME_LINE_INDEX = 'lineIndex';
|
||||
const P_NAME_DB_LOG_TYPE = 'dbLogType';
|
||||
const P_NAME_DB_EXECUTE_USER = 'dbExecuteUser';
|
||||
const P_NAME_REQUEST_ID = 'requestId';
|
||||
const P_NAME_REQUEST_DATA_FORMATTER = 'requestDataFormatter';
|
||||
|
||||
// Properties used to retrieve caller data
|
||||
private $_classIndex;
|
||||
@@ -52,6 +54,9 @@ class LogLib
|
||||
private $_dbLogType;
|
||||
private $_dbExecuteUser;
|
||||
|
||||
private $_requestId; // is it possible to specify a request id when loading this library
|
||||
private $_requestDataFormatter; // is possible to provide a function to format request data
|
||||
|
||||
/**
|
||||
* Set properties to a default value or overwrites them with the given parameters
|
||||
*/
|
||||
@@ -63,7 +68,18 @@ class LogLib
|
||||
$this->_lineIndex = self::LINE_INDEX;
|
||||
$this->_dbLogType = null;
|
||||
$this->_dbExecuteUser = self::DB_EXECUTE_USER;
|
||||
$this->_requestId = null;
|
||||
$this->_requestDataFormatter = null;
|
||||
|
||||
// If parameters are given then overwrite the default values
|
||||
if (!isEmptyArray($params)) $this->setConfigs($params);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store configuration parameters for this lib
|
||||
*/
|
||||
public function setConfigs($params)
|
||||
{
|
||||
// If parameters are given then overwrite the default values
|
||||
if (!isEmptyArray($params))
|
||||
{
|
||||
@@ -72,6 +88,8 @@ class LogLib
|
||||
if (isset($params[self::P_NAME_LINE_INDEX])) $this->_lineIndex = $params[self::P_NAME_LINE_INDEX];
|
||||
if (isset($params[self::P_NAME_DB_LOG_TYPE])) $this->_dbLogType = $params[self::P_NAME_DB_LOG_TYPE];
|
||||
if (isset($params[self::P_NAME_DB_EXECUTE_USER])) $this->_dbExecuteUser = $params[self::P_NAME_DB_EXECUTE_USER];
|
||||
if (isset($params[self::P_NAME_REQUEST_ID])) $this->_requestId = $params[self::P_NAME_REQUEST_ID];
|
||||
if (isset($params[self::P_NAME_REQUEST_DATA_FORMATTER])) $this->_requestDataFormatter = $params[self::P_NAME_REQUEST_DATA_FORMATTER];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,33 +126,33 @@ class LogLib
|
||||
/**
|
||||
* Writes an info log to database
|
||||
*/
|
||||
public function logInfoDB($requestId, $data)
|
||||
public function logInfoDB($data, $requestId = null)
|
||||
{
|
||||
$this->_logDB(self::INFO, $requestId, $data);
|
||||
$this->_logDB(self::INFO, $data, $requestId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Writes a debug log to database
|
||||
*/
|
||||
public function logDebugDB($requestId, $data)
|
||||
public function logDebugDB($data, $requestId = null)
|
||||
{
|
||||
$this->_logDB(self::DEBUG, $requestId, $data);
|
||||
$this->_logDB(self::DEBUG, $data, $requestId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Writes an warning log to database
|
||||
*/
|
||||
public function logWarningDB($requestId, $data)
|
||||
public function logWarningDB($data, $requestId = null)
|
||||
{
|
||||
$this->_logDB(self::WARNING, $requestId, $data);
|
||||
$this->_logDB(self::WARNING, $data, $requestId);
|
||||
}
|
||||
|
||||
/**
|
||||
* Writes an error log to database
|
||||
*/
|
||||
public function logErrorDB($requestId, $data)
|
||||
public function logErrorDB($data, $requestId = null)
|
||||
{
|
||||
$this->_logDB(self::ERROR, $requestId, $data);
|
||||
$this->_logDB(self::ERROR, $data, $requestId);
|
||||
}
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------------
|
||||
@@ -151,8 +169,15 @@ class LogLib
|
||||
/**
|
||||
* Writes logs to database
|
||||
*/
|
||||
private function _logDB($level, $requestId, $data)
|
||||
private function _logDB($level, $data, $requestId, $executionTime = null)
|
||||
{
|
||||
// If there isn't a valid request id provided during the loading of this library or when any log to db method is called
|
||||
// NOTE: this message will be displayed only to the developer AND stops the execution
|
||||
if (isEmptyString($this->_requestId) && isEmptyString($requestId))
|
||||
{
|
||||
show_error('To log to database you need to specify or give the "'.self::P_NAME_REQUEST_ID.'" parameter when the LogLib is loaded or when log'.ucfirst($level).'DB is called');
|
||||
}
|
||||
|
||||
// If the _dbLogType parameter was not given when this library was loaded
|
||||
// NOTE: this message will be displayed only to the developer AND stops the execution
|
||||
if ($this->_dbLogType == null)
|
||||
@@ -175,14 +200,21 @@ class LogLib
|
||||
// Get caller data
|
||||
$callerData = $this->_getCaller();
|
||||
|
||||
// If a request data formatter was defined then use it
|
||||
$request_data = $data;
|
||||
if ($this->_requestDataFormatter != null && is_callable($this->_requestDataFormatter))
|
||||
{
|
||||
$request_data = call_user_func_array($this->_requestDataFormatter, array($data));
|
||||
}
|
||||
|
||||
// Writes a log to database
|
||||
$ci->WebservicelogModel->insert(array(
|
||||
'webservicetyp_kurzbz' => $this->_dbLogType,
|
||||
'request_id' => $requestId,
|
||||
'request_id' => (!isEmptyString($requestId) ? $requestId : $this->_requestId).' - '.$level,
|
||||
'beschreibung' => $this->_getDatabaseDescription($callerData),
|
||||
'request_data' => $data,
|
||||
'request_data' => $request_data,
|
||||
'execute_user' => $this->_dbExecuteUser,
|
||||
'execute_time' => 'NOW()' // current time
|
||||
'execute_time' => $executionTime == null ? 'NOW()' : $executionTime // default current time, if not otherwise specified
|
||||
));
|
||||
}
|
||||
}
|
||||
@@ -251,3 +283,4 @@ class LogLib
|
||||
return $formatted;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -215,6 +215,31 @@ class MessageLib
|
||||
|
||||
return $messageVars; // otherwise returns the error
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves message vars of the logged in user from view vw_msg_vars_user
|
||||
*/
|
||||
public function getMessageVarsLoggedInUser()
|
||||
{
|
||||
// Retrieves message vars from view vw_msg_vars
|
||||
$messageVars = $this->_ci->MessageModel->getMsgVarsLoggedInUser();
|
||||
if (isSuccess($messageVars)) // if everything is ok
|
||||
{
|
||||
$variablesArray = array();
|
||||
$tmpVariablesArray = getData($messageVars);
|
||||
|
||||
// Starts from 1 to skip the first element which is uid
|
||||
for ($i = 1; $i < count($tmpVariablesArray); $i++)
|
||||
{
|
||||
$variablesArray['{'.str_replace(' ', '_', strtolower($tmpVariablesArray[$i])).'}']
|
||||
= strtoupper($tmpVariablesArray[$i]);
|
||||
}
|
||||
|
||||
return success($variablesArray);
|
||||
}
|
||||
|
||||
return $messageVars; // otherwise returns the error
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves organisation units for each role that a user plays inside that organisation unit
|
||||
@@ -595,11 +620,24 @@ class MessageLib
|
||||
$this->_ci->load->model('person/Benutzer_model', 'BenutzerModel');
|
||||
|
||||
// And the receiver has an active account for the given organisation unit
|
||||
$benutzerResult = $this->_ci->BenutzerModel->getActiveUserByPersonIdAndOrganisationUnit($message->receiver_id, $message->sender_ou);
|
||||
$benutzerResult = $this->_ci->BenutzerModel->getActiveUserByPersonIdAndOrganisationUnit(
|
||||
$message->receiver_id,
|
||||
$message->sender_ou
|
||||
);
|
||||
|
||||
if (isError($benutzerResult)) return $benutzerResult; // if an error occured then return it
|
||||
|
||||
// Use the uid + domain email
|
||||
if (hasData($benutzerResult)) $message->receiverContact = getData($benutzerResult)[0]->uid .'@'.DOMAIN;
|
||||
// If an active user for the given organization unit was found
|
||||
if (hasData($benutzerResult))
|
||||
{
|
||||
// Checks if the user was NOT created in the last 24 hours
|
||||
if (getData($benutzerResult)[0]->insertamum < date('Y-m-d H:i:s', strtotime('-1 day')))
|
||||
{
|
||||
// Use the uid + domain email
|
||||
$message->receiverContact = getData($benutzerResult)[0]->uid .'@'.DOMAIN;
|
||||
}
|
||||
// otherwise do NOT use the internal email account
|
||||
}
|
||||
}
|
||||
|
||||
// Otherwise try with the private email
|
||||
@@ -644,7 +682,7 @@ class MessageLib
|
||||
// If there are presetudent
|
||||
if (hasData($prestudentResults))
|
||||
{
|
||||
$inArray = true;
|
||||
$privateOnly = false;
|
||||
$organisationUnits = getData($prestudentResults);
|
||||
|
||||
// Look if any of the organization units of this prestudent are in the list of the
|
||||
@@ -652,16 +690,21 @@ class MessageLib
|
||||
foreach ($organisationUnits as $organisationUnit)
|
||||
{
|
||||
// If the recipient organisation unit is NOT in the list of organisation units that sent only to private emails
|
||||
// NOTE: done in this way because it is easyer to check the result of array_search
|
||||
if (array_search($organisationUnit, $this->_ci->config->item(self::CFG_OU_RECEIVERS_PRIVATE)) === false)
|
||||
{
|
||||
$inArray = false;
|
||||
// NOP
|
||||
}
|
||||
else // otherwise If the recipient organisation unit is the list of organisation units that sent only to private emails
|
||||
{
|
||||
$privateOnly = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// If the recipient prestudent organization unit is not in in the list of the
|
||||
// organization units that will not send the notice email to the internal account
|
||||
if (!$inArray)
|
||||
if ($privateOnly)
|
||||
{
|
||||
// Then use the private email
|
||||
$privateEmailResult = $this->_getPrivateEmail($message->receiver_id);
|
||||
@@ -676,10 +719,37 @@ class MessageLib
|
||||
$this->_ci->BenutzerModel->addOrder('updateamum', 'DESC');
|
||||
$this->_ci->BenutzerModel->addOrder('insertamum', 'DESC');
|
||||
|
||||
$benutzerResult = $this->_ci->BenutzerModel->loadWhere(array('person_id' => $message->receiver_id));
|
||||
$benutzerResult = $this->_ci->BenutzerModel->loadWhere(
|
||||
array(
|
||||
'person_id' => $message->receiver_id
|
||||
)
|
||||
);
|
||||
if (isError($benutzerResult)) return $benutzerResult; // if an error occured then return it
|
||||
|
||||
$message->receiverContact = getData($benutzerResult)[0]->uid .'@'.DOMAIN; // Use the uid + domain email
|
||||
// If an active user for the given organization unit was found
|
||||
if (hasData($benutzerResult))
|
||||
{
|
||||
// For each benutzer found for this person
|
||||
foreach (getData($benutzerResult) as $benutzer)
|
||||
{
|
||||
// Checks if the user was NOT created in the last 24 hours
|
||||
if (getData($benutzerResult)[0]->insertamum < date('Y-m-d H:i:s', strtotime('-1 day')))
|
||||
{
|
||||
// Use the uid + domain as email address
|
||||
$message->receiverContact = getData($benutzerResult)[0]->uid .'@'.DOMAIN;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Otherwise try with the private email
|
||||
if (isEmptyString($message->receiverContact))
|
||||
{
|
||||
// Then use the private email
|
||||
$privateEmailResult = $this->_getPrivateEmail($message->receiver_id);
|
||||
if (isError($privateEmailResult)) return $privateEmailResult; // if an error occured then return it
|
||||
|
||||
if (hasData($privateEmailResult)) $message->receiverContact = getData($privateEmailResult);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,6 +48,9 @@ class Messages_model extends CI_Model
|
||||
$this->load->model('system/Benutzerrolle_model', 'BenutzerrolleModel');
|
||||
// Loads model Prestudent_model
|
||||
$this->load->model('crm/Prestudent_model', 'PrestudentModel');
|
||||
// Loads model Benutzer_model
|
||||
$this->load->model('person/Benutzer_model', 'BenutzerModel');
|
||||
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------------
|
||||
@@ -402,7 +405,10 @@ class Messages_model extends CI_Model
|
||||
// Looping on receivers data
|
||||
foreach (getData($msgVarsData) as $receiver)
|
||||
{
|
||||
$msgVarsDataArray = $this->_lowerReplaceSpaceArrayKeys((array)$receiver); // replaces array keys
|
||||
// Merge receivers data with logged in user data
|
||||
$msgVarsDataArray = $this->_addMsgVarsDataOfLoggedInUser($receiver);
|
||||
|
||||
$msgVarsDataArray = $this->_lowerReplaceSpaceArrayKeys((array)getData($msgVarsDataArray)[0]); // replaces array keys
|
||||
$parsedSubject = parseText($subject, $msgVarsDataArray);
|
||||
$parsedBody = parseText($body, $msgVarsDataArray);
|
||||
|
||||
@@ -466,6 +472,15 @@ class Messages_model extends CI_Model
|
||||
if (!hasData($msgVarsData)) show_error('No recipients were given');
|
||||
|
||||
$prestudentsData = $this->PrestudentModel->getOrganisationunits($prestudents);
|
||||
|
||||
// Get the senders uid (if user is an active employee)
|
||||
$this->BenutzerModel->addSelect('uid');
|
||||
$this->BenutzerModel->addJoin('public.tbl_mitarbeiter ma', 'ma.mitarbeiter_uid = uid');
|
||||
if (!$result = getData($this->BenutzerModel->getFromPersonId($sender_id)))
|
||||
{
|
||||
show_error('No sender_uid found');
|
||||
}
|
||||
$sender_uid = $result[0]->uid;
|
||||
|
||||
// Adds the organisation unit to each prestudent
|
||||
if (isEmptyString($oe_kurzbz) && hasData($msgVarsData) && hasData($prestudentsData))
|
||||
@@ -475,7 +490,15 @@ class Messages_model extends CI_Model
|
||||
|
||||
foreach (getData($msgVarsData) as $receiver)
|
||||
{
|
||||
$msgVarsDataArray = $this->_lowerReplaceSpaceArrayKeys((array)$receiver); // replaces array keys
|
||||
/**
|
||||
* Merge receivers data with senders data
|
||||
* NOTE: _addMsgVarsDataOfLoggedInUser usually retrieves data of the logged in user that is set in the
|
||||
* templates user fields. As sendExplicitTemplateSenderId is run by a job, a sender uid is passed to be used
|
||||
* instead the logged in user.
|
||||
*/
|
||||
$msgVarsDataArray = $this->_addMsgVarsDataOfLoggedInUser($receiver, $sender_uid);
|
||||
|
||||
$msgVarsDataArray = $this->_lowerReplaceSpaceArrayKeys((array)getData($msgVarsDataArray)[0]); // replaces array keys
|
||||
|
||||
// Additional message variables
|
||||
if (is_array($msgVars)) $msgVarsDataArray = array_merge($msgVarsDataArray, $msgVars);
|
||||
@@ -606,6 +629,9 @@ class Messages_model extends CI_Model
|
||||
$parseMessageText = error('The given person_id is not a valid number');
|
||||
|
||||
if (is_numeric($person_id)) $parseMessageText = $this->MessageModel->getMsgVarsDataByPersonId($person_id);
|
||||
|
||||
// Add message vars data of the logged in user
|
||||
$parseMessageText = $this->_addMsgVarsDataOfLoggedInUser($parseMessageText);
|
||||
|
||||
if (hasData($parseMessageText))
|
||||
{
|
||||
@@ -629,7 +655,10 @@ class Messages_model extends CI_Model
|
||||
$parseMessageText = error('The given prestudent_id is not a valid number');
|
||||
|
||||
if (is_numeric($prestudent_id)) $parseMessageText = $this->MessageModel->getMsgVarsDataByPrestudentId($prestudent_id);
|
||||
|
||||
|
||||
// Add message vars data of the logged in user
|
||||
$parseMessageText = $this->_addMsgVarsDataOfLoggedInUser($parseMessageText);
|
||||
|
||||
if (hasData($parseMessageText))
|
||||
{
|
||||
$parseMessageText = success(
|
||||
@@ -839,6 +868,26 @@ class Messages_model extends CI_Model
|
||||
|
||||
$variables[] = $tmpVar;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
// Retrieves message vars of logged in user from database view vw_msg_vars_person
|
||||
$result = null;
|
||||
|
||||
// If data contains a prestudent id
|
||||
$result = $this->messagelib->getMessageVarsLoggedInUser();
|
||||
|
||||
if (isError($result)) show_error(getError($result));
|
||||
|
||||
// Then builds an array that contains objects with field name and field description of logged in user data
|
||||
$user_fields = array();
|
||||
foreach (getData($result) as $id => $description)
|
||||
{
|
||||
$obj = new stdClass();
|
||||
$obj->id = $id;
|
||||
$obj->description = $description;
|
||||
|
||||
$user_fields[] = $obj;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------------------
|
||||
// Retrieves the sender id
|
||||
@@ -859,6 +908,7 @@ class Messages_model extends CI_Model
|
||||
'subject' => $replySubject,
|
||||
'body' => $replyBody,
|
||||
'variables' => $variables,
|
||||
'user_fields' => $user_fields,
|
||||
'organisationUnits' => getData($organisationUnits),
|
||||
'senderIsAdmin' => getData($senderIsAdmin),
|
||||
'recipientsArray' => $recipientsArray,
|
||||
@@ -867,4 +917,30 @@ class Messages_model extends CI_Model
|
||||
'type' => $type
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds message vars data of the logged in user to the given object (that should also have message vars data)
|
||||
* @param object $otherMsgVarsDataObj Can be success object or simple object.
|
||||
* @return object Returns success object.
|
||||
*/
|
||||
public function _addMsgVarsDataOfLoggedInUser($otherMsgVarsDataObj, $uid = null)
|
||||
{
|
||||
// First check if param type is object
|
||||
if (!is_object($otherMsgVarsDataObj)) show_error('Must pass an object to merge with data of logged in user');
|
||||
|
||||
// If it is a return object, extract the simple data object
|
||||
if (isSuccess($otherMsgVarsDataObj))
|
||||
{
|
||||
$otherMsgVarsDataObj = getData($otherMsgVarsDataObj)[0];
|
||||
}
|
||||
|
||||
// Retrieve message vars data of the logged in user
|
||||
if (!$msgVarsDataLoggedInUser = getData($this->MessageModel->getMsgVarsDataByLoggedInUser($uid))[0])
|
||||
{
|
||||
return success($otherMsgVarsDataObj); // If failed, return at least given object as expected success object
|
||||
}
|
||||
|
||||
return success(array((object)(array_merge((array) $otherMsgVarsDataObj, (array) $msgVarsDataLoggedInUser))));
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,4 +11,61 @@ class Konto_model extends DB_Model
|
||||
$this->dbTable = 'public.tbl_konto';
|
||||
$this->pk = 'buchungsnr';
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets a Payment as paid
|
||||
*/
|
||||
public function setPaid($buchungsnr)
|
||||
{
|
||||
// get payment
|
||||
$buchungResult = $this->loadWhere(array('buchungsnr' => $buchungsnr));
|
||||
|
||||
if(isSuccess($buchungResult) && hasData($buchungResult))
|
||||
{
|
||||
// get already paid amount
|
||||
$this->addSelect('sum(betrag) as bezahlt');
|
||||
$this->addGroupBy('buchungsnr_verweis');
|
||||
$buchungVerweisResult = $this->loadWhere(array('buchungsnr_verweis' => $buchungsnr));
|
||||
|
||||
if(isSuccess($buchungVerweisResult))
|
||||
{
|
||||
if(hasData($buchungVerweisResult))
|
||||
{
|
||||
$betragBezahltResult = getData($buchungVerweisResult);
|
||||
$betragBezahlt = $betragBezahltResult->bezahlt;
|
||||
}
|
||||
else
|
||||
$betragBezahlt = 0;
|
||||
|
||||
$buchung = getData($buchungResult);
|
||||
$buchung = $buchung[0];
|
||||
|
||||
// calculate open amount
|
||||
$betragOffen = $betragBezahlt - $buchung->betrag*(-1);
|
||||
|
||||
$data = array(
|
||||
'person_id' => $buchung->person_id,
|
||||
'studiengang_kz' => $buchung->studiengang_kz,
|
||||
'studiensemester_kurzbz' => $buchung->studiensemester_kurzbz,
|
||||
'buchungsnr_verweis' => $buchungsnr,
|
||||
'betrag' => str_replace(',','.',$betragOffen*(-1)),
|
||||
'buchungsdatum' => date('Y-m-d'),
|
||||
'buchungstext' => $buchung->buchungstext,
|
||||
'insertamum' => date('Y-m-d H:i:s'),
|
||||
'insertvon' => '',
|
||||
'buchungstyp_kurzbz' => $buchung->buchungstyp_kurzbz,
|
||||
);
|
||||
|
||||
return $this->insert($data);
|
||||
}
|
||||
else
|
||||
{
|
||||
return error('Failed to load Payment');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return error('Failed to load Payment');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -119,9 +119,10 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
* Gets all students of a Lehrveranstaltung
|
||||
* @param $studiensemester_kurzbz
|
||||
* @param $lehrveranstaltung_id
|
||||
* @param $active optional, if true, only active students retrieved, false - only inactive, all students otherwise
|
||||
* @return array|null
|
||||
*/
|
||||
public function getStudentsByLv($studiensemester_kurzbz, $lehrveranstaltung_id)
|
||||
public function getStudentsByLv($studiensemester_kurzbz, $lehrveranstaltung_id, $active = null)
|
||||
{
|
||||
$query = "SELECT
|
||||
distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr,
|
||||
@@ -144,8 +145,18 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
WHERE
|
||||
vw_student_lehrveranstaltung.studiensemester_kurzbz=?
|
||||
AND
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id=?
|
||||
ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC";
|
||||
vw_student_lehrveranstaltung.lehrveranstaltung_id=?";
|
||||
|
||||
if (isset($active))
|
||||
{
|
||||
if ($active === true)
|
||||
$query .= " AND tbl_benutzer.aktiv";
|
||||
elseif ($active === false)
|
||||
$query .= " AND tbl_benutzer.aktiv = false";
|
||||
}
|
||||
|
||||
$query .=
|
||||
" ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC";
|
||||
|
||||
return $this->execQuery($query, array($studiensemester_kurzbz, $lehrveranstaltung_id));
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ class Organisationseinheit_model extends DB_Model
|
||||
FROM tree JOIN tbl_organisationseinheit oe ON (tree.oe_kurzbz = oe.oe_parent_kurzbz)
|
||||
)
|
||||
SELECT oe_kurzbz AS id,
|
||||
SUBSTRING(REGEXP_REPLACE(path, '[A-z]+\|', '-', 'g') || bezeichnung, 2) AS description
|
||||
SUBSTRING(REGEXP_REPLACE(path, '[A-z0-9]+\|', '-', 'g') || bezeichnung, 2) AS description
|
||||
FROM tree";
|
||||
|
||||
$parametersArray = array();
|
||||
|
||||
@@ -59,7 +59,7 @@ class Studiensemester_model extends DB_Model
|
||||
$days = 62;
|
||||
}
|
||||
|
||||
$query = 'SELECT studiensemester_kurzbz
|
||||
$query = 'SELECT studiensemester_kurzbz, start, ende
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE start < NOW() + \'' . $days . ' DAYS\':: INTERVAL
|
||||
ORDER BY start DESC
|
||||
@@ -132,7 +132,7 @@ class Studiensemester_model extends DB_Model
|
||||
$query .= ' WHERE SUBSTRING(studiensemester_kurzbz FROM 1 FOR 2) = \'' . $ss . '\'';
|
||||
}
|
||||
|
||||
$query .= ' ORDER BY delta LIMIT 1';
|
||||
$query .= ' ORDER BY delta, start LIMIT 1';
|
||||
|
||||
return $this->execQuery($query);
|
||||
}
|
||||
@@ -188,7 +188,7 @@ class Studiensemester_model extends DB_Model
|
||||
{
|
||||
$query = "SELECT studiensemester_kurzbz, start, ende FROM public.vw_studiensemester
|
||||
WHERE studiensemester_kurzbz <> ?
|
||||
ORDER BY delta LIMIT 1";
|
||||
ORDER BY delta, start LIMIT 1";
|
||||
|
||||
return $this->execQuery($query, array($studiensemester_kurzbz));
|
||||
}
|
||||
|
||||
@@ -23,13 +23,17 @@ class Benutzer_model extends DB_Model
|
||||
*/
|
||||
public function getActiveUserByPersonIdAndOrganisationUnit($person_id, $oe_kurzbz)
|
||||
{
|
||||
$sql = 'SELECT b.uid
|
||||
FROM public.tbl_benutzer b
|
||||
JOIN public.tbl_prestudent ps USING (person_id)
|
||||
JOIN public.tbl_studiengang sg USING (studiengang_kz)
|
||||
WHERE ps.person_id = ?
|
||||
AND sg.oe_kurzbz = ?
|
||||
AND b.aktiv = TRUE';
|
||||
$sql = 'SELECT
|
||||
b.uid,
|
||||
b.insertamum
|
||||
FROM
|
||||
public.tbl_prestudent ps
|
||||
JOIN public.tbl_studiengang sg USING (studiengang_kz)
|
||||
JOIN public.tbl_student USING(prestudent_id)
|
||||
JOIN public.tbl_benutzer b ON(uid = student_uid)
|
||||
WHERE ps.person_id = ?
|
||||
AND sg.oe_kurzbz = ?
|
||||
AND b.aktiv = TRUE';
|
||||
|
||||
return $this->execQuery($sql, array($person_id, $oe_kurzbz));
|
||||
}
|
||||
|
||||
@@ -169,4 +169,33 @@ class Kontakt_model extends DB_Model
|
||||
|
||||
return $this->execQuery($qry, array($person_id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads main contact, i.e. most recent Zustellkontakt with the given kontakttypes.
|
||||
* @param $person_id
|
||||
* @param $kontakttypen array of kontakttypen, one chronologically last Zustellkontakt for all given types
|
||||
* @return object
|
||||
*/
|
||||
public function getZustellKontakt($person_id, $kontakttypen)
|
||||
{
|
||||
if (is_string($kontakttypen))
|
||||
$kontakttypen = array($kontakttypen);
|
||||
|
||||
if (!isEmptyArray($kontakttypen))
|
||||
{
|
||||
$qry = "
|
||||
SELECT
|
||||
kontakt
|
||||
FROM
|
||||
public.tbl_kontakt
|
||||
WHERE person_id = ?
|
||||
AND kontakttyp IN ?
|
||||
ORDER BY zustellung DESC NULLS LAST, updateamum DESC, insertamum DESC
|
||||
LIMIT 1";
|
||||
|
||||
return $this->execQuery($qry, array($person_id, $kontakttypen));
|
||||
}
|
||||
else
|
||||
return success(array());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ class Mitarbeiter_model extends DB_Model
|
||||
* @param $personaccount wenn true werden alle geladen die personalnr >= 0 haben, also "echte" Personaccounts
|
||||
* @return array
|
||||
*/
|
||||
public function getPersonal($aktiv, $fix, $verwendung, $personaccount = null)
|
||||
public function getPersonal($aktiv, $fix, $verwendung, $personaccount = null, $uids = null)
|
||||
{
|
||||
$qry = "SELECT DISTINCT ON(mitarbeiter_uid) staatsbuergerschaft, geburtsnation, sprache, anrede, titelpost, titelpre,
|
||||
nachname, vorname, vornamen, gebdatum, gebort, gebzeit, tbl_person.anmerkung AS person_anmerkung, homepage, svnr, ersatzkennzeichen, familienstand,
|
||||
@@ -88,7 +88,14 @@ class Mitarbeiter_model extends DB_Model
|
||||
elseif ($personaccount === false)
|
||||
$qry .= " AND tbl_mitarbeiter.personalnummer < 0";
|
||||
|
||||
return $this->execQuery($qry);
|
||||
$params = array();
|
||||
if (!isEmptyArray($uids))
|
||||
{
|
||||
$qry .= " AND tbl_mitarbeiter.mitarbeiter_uid IN ?";
|
||||
$params[] = $uids;
|
||||
}
|
||||
|
||||
return $this->execQuery($qry, $params);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -171,6 +171,23 @@ class Message_model extends DB_Model
|
||||
return error($this->db->error(), FHC_DB_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get message variables for logged in user
|
||||
*/
|
||||
public function getMsgVarsLoggedInUser()
|
||||
{
|
||||
$result = $this->db->query('SELECT * FROM public.vw_msg_vars_user WHERE 0 = 1');
|
||||
|
||||
if ($result)
|
||||
{
|
||||
return success($result->list_fields());
|
||||
}
|
||||
else
|
||||
{
|
||||
return error($this->db->error(), FHC_DB_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* getMsgVarsDataByPrestudentId
|
||||
@@ -191,4 +208,26 @@ class Message_model extends DB_Model
|
||||
|
||||
return $this->execQuery(sprintf($query, is_array($person_id) ? 'IN' : '='), array($person_id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get message vars data for logged in user
|
||||
* @param string uid The UID should ONLY be passed if this method is called by a cronjob.
|
||||
* This is to enable jobs to use templates which use logged-in-user fields ('Eigene Felder').
|
||||
* @return array|null
|
||||
*/
|
||||
public function getMsgVarsDataByLoggedInUser($uid = null)
|
||||
{
|
||||
if (is_string($uid))
|
||||
{
|
||||
$params = array($uid);
|
||||
}
|
||||
else
|
||||
{
|
||||
$params = array(getAuthUID());
|
||||
}
|
||||
|
||||
$query = 'SELECT * FROM public.vw_msg_vars_user WHERE my_uid = ?';
|
||||
|
||||
return $this->execQuery($query, $params);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
'query' => '
|
||||
SELECT
|
||||
person_id, vorname, nachname, geschlecht, svnr, ersatzkennzeichen, matr_nr,
|
||||
staatsbuergerschaft, gebdatum
|
||||
staatsbuergerschaft, gebdatum, false AS mitarbeiter
|
||||
FROM
|
||||
public.tbl_person
|
||||
WHERE
|
||||
@@ -11,6 +11,17 @@
|
||||
AND bpk is null
|
||||
AND EXISTS(SELECT 1 FROM public.tbl_benutzer JOIN public.tbl_student ON(uid=student_uid) AND
|
||||
person_id=tbl_person.person_id AND tbl_benutzer.aktiv=true)
|
||||
UNION
|
||||
SELECT
|
||||
person_id, vorname, nachname, geschlecht, svnr, ersatzkennzeichen, matr_nr,
|
||||
staatsbuergerschaft, gebdatum, true AS mitarbeiter
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer USING(person_id)
|
||||
JOIN public.tbl_mitarbeiter ON (mitarbeiter_uid=uid)
|
||||
WHERE
|
||||
bpk is null
|
||||
AND tbl_benutzer.aktiv=true
|
||||
',
|
||||
'requiredPermissions' => 'admin',
|
||||
'datasetRepresentation' => 'tablesorter',
|
||||
@@ -25,6 +36,7 @@
|
||||
ucfirst($this->p->t('person', 'matrikelnummer')),
|
||||
ucfirst($this->p->t('person', 'staatsbuergerschaft')),
|
||||
ucfirst($this->p->t('person', 'geburtsdatum')),
|
||||
'Mitarbeiter'
|
||||
),
|
||||
'formatRow' => function($datasetRaw) {
|
||||
|
||||
@@ -45,6 +57,11 @@
|
||||
{
|
||||
$datasetRaw->{'svnr'} = '-';
|
||||
}
|
||||
if ($datasetRaw->{'matr_nr'} == null)
|
||||
{
|
||||
$datasetRaw->{'matr_nr'} = '-';
|
||||
}
|
||||
$datasetRaw->{'mitarbeiter'} = $datasetRaw->{'mitarbeiter'} == 'true' ? 'ja' : 'nein';
|
||||
|
||||
return $datasetRaw;
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
),
|
||||
'formatRow' => function($datasetRaw) {
|
||||
|
||||
$datasetRaw->ExecutionTime = date_format(date_create($datasetRaw->ExecutionTime), 'd.m.Y H:i:s');
|
||||
$datasetRaw->ExecutionTime = date_format(date_create($datasetRaw->ExecutionTime), 'd.m.Y H:i:s:u');
|
||||
|
||||
return $datasetRaw;
|
||||
},
|
||||
@@ -33,22 +33,22 @@
|
||||
|
||||
$mark = '';
|
||||
|
||||
if ($datasetRaw->RequestId == 'Cronjob error')
|
||||
if (strpos($datasetRaw->RequestId, 'error') != false)
|
||||
{
|
||||
$mark = 'text-red';
|
||||
}
|
||||
|
||||
if ($datasetRaw->RequestId == 'Cronjob info')
|
||||
if (strpos($datasetRaw->RequestId, 'info') != false)
|
||||
{
|
||||
$mark = 'text-green';
|
||||
}
|
||||
|
||||
if ($datasetRaw->RequestId == 'Cronjob warning')
|
||||
if (strpos($datasetRaw->RequestId, 'warning') != false)
|
||||
{
|
||||
$mark = 'text-orange';
|
||||
}
|
||||
|
||||
if ($datasetRaw->RequestId == 'Cronjob debug')
|
||||
if (strpos($datasetRaw->RequestId, 'debug') != false)
|
||||
{
|
||||
$mark = 'text-info';
|
||||
}
|
||||
@@ -63,3 +63,4 @@
|
||||
|
||||
echo $this->widgetlib->widget('FilterWidget', $filterWidgetArray);
|
||||
?>
|
||||
|
||||
|
||||
@@ -83,19 +83,41 @@
|
||||
</label>
|
||||
|
||||
<?php
|
||||
$size = count($variables) > 19 ? 19 : count($variables);
|
||||
echo $this->widgetlib->widget(
|
||||
'MultipleDropdown_widget',
|
||||
array('elements' => success($variables)),
|
||||
array(
|
||||
'name' => 'variables[]',
|
||||
'id' => 'variables',
|
||||
'size' => count($variables),
|
||||
'size' => $size,
|
||||
'multiple' => true
|
||||
)
|
||||
);
|
||||
?>
|
||||
|
||||
</div>
|
||||
<br>
|
||||
<div class="form-group">
|
||||
<label>
|
||||
|
||||
<?php echo ucfirst($this->p->t('ui', 'meineFelder')); ?>:
|
||||
|
||||
</label>
|
||||
|
||||
<?php
|
||||
$size = count($user_fields) > 5 ? 5 : count($user_fields);
|
||||
echo $this->widgetlib->widget(
|
||||
'MultipleDropdown_widget',
|
||||
array('elements' => success($user_fields)),
|
||||
array(
|
||||
'name' => 'user_fields[]',
|
||||
'id' => 'user_fields',
|
||||
'size' => $size,
|
||||
'multiple' => true
|
||||
)
|
||||
);
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
@@ -111,14 +133,15 @@
|
||||
?>
|
||||
|
||||
</div>
|
||||
<div class="col-lg-7 col-xs-9 text-right">
|
||||
<button id="sendButton" class="btn btn-default" type="button">
|
||||
<div class="col-xs-6">
|
||||
<button id="sendButton" class="btn btn-default pull-right" type="button">
|
||||
|
||||
<?php echo $this->p->t('ui', 'senden'); ?>
|
||||
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<hr>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
|
||||
@@ -31,7 +31,10 @@ class Organisationseinheit_widget extends DropdownWidget
|
||||
{
|
||||
// NOTE: no need to call addSelectToModel because getRecursiveList already returns
|
||||
// the correct names of the fields
|
||||
$this->setElementsArray($this->OrganisationseinheitModel->getRecursiveList());
|
||||
$this->setElementsArray($this->OrganisationseinheitModel->getRecursiveList(),
|
||||
true,
|
||||
$this->p->t('lehre', 'organisationseinheit'),
|
||||
'No organisational unit found');
|
||||
}
|
||||
|
||||
$this->loadDropDownView($widgetData);
|
||||
|
||||
@@ -725,6 +725,11 @@ function refresh()
|
||||
loadPruefungen();
|
||||
loadPruefungenOfStudiengang();
|
||||
loadPruefungenGesamt();
|
||||
|
||||
if ($("#filter_studiensemester").val() == "0")
|
||||
$("#additional-exams").hide();
|
||||
else
|
||||
$("#additional-exams").show();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -53,7 +53,7 @@ $method = isset($_REQUEST['method'])?$_REQUEST['method']:'';
|
||||
switch($method)
|
||||
{
|
||||
case 'getPruefungByLv':
|
||||
$studiensemester = isset($_REQUEST['studiensemester']) ? $_REQUEST['studiensemester'] : NULL;
|
||||
$studiensemester = isset($_REQUEST['studiensemester']) && $_REQUEST['studiensemester'] != '0' ? $_REQUEST['studiensemester'] : NULL;
|
||||
$data = getPruefungByLv($studiensemester, $uid);
|
||||
break;
|
||||
case 'getPruefungByLvFromStudiengang':
|
||||
@@ -156,7 +156,7 @@ function getPruefungByLv($aktStudiensemester = null, $uid = null)
|
||||
}
|
||||
$lehrveranstaltungen=$lvIds;
|
||||
$pruefung = new pruefungCis();
|
||||
if($pruefung->getPruefungByLv($lehrveranstaltungen))
|
||||
if($pruefung->getPruefungByLv($lehrveranstaltungen, $uid))
|
||||
{
|
||||
$pruefungen = array();
|
||||
foreach($pruefung->lehrveranstaltungen as $key=>$lv)
|
||||
@@ -164,7 +164,10 @@ function getPruefungByLv($aktStudiensemester = null, $uid = null)
|
||||
$lehrveranstaltung = new lehrveranstaltung($lv->lehrveranstaltung_id);
|
||||
$lehrveranstaltung = $lehrveranstaltung->cleanResult();
|
||||
$lehreinheit = new lehreinheit();
|
||||
$lehreinheit->load_lehreinheiten($lehrveranstaltung[0]->lehrveranstaltung_id, $aktStudiensemester);
|
||||
if ($aktStudiensemester == null)
|
||||
$lehreinheit->load_all_lehreinheiten($lehrveranstaltung[0]->lehrveranstaltung_id);
|
||||
else
|
||||
$lehreinheit->load_lehreinheiten($lehrveranstaltung[0]->lehrveranstaltung_id, $aktStudiensemester);
|
||||
$lehreinheiten = $lehreinheit->lehreinheiten;
|
||||
$prf = new stdClass();
|
||||
$temp = new pruefungCis($lv->pruefung_id);
|
||||
|
||||
@@ -187,21 +187,15 @@ $studiensemester->getAll();
|
||||
<body>
|
||||
<?php
|
||||
echo "<h1>".$p->t('pruefung/anmeldungFuer')." ".$benutzer->vorname." ".$benutzer->nachname." (".$uid.")</h1>";
|
||||
echo '<h3>'.$p->t('pruefung/filter').'</h3>';
|
||||
echo '<p>'.$p->t('global/studiensemester').': ';
|
||||
echo '<h3 style="display: none">'.$p->t('pruefung/filter').'</h3>';
|
||||
echo '<p style="display: none">'.$p->t('global/studiensemester').': ';
|
||||
echo '<select id="filter_studiensemester" onchange="refresh();">';
|
||||
$aktuellesSemester = $studiensemester->getaktorNext();
|
||||
foreach ($studiensemester->studiensemester as $sem)
|
||||
{
|
||||
if ($aktuellesSemester == $sem->studiensemester_kurzbz)
|
||||
{
|
||||
echo '<option selected value="'.$sem->studiensemester_kurzbz.'">'.$sem->studiensemester_kurzbz.'</option>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<option value="'.$sem->studiensemester_kurzbz.'">'.$sem->studiensemester_kurzbz.'</option>';
|
||||
}
|
||||
echo '<option value="'.$sem->studiensemester_kurzbz.'">'.$sem->studiensemester_kurzbz.'</option>';
|
||||
}
|
||||
echo '<option selected value="0">alle Semester</option>';
|
||||
echo '</select></p>';
|
||||
?>
|
||||
<div id="details" title="<?php echo $p->t('pruefung/details'); ?>">
|
||||
@@ -240,43 +234,45 @@ $studiensemester->getAll();
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<?php
|
||||
if (!defined('CIS_PRUEFUNGSANMELDUNG_LEHRVERANSTALTUNGEN_AUS_STUDIENGANG')
|
||||
|| CIS_PRUEFUNGSANMELDUNG_LEHRVERANSTALTUNGEN_AUS_STUDIENGANG == true):
|
||||
?>
|
||||
<h2><?php echo $p->t('pruefung/lvVonStudiengang'); ?></h2>
|
||||
<div>
|
||||
<table id="table2" class="tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="columnheader1"><?php echo $p->t('global/institut'); ?></th>
|
||||
<th class="columnheader2"><?php echo $p->t('global/lehrveranstaltung'); ?></th>
|
||||
<th class="columnheader3"><?php echo $p->t('pruefung/pruefungTermin'); ?></th>
|
||||
<th class="columnheader4"><?php echo $p->t('pruefung/freiePlaetze'); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="pruefungenStudiengang">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div id="additional-exams" style="display: none">
|
||||
<?php
|
||||
if (!defined('CIS_PRUEFUNGSANMELDUNG_LEHRVERANSTALTUNGEN_AUS_STUDIENGANG')
|
||||
|| CIS_PRUEFUNGSANMELDUNG_LEHRVERANSTALTUNGEN_AUS_STUDIENGANG == true):
|
||||
?>
|
||||
<h2><?php echo $p->t('pruefung/lvVonStudiengang'); ?></h2>
|
||||
<div>
|
||||
<table id="table2" class="tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="columnheader1"><?php echo $p->t('global/institut'); ?></th>
|
||||
<th class="columnheader2"><?php echo $p->t('global/lehrveranstaltung'); ?></th>
|
||||
<th class="columnheader3"><?php echo $p->t('pruefung/pruefungTermin'); ?></th>
|
||||
<th class="columnheader4"><?php echo $p->t('pruefung/freiePlaetze'); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="pruefungenStudiengang">
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<h2><?php echo $p->t('pruefung/lvAlle'); ?></h2>
|
||||
<div>
|
||||
<table id="table3" class="tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="columnheader1"><?php echo $p->t('global/institut'); ?></th>
|
||||
<th class="columnheader2"><?php echo $p->t('global/lehrveranstaltung'); ?></th>
|
||||
<th class="columnheader3"><?php echo $p->t('pruefung/pruefungTermin'); ?></th>
|
||||
<th class="columnheader4"><?php echo $p->t('pruefung/freiePlaetze'); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="pruefungenGesamt">
|
||||
<h2><?php echo $p->t('pruefung/lvAlle'); ?></h2>
|
||||
<div>
|
||||
<table id="table3" class="tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="columnheader1"><?php echo $p->t('global/institut'); ?></th>
|
||||
<th class="columnheader2"><?php echo $p->t('global/lehrveranstaltung'); ?></th>
|
||||
<th class="columnheader3"><?php echo $p->t('pruefung/pruefungTermin'); ?></th>
|
||||
<th class="columnheader4"><?php echo $p->t('pruefung/freiePlaetze'); ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="pruefungenGesamt">
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="saveDialog" title="<?php echo $p->t('pruefung/anmeldungSpeichern'); ?>">
|
||||
<form id="saveAnmeldungForm">
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
$url = "http://xgnd.bsz-bw.de/";
|
||||
$url = "https://xgnd.bsz-bw.de/";
|
||||
$zielfeld = "kontrollschlagwoerter";
|
||||
$url = $url."?zielfeld=".$zielfeld;
|
||||
header('Content-Type: text/html; charset=utf-8');
|
||||
|
||||
@@ -1,456 +1,456 @@
|
||||
<?php
|
||||
/* Copyright (C) 2009 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
* Gerald Simane-Sequens <gerald.simane@technikum-wien.at>.
|
||||
*/
|
||||
require_once('../../../config/cis.config.inc.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/benutzer.class.php');
|
||||
require_once('../../../include/student.class.php');
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/studiensemester.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
$uid=isset($_GET['uid'])?$_GET['uid']:(isset($_POST['uid'])?$_POST['uid']:get_uid());
|
||||
$uid=trim($uid);
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
if(!$rechte->isBerechtigt('lehre/reservierung:begrenzt', null, 's') || !$rechte->isBerechtigt('admin'))
|
||||
die($rechte->errormsg);
|
||||
unset($rechte);
|
||||
|
||||
header('Content-Type: text/html;charset=UTF-8');
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<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">
|
||||
<?php
|
||||
/* Copyright (C) 2009 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
* Gerald Simane-Sequens <gerald.simane@technikum-wien.at>.
|
||||
*/
|
||||
require_once('../../../config/cis.config.inc.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/benutzer.class.php');
|
||||
require_once('../../../include/student.class.php');
|
||||
require_once('../../../include/studiengang.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/studiensemester.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
$uid=isset($_GET['uid'])?$_GET['uid']:(isset($_POST['uid'])?$_POST['uid']:get_uid());
|
||||
$uid=trim($uid);
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
if(!$rechte->isBerechtigt('lehre/reservierung:begrenzt', null, 's') && !$rechte->isBerechtigt('admin'))
|
||||
die($rechte->errormsg);
|
||||
unset($rechte);
|
||||
|
||||
header('Content-Type: text/html;charset=UTF-8');
|
||||
?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<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">
|
||||
<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");}
|
||||
/* ----------------------------------
|
||||
Resizable
|
||||
---------------------------------- */
|
||||
.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;}
|
||||
|
||||
div.info {top:5%;position: absolute;display:none;padding: 5px 5px 5px 5px;border: 1px solid Black;empty-cells : hide;text-align:center;vertical-align: top;z-index: 99;background-color: white; position:absolute;}
|
||||
div.infoclose {border: 7px outset #008381;padding: 0px 10px 0px 10px;}
|
||||
div.infodetail {font-size:medium;text-align:left;background-color: #F5F5F5;padding: 15px 15px 15px 15px;}
|
||||
|
||||
-->
|
||||
</style>
|
||||
|
||||
<script type="text/javascript" language="JavaScript1.2">
|
||||
<!--
|
||||
$(function()
|
||||
{
|
||||
$("#info").resizable();
|
||||
$("#ui-resizable").draggable();
|
||||
});
|
||||
-->
|
||||
</script>
|
||||
</head>
|
||||
<body id="inhalt">
|
||||
<div id="ui-resizable" class="ui-resizable">
|
||||
<div style="-moz-user-select: none;" class="ui-resizable-handle ui-resizable-e"></div>
|
||||
<div style="-moz-user-select: none;" class="ui-resizable-handle ui-resizable-s"></div>
|
||||
<div style="z-index: 1001; -moz-user-select: none;" class="ui-resizable-handle ui-resizable-se ui-icon ui-icon-gripsmall-diagonal-se"></div>
|
||||
<div id="info" class="info">
|
||||
<div style="border: 7px outset #393939;padding: 10px 10px 10px 10px;">
|
||||
<table width="100%" border="0" cellpadding="0" cellspacing="0"><tr style="color:#FFF;" class="ContentHeader">
|
||||
<td id="info_print" align="left" style="color:#FFF;cursor: default;" class="ContentHeader">
|
||||
<div>drucken <img border="0" src="../../../skin/images/printer.png" title="drucken" ><br /></div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("td#info_print").click(function()
|
||||
{
|
||||
el='div#infodetail';
|
||||
var doc=null;
|
||||
var tab=false;;
|
||||
var iframe=false;
|
||||
if ($.browser.opera || $.browser.mozilla)
|
||||
{
|
||||
var tab = window.open("","jqPrint-preview");
|
||||
tab.document.open();
|
||||
var doc = tab.document;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
var iframe=document.createElement('IFRAME');
|
||||
document.body.appendChild(iframe);
|
||||
doc=iframe.contentWindow.document;
|
||||
}
|
||||
|
||||
var links=window.document.getElementsByTagName("link");
|
||||
for(var i=0;i<links.length;i++)
|
||||
{
|
||||
if(links[i].rel.toLowerCase()=="stylesheet")
|
||||
{
|
||||
doc.write('<link type="text/css" rel="stylesheet" href="'+links[i].href+'"></link>');
|
||||
}
|
||||
}
|
||||
doc.write('<div class="'+$(el).attr("class")+'">'+$(el).html()+'</div>');
|
||||
doc.close();
|
||||
(tab ? tab : iframe.contentWindow).focus();
|
||||
setTimeout( function() { ( tab ? tab : iframe.contentWindow).print(); if (tab) { tab.close(); } }, 1000);
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
<td id="info_close" align="right" style="color:#FFF;cursor: default;" class="ContentHeader">
|
||||
<div>schliessen <img border="0" src="../../../skin/images/cross.png" title="schliessen"> </div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("td#info_close").click(function(event)
|
||||
{
|
||||
$("div#info").hide("slow"); // div# langsam oeffnen
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr></table>
|
||||
<div id="infodetail" style="font-size:medium;text-align:left;background-color: #F5F5F5;padding: 15px 15px 15px 15px;"></div>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
// Variablen uebernehmen
|
||||
$datum=(isset($_GET['datum'])?$_GET['datum']:(isset($_POST['datum'])?$_POST['datum']:time()));
|
||||
$stpl_table=(isset($_GET['stpl_table'])?$_GET['stpl_table']:'stundenplan');
|
||||
$montag=montag($datum);
|
||||
$letzterTag=mktime(0,0,0,date('m',$montag),date('d',$montag) + TAGE_PRO_WOCHE,date('Y',$montag));
|
||||
$letzterTagAnzeige=mktime(0,0,0,date('m',$montag),date('d',$montag) + ( TAGE_PRO_WOCHE - 1),date('Y',$montag));
|
||||
|
||||
// Vorbelegen der Wochennavigation
|
||||
$kwRet=mktime(0,0,0,date('m',$montag),date('d',$montag) -7 ,date('Y',$montag));
|
||||
$kwVor=mktime(0,0,0,date('m',$montag),date('d',$montag) +7 ,date('Y',$montag));
|
||||
$kw=strftime('%W',mktime(0,0,0,date('m',$montag),date('d',$montag),date('Y',$montag)));
|
||||
|
||||
$adresse_id=(isset($_GET['adresse_id'])?$_GET['adresse_id']:(isset($_POST['adresse_id'])?$_POST['adresse_id']:1));
|
||||
|
||||
// Datum Anzeige Header
|
||||
$tag=strftime('%a %d',mktime(0,0,0,date('m',$montag),date('d',$montag) ,date('Y',$montag)));
|
||||
$tag_monat=strftime('%a %d %b',mktime(0,0,0,date('m',$montag),date('d',$montag) ,date('Y',$montag)));
|
||||
$tag_monat_jahr=strftime('%a %d %b %Y',mktime(0,0,0,date('m',$montag),date('d',$montag),date('Y',$montag)));
|
||||
$letzter_tag_monat_jahr=strftime('%a %d %b %Y',mktime(0,0,0,date('m',$letzterTagAnzeige),date('d',$letzterTagAnzeige),date('Y',$letzterTagAnzeige)));
|
||||
|
||||
// Beginn Ende setzen
|
||||
$objSS=new studiensemester();
|
||||
$ss=$objSS->getaktorNext();
|
||||
$objSS->load($ss);
|
||||
$datum_obj = new datum();
|
||||
$ss_begin=$datum_obj->mktime_fromdate($objSS->start);
|
||||
$ss_ende=$datum_obj->mktime_fromdate($objSS->ende);
|
||||
|
||||
|
||||
$sql_query=' select tbl_adresse.plz,tbl_adresse.name, sum(tbl_ort.max_person) as summe ';
|
||||
$sql_query.=' from public.tbl_ort,public.tbl_standort, public.tbl_adresse ';
|
||||
$sql_query.=" where tbl_standort.standort_id=tbl_ort.standort_id ";
|
||||
$sql_query.=" and tbl_adresse.adresse_id=tbl_standort.adresse_id ";
|
||||
$sql_query.=" and tbl_adresse.adresse_id=".$db->db_add_param($adresse_id, FHC_INTEGER)." ";
|
||||
$sql_query.=" and tbl_ort.aktiv and tbl_ort.lehre ";
|
||||
$sql_query.=" group by tbl_adresse.plz,tbl_adresse.name ";
|
||||
// Gibt es fuer das Datum und Stunde einen Stundenplaneintrag
|
||||
if(!$results_anzahl=$db->db_query($sql_query))
|
||||
die($db->db_last_error());
|
||||
$raum_max_anz=0;
|
||||
$fh_name='FH lese fehler';
|
||||
if ($num_rows_anzahl=$db->db_num_rows($results_anzahl))
|
||||
{
|
||||
$fh_name = $db->db_result($results_anzahl,0,"name").', '.$db->db_result($results_anzahl,0,"plz");
|
||||
$raum_max_anz = $db->db_result($results_anzahl,0,"summe");
|
||||
}
|
||||
|
||||
$stg=array();
|
||||
echo '<H2><table class="tabcontent"><tr><td>
|
||||
Lehrveranstaltungsplan >> <a class="Item" href="index.php">Wochenplan</a> - Anzahl Studenten
|
||||
<a class="Item" href="'.$_SERVER['PHP_SELF'].'?uid='.$uid.'&datum='.$kwRet.'&stpl_table='.$stpl_table.'"><<</a>
|
||||
Wochenplan <a class="Item" href="'.$_SERVER['PHP_SELF'].'?uid='.$uid.'&datum='.$datum.'&stpl_table='.$stpl_table.'">Kw '.$kw.'</a>
|
||||
<a class="Item" href="'.$_SERVER['PHP_SELF'].'?uid='.$uid.'&datum='.$kwVor.'&stpl_table='.$stpl_table.'">>></a>
|
||||
<a class="Item" href="'.$_SERVER['PHP_SELF'].'?uid='.$uid.'&datum='.time().'&stpl_table='.$stpl_table.'">Heute</a>
|
||||
</td></tr></table></H2>';
|
||||
|
||||
// Stundentafel abfragen
|
||||
$sql_query="SELECT stunde, beginn, ende FROM lehre.tbl_stunde ORDER BY stunde";
|
||||
if(!$results=$db->db_query($sql_query))
|
||||
die($db->db_last_error());
|
||||
|
||||
|
||||
echo '<table class="tabcontent" style=" z-index: 1;">';
|
||||
echo '<tr><td style="text-align:center;color:#FFF;" class="ContentHeader" colspan="'. ( TAGE_PRO_WOCHE + 1 ) .'">'. $fh_name .' '. (date('Ym',$montag)==date('Ym',$letzterTagAnzeige)?$tag:(date('Y',$montag)==date('Y',$letzterTagAnzeige)?$tag_monat:$tag_monat_jahr)) .' - '. $letzter_tag_monat_jahr.'</td></tr>';
|
||||
echo '<tr>';
|
||||
echo '<td style="text-align:center;color:#FFF;" class="ContentHeader">Stunde</td>';
|
||||
for ($i=0; $i<TAGE_PRO_WOCHE; $i++)
|
||||
{
|
||||
echo '<td style="text-align:center;color:#FFF;" class="ContentHeader">'.strftime('%a',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))).' '.date('d M',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))).'</td>';
|
||||
}
|
||||
echo '</tr>';
|
||||
|
||||
$max_person_array=array();
|
||||
$num_rows_stunde=$db->db_num_rows($results);
|
||||
echo '<tr>';
|
||||
for ($k=0; $k<$num_rows_stunde; $k++)
|
||||
{
|
||||
$row = $db->db_fetch_object($results, $k);
|
||||
$row->show_beginn=substr($row->beginn,0,5);
|
||||
$row->show_ende=substr($row->ende,0,5);
|
||||
$row->check_beginn=str_replace(':','',substr($row->beginn,0,5));
|
||||
$row->check_ende=str_replace(':','',substr($row->ende,0,5));
|
||||
|
||||
echo '<td style="text-align:center;color:#FFF;" class="ContentHeader">'.$row->show_beginn.'<br>'.$row->show_ende.'</td>';
|
||||
$lehreinheiten=array();
|
||||
|
||||
for ($i=0; $i<TAGE_PRO_WOCHE; $i++)
|
||||
{
|
||||
// Init je Tag und Std.
|
||||
$fehler=false;
|
||||
$aktiv=false;
|
||||
$max_person=0;
|
||||
|
||||
$day= date('Ymd',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag)));
|
||||
if ($day== date('Ymd') && date('Hi') >= $row->check_beginn && date('Hi')<=$row->check_ende )
|
||||
$aktiv=true;
|
||||
|
||||
echo '<td style="border-bottom: 1px solid Black;'.($aktiv?'background-color:#009e84;color:#FFF;':'').'" valign="top" '.($k % 2==0?'':' class="MarkLine" ').' >';
|
||||
|
||||
$sql_query=' select distinct vw_'.$stpl_table.'.stg_bezeichnung as bezeichnung,vw_'.$stpl_table.'.stg_kurzbzlang as kurzbzlang,vw_'.$stpl_table.'.stg_kurzbz as kurzbz, vw_'.$stpl_table.'.'.$stpl_table.'_id,vw_'.$stpl_table.'.lehrform, vw_'.$stpl_table.'.gruppe, vw_'.$stpl_table.'.gruppe_kurzbz, vw_'.$stpl_table.'.unr,vw_'.$stpl_table.'.verband,vw_'.$stpl_table.'.ort_kurzbz,vw_'.$stpl_table.'.lehreinheit_id,vw_'.$stpl_table.'.studiengang_kz,vw_'.$stpl_table.'.semester,tbl_ort.max_person,tbl_standort.adresse_id,tbl_adresse.plz,tbl_adresse.name ';
|
||||
$sql_query.=' from lehre.vw_'.$stpl_table.', public.tbl_ort,public.tbl_standort, public.tbl_adresse ';
|
||||
$sql_query.=" where vw_".$stpl_table.".datum=".$db->db_add_param(date('Y-m-d',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))))." ";
|
||||
$sql_query.=" and vw_".$stpl_table.".stunde=".$db->db_add_param($row->stunde, FHC_INTEGER)." ";
|
||||
$sql_query.=" and tbl_ort.ort_kurzbz=vw_".$stpl_table.".ort_kurzbz ";
|
||||
$sql_query.=" and tbl_standort.standort_id=tbl_ort.standort_id ";
|
||||
$sql_query.=" and tbl_adresse.adresse_id=tbl_standort.adresse_id ";
|
||||
$sql_query.=" and tbl_adresse.adresse_id=".$db->db_add_param($adresse_id, FHC_INTEGER)." ";
|
||||
$sql_query.=" order by tbl_adresse.plz,vw_".$stpl_table.".ort_kurzbz ";
|
||||
|
||||
// Gibt es fuer das Datum und Stunde einen Stundenplaneintrag
|
||||
if(!$results_anzahl=$db->db_query($sql_query))
|
||||
die($db->db_last_error());
|
||||
$num_rows_anzahl=$db->db_num_rows($results_anzahl);
|
||||
|
||||
$gefunden_anz=0;
|
||||
$tooltip='';
|
||||
for ($k_anz=0; $k_anz<$num_rows_anzahl; $k_anz++)
|
||||
{
|
||||
$row_anz = $db->db_fetch_object($results_anzahl, $k_anz);
|
||||
// Lehreinheit wird aufgeteilt in zwei Raeume - nicht verarbeiten , das sind die selben Personen
|
||||
if (isset($lehreinheiten[trim($row_anz->lehreinheit_id).trim($row_anz->gruppe_kurzbz)]))
|
||||
continue;
|
||||
$lehreinheiten[$row_anz->lehreinheit_id]=trim($row_anz->lehreinheit_id).trim($row_anz->gruppe_kurzbz);
|
||||
|
||||
$max_person=$row_anz->max_person+$max_person;
|
||||
$row_anz->verband=trim($row_anz->verband);
|
||||
$row_anz->gruppe=trim($row_anz->gruppe);
|
||||
$row_anz->gruppe_kurzbz=trim($row_anz->gruppe_kurzbz);
|
||||
|
||||
$stsem=$ss;
|
||||
|
||||
$gruppe=($row_anz->gruppe_kurzbz?$row_anz->gruppe_kurzbz:null);
|
||||
$student=new student();
|
||||
|
||||
$row_anz->anz=0;
|
||||
if ($result=$student->getStudents($row_anz->studiengang_kz,$row_anz->semester,$row_anz->verband,$row_anz->gruppe,$gruppe, $stsem))
|
||||
$row_anz->anz=count($result);
|
||||
|
||||
|
||||
if (empty($row_anz->anz))
|
||||
$fehler=true;
|
||||
|
||||
$lvb=$row_anz->kurzbzlang.'-'.$row_anz->semester;
|
||||
if (!is_null($row_anz->verband) && !empty($row_anz->verband))
|
||||
{
|
||||
$lvb.=$row_anz->verband;
|
||||
if (!is_null($row_anz->gruppe) && !empty($row_anz->gruppe) )
|
||||
$lvb.=$row_anz->gruppe;
|
||||
}
|
||||
if (!empty($k_anz))
|
||||
$tooltip.='</tr><tr>';
|
||||
else
|
||||
$tooltip.='<tr><th colspan=\'4\'>'. date('d M Y',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))).' '.$row->show_beginn.' - '.$row->show_ende.'</th><th>Anzahl</th></tr>';
|
||||
$tooltip.='<td title=\'Stundenplan ID '.($stpl_table=='stundenplan'?$row_anz->stundenplan_id:$row_anz->stundenplandev_id).'\'><b>'.trim($row_anz->ort_kurzbz).'</b> </td><td><a href=\'stpl_detail.php?type=ort&datum='.date('Y-m-d',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))).'&stunde='.$row->stunde.'&pers_uid='.$uid.'&stg_kz=&sem=&ver=&grp=&ort_kurzbz='.trim($row_anz->ort_kurzbz).'\' target=\'_blank\' titel=\'Studiengang Kz '.$row_anz->studiengang_kz.'\'>'.$lvb.'</a> </td><td>'.$row_anz->gruppe_kurzbz.' </td><td>'.(!$row_anz->anz?'<font color=\'Maroon\'>':'').$row_anz->bezeichnung.(!$row_anz->anz?'</font>':'').' </td><td>'.$row_anz->anz.'</td>';
|
||||
$gefunden_anz+=$row_anz->anz;
|
||||
}
|
||||
|
||||
if (!empty($gefunden_anz))
|
||||
{
|
||||
$tooltip.='<tr><td colspan=\'4\' align=\'right\'>max.Personen:'.$max_person.' Belegung:'. number_format($gefunden_anz / $max_person,2)*100 .'% <b>Ges.:</b></td><td><b>'.$gefunden_anz.'</b></td></tr>';
|
||||
|
||||
echo '<br><img id="img_'.$i.'_'.$k.'" src="../../../skin/images/sticky.png" title="Detailanzeige"> <b'.($fehler?' style="color:red;" ':'').'> Gesamt: </b>'.$gefunden_anz;
|
||||
echo '<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("img#img_'.$i.'_'.$k.'").click(function(event)
|
||||
{
|
||||
$("div#infodetail").html("<table border=\"0\"><tr>'.$tooltip.'</tr></table>");
|
||||
$("div#info").show("slow"); // div# langsam oeffnen
|
||||
});
|
||||
});
|
||||
</script>';
|
||||
}
|
||||
echo '</td>';
|
||||
|
||||
|
||||
if (!isset($max_person_array[$i]['tag']))
|
||||
$max_person_array[$i]['tag']=0;
|
||||
$max_person_array[$i]['tag']=$max_person_array[$i]['tag']+$gefunden_anz;
|
||||
if (!isset($max_person_array[$i]['tag_max']))
|
||||
$max_person_array[$i]['tag_max']=0;
|
||||
$max_person_array[$i]['tag_max']=$max_person_array[$i]['tag_max']+$max_person;
|
||||
|
||||
if (!isset($max_person_array[$k]['stunde']))
|
||||
$max_person_array[$k]['stunde']=0;
|
||||
$max_person_array[$k]['stunde']=$max_person_array[$k]['stunde']+$gefunden_anz;
|
||||
if (!isset($max_person_array[$k]['stunde_max']))
|
||||
$max_person_array[$k]['stunde_max']=0;
|
||||
$max_person_array[$k]['stunde_max']=$max_person_array[$k]['stunde_max']+$max_person;
|
||||
|
||||
if (!isset($max_person_array[$i][$k]['tag_stunde']))
|
||||
$max_person_array[$i][$k]['tag_stunde']=0;
|
||||
$max_person_array[$i][$k]['tag_stunde']=$max_person_array[$i][$k]['tag_stunde']+$gefunden_anz;
|
||||
if (!isset($max_person_array[$i][$k]['tag_stunde_max']))
|
||||
$max_person_array[$i][$k]['tag_stunde_max']=0;
|
||||
$max_person_array[$i][$k]['tag_stunde_max']=$max_person_array[$i][$k]['tag_stunde_max']+$max_person;
|
||||
|
||||
}
|
||||
echo '</tr>';
|
||||
|
||||
}
|
||||
echo '</table>';
|
||||
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
if($rechte->isBerechtigt('admin'))
|
||||
{
|
||||
echo '<table class="tabcontent" style=" z-index: 1;">';
|
||||
echo '<tr><td style="text-align:center;color:#FFF;" class="ContentHeader" colspan="'. ( TAGE_PRO_WOCHE + 2 ) .'">'. $fh_name .' '. (date('Ym',$montag)==date('Ym',$letzterTagAnzeige)?$tag:(date('Y',$montag)==date('Y',$letzterTagAnzeige)?$tag_monat:$tag_monat_jahr)) .' - '. $letzter_tag_monat_jahr.'</td></tr>';
|
||||
|
||||
echo '<tr>';
|
||||
echo '<td colspan="2" style="text-align:center;color:#FFF;" class="ContentHeader">Zeit / Datum – </td>';
|
||||
for ($i=0; $i<TAGE_PRO_WOCHE; $i++)
|
||||
{
|
||||
echo '<td style="text-align:center;color:#FFF;" class="ContentHeader">'.strftime('%a',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))).' '. date('d M Y',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))).'</td>';
|
||||
}
|
||||
echo '</tr>';
|
||||
$stunde_proz=0;
|
||||
$stunde=0;
|
||||
$stunde_max=0;
|
||||
for ($k=0; $k<$num_rows_stunde; $k++)
|
||||
{
|
||||
$row = $db->db_fetch_object($results, $k);
|
||||
$row->show_beginn=substr($row->beginn,0,5);
|
||||
$row->show_ende=substr($row->ende,0,5);
|
||||
$row->check_beginn=str_replace(':','',substr($row->beginn,0,5));
|
||||
$row->check_ende=str_replace(':','',substr($row->ende,0,5));
|
||||
echo '<tr>';
|
||||
echo '<td style="text-align:center;color:#FFF;" class="ContentHeader">'.$row->show_beginn.'<br>'.$row->show_ende.'</td>';
|
||||
echo '<td style="border-bottom: 1px solid Black;'.($aktiv?'background-color:#009e84;color:#FFF;':'').'" valign="top" '.($k % 2==0?'':' class="MarkLine" ').' >';
|
||||
echo 'anz.:'.$max_person_array[$k]['stunde'];
|
||||
echo '<br>';
|
||||
echo 'FH '.($raum_max_anz*TAGE_PRO_WOCHE);
|
||||
echo '<br>';
|
||||
echo ' Ø '.($max_person_array[$k]['stunde']?number_format(($max_person_array[$k]['stunde'])/TAGE_PRO_WOCHE / ($raum_max_anz),2)*100:0).'%';
|
||||
echo '<br>';
|
||||
echo 'Raum '.$max_person_array[$k]['stunde_max'];
|
||||
echo '<br>';
|
||||
echo ' Ø '.($max_person_array[$k]['stunde']?number_format(($max_person_array[$k]['stunde']/TAGE_PRO_WOCHE) / ($max_person_array[$k]['stunde_max']/TAGE_PRO_WOCHE),2)*100:0).'%';
|
||||
echo '</td>';
|
||||
|
||||
$stunde=$stunde+$max_person_array[$k]['stunde'];
|
||||
$stunde_max=$stunde_max+$max_person_array[$k]['stunde_max'];
|
||||
|
||||
for ($i=0; $i<TAGE_PRO_WOCHE; $i++)
|
||||
{
|
||||
echo '<td style="border-bottom: 1px solid Black;'.($aktiv?'background-color:#009e84;color:#FFF;':'').'" valign="top" '.($k % 2==0?'':' class="MarkLine" ').' >';
|
||||
echo 'anz.:'.$max_person_array[$i][$k]['tag_stunde'];
|
||||
echo '<br>';
|
||||
echo 'FH max.:'. $raum_max_anz;
|
||||
echo '<br>';
|
||||
echo ' '.($max_person_array[$i][$k]['tag_stunde']?number_format($max_person_array[$i][$k]['tag_stunde'] / $raum_max_anz,2)*100:0).'%';
|
||||
echo '<br>';
|
||||
echo 'Raum max.:'. $max_person_array[$i][$k]['tag_stunde_max'];
|
||||
echo '<br>';
|
||||
echo ' '.($max_person_array[$i][$k]['tag_stunde']?number_format($max_person_array[$i][$k]['tag_stunde'] / $max_person_array[$i][$k]['tag_stunde_max'],2)*100:0).'%';
|
||||
echo '</td>';
|
||||
}
|
||||
echo '</tr>';
|
||||
}
|
||||
|
||||
|
||||
echo '<tr>';
|
||||
echo '<td style="text-align:center;color:#FFF;" class="ContentHeader">Ø</td>';
|
||||
|
||||
echo '<td style="text-align:center;color:#FFF;" class="ContentHeader">';
|
||||
echo 'FH Ø '.($stunde?number_format(($stunde)/$num_rows_stunde/TAGE_PRO_WOCHE / ($raum_max_anz),2)*100:0).'%';
|
||||
echo '<br>';
|
||||
echo 'Raum Ø '.($stunde_max?number_format(($stunde/$num_rows_stunde/TAGE_PRO_WOCHE) / ($stunde_max/$num_rows_stunde/TAGE_PRO_WOCHE),2)*100:0).'%';
|
||||
echo '</td>';
|
||||
|
||||
|
||||
for ($i=0; $i<TAGE_PRO_WOCHE; $i++)
|
||||
{
|
||||
|
||||
echo '<td style="text-align:center;color:#FFF;" class="ContentHeader">';
|
||||
echo 'FH Ø '.($max_person_array[$i]['tag']?number_format($max_person_array[$i]['tag'] / ($raum_max_anz *$num_rows_stunde),2)*100:0).'%';
|
||||
echo '<br>';
|
||||
echo 'Raum Ø '.($max_person_array[$i]['tag']?number_format($max_person_array[$i]['tag'] / $max_person_array[$i]['tag_max'],2)*100:0).'%';
|
||||
echo '</td>';
|
||||
}
|
||||
|
||||
echo '</tr>';
|
||||
|
||||
|
||||
echo '</table>';
|
||||
}
|
||||
?>
|
||||
</BODY>
|
||||
</HTML>
|
||||
<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");}
|
||||
/* ----------------------------------
|
||||
Resizable
|
||||
---------------------------------- */
|
||||
.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;}
|
||||
|
||||
div.info {top:5%;position: absolute;display:none;padding: 5px 5px 5px 5px;border: 1px solid Black;empty-cells : hide;text-align:center;vertical-align: top;z-index: 99;background-color: white; position:absolute;}
|
||||
div.infoclose {border: 7px outset #008381;padding: 0px 10px 0px 10px;}
|
||||
div.infodetail {font-size:medium;text-align:left;background-color: #F5F5F5;padding: 15px 15px 15px 15px;}
|
||||
|
||||
-->
|
||||
</style>
|
||||
|
||||
<script type="text/javascript" language="JavaScript1.2">
|
||||
<!--
|
||||
$(function()
|
||||
{
|
||||
$("#info").resizable();
|
||||
$("#ui-resizable").draggable();
|
||||
});
|
||||
-->
|
||||
</script>
|
||||
</head>
|
||||
<body id="inhalt">
|
||||
<div id="ui-resizable" class="ui-resizable">
|
||||
<div style="-moz-user-select: none;" class="ui-resizable-handle ui-resizable-e"></div>
|
||||
<div style="-moz-user-select: none;" class="ui-resizable-handle ui-resizable-s"></div>
|
||||
<div style="z-index: 1001; -moz-user-select: none;" class="ui-resizable-handle ui-resizable-se ui-icon ui-icon-gripsmall-diagonal-se"></div>
|
||||
<div id="info" class="info">
|
||||
<div style="border: 7px outset #393939;padding: 10px 10px 10px 10px;">
|
||||
<table width="100%" border="0" cellpadding="0" cellspacing="0"><tr style="color:#FFF;" class="ContentHeader">
|
||||
<td id="info_print" align="left" style="color:#FFF;cursor: default;" class="ContentHeader">
|
||||
<div>drucken <img border="0" src="../../../skin/images/printer.png" title="drucken" ><br /></div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("td#info_print").click(function()
|
||||
{
|
||||
el='div#infodetail';
|
||||
var doc=null;
|
||||
var tab=false;;
|
||||
var iframe=false;
|
||||
if ($.browser.opera || $.browser.mozilla)
|
||||
{
|
||||
var tab = window.open("","jqPrint-preview");
|
||||
tab.document.open();
|
||||
var doc = tab.document;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
var iframe=document.createElement('IFRAME');
|
||||
document.body.appendChild(iframe);
|
||||
doc=iframe.contentWindow.document;
|
||||
}
|
||||
|
||||
var links=window.document.getElementsByTagName("link");
|
||||
for(var i=0;i<links.length;i++)
|
||||
{
|
||||
if(links[i].rel.toLowerCase()=="stylesheet")
|
||||
{
|
||||
doc.write('<link type="text/css" rel="stylesheet" href="'+links[i].href+'"></link>');
|
||||
}
|
||||
}
|
||||
doc.write('<div class="'+$(el).attr("class")+'">'+$(el).html()+'</div>');
|
||||
doc.close();
|
||||
(tab ? tab : iframe.contentWindow).focus();
|
||||
setTimeout( function() { ( tab ? tab : iframe.contentWindow).print(); if (tab) { tab.close(); } }, 1000);
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
<td id="info_close" align="right" style="color:#FFF;cursor: default;" class="ContentHeader">
|
||||
<div>schliessen <img border="0" src="../../../skin/images/cross.png" title="schliessen"> </div>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("td#info_close").click(function(event)
|
||||
{
|
||||
$("div#info").hide("slow"); // div# langsam oeffnen
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr></table>
|
||||
<div id="infodetail" style="font-size:medium;text-align:left;background-color: #F5F5F5;padding: 15px 15px 15px 15px;"></div>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
// Variablen uebernehmen
|
||||
$datum=(isset($_GET['datum'])?$_GET['datum']:(isset($_POST['datum'])?$_POST['datum']:time()));
|
||||
$stpl_table=(isset($_GET['stpl_table'])?$_GET['stpl_table']:'stundenplan');
|
||||
$montag=montag($datum);
|
||||
$letzterTag=mktime(0,0,0,date('m',$montag),date('d',$montag) + TAGE_PRO_WOCHE,date('Y',$montag));
|
||||
$letzterTagAnzeige=mktime(0,0,0,date('m',$montag),date('d',$montag) + ( TAGE_PRO_WOCHE - 1),date('Y',$montag));
|
||||
|
||||
// Vorbelegen der Wochennavigation
|
||||
$kwRet=mktime(0,0,0,date('m',$montag),date('d',$montag) -7 ,date('Y',$montag));
|
||||
$kwVor=mktime(0,0,0,date('m',$montag),date('d',$montag) +7 ,date('Y',$montag));
|
||||
$kw=strftime('%W',mktime(0,0,0,date('m',$montag),date('d',$montag),date('Y',$montag)));
|
||||
|
||||
$adresse_id=(isset($_GET['adresse_id'])?$_GET['adresse_id']:(isset($_POST['adresse_id'])?$_POST['adresse_id']:1));
|
||||
|
||||
// Datum Anzeige Header
|
||||
$tag=strftime('%a %d',mktime(0,0,0,date('m',$montag),date('d',$montag) ,date('Y',$montag)));
|
||||
$tag_monat=strftime('%a %d %b',mktime(0,0,0,date('m',$montag),date('d',$montag) ,date('Y',$montag)));
|
||||
$tag_monat_jahr=strftime('%a %d %b %Y',mktime(0,0,0,date('m',$montag),date('d',$montag),date('Y',$montag)));
|
||||
$letzter_tag_monat_jahr=strftime('%a %d %b %Y',mktime(0,0,0,date('m',$letzterTagAnzeige),date('d',$letzterTagAnzeige),date('Y',$letzterTagAnzeige)));
|
||||
|
||||
// Beginn Ende setzen
|
||||
$objSS=new studiensemester();
|
||||
$ss=$objSS->getaktorNext();
|
||||
$objSS->load($ss);
|
||||
$datum_obj = new datum();
|
||||
$ss_begin=$datum_obj->mktime_fromdate($objSS->start);
|
||||
$ss_ende=$datum_obj->mktime_fromdate($objSS->ende);
|
||||
|
||||
|
||||
$sql_query=' select tbl_adresse.plz,tbl_adresse.name, sum(tbl_ort.max_person) as summe ';
|
||||
$sql_query.=' from public.tbl_ort,public.tbl_standort, public.tbl_adresse ';
|
||||
$sql_query.=" where tbl_standort.standort_id=tbl_ort.standort_id ";
|
||||
$sql_query.=" and tbl_adresse.adresse_id=tbl_standort.adresse_id ";
|
||||
$sql_query.=" and tbl_adresse.adresse_id=".$db->db_add_param($adresse_id, FHC_INTEGER)." ";
|
||||
$sql_query.=" and tbl_ort.aktiv and tbl_ort.lehre ";
|
||||
$sql_query.=" group by tbl_adresse.plz,tbl_adresse.name ";
|
||||
// Gibt es fuer das Datum und Stunde einen Stundenplaneintrag
|
||||
if(!$results_anzahl=$db->db_query($sql_query))
|
||||
die($db->db_last_error());
|
||||
$raum_max_anz=0;
|
||||
$fh_name='FH lese fehler';
|
||||
if ($num_rows_anzahl=$db->db_num_rows($results_anzahl))
|
||||
{
|
||||
$fh_name = $db->db_result($results_anzahl,0,"name").', '.$db->db_result($results_anzahl,0,"plz");
|
||||
$raum_max_anz = $db->db_result($results_anzahl,0,"summe");
|
||||
}
|
||||
|
||||
$stg=array();
|
||||
echo '<H2><table class="tabcontent"><tr><td>
|
||||
Lehrveranstaltungsplan >> <a class="Item" href="index.php">Wochenplan</a> - Anzahl Studenten
|
||||
<a class="Item" href="'.$_SERVER['PHP_SELF'].'?uid='.$uid.'&datum='.$kwRet.'&stpl_table='.$stpl_table.'"><<</a>
|
||||
Wochenplan <a class="Item" href="'.$_SERVER['PHP_SELF'].'?uid='.$uid.'&datum='.$datum.'&stpl_table='.$stpl_table.'">Kw '.$kw.'</a>
|
||||
<a class="Item" href="'.$_SERVER['PHP_SELF'].'?uid='.$uid.'&datum='.$kwVor.'&stpl_table='.$stpl_table.'">>></a>
|
||||
<a class="Item" href="'.$_SERVER['PHP_SELF'].'?uid='.$uid.'&datum='.time().'&stpl_table='.$stpl_table.'">Heute</a>
|
||||
</td></tr></table></H2>';
|
||||
|
||||
// Stundentafel abfragen
|
||||
$sql_query="SELECT stunde, beginn, ende FROM lehre.tbl_stunde ORDER BY stunde";
|
||||
if(!$results=$db->db_query($sql_query))
|
||||
die($db->db_last_error());
|
||||
|
||||
|
||||
echo '<table class="tabcontent" style=" z-index: 1;">';
|
||||
echo '<tr><td style="text-align:center;color:#FFF;" class="ContentHeader" colspan="'. ( TAGE_PRO_WOCHE + 1 ) .'">'. $fh_name .' '. (date('Ym',$montag)==date('Ym',$letzterTagAnzeige)?$tag:(date('Y',$montag)==date('Y',$letzterTagAnzeige)?$tag_monat:$tag_monat_jahr)) .' - '. $letzter_tag_monat_jahr.'</td></tr>';
|
||||
echo '<tr>';
|
||||
echo '<td style="text-align:center;color:#FFF;" class="ContentHeader">Stunde</td>';
|
||||
for ($i=0; $i<TAGE_PRO_WOCHE; $i++)
|
||||
{
|
||||
echo '<td style="text-align:center;color:#FFF;" class="ContentHeader">'.strftime('%a',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))).' '.date('d M',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))).'</td>';
|
||||
}
|
||||
echo '</tr>';
|
||||
|
||||
$max_person_array=array();
|
||||
$num_rows_stunde=$db->db_num_rows($results);
|
||||
echo '<tr>';
|
||||
for ($k=0; $k<$num_rows_stunde; $k++)
|
||||
{
|
||||
$row = $db->db_fetch_object($results, $k);
|
||||
$row->show_beginn=substr($row->beginn,0,5);
|
||||
$row->show_ende=substr($row->ende,0,5);
|
||||
$row->check_beginn=str_replace(':','',substr($row->beginn,0,5));
|
||||
$row->check_ende=str_replace(':','',substr($row->ende,0,5));
|
||||
|
||||
echo '<td style="text-align:center;color:#FFF;" class="ContentHeader">'.$row->show_beginn.'<br>'.$row->show_ende.'</td>';
|
||||
$lehreinheiten=array();
|
||||
|
||||
for ($i=0; $i<TAGE_PRO_WOCHE; $i++)
|
||||
{
|
||||
// Init je Tag und Std.
|
||||
$fehler=false;
|
||||
$aktiv=false;
|
||||
$max_person=0;
|
||||
|
||||
$day= date('Ymd',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag)));
|
||||
if ($day== date('Ymd') && date('Hi') >= $row->check_beginn && date('Hi')<=$row->check_ende )
|
||||
$aktiv=true;
|
||||
|
||||
echo '<td style="border-bottom: 1px solid Black;'.($aktiv?'background-color:#009e84;color:#FFF;':'').'" valign="top" '.($k % 2==0?'':' class="MarkLine" ').' >';
|
||||
|
||||
$sql_query=' select distinct vw_'.$stpl_table.'.stg_bezeichnung as bezeichnung,vw_'.$stpl_table.'.stg_kurzbzlang as kurzbzlang,vw_'.$stpl_table.'.stg_kurzbz as kurzbz, vw_'.$stpl_table.'.'.$stpl_table.'_id,vw_'.$stpl_table.'.lehrform, vw_'.$stpl_table.'.gruppe, vw_'.$stpl_table.'.gruppe_kurzbz, vw_'.$stpl_table.'.unr,vw_'.$stpl_table.'.verband,vw_'.$stpl_table.'.ort_kurzbz,vw_'.$stpl_table.'.lehreinheit_id,vw_'.$stpl_table.'.studiengang_kz,vw_'.$stpl_table.'.semester,tbl_ort.max_person,tbl_standort.adresse_id,tbl_adresse.plz,tbl_adresse.name ';
|
||||
$sql_query.=' from lehre.vw_'.$stpl_table.', public.tbl_ort,public.tbl_standort, public.tbl_adresse ';
|
||||
$sql_query.=" where vw_".$stpl_table.".datum=".$db->db_add_param(date('Y-m-d',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))))." ";
|
||||
$sql_query.=" and vw_".$stpl_table.".stunde=".$db->db_add_param($row->stunde, FHC_INTEGER)." ";
|
||||
$sql_query.=" and tbl_ort.ort_kurzbz=vw_".$stpl_table.".ort_kurzbz ";
|
||||
$sql_query.=" and tbl_standort.standort_id=tbl_ort.standort_id ";
|
||||
$sql_query.=" and tbl_adresse.adresse_id=tbl_standort.adresse_id ";
|
||||
$sql_query.=" and tbl_adresse.adresse_id=".$db->db_add_param($adresse_id, FHC_INTEGER)." ";
|
||||
$sql_query.=" order by tbl_adresse.plz,vw_".$stpl_table.".ort_kurzbz ";
|
||||
|
||||
// Gibt es fuer das Datum und Stunde einen Stundenplaneintrag
|
||||
if(!$results_anzahl=$db->db_query($sql_query))
|
||||
die($db->db_last_error());
|
||||
$num_rows_anzahl=$db->db_num_rows($results_anzahl);
|
||||
|
||||
$gefunden_anz=0;
|
||||
$tooltip='';
|
||||
for ($k_anz=0; $k_anz<$num_rows_anzahl; $k_anz++)
|
||||
{
|
||||
$row_anz = $db->db_fetch_object($results_anzahl, $k_anz);
|
||||
// Lehreinheit wird aufgeteilt in zwei Raeume - nicht verarbeiten , das sind die selben Personen
|
||||
if (isset($lehreinheiten[trim($row_anz->lehreinheit_id).trim($row_anz->gruppe_kurzbz)]))
|
||||
continue;
|
||||
$lehreinheiten[$row_anz->lehreinheit_id]=trim($row_anz->lehreinheit_id).trim($row_anz->gruppe_kurzbz);
|
||||
|
||||
$max_person=$row_anz->max_person+$max_person;
|
||||
$row_anz->verband=trim($row_anz->verband);
|
||||
$row_anz->gruppe=trim($row_anz->gruppe);
|
||||
$row_anz->gruppe_kurzbz=trim($row_anz->gruppe_kurzbz);
|
||||
|
||||
$stsem=$ss;
|
||||
|
||||
$gruppe=($row_anz->gruppe_kurzbz?$row_anz->gruppe_kurzbz:null);
|
||||
$student=new student();
|
||||
|
||||
$row_anz->anz=0;
|
||||
if ($result=$student->getStudents($row_anz->studiengang_kz,$row_anz->semester,$row_anz->verband,$row_anz->gruppe,$gruppe, $stsem))
|
||||
$row_anz->anz=count($result);
|
||||
|
||||
|
||||
if (empty($row_anz->anz))
|
||||
$fehler=true;
|
||||
|
||||
$lvb=$row_anz->kurzbzlang.'-'.$row_anz->semester;
|
||||
if (!is_null($row_anz->verband) && !empty($row_anz->verband))
|
||||
{
|
||||
$lvb.=$row_anz->verband;
|
||||
if (!is_null($row_anz->gruppe) && !empty($row_anz->gruppe) )
|
||||
$lvb.=$row_anz->gruppe;
|
||||
}
|
||||
if (!empty($k_anz))
|
||||
$tooltip.='</tr><tr>';
|
||||
else
|
||||
$tooltip.='<tr><th colspan=\'4\'>'. date('d M Y',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))).' '.$row->show_beginn.' - '.$row->show_ende.'</th><th>Anzahl</th></tr>';
|
||||
$tooltip.='<td title=\'Stundenplan ID '.($stpl_table=='stundenplan'?$row_anz->stundenplan_id:$row_anz->stundenplandev_id).'\'><b>'.trim($row_anz->ort_kurzbz).'</b> </td><td><a href=\'stpl_detail.php?type=ort&datum='.date('Y-m-d',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))).'&stunde='.$row->stunde.'&pers_uid='.$uid.'&stg_kz=&sem=&ver=&grp=&ort_kurzbz='.trim($row_anz->ort_kurzbz).'\' target=\'_blank\' titel=\'Studiengang Kz '.$row_anz->studiengang_kz.'\'>'.$lvb.'</a> </td><td>'.$row_anz->gruppe_kurzbz.' </td><td>'.(!$row_anz->anz?'<font color=\'Maroon\'>':'').$row_anz->bezeichnung.(!$row_anz->anz?'</font>':'').' </td><td>'.$row_anz->anz.'</td>';
|
||||
$gefunden_anz+=$row_anz->anz;
|
||||
}
|
||||
|
||||
if (!empty($gefunden_anz))
|
||||
{
|
||||
$tooltip.='<tr><td colspan=\'4\' align=\'right\'>max.Personen:'.$max_person.' Belegung:'. number_format($gefunden_anz / $max_person,2)*100 .'% <b>Ges.:</b></td><td><b>'.$gefunden_anz.'</b></td></tr>';
|
||||
|
||||
echo '<br><img id="img_'.$i.'_'.$k.'" src="../../../skin/images/sticky.png" title="Detailanzeige"> <b'.($fehler?' style="color:red;" ':'').'> Gesamt: </b>'.$gefunden_anz;
|
||||
echo '<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("img#img_'.$i.'_'.$k.'").click(function(event)
|
||||
{
|
||||
$("div#infodetail").html("<table border=\"0\"><tr>'.$tooltip.'</tr></table>");
|
||||
$("div#info").show("slow"); // div# langsam oeffnen
|
||||
});
|
||||
});
|
||||
</script>';
|
||||
}
|
||||
echo '</td>';
|
||||
|
||||
|
||||
if (!isset($max_person_array[$i]['tag']))
|
||||
$max_person_array[$i]['tag']=0;
|
||||
$max_person_array[$i]['tag']=$max_person_array[$i]['tag']+$gefunden_anz;
|
||||
if (!isset($max_person_array[$i]['tag_max']))
|
||||
$max_person_array[$i]['tag_max']=0;
|
||||
$max_person_array[$i]['tag_max']=$max_person_array[$i]['tag_max']+$max_person;
|
||||
|
||||
if (!isset($max_person_array[$k]['stunde']))
|
||||
$max_person_array[$k]['stunde']=0;
|
||||
$max_person_array[$k]['stunde']=$max_person_array[$k]['stunde']+$gefunden_anz;
|
||||
if (!isset($max_person_array[$k]['stunde_max']))
|
||||
$max_person_array[$k]['stunde_max']=0;
|
||||
$max_person_array[$k]['stunde_max']=$max_person_array[$k]['stunde_max']+$max_person;
|
||||
|
||||
if (!isset($max_person_array[$i][$k]['tag_stunde']))
|
||||
$max_person_array[$i][$k]['tag_stunde']=0;
|
||||
$max_person_array[$i][$k]['tag_stunde']=$max_person_array[$i][$k]['tag_stunde']+$gefunden_anz;
|
||||
if (!isset($max_person_array[$i][$k]['tag_stunde_max']))
|
||||
$max_person_array[$i][$k]['tag_stunde_max']=0;
|
||||
$max_person_array[$i][$k]['tag_stunde_max']=$max_person_array[$i][$k]['tag_stunde_max']+$max_person;
|
||||
|
||||
}
|
||||
echo '</tr>';
|
||||
|
||||
}
|
||||
echo '</table>';
|
||||
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
if($rechte->isBerechtigt('admin'))
|
||||
{
|
||||
echo '<table class="tabcontent" style=" z-index: 1;">';
|
||||
echo '<tr><td style="text-align:center;color:#FFF;" class="ContentHeader" colspan="'. ( TAGE_PRO_WOCHE + 2 ) .'">'. $fh_name .' '. (date('Ym',$montag)==date('Ym',$letzterTagAnzeige)?$tag:(date('Y',$montag)==date('Y',$letzterTagAnzeige)?$tag_monat:$tag_monat_jahr)) .' - '. $letzter_tag_monat_jahr.'</td></tr>';
|
||||
|
||||
echo '<tr>';
|
||||
echo '<td colspan="2" style="text-align:center;color:#FFF;" class="ContentHeader">Zeit / Datum – </td>';
|
||||
for ($i=0; $i<TAGE_PRO_WOCHE; $i++)
|
||||
{
|
||||
echo '<td style="text-align:center;color:#FFF;" class="ContentHeader">'.strftime('%a',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))).' '. date('d M Y',mktime(0,0,0,date('m',$montag),date('d',$montag) + $i,date('Y',$montag))).'</td>';
|
||||
}
|
||||
echo '</tr>';
|
||||
$stunde_proz=0;
|
||||
$stunde=0;
|
||||
$stunde_max=0;
|
||||
for ($k=0; $k<$num_rows_stunde; $k++)
|
||||
{
|
||||
$row = $db->db_fetch_object($results, $k);
|
||||
$row->show_beginn=substr($row->beginn,0,5);
|
||||
$row->show_ende=substr($row->ende,0,5);
|
||||
$row->check_beginn=str_replace(':','',substr($row->beginn,0,5));
|
||||
$row->check_ende=str_replace(':','',substr($row->ende,0,5));
|
||||
echo '<tr>';
|
||||
echo '<td style="text-align:center;color:#FFF;" class="ContentHeader">'.$row->show_beginn.'<br>'.$row->show_ende.'</td>';
|
||||
echo '<td style="border-bottom: 1px solid Black;'.($aktiv?'background-color:#009e84;color:#FFF;':'').'" valign="top" '.($k % 2==0?'':' class="MarkLine" ').' >';
|
||||
echo 'anz.:'.$max_person_array[$k]['stunde'];
|
||||
echo '<br>';
|
||||
echo 'FH '.($raum_max_anz*TAGE_PRO_WOCHE);
|
||||
echo '<br>';
|
||||
echo ' Ø '.($max_person_array[$k]['stunde']?number_format(($max_person_array[$k]['stunde'])/TAGE_PRO_WOCHE / ($raum_max_anz),2)*100:0).'%';
|
||||
echo '<br>';
|
||||
echo 'Raum '.$max_person_array[$k]['stunde_max'];
|
||||
echo '<br>';
|
||||
echo ' Ø '.($max_person_array[$k]['stunde']?number_format(($max_person_array[$k]['stunde']/TAGE_PRO_WOCHE) / ($max_person_array[$k]['stunde_max']/TAGE_PRO_WOCHE),2)*100:0).'%';
|
||||
echo '</td>';
|
||||
|
||||
$stunde=$stunde+$max_person_array[$k]['stunde'];
|
||||
$stunde_max=$stunde_max+$max_person_array[$k]['stunde_max'];
|
||||
|
||||
for ($i=0; $i<TAGE_PRO_WOCHE; $i++)
|
||||
{
|
||||
echo '<td style="border-bottom: 1px solid Black;'.($aktiv?'background-color:#009e84;color:#FFF;':'').'" valign="top" '.($k % 2==0?'':' class="MarkLine" ').' >';
|
||||
echo 'anz.:'.$max_person_array[$i][$k]['tag_stunde'];
|
||||
echo '<br>';
|
||||
echo 'FH max.:'. $raum_max_anz;
|
||||
echo '<br>';
|
||||
echo ' '.($max_person_array[$i][$k]['tag_stunde']?number_format($max_person_array[$i][$k]['tag_stunde'] / $raum_max_anz,2)*100:0).'%';
|
||||
echo '<br>';
|
||||
echo 'Raum max.:'. $max_person_array[$i][$k]['tag_stunde_max'];
|
||||
echo '<br>';
|
||||
echo ' '.($max_person_array[$i][$k]['tag_stunde']?number_format($max_person_array[$i][$k]['tag_stunde'] / $max_person_array[$i][$k]['tag_stunde_max'],2)*100:0).'%';
|
||||
echo '</td>';
|
||||
}
|
||||
echo '</tr>';
|
||||
}
|
||||
|
||||
|
||||
echo '<tr>';
|
||||
echo '<td style="text-align:center;color:#FFF;" class="ContentHeader">Ø</td>';
|
||||
|
||||
echo '<td style="text-align:center;color:#FFF;" class="ContentHeader">';
|
||||
echo 'FH Ø '.($stunde?number_format(($stunde)/$num_rows_stunde/TAGE_PRO_WOCHE / ($raum_max_anz),2)*100:0).'%';
|
||||
echo '<br>';
|
||||
echo 'Raum Ø '.($stunde_max?number_format(($stunde/$num_rows_stunde/TAGE_PRO_WOCHE) / ($stunde_max/$num_rows_stunde/TAGE_PRO_WOCHE),2)*100:0).'%';
|
||||
echo '</td>';
|
||||
|
||||
|
||||
for ($i=0; $i<TAGE_PRO_WOCHE; $i++)
|
||||
{
|
||||
|
||||
echo '<td style="text-align:center;color:#FFF;" class="ContentHeader">';
|
||||
echo 'FH Ø '.($max_person_array[$i]['tag']?number_format($max_person_array[$i]['tag'] / ($raum_max_anz *$num_rows_stunde),2)*100:0).'%';
|
||||
echo '<br>';
|
||||
echo 'Raum Ø '.($max_person_array[$i]['tag']?number_format($max_person_array[$i]['tag'] / $max_person_array[$i]['tag_max'],2)*100:0).'%';
|
||||
echo '</td>';
|
||||
}
|
||||
|
||||
echo '</tr>';
|
||||
|
||||
|
||||
echo '</table>';
|
||||
}
|
||||
?>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -38,6 +38,7 @@ require_once('../../include/student.class.php');
|
||||
require_once('../../include/prestudent.class.php');
|
||||
require_once('../../include/dokument_export.class.php');
|
||||
require_once('../../include/person.class.php');
|
||||
require_once('../../include/webservicelog.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
@@ -139,6 +140,21 @@ if (isset($_GET['all']))
|
||||
if (isset($_GET['xsl_oe_kurzbz']))
|
||||
$params .= '&xsl_oe_kurzbz='. $_GET['xsl_oe_kurzbz'];
|
||||
|
||||
// Logeintrag bei Download von Zahlungsbestaetigungen
|
||||
if (isset($_GET['xsl']) && $_GET['xsl'] == 'Zahlung')
|
||||
{
|
||||
$requestdata = $_SERVER['QUERY_STRING'];
|
||||
|
||||
$log = new Webservicelog();
|
||||
$log->webservicetyp_kurzbz = 'content';
|
||||
$log->request_id = isset($_GET['buchungsnummern']) && !empty($_GET['buchungsnummern']) ? $_GET['buchungsnummern'] : NULL;
|
||||
$log->beschreibung = 'Zahlungsbestaetigungsdownload';
|
||||
$log->request_data = $requestdata;
|
||||
$log->execute_user = $user;
|
||||
|
||||
$log->save(true);
|
||||
}
|
||||
|
||||
//OE fuer Output ermitteln
|
||||
|
||||
if ($xsl_oe_kurzbz != '')
|
||||
|
||||
@@ -56,6 +56,12 @@ $uid = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
$is_employee = false;
|
||||
if (check_lektor($uid))
|
||||
{
|
||||
$is_employee = true;
|
||||
}
|
||||
|
||||
$datum_obj = new datum();
|
||||
|
||||
// Wenn ein anderer User sich das Profil ansieht (Bei Personensuche) sollen bestimmte persönliche Daten nicht angezeigt werden
|
||||
@@ -346,7 +352,7 @@ if ($type == 'mitarbeiter')
|
||||
$kontakt->load_pers($user->person_id);
|
||||
foreach($kontakt->result as $k)
|
||||
{
|
||||
if ($k->kontakttyp == 'firmenhandy')
|
||||
if ($k->kontakttyp == 'firmenhandy' && $is_employee)
|
||||
echo 'Firmenhandy: '.$k->kontakt.'<br>';
|
||||
}
|
||||
|
||||
|
||||
@@ -163,6 +163,68 @@ if (isset($_GET['rechts_x']) || isset($_POST['rechts_x']))
|
||||
$wjahr=$wjahr;
|
||||
}
|
||||
}
|
||||
|
||||
//Bereits freigegebenen Eintrag löschen
|
||||
//Eintragung löschen
|
||||
if((isset($_GET['delete']) && isset($_GET['informSupervisor'])) || (isset($_POST['delete']) && isset($_POST['informSupervisor'])))
|
||||
{
|
||||
$zeitsperre = new zeitsperre();
|
||||
$zeitsperre->load($_GET['delete']);
|
||||
|
||||
$vondatum = $zeitsperre->getVonDatum();
|
||||
$bisdatum = $zeitsperre->getBisDatum();
|
||||
|
||||
if(!$zeitsperre->delete($_GET['delete']))
|
||||
echo $zeitsperre->errormsg;
|
||||
|
||||
//Mail an Vorgesetzten
|
||||
$prsn = new person();
|
||||
|
||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||
if($vorgesetzter)
|
||||
{
|
||||
$to='';
|
||||
$fullName ='';
|
||||
foreach($ma->vorgesetzte as $vg)
|
||||
{
|
||||
if($to!='')
|
||||
{
|
||||
$to.=', '.$vg.'@'.DOMAIN;
|
||||
$name = $prsn->getFullNameFromBenutzer($vg);
|
||||
$fullName.=', '.$name;
|
||||
}
|
||||
else
|
||||
{
|
||||
$to.=$vg.'@'.DOMAIN;
|
||||
$name = $prsn->getFullNameFromBenutzer($vg);
|
||||
$fullName.=$name;
|
||||
}
|
||||
}
|
||||
|
||||
$benutzer = new benutzer();
|
||||
$benutzer->load($uid);
|
||||
$message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n".
|
||||
$p->t('urlaubstool/xHatUrlaubGeloescht',array($benutzer->nachname,$benutzer->vorname)).":\n";
|
||||
$message.= $p->t('urlaubstool/von')." ".date("d.m.Y", strtotime($vondatum))." ".$p->t('urlaubstool/bis')." ".date("d.m.Y", strtotime($bisdatum))."\n";
|
||||
|
||||
|
||||
$mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigegebenerUrlaubGeloescht'), $message);
|
||||
if($mail->send())
|
||||
{
|
||||
$vgmail="<span style='color:green;'>".$p->t('urlaubstool/VorgesetzteInformiert',array($fullName))."</span>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($fullName))."!</span>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/konnteKeinFreigabemailVersendetWerden')."</span>";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Eintragung löschen
|
||||
if((isset($_GET['delete']) || isset($_POST['delete'])))
|
||||
{
|
||||
@@ -257,19 +319,26 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
if(!$error)
|
||||
{
|
||||
//Mail an Vorgesetzten
|
||||
$prsn = new person();
|
||||
|
||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||
if($vorgesetzter)
|
||||
{
|
||||
$to='';
|
||||
$fullName ='';
|
||||
foreach($ma->vorgesetzte as $vg)
|
||||
{
|
||||
if($to!='')
|
||||
{
|
||||
$to.=', '.$vg.'@'.DOMAIN;
|
||||
$name = $prsn->getFullNameFromBenutzer($vg);
|
||||
$fullName.=', '.$name;
|
||||
}
|
||||
else
|
||||
{
|
||||
$to.=$vg.'@'.DOMAIN;
|
||||
$name = $prsn->getFullNameFromBenutzer($vg);
|
||||
$fullName.=$name;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -295,7 +364,7 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
|
||||
$mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigabeansuchenUrlaub'), $message);
|
||||
if($mail->send())
|
||||
{
|
||||
$vgmail="<span style='color:green;'>".$p->t('urlaubstool/freigabemailWurdeVersandt',array($to))."</span>";
|
||||
$vgmail="<span style='color:green;'>".$p->t('urlaubstool/freigabemailWurdeVersandt',array($fullName))."</span>";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -373,10 +442,14 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr)))
|
||||
if(date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $i-$wotag+1, $jahre[$wjahr]))>=$row->vondatum
|
||||
&& date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $i-$wotag+1, $jahre[$wjahr]))<=$row->bisdatum)
|
||||
{
|
||||
if($row->freigabevon!='' || $row->bisdatum<date("Y-m-d",time()))
|
||||
if($row->freigabevon!='' && $row->vondatum<=date("Y-m-d",time()))
|
||||
{
|
||||
$hgfarbe[$i]='#bbb';
|
||||
}
|
||||
elseif ($row->freigabevon!='' && $row->vondatum>date("Y-m-d",time()))
|
||||
{
|
||||
$hgfarbe[$i]='#CDDDEE';
|
||||
}
|
||||
else
|
||||
{
|
||||
$hgfarbe[$i]='#FFFC7F';
|
||||
@@ -389,7 +462,7 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr)))
|
||||
}
|
||||
else
|
||||
{
|
||||
if($hgfarbe[$i]!='#FFFC7F' && $hgfarbe[$i]!='#bbb')
|
||||
if($hgfarbe[$i]!='#FFFC7F' && $hgfarbe[$i]!='#bbb' && $hgfarbe[$i]!='#CDDDEE')
|
||||
{
|
||||
|
||||
$hgfarbe[$i]='#E9ECEE';
|
||||
@@ -696,7 +769,7 @@ for ($i=0;$i<6;$i++)
|
||||
}
|
||||
if($tage[$j+7*$i]!='')
|
||||
{
|
||||
if($hgfarbe[$j+7*$i]=='#FFFC7F')
|
||||
if($hgfarbe[$j+7*$i]=='#FFFC7F' )//|| $hgfarbe[$j+7*$i]=='#CDDDEE')
|
||||
{
|
||||
echo '<b title='.$p->t('urlaubstool/vertretung').': '.$vertretung_uid[$j+7*$i].' - '.$p->t('urlaubstool/erreichbar').': '.$erreichbarkeit_kurzbz[$j+7*$i].'">'.$tage[$j+7*$i].'</b><br>';;
|
||||
$k=$j+7*$i;
|
||||
@@ -724,7 +797,13 @@ for ($i=0;$i<6;$i++)
|
||||
}
|
||||
elseif(isset($freigabeamum[$j+7*$i]))
|
||||
{
|
||||
echo '<img src="../../../skin/images/flag-green.png" alt="freigegeben" title="'.$p->t('urlaubstool/freigegebenDurchAm', array($freigabevon[$j+7*$i])).' '.date("d-m-Y",strtotime($freigabeamum[$j+7*$i])).'"></td>';
|
||||
echo '<img src="../../../skin/images/flag-green.png" alt="freigegeben" title="'.$p->t('urlaubstool/freigegebenDurch', array($freigabevon[$j+7*$i])).': '.$freigabevon[$j+7*$i].'"><span> </span>';
|
||||
if($hgfarbe[$j+7*$i]=='#CDDDEE')
|
||||
{
|
||||
$k=$j+7*$i;
|
||||
echo "<a href='$PHP_SELF?wmonat=$wmonat&wjahr=$wjahr&delete=$datensatz[$k]&informSupervisor=True' onclick='return conf_del()'>";
|
||||
echo '<img src="../../../skin/images/delete_x.png" alt="loeschen" title="'.$p->t('urlaubstool/eintragungLoeschen').'"></a></td>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -217,12 +217,20 @@ echo ' <script type="text/javascript" src="../../../vendor/components/jqueryui
|
||||
foreach ($konto->result as $row)
|
||||
{
|
||||
$i=0; //Zaehler fuer Anzahl Gegenbuchungen
|
||||
$count_studiengangszahlung = 0;
|
||||
$buchungsnummern='';
|
||||
|
||||
// Für die FHTW sollen nur Zahlungsbestaetigungen von FHTW-Studien angezeigt werden. (Nicht von Lehrgaengen)
|
||||
if (defined('ZAHLUNGSBESTAETIGUNG_ANZEIGEN_FUER_LEHRGAENGE') && !ZAHLUNGSBESTAETIGUNG_ANZEIGEN_FUER_LEHRGAENGE)
|
||||
{
|
||||
$is_lehrgang = $row['parent']->studiengang_kz < 0 ? true : false;
|
||||
if ($is_lehrgang) continue;
|
||||
}
|
||||
|
||||
if(!isset($row['parent']))
|
||||
continue;
|
||||
$betrag = $row['parent']->betrag;
|
||||
|
||||
$count_studiengangszahlung ++;
|
||||
|
||||
if(isset($row['childs']))
|
||||
{
|
||||
@@ -230,7 +238,8 @@ echo ' <script type="text/javascript" src="../../../vendor/components/jqueryui
|
||||
{
|
||||
$betrag += $row_child->betrag;
|
||||
$betrag = round($betrag, 2);
|
||||
$buchungsnummern .= ';'.$row['childs'][$key]->buchungsnr;
|
||||
$buchungsnummern = !empty($buchungsnummern) ? ';' : '';
|
||||
$buchungsnummern .= $row['childs'][$key]->buchungsnr;
|
||||
$i = $key; //Zaehler auf letzten Gegenbuchungseintrag setzen
|
||||
}
|
||||
}
|
||||
@@ -271,6 +280,13 @@ echo ' <script type="text/javascript" src="../../../vendor/components/jqueryui
|
||||
}
|
||||
echo '</tr>';
|
||||
}
|
||||
|
||||
// Wenn die Tabelle keine Eintraege hat, wird eine Tabellenzeile mit entsprechender Information angezeigt.
|
||||
if ($count_studiengangszahlung == 0)
|
||||
{
|
||||
echo "<tr><td colspan='7' style='background-color: white;'>" .$p->t('tools/keineZahlungenVorhanden'). "</td></tr>";
|
||||
}
|
||||
|
||||
echo '</tbody></table>';
|
||||
}
|
||||
else
|
||||
|
||||
@@ -15,9 +15,10 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Martin Tatzber <tatzberm@technikum-wien.at>,
|
||||
* Authors: Martin Tatzber <tatzberm@technikum-wien.at>,
|
||||
*/
|
||||
require_once('../../../config/cis.config.inc.php');
|
||||
require_once('../../../config/global.config.inc.php');
|
||||
require_once('../../../include/functions.inc.php');
|
||||
require_once('../../../include/konto.class.php');
|
||||
require_once('../../../include/bankverbindung.class.php');
|
||||
@@ -28,7 +29,7 @@ require_once('../../../include/benutzer.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/student.class.php');
|
||||
require_once('../../../include/prestudent.class.php');
|
||||
|
||||
|
||||
$uid = get_uid();
|
||||
|
||||
if(isset($_GET['uid']))
|
||||
@@ -48,7 +49,7 @@ if(isset($_GET['uid']))
|
||||
}
|
||||
else
|
||||
$getParam='';
|
||||
|
||||
|
||||
$benutzer = new benutzer();
|
||||
if(!$benutzer->load($uid))
|
||||
die('Benutzer nicht gefunden');
|
||||
@@ -88,7 +89,7 @@ $oe=new organisationseinheit();
|
||||
$oe->load($studiengang->oe_kurzbz);
|
||||
|
||||
$konto->getBuchungstyp();
|
||||
$buchungstyp = array();
|
||||
$buchungstyp = array();
|
||||
foreach ($konto->result as $row)
|
||||
$buchungstyp[$row->buchungstyp_kurzbz]=$row->beschreibung;
|
||||
|
||||
@@ -153,7 +154,13 @@ if($bic!='')
|
||||
<td>'.$bic.'</td>
|
||||
</tr>';
|
||||
}
|
||||
if($konto->zahlungsreferenz!='')
|
||||
if ($konto->zahlungsreferenz != ''
|
||||
&&
|
||||
(
|
||||
!defined('ZAHLUNGSBESTAETIGUNG_ZAHLUNGSREFERENZ_ANZEIGEN')
|
||||
|| ZAHLUNGSBESTAETIGUNG_ZAHLUNGSREFERENZ_ANZEIGEN == true
|
||||
)
|
||||
)
|
||||
{
|
||||
echo '
|
||||
<tr>
|
||||
@@ -189,7 +196,7 @@ foreach($addon->result as $a)
|
||||
</tbody>
|
||||
</table>';
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
echo '</body></html>';
|
||||
|
||||
@@ -442,15 +442,23 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
||||
if($zeitsperre->new && $zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
|
||||
{
|
||||
//Beim Anlegen von neuen Urlauben wird ein Mail an den Vorgesetzten versendet um diesen Freizugeben
|
||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||
$prsn = new person();
|
||||
|
||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||
if($vorgesetzter)
|
||||
{
|
||||
$to='';
|
||||
$fullName='';
|
||||
foreach($ma->vorgesetzte as $vg)
|
||||
{
|
||||
if (!empty($to))
|
||||
{
|
||||
$to.=',';
|
||||
$fullName.=',';
|
||||
}
|
||||
$to.=trim($vg.'@'.DOMAIN);
|
||||
$name = $prsn->getFullNameFromBenutzer($vg);
|
||||
$fullName.=$name;
|
||||
}
|
||||
|
||||
$benutzer = new benutzer();
|
||||
@@ -469,11 +477,11 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
||||
$mail = new mail($to, $from, 'Freigabeansuchen', $message);
|
||||
if($mail->send())
|
||||
{
|
||||
echo "<br><b>".$p->t('urlaubstool/freigabemailWurdeVersandt',array($to))."</b>";
|
||||
echo "<br><b>".$p->t('urlaubstool/freigabemailWurdeVersandt',array($fullName))."</b>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($to))."</span>";
|
||||
echo "<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($fullName))."</span>";
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -490,8 +498,69 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
||||
echo "<span class='error'>$error_msg</span>";
|
||||
}
|
||||
|
||||
//loeschen eines bereits freigegebenen Urlaubs
|
||||
if((isset($_GET['type']) && $_GET['type']=='delete_sperre' && isset($_GET['informSupervisor'])))
|
||||
{
|
||||
$zeitsperre = new zeitsperre();
|
||||
$zeitsperre->load($_GET['id']);
|
||||
|
||||
$vondatum = $zeitsperre->getVonDatum();
|
||||
$bisdatum = $zeitsperre->getBisDatum();
|
||||
|
||||
if(!$zeitsperre->delete($_GET['id']))
|
||||
echo $zeitsperre->errormsg;
|
||||
|
||||
//Mail an Vorgesetzten
|
||||
$prsn = new person();
|
||||
|
||||
$vorgesetzter = $ma->getVorgesetzte($uid);
|
||||
if($vorgesetzter)
|
||||
{
|
||||
$to='';
|
||||
$fullName ='';
|
||||
foreach($ma->vorgesetzte as $vg)
|
||||
{
|
||||
if($to!='')
|
||||
{
|
||||
$to.=', '.$vg.'@'.DOMAIN;
|
||||
$name = $prsn->getFullNameFromBenutzer($vg);
|
||||
$fullName.=', '.$name;
|
||||
}
|
||||
else
|
||||
{
|
||||
$to.=$vg.'@'.DOMAIN;
|
||||
$name = $prsn->getFullNameFromBenutzer($vg);
|
||||
$fullName.=$name;
|
||||
}
|
||||
}
|
||||
|
||||
$benutzer = new benutzer();
|
||||
$benutzer->load($uid);
|
||||
$message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n".
|
||||
$p->t('urlaubstool/xHatUrlaubGeloescht',array($benutzer->nachname,$benutzer->vorname)).":\n";
|
||||
|
||||
|
||||
$message.= $p->t('urlaubstool/von')." ".date("d.m.Y", strtotime($vondatum))." ".$p->t('urlaubstool/bis')." ".date("d.m.Y", strtotime($bisdatum))."\n";
|
||||
|
||||
|
||||
$mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigegebenerUrlaubGeloescht'), $message);
|
||||
if($mail->send())
|
||||
{
|
||||
echo "<br><b>".$p->t('urlaubstool/VorgesetzteInformiert',array($fullName))."</b>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<br><span class='error'>".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($fullName))."!</span>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$vgmail="<br><span class='error'>".$p->t('urlaubstool/konnteKeinFreigabemailVersendetWerden')."</span>";
|
||||
}
|
||||
}
|
||||
|
||||
//loeschen einer zeitsperre
|
||||
if(isset($_GET['type']) && $_GET['type']=='delete_sperre')
|
||||
if(isset($_GET['type']) && $_GET['type']=='delete_sperre' && !isset($_GET['informSupervisor']) )
|
||||
{
|
||||
$zeit = new zeitsperre();
|
||||
$zeit->load($_GET['id']);
|
||||
@@ -547,7 +616,7 @@ if(count($zeit->result)>0)
|
||||
$row_vertretung = $db->db_fetch_object($result_vertretung);
|
||||
$content_table.= "<tr class='liste".($i%2)."'>
|
||||
<td>$row->bezeichnung</td>
|
||||
<td>$row->zeitsperretyp_kurzbz</td>
|
||||
<td>$row->zeitsperretyp_beschreibung</td>
|
||||
<td nowrap>".$datum_obj->convertISODate($row->vondatum)." ".($row->vonstunde!=''?'('.$row->vonstunde.')':'')."</td>
|
||||
<td nowrap>".$datum_obj->convertISODate($row->bisdatum)." ".($row->bisstunde!=''?'('.$row->bisstunde.')':'')."</td>
|
||||
<td>".(isset($row_vertretung->kurzbz)?$row_vertretung->kurzbz:'')."</td>
|
||||
@@ -561,10 +630,14 @@ if(count($zeit->result)>0)
|
||||
$content_table.="<td><a href='$PHP_SELF?type=edit&id=$row->zeitsperre_id' class='Item'>".$p->t('zeitsperre/edit')."</a></td>";
|
||||
if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
|
||||
$content_table .= '<td> </td>';
|
||||
else if($row->freigabeamum=='' || $row->zeitsperretyp_kurzbz!='Urlaub')
|
||||
else if($row->vondatum>=date("Y-m-d",time()) && $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>";
|
||||
$content_table.="\n<td><a href='$PHP_SELF?type=delete_sperre&id=$row->zeitsperre_id&informSupervisor=True' onclick='return conf_del()' class='Item'>".$p->t('zeitsperre/loeschen')."</a></td>";
|
||||
}
|
||||
elseif($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
|
||||
$content_table .= '<td> </td>';
|
||||
$content_table.="</tr>";
|
||||
@@ -616,15 +689,15 @@ $content_form.= '<form method="POST" name="zeitsperre_form" action="'.$action.'"
|
||||
$content_form.= "<table>\n";
|
||||
$content_form.= '<tr><td style="width:150px">'.$p->t('zeitsperre/grund').'</td><td colspan="2" style="width:450px"><SELECT name="zeitsperretyp_kurzbz"'.$style.' onchange="showHideBezeichnungDropDown()" class="dd_breit">';
|
||||
//dropdown fuer zeitsperretyp
|
||||
$qry = "SELECT * FROM campus.tbl_zeitsperretyp ORDER BY zeitsperretyp_kurzbz";
|
||||
$qry = "SELECT * FROM campus.tbl_zeitsperretyp ORDER BY beschreibung";
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row=$db->db_fetch_object($result))
|
||||
{
|
||||
if($zeitsperre->zeitsperretyp_kurzbz == $row->zeitsperretyp_kurzbz)
|
||||
$content_form.= "<OPTION value='$row->zeitsperretyp_kurzbz' selected>$row->zeitsperretyp_kurzbz - $row->beschreibung</OPTION>";
|
||||
$content_form.= "<OPTION value='$row->zeitsperretyp_kurzbz' selected>$row->beschreibung</OPTION>";
|
||||
else
|
||||
$content_form.= "<OPTION value='$row->zeitsperretyp_kurzbz'$disabled>$row->zeitsperretyp_kurzbz - $row->beschreibung</OPTION>";
|
||||
$content_form.= "<OPTION value='$row->zeitsperretyp_kurzbz'$disabled>$row->beschreibung</OPTION>";
|
||||
}
|
||||
}
|
||||
$content_form.= '</SELECT></td></tr>';
|
||||
|
||||
@@ -62,11 +62,15 @@ TZOFFSETTO:+0100
|
||||
END:STANDARD
|
||||
END:VTIMEZONE\n";
|
||||
//echo 'URL:',APP_ROOT,'cis/public/ical_coodle.php/',$uid,"\n";
|
||||
echo "BEGIN:VEVENT";
|
||||
|
||||
// Alle Umfragen holen an denen der User beteiligt ist
|
||||
$umfragen = new coodle();
|
||||
$umfragen->getCoodleFromUser($uid);
|
||||
$i = 0;
|
||||
if (count($umfragen->result) > 0)
|
||||
{
|
||||
//echo "BEGIN:VEVENT";
|
||||
}
|
||||
foreach($umfragen->result as $umfrage)
|
||||
{
|
||||
if($umfrage->coodle_status_kurzbz=='laufend')
|
||||
@@ -88,10 +92,7 @@ foreach($umfragen->result as $umfrage)
|
||||
$uhrzeit_ende = $date->format('H:i:s');
|
||||
$dtende = $date->format('Ymd\THis');
|
||||
|
||||
if ($i > 0)
|
||||
{
|
||||
echo "\nBEGIN:VEVENT";
|
||||
}
|
||||
echo "\nBEGIN:VEVENT";
|
||||
echo "\nUID:Coodle_Terminoption".$dtstart."_".$dtende."";
|
||||
echo "\nSUMMARY:Coodle Terminoption";
|
||||
echo "\nDTSTART;TZID=Europe/Vienna:$dtstart";
|
||||
|
||||
@@ -260,6 +260,9 @@ define('KOLLISIONSFREIE_USER',serialize(array('_DummyLektor')));
|
||||
//Wenn auf 'true' gesetzt, dann wird im FAS beim Konto das Feld fuer die CreditPoints angezeigt
|
||||
define('FAS_KONTO_SHOW_CREDIT_POINTS','false');
|
||||
|
||||
//Wenn auf true gesetzt, dann wird im FAS beim Konto das Feld fuer die Mahnspanne angezeigt
|
||||
define('FAS_KONTO_SHOW_MAHNSPANNE', true);
|
||||
|
||||
// Wenn definiert, wird bei der Vorrückung der Lehreinheiten nicht der Stundensatz des Vorjahres eingetragen.
|
||||
// Erlaubt sind numerische Werte oder der Wert "default".
|
||||
// Bei "default" wird der Standard-Stundensatz des Lektors (aus tbl_mitarbeiter) ermittelt, und dieser eingetragen.
|
||||
@@ -300,4 +303,10 @@ define('BUCHUNGEN_CHECK_SAP', true);
|
||||
|
||||
// Gibt an, ob im FAS die Zahlungsbestaetigungen zum Download / im CIS generell die Zahlungen angezeigt werden
|
||||
define ('ZAHLUNGSBESTAETIGUNG_ANZEIGEN', true);
|
||||
|
||||
// Gibt an, ob im CIS die Zahlungsbestaetigungen fuer Lehrgaenge zum Download angezeigt werden
|
||||
define ('ZAHLUNGSBESTAETIGUNG_ANZEIGEN_FUER_LEHRGAENGE', true);
|
||||
|
||||
// Gibt an, ob im CIS die Zahlungsreferenz angezeigt wird
|
||||
define ('ZAHLUNGSBESTAETIGUNG_ZAHLUNGSREFERENZ_ANZEIGEN', false);
|
||||
?>
|
||||
|
||||
@@ -249,4 +249,9 @@ define('BIS_FUNKTIONSCODE_6_ARR', array(
|
||||
'Team'
|
||||
));
|
||||
|
||||
// Standortcode fuer Lehrgaenge
|
||||
define('BIS_STANDORTCODE_LEHRGAENGE', '0');
|
||||
|
||||
// bPk Abfrage
|
||||
define('BPK_FUER_ALLE_BENUTZER_ABFRAGEN', false);
|
||||
?>
|
||||
|
||||
+206
-203
@@ -1,204 +1,207 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
|
||||
$user = get_uid();
|
||||
loadVariables($user);
|
||||
?>
|
||||
|
||||
// ****
|
||||
// * Laedt die zu bearbeitenden Daten
|
||||
// ****
|
||||
function AdresseInit(adresse_id, person_id)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
if(adresse_id!='')
|
||||
{
|
||||
//Daten holen
|
||||
var url = '<?php echo APP_ROOT ?>rdf/adresse.rdf.php?adresse_id='+adresse_id+'&'+gettimestamp();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
||||
getService(Components.interfaces.nsIRDFService);
|
||||
|
||||
var dsource = rdfService.GetDataSourceBlocking(url);
|
||||
|
||||
var subject = rdfService.GetResource("http://www.technikum-wien.at/adresse/" + adresse_id);
|
||||
|
||||
var predicateNS = "http://www.technikum-wien.at/adresse/rdf";
|
||||
|
||||
//RDF parsen
|
||||
|
||||
person_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#person_id" ));
|
||||
name = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#name" ));
|
||||
strasse = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#strasse" ));
|
||||
plz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#plz" ));
|
||||
ort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ort" ));
|
||||
gemeinde = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gemeinde" ));
|
||||
nation = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#nation" ));
|
||||
typ = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#typ" ));
|
||||
heimatadresse = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#heimatadresse" ));
|
||||
zustelladresse = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zustelladresse" ));
|
||||
firma_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#firma_id" ));
|
||||
rechnungsadresse = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#rechnungsadresse" ));
|
||||
anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
|
||||
neu = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Defaultwerte bei Neuem Datensatz
|
||||
neu = true;
|
||||
name='';
|
||||
strasse='';
|
||||
plz='';
|
||||
ort='';
|
||||
gemeinde=''
|
||||
nation='A';
|
||||
typ='h';
|
||||
heimatadresse='Ja';
|
||||
zustelladresse='Ja';
|
||||
firma_id='';
|
||||
rechnungsadresse='Nein';
|
||||
anmerkung='';
|
||||
}
|
||||
|
||||
document.getElementById('adresse-checkbox-neu').checked=neu;
|
||||
document.getElementById('adresse-textbox-person_id').value=person_id;
|
||||
document.getElementById('adresse-textbox-adresse_id').value=adresse_id;
|
||||
document.getElementById('adresse-textbox-name').value=name;
|
||||
document.getElementById('adresse-textbox-strasse').value=strasse;
|
||||
document.getElementById('adresse-textbox-plz').value=plz;
|
||||
AdresseLoadGemeinde(true);
|
||||
document.getElementById('adresse-textbox-gemeinde').value=gemeinde;
|
||||
AdresseLoadOrtschaft(true);
|
||||
document.getElementById('adresse-textbox-ort').value=ort;
|
||||
document.getElementById('adresse-menulist-nation').value=nation;
|
||||
document.getElementById('adresse-menulist-typ').value=typ;
|
||||
if(heimatadresse=='Ja')
|
||||
document.getElementById('adresse-checkbox-heimatadresse').checked=true;
|
||||
else
|
||||
document.getElementById('adresse-checkbox-heimatadresse').checked=false;
|
||||
|
||||
if(zustelladresse=='Ja')
|
||||
document.getElementById('adresse-checkbox-zustelladresse').checked=true;
|
||||
else
|
||||
document.getElementById('adresse-checkbox-zustelladresse').checked=false;
|
||||
document.getElementById('adresse-menulist-firma').value=firma_id;
|
||||
document.getElementById('adresse-textbox-anmerkung').value=anmerkung;
|
||||
if(rechnungsadresse=='Ja')
|
||||
document.getElementById('adresse-checkbox-rechnungsadresse').checked=true;
|
||||
else
|
||||
document.getElementById('adresse-checkbox-rechnungsadresse').checked=false;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Speichern der Daten
|
||||
// ****
|
||||
function AdresseSpeichern()
|
||||
{
|
||||
if(window.opener.KontaktAdresseSpeichern(document))
|
||||
window.close();
|
||||
else
|
||||
this.focus();
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Laedt die Gemeinden zur eingegebenen Postleitzahl
|
||||
// ****
|
||||
function AdresseLoadGemeinde(blocking)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
menulist_gemeinde = document.getElementById('adresse-textbox-gemeinde');
|
||||
if(document.getElementById('adresse-menulist-nation').value=='A')
|
||||
{
|
||||
menulist_gemeinde.value='';
|
||||
document.getElementById('adresse-textbox-ort').value='';
|
||||
}
|
||||
plz = document.getElementById('adresse-textbox-plz').value;
|
||||
|
||||
if(plz.length>3)
|
||||
{
|
||||
var url = '<?php echo APP_ROOT; ?>rdf/gemeinde.rdf.php?plz='+plz+'&'+gettimestamp();
|
||||
|
||||
var oldDatasources = menulist_gemeinde.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
menulist_gemeinde.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
//Refresh damit die entfernten DS auch wirklich entfernt werden
|
||||
menulist_gemeinde.builder.rebuild();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
if(blocking)
|
||||
var datasource = rdfService.GetDataSourceBlocking(url);
|
||||
else
|
||||
var datasource = rdfService.GetDataSource(url);
|
||||
datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
menulist_gemeinde.database.AddDataSource(datasource);
|
||||
|
||||
menulist_gemeinde.builder.rebuild();
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Laedt die Ortschaften zu Plz und Gemeinde
|
||||
// ****
|
||||
function AdresseLoadOrtschaft(blocking)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
gemeinde = document.getElementById('adresse-textbox-gemeinde').value;
|
||||
menulist_ort = document.getElementById('adresse-textbox-ort');
|
||||
if(document.getElementById('adresse-menulist-nation').value=='A')
|
||||
{
|
||||
menulist_ort.value='';
|
||||
}
|
||||
plz = document.getElementById('adresse-textbox-plz').value;
|
||||
|
||||
if(plz.length>3 && gemeinde!='')
|
||||
{
|
||||
var url = '<?php echo APP_ROOT; ?>rdf/gemeinde.rdf.php?plz='+plz+'&gemeinde='+encodeURIComponent(gemeinde)+'&'+gettimestamp();
|
||||
|
||||
var oldDatasources = menulist_ort.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
menulist_ort.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
//Refresh damit die entfernten DS auch wirklich entfernt werden
|
||||
menulist_ort.builder.rebuild();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
if(blocking)
|
||||
var datasource1 = rdfService.GetDataSourceBlocking(url);
|
||||
else
|
||||
var datasource1 = rdfService.GetDataSource(url);
|
||||
datasource1.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
datasource1.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
menulist_ort.database.AddDataSource(datasource1);
|
||||
|
||||
menulist_ort.builder.rebuild();
|
||||
}
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
|
||||
$user = get_uid();
|
||||
loadVariables($user);
|
||||
?>
|
||||
|
||||
// ****
|
||||
// * Laedt die zu bearbeitenden Daten
|
||||
// ****
|
||||
function AdresseInit(adresse_id, person_id)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
if(adresse_id!='')
|
||||
{
|
||||
//Daten holen
|
||||
var url = '<?php echo APP_ROOT ?>rdf/adresse.rdf.php?adresse_id='+adresse_id+'&'+gettimestamp();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
||||
getService(Components.interfaces.nsIRDFService);
|
||||
|
||||
var dsource = rdfService.GetDataSourceBlocking(url);
|
||||
|
||||
var subject = rdfService.GetResource("http://www.technikum-wien.at/adresse/" + adresse_id);
|
||||
|
||||
var predicateNS = "http://www.technikum-wien.at/adresse/rdf";
|
||||
|
||||
//RDF parsen
|
||||
|
||||
person_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#person_id" ));
|
||||
name = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#name" ));
|
||||
strasse = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#strasse" ));
|
||||
plz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#plz" ));
|
||||
ort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ort" ));
|
||||
gemeinde = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gemeinde" ));
|
||||
nation = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#nation" ));
|
||||
typ = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#typ" ));
|
||||
heimatadresse = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#heimatadresse" ));
|
||||
zustelladresse = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zustelladresse" ));
|
||||
co_name = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#co_name" ));
|
||||
firma_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#firma_id" ));
|
||||
rechnungsadresse = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#rechnungsadresse" ));
|
||||
anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
|
||||
neu = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Defaultwerte bei Neuem Datensatz
|
||||
neu = true;
|
||||
name='';
|
||||
strasse='';
|
||||
plz='';
|
||||
ort='';
|
||||
gemeinde=''
|
||||
nation='A';
|
||||
typ='h';
|
||||
heimatadresse='Ja';
|
||||
zustelladresse='Ja';
|
||||
co_name = '';
|
||||
firma_id='';
|
||||
rechnungsadresse='Nein';
|
||||
anmerkung='';
|
||||
}
|
||||
|
||||
document.getElementById('adresse-checkbox-neu').checked=neu;
|
||||
document.getElementById('adresse-textbox-person_id').value=person_id;
|
||||
document.getElementById('adresse-textbox-adresse_id').value=adresse_id;
|
||||
document.getElementById('adresse-textbox-name').value=name;
|
||||
document.getElementById('adresse-textbox-strasse').value=strasse;
|
||||
document.getElementById('adresse-textbox-plz').value=plz;
|
||||
AdresseLoadGemeinde(true);
|
||||
document.getElementById('adresse-textbox-gemeinde').value=gemeinde;
|
||||
AdresseLoadOrtschaft(true);
|
||||
document.getElementById('adresse-textbox-ort').value=ort;
|
||||
document.getElementById('adresse-menulist-nation').value=nation;
|
||||
document.getElementById('adresse-menulist-typ').value=typ;
|
||||
if(heimatadresse=='Ja')
|
||||
document.getElementById('adresse-checkbox-heimatadresse').checked=true;
|
||||
else
|
||||
document.getElementById('adresse-checkbox-heimatadresse').checked=false;
|
||||
|
||||
if(zustelladresse=='Ja')
|
||||
document.getElementById('adresse-checkbox-zustelladresse').checked=true;
|
||||
else
|
||||
document.getElementById('adresse-checkbox-zustelladresse').checked=false;
|
||||
document.getElementById('adresse-textbox-co_name').value = co_name;
|
||||
document.getElementById('adresse-menulist-firma').value=firma_id;
|
||||
document.getElementById('adresse-textbox-anmerkung').value=anmerkung;
|
||||
if(rechnungsadresse=='Ja')
|
||||
document.getElementById('adresse-checkbox-rechnungsadresse').checked=true;
|
||||
else
|
||||
document.getElementById('adresse-checkbox-rechnungsadresse').checked=false;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Speichern der Daten
|
||||
// ****
|
||||
function AdresseSpeichern()
|
||||
{
|
||||
if(window.opener.KontaktAdresseSpeichern(document))
|
||||
window.close();
|
||||
else
|
||||
this.focus();
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Laedt die Gemeinden zur eingegebenen Postleitzahl
|
||||
// ****
|
||||
function AdresseLoadGemeinde(blocking)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
menulist_gemeinde = document.getElementById('adresse-textbox-gemeinde');
|
||||
if(document.getElementById('adresse-menulist-nation').value=='A')
|
||||
{
|
||||
menulist_gemeinde.value='';
|
||||
document.getElementById('adresse-textbox-ort').value='';
|
||||
}
|
||||
plz = document.getElementById('adresse-textbox-plz').value;
|
||||
|
||||
if(plz.length>3)
|
||||
{
|
||||
var url = '<?php echo APP_ROOT; ?>rdf/gemeinde.rdf.php?plz='+plz+'&'+gettimestamp();
|
||||
|
||||
var oldDatasources = menulist_gemeinde.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
menulist_gemeinde.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
//Refresh damit die entfernten DS auch wirklich entfernt werden
|
||||
menulist_gemeinde.builder.rebuild();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
if(blocking)
|
||||
var datasource = rdfService.GetDataSourceBlocking(url);
|
||||
else
|
||||
var datasource = rdfService.GetDataSource(url);
|
||||
datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
menulist_gemeinde.database.AddDataSource(datasource);
|
||||
|
||||
menulist_gemeinde.builder.rebuild();
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Laedt die Ortschaften zu Plz und Gemeinde
|
||||
// ****
|
||||
function AdresseLoadOrtschaft(blocking)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
gemeinde = document.getElementById('adresse-textbox-gemeinde').value;
|
||||
menulist_ort = document.getElementById('adresse-textbox-ort');
|
||||
if(document.getElementById('adresse-menulist-nation').value=='A')
|
||||
{
|
||||
menulist_ort.value='';
|
||||
}
|
||||
plz = document.getElementById('adresse-textbox-plz').value;
|
||||
|
||||
if(plz.length>3 && gemeinde!='')
|
||||
{
|
||||
var url = '<?php echo APP_ROOT; ?>rdf/gemeinde.rdf.php?plz='+plz+'&gemeinde='+encodeURIComponent(gemeinde)+'&'+gettimestamp();
|
||||
|
||||
var oldDatasources = menulist_ort.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
menulist_ort.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
//Refresh damit die entfernten DS auch wirklich entfernt werden
|
||||
menulist_ort.builder.rebuild();
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
if(blocking)
|
||||
var datasource1 = rdfService.GetDataSourceBlocking(url);
|
||||
else
|
||||
var datasource1 = rdfService.GetDataSource(url);
|
||||
datasource1.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
datasource1.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
menulist_ort.database.AddDataSource(datasource1);
|
||||
|
||||
menulist_ort.builder.rebuild();
|
||||
}
|
||||
}
|
||||
+205
-198
@@ -1,199 +1,206 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
header("Cache-Control: no-cache");
|
||||
header("Cache-Control: post-check=0, pre-check=0",false);
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Pragma: no-cache");
|
||||
header("Content-type: application/vnd.mozilla.xul+xml");
|
||||
|
||||
include('../config/vilesci.config.inc.php');
|
||||
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
|
||||
|
||||
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
|
||||
echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css"?>';
|
||||
|
||||
if(isset($_GET['adresse_id']) && is_numeric($_GET['adresse_id']))
|
||||
$adresse_id=$_GET['adresse_id'];
|
||||
else
|
||||
$adresse_id='';
|
||||
|
||||
if(isset($_GET['person_id']) && is_numeric($_GET['person_id']))
|
||||
$person_id=$_GET['person_id'];
|
||||
else
|
||||
$person_id='';
|
||||
?>
|
||||
|
||||
<window id="adresse-dialog" title="Adresse"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
onload="AdresseInit(<?php echo ($adresse_id!=''?$adresse_id:"''").','.($person_id!=''?$person_id:"''"); ?>)"
|
||||
>
|
||||
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/adressedialog.js.php" />
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php" />
|
||||
|
||||
<vbox>
|
||||
|
||||
|
||||
|
||||
<textbox id="adresse-textbox-adresse_id" hidden="true"/>
|
||||
<textbox id="adresse-textbox-person_id" hidden="true"/>
|
||||
<checkbox id="adresse-checkbox-neu" hidden="true"/>
|
||||
|
||||
<groupbox id="adresse-groupbox" flex="1">
|
||||
<caption label="Details"/>
|
||||
<grid id="adresse-grid-detail" style="overflow:auto;margin:4px;" flex="1">
|
||||
<columns >
|
||||
<column flex="1"/>
|
||||
<column flex="5"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<label value="Typ" control="adresse-menulist-typ"/>
|
||||
<menulist id="adresse-menulist-typ"
|
||||
flex="1">
|
||||
<menupopup>
|
||||
<menuitem value="h" label="Hauptwohnsitz"/>
|
||||
<menuitem value="n" label="Nebenwohnsitz"/>
|
||||
<menuitem value="f" label="Firma"/>
|
||||
<menuitem value="r" label="Rechnungsadresse"/>
|
||||
</menupopup>
|
||||
</menulist>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Strasse" control="adresse-textbox-strasse"/>
|
||||
<hbox>
|
||||
<textbox id="adresse-textbox-strasse" maxlength="256" size="30"/>
|
||||
<spacer flex="1" />
|
||||
</hbox>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Nation" control="adresse-menulist-nation"/>
|
||||
<menulist id="adresse-menulist-nation"
|
||||
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php" flex="1"
|
||||
ref="http://www.technikum-wien.at/nation/liste" >
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
|
||||
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Plz" control="adresse-textbox-plz"/>
|
||||
<hbox>
|
||||
<textbox id="adresse-textbox-plz" maxlength="16" size="5" oninput="AdresseLoadGemeinde(false)"/>
|
||||
<spacer flex="1" />
|
||||
</hbox>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Gemeinde" />
|
||||
<!--<hbox>
|
||||
<textbox id="adresse-textbox-gemeinde" maxlength="256" size="30" />
|
||||
<spacer flex="1" />
|
||||
</hbox>-->
|
||||
<menulist id="adresse-textbox-gemeinde"
|
||||
editable="true"
|
||||
datasources="rdf:null" flex="1"
|
||||
ref="http://www.technikum-wien.at/gemeinde/liste"
|
||||
oncommand="AdresseLoadOrtschaft(false)"
|
||||
>
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/gemeinde/rdf#name"
|
||||
label="rdf:http://www.technikum-wien.at/gemeinde/rdf#name"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Ortschaft" control="adresse-textbox-ort"/>
|
||||
<!--<hbox>
|
||||
<textbox id="adresse-textbox-ort" maxlength="256" size="30"/>
|
||||
<spacer flex="1" />
|
||||
</hbox>-->
|
||||
<menulist id="adresse-textbox-ort"
|
||||
editable="true"
|
||||
datasources="rdf:null" flex="1"
|
||||
ref="http://www.technikum-wien.at/gemeinde/liste"
|
||||
>
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/gemeinde/rdf#ortschaftsname"
|
||||
label="rdf:http://www.technikum-wien.at/gemeinde/rdf#ortschaftsname"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Heimatadresse" control="adresse-checkbox-heimatadresse"/>
|
||||
<checkbox id="adresse-checkbox-heimatadresse" checked="true"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Zustelladresse" control="adresse-checkbox-zustelladresse"/>
|
||||
<checkbox id="adresse-checkbox-zustelladresse" checked="true"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Rechnungsadresse" control="adresse-checkbox-rechnungsadresse"/>
|
||||
<checkbox id="adresse-checkbox-rechnungsadresse" checked="true"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Firma" control="adresse-menulist-firma"/>
|
||||
<!--
|
||||
<menulist id="adresse-menulist-firma"
|
||||
datasources="<?php echo APP_ROOT ?>rdf/firma.rdf.php?optional=true" flex="1"
|
||||
ref="http://www.technikum-wien.at/firma/liste" >
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/firma/rdf#firma_id"
|
||||
label="rdf:http://www.technikum-wien.at/firma/rdf#name"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
-->
|
||||
<box class="Firma" id="adresse-menulist-firma" />
|
||||
</row>
|
||||
<row>
|
||||
<label value="Name" control="adresse-textbox-name"/>
|
||||
<hbox>
|
||||
<textbox id="adresse-textbox-name" maxlength="256" size="30"/>
|
||||
<spacer flex="1" />
|
||||
</hbox>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Anmerkung" control="adresse-textbox-anmerkung"/>
|
||||
<textbox id="adresse-textbox-anmerkung" multiline="true"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<hbox>
|
||||
<spacer flex="1" />
|
||||
<button id="adresse-button-speichern" oncommand="AdresseSpeichern()" label="Speichern" />
|
||||
</hbox>
|
||||
</groupbox>
|
||||
</vbox>
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
header("Cache-Control: no-cache");
|
||||
header("Cache-Control: post-check=0, pre-check=0",false);
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Pragma: no-cache");
|
||||
header("Content-type: application/vnd.mozilla.xul+xml");
|
||||
|
||||
include('../config/vilesci.config.inc.php');
|
||||
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
|
||||
|
||||
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
|
||||
echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css"?>';
|
||||
|
||||
if(isset($_GET['adresse_id']) && is_numeric($_GET['adresse_id']))
|
||||
$adresse_id=$_GET['adresse_id'];
|
||||
else
|
||||
$adresse_id='';
|
||||
|
||||
if(isset($_GET['person_id']) && is_numeric($_GET['person_id']))
|
||||
$person_id=$_GET['person_id'];
|
||||
else
|
||||
$person_id='';
|
||||
?>
|
||||
|
||||
<window id="adresse-dialog" title="Adresse"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
onload="AdresseInit(<?php echo ($adresse_id!=''?$adresse_id:"''").','.($person_id!=''?$person_id:"''"); ?>)"
|
||||
>
|
||||
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/adressedialog.js.php" />
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php" />
|
||||
|
||||
<vbox>
|
||||
|
||||
|
||||
|
||||
<textbox id="adresse-textbox-adresse_id" hidden="true"/>
|
||||
<textbox id="adresse-textbox-person_id" hidden="true"/>
|
||||
<checkbox id="adresse-checkbox-neu" hidden="true"/>
|
||||
|
||||
<groupbox id="adresse-groupbox" flex="1">
|
||||
<caption label="Details"/>
|
||||
<grid id="adresse-grid-detail" style="overflow:auto;margin:4px;" flex="1">
|
||||
<columns >
|
||||
<column flex="1"/>
|
||||
<column flex="5"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<label value="Typ" control="adresse-menulist-typ"/>
|
||||
<menulist id="adresse-menulist-typ"
|
||||
flex="1">
|
||||
<menupopup>
|
||||
<menuitem value="h" label="Hauptwohnsitz"/>
|
||||
<menuitem value="n" label="Nebenwohnsitz"/>
|
||||
<menuitem value="f" label="Firma"/>
|
||||
<menuitem value="r" label="Rechnungsadresse"/>
|
||||
</menupopup>
|
||||
</menulist>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Strasse" control="adresse-textbox-strasse"/>
|
||||
<hbox>
|
||||
<textbox id="adresse-textbox-strasse" maxlength="256" size="30"/>
|
||||
<spacer flex="1" />
|
||||
</hbox>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Nation" control="adresse-menulist-nation"/>
|
||||
<menulist id="adresse-menulist-nation"
|
||||
datasources="<?php echo APP_ROOT ?>rdf/nation.rdf.php" flex="1"
|
||||
ref="http://www.technikum-wien.at/nation/liste" >
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/nation/rdf#nation_code"
|
||||
label="rdf:http://www.technikum-wien.at/nation/rdf#kurztext"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Plz" control="adresse-textbox-plz"/>
|
||||
<hbox>
|
||||
<textbox id="adresse-textbox-plz" maxlength="16" size="5" oninput="AdresseLoadGemeinde(false)"/>
|
||||
<spacer flex="1" />
|
||||
</hbox>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Gemeinde" />
|
||||
<!--<hbox>
|
||||
<textbox id="adresse-textbox-gemeinde" maxlength="256" size="30" />
|
||||
<spacer flex="1" />
|
||||
</hbox>-->
|
||||
<menulist id="adresse-textbox-gemeinde"
|
||||
editable="true"
|
||||
datasources="rdf:null" flex="1"
|
||||
ref="http://www.technikum-wien.at/gemeinde/liste"
|
||||
oncommand="AdresseLoadOrtschaft(false)"
|
||||
>
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/gemeinde/rdf#name"
|
||||
label="rdf:http://www.technikum-wien.at/gemeinde/rdf#name"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Ortschaft" control="adresse-textbox-ort"/>
|
||||
<!--<hbox>
|
||||
<textbox id="adresse-textbox-ort" maxlength="256" size="30"/>
|
||||
<spacer flex="1" />
|
||||
</hbox>-->
|
||||
<menulist id="adresse-textbox-ort"
|
||||
editable="true"
|
||||
datasources="rdf:null" flex="1"
|
||||
ref="http://www.technikum-wien.at/gemeinde/liste"
|
||||
>
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/gemeinde/rdf#ortschaftsname"
|
||||
label="rdf:http://www.technikum-wien.at/gemeinde/rdf#ortschaftsname"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Heimatadresse" control="adresse-checkbox-heimatadresse"/>
|
||||
<checkbox id="adresse-checkbox-heimatadresse" checked="true"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Zustelladresse" control="adresse-checkbox-zustelladresse"/>
|
||||
<checkbox id="adresse-checkbox-zustelladresse" checked="true"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Abweichender Empfänger (c/o)" control="adresse-textbox-co_name"/>
|
||||
<hbox>
|
||||
<textbox id="adresse-textbox-co_name" maxlength="256" size="30"/>
|
||||
<spacer flex="1" />
|
||||
</hbox>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Rechnungsadresse" control="adresse-checkbox-rechnungsadresse"/>
|
||||
<checkbox id="adresse-checkbox-rechnungsadresse" checked="true"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Firma" control="adresse-menulist-firma"/>
|
||||
<!--
|
||||
<menulist id="adresse-menulist-firma"
|
||||
datasources="<?php echo APP_ROOT ?>rdf/firma.rdf.php?optional=true" flex="1"
|
||||
ref="http://www.technikum-wien.at/firma/liste" >
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/firma/rdf#firma_id"
|
||||
label="rdf:http://www.technikum-wien.at/firma/rdf#name"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
-->
|
||||
<box class="Firma" id="adresse-menulist-firma" />
|
||||
</row>
|
||||
<row>
|
||||
<label value="Name" control="adresse-textbox-name"/>
|
||||
<hbox>
|
||||
<textbox id="adresse-textbox-name" maxlength="256" size="30"/>
|
||||
<spacer flex="1" />
|
||||
</hbox>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Anmerkung" control="adresse-textbox-anmerkung"/>
|
||||
<textbox id="adresse-textbox-anmerkung" multiline="true"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<hbox>
|
||||
<spacer flex="1" />
|
||||
<button id="adresse-button-speichern" oncommand="AdresseSpeichern()" label="Speichern" />
|
||||
</hbox>
|
||||
</groupbox>
|
||||
</vbox>
|
||||
</window>
|
||||
+823
-822
File diff suppressed because it is too large
Load Diff
+799
-797
File diff suppressed because it is too large
Load Diff
+343
-338
@@ -1,338 +1,343 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
header("Cache-Control: no-cache");
|
||||
header("Cache-Control: post-check=0, pre-check=0",false);
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Pragma: no-cache");
|
||||
header("Content-type: application/vnd.mozilla.xul+xml");
|
||||
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/benutzerberechtigung.class.php');
|
||||
|
||||
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
|
||||
|
||||
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
|
||||
echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css"?>';
|
||||
|
||||
if(isset($_GET['person_id']) && is_numeric($_GET['person_id']))
|
||||
$person_id = $_GET['person_id'];
|
||||
else
|
||||
die('Parameter person_id muss uebergeben werden');
|
||||
|
||||
$uid = get_uid();
|
||||
?>
|
||||
|
||||
<window id="kontakt-window" title="Kontakt"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
onload="loadKontakte(<?php echo $person_id; ?>);"
|
||||
>
|
||||
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/kontakt.js.php" />
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php" />
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/fasoverlay.js.php" />
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/phpRequest.js.php" />
|
||||
|
||||
<vbox>
|
||||
<!-- ADRESSEN -->
|
||||
<groupbox id="kontakt-groupbox-adresse">
|
||||
<caption label="Adressen" />
|
||||
<hbox>
|
||||
<tree id="kontakt-adressen-tree" seltype="single" hidecolumnpicker="false" flex="1"
|
||||
datasources="rdf:null" ref="http://www.technikum-wien.at/adresse/liste"
|
||||
ondblclick="KontaktAdresseBearbeiten()"
|
||||
flags="dont-build-content"
|
||||
enableColumnDrag="true"
|
||||
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100"
|
||||
persist="hidden, height"
|
||||
>
|
||||
<treecols>
|
||||
<treecol id="kontakt-adressen-treecol-typ" label="Typ" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#typ_name" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-strasse" label="Strasse" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#strasse" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-plz" label="Plz" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#plz" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-ort" label="Ort" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#ort" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-gemeinde" label="Gemeinde" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#gemeinde" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-nation" label="Nation" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#nation" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-heimatadresse" label="Heimatadresse" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#heimatadresse" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-zustelladresse" label="Zustelladresse" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#zustelladresse" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-firma_id" label="Firma_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#firma_id" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-adresse_id" label="Adresse_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#adresse_id" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-person_id" label="Person_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#person_id" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-name" label="Name" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#name" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-updateamum" label="letzte Aenderung" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#updateamum" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-firma_name" label="Firma" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#firma_name" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-rechnungsadresse" label="Rechnungsadresse" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#rechnungsadresse" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-anmerkung" label="Anmerkung" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#anmerkung" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
<rule>
|
||||
<treechildren>
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#typ_name" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#strasse" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#plz" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#ort" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#gemeinde" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#nation" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#heimatadresse" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#zustelladresse" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#firma_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#adresse_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#person_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#name" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#updateamum" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#firma_name" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#rechnungsadresse" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#anmerkung" />
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</rule>
|
||||
</template>
|
||||
</tree>
|
||||
<vbox>
|
||||
<button id='kontakt-adressen-neu' label='Neu' oncommand='KontaktAdresseNeu()' />
|
||||
<button id='kontakt-adressen-bearbeiten' label='Bearbeiten' oncommand='KontaktAdresseBearbeiten()' />
|
||||
<button id='kontakt-adressen-loeschen' label='Loeschen' oncommand='KontaktAdresseDelete()' />
|
||||
</vbox>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
|
||||
<groupbox id="kontakt-groupbox-adresse">
|
||||
<caption label="Kontakt" />
|
||||
<hbox>
|
||||
<tree id="kontakt-kontakt-tree" seltype="single" hidecolumnpicker="false" flex="1"
|
||||
datasources="rdf:null" ref="http://www.technikum-wien.at/kontakt/liste"
|
||||
ondblclick="KontaktKontaktBearbeiten();"
|
||||
flags="dont-build-content"
|
||||
enableColumnDrag="true"
|
||||
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100"
|
||||
persist="hidden, height"
|
||||
>
|
||||
<treecols>
|
||||
<treecol id="kontakt-kontakt-treecol-kontakttyp" label="Typ" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakttyp" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-kontakt-treecol-kontakt" label="Kontakt" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakt" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-kontakt-treecol-zustellung" label="Zustellung" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#zustellung" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-kontakt-treecol-anmerkung" label="Anmerkung" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#anmerkung" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-kontakt-treecol-firma_name" label="Firma" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#firma_name" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-kontakt-treecol-firma_id" label="Firma_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#firma_id" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-kontakt-treecol-person_id" label="Person_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#person_id" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-kontakt-treecol-kontakt_id" label="Kontakt_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakt_id" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-kontakt-treecol-updateamum" label="letzte Aenderung" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#updateamum" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
<rule>
|
||||
<treechildren>
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakttyp" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakt" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#zustellung" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#anmerkung" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#firma_name" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#firma_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#person_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakt_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#updateamum" />
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</rule>
|
||||
</template>
|
||||
</tree>
|
||||
<vbox>
|
||||
<button id="kontakt-kontakt-neu" label="Neu" oncommand="KontaktKontaktNeu()" />
|
||||
<button id="kontakt-kontakt-bearbeiten" label="Bearbeiten" oncommand="KontaktKontaktBearbeiten()" />
|
||||
<button id="kontakt-kontakt-loeschen" label="Loeschen" oncommand="KontaktKontaktDelete()" />
|
||||
</vbox>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
<?php
|
||||
$recht = new benutzerberechtigung();
|
||||
$recht->getBerechtigungen($uid);
|
||||
if($recht->isberechtigt('mitarbeiter/bankdaten') || $recht->isberechtigt('student/bankdaten'))
|
||||
echo '
|
||||
<groupbox id="kontakt-groupbox-bankverbindung">
|
||||
<caption label="Bankverbindungen" />
|
||||
<hbox>
|
||||
<tree id="kontakt-bankverbindung-tree" seltype="single" hidecolumnpicker="false" flex="1"
|
||||
datasources="rdf:null" ref="http://www.technikum-wien.at/bankverbindung/liste"
|
||||
ondblclick="KontaktBankverbindungBearbeiten()"
|
||||
flags="dont-build-content"
|
||||
enableColumnDrag="true"
|
||||
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100"
|
||||
persist="hidden, height"
|
||||
>
|
||||
<treecols>
|
||||
<treecol id="kontakt-bankverbindung-treecol-name" label="Name" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#name" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-anschrift" label="Anschrift" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#anschrift" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-bic" label="BIC" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#bic" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-blz" label="BLZ" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#blz" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-iban" label="IBAN" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#iban" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-kontonr" label="Kontonummer" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#kontonr" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-typ_bezeichnung" label="Typ" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#typ_bezeichnung" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-verrechnung" label="Verrechnung" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#verrechnung" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-person_id" label="Person_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#person_id" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-bankverbindung_id" label="Bankverbindung_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#bankverbindung_id" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
<rule>
|
||||
<treechildren>
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#name" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#anschrift" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#bic" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#blz" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#iban" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#kontonr" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#typ_bezeichnung" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#verrechnung" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#person_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#bankverbindung_id" />
|
||||
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</rule>
|
||||
</template>
|
||||
</tree>
|
||||
<vbox>
|
||||
<button id="kontakt-bankverbindung-neu" label="Neu" oncommand="KontaktBankverbindungNeu()" />
|
||||
<button id="kontakt-bankverbindung-bearbeiten" label="Bearbeiten" oncommand="KontaktBankverbindungBearbeiten()" />
|
||||
<button id="kontakt-bankverbindung-loeschen" label="Loeschen" oncommand="KontaktBankverbindungDelete()" />
|
||||
</vbox>
|
||||
</hbox>
|
||||
</groupbox>';
|
||||
?>
|
||||
</vbox>
|
||||
</window>
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
header("Cache-Control: no-cache");
|
||||
header("Cache-Control: post-check=0, pre-check=0",false);
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Pragma: no-cache");
|
||||
header("Content-type: application/vnd.mozilla.xul+xml");
|
||||
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/benutzerberechtigung.class.php');
|
||||
|
||||
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
|
||||
|
||||
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
|
||||
echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css"?>';
|
||||
|
||||
if(isset($_GET['person_id']) && is_numeric($_GET['person_id']))
|
||||
$person_id = $_GET['person_id'];
|
||||
else
|
||||
die('Parameter person_id muss uebergeben werden');
|
||||
|
||||
$uid = get_uid();
|
||||
?>
|
||||
|
||||
<window id="kontakt-window" title="Kontakt"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
onload="loadKontakte(<?php echo $person_id; ?>);"
|
||||
>
|
||||
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/kontakt.js.php" />
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php" />
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/fasoverlay.js.php" />
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/phpRequest.js.php" />
|
||||
|
||||
<vbox>
|
||||
<!-- ADRESSEN -->
|
||||
<groupbox id="kontakt-groupbox-adresse">
|
||||
<caption label="Adressen" />
|
||||
<hbox>
|
||||
<tree id="kontakt-adressen-tree" seltype="single" hidecolumnpicker="false" flex="1"
|
||||
datasources="rdf:null" ref="http://www.technikum-wien.at/adresse/liste"
|
||||
ondblclick="KontaktAdresseBearbeiten()"
|
||||
flags="dont-build-content"
|
||||
enableColumnDrag="true"
|
||||
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100"
|
||||
persist="hidden, height"
|
||||
>
|
||||
<treecols>
|
||||
<treecol id="kontakt-adressen-treecol-typ" label="Typ" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#typ_name" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-strasse" label="Strasse" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#strasse" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-plz" label="Plz" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#plz" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-ort" label="Ort" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#ort" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-gemeinde" label="Gemeinde" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#gemeinde" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-nation" label="Nation" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#nation" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-heimatadresse" label="Heimatadresse" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#heimatadresse" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-zustelladresse" label="Zustelladresse" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#zustelladresse" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-co_name" label="Abweich.Empf.(c/o)" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#co_name" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-firma_id" label="Firma_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#firma_id" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-adresse_id" label="Adresse_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#adresse_id" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-person_id" label="Person_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#person_id" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-name" label="Name" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#name" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-updateamum" label="letzte Aenderung" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#updateamum" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-firma_name" label="Firma" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#firma_name" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-rechnungsadresse" label="Rechnungsadresse" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#rechnungsadresse" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-adressen-treecol-anmerkung" label="Anmerkung" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/adresse/rdf#anmerkung" onclick="KontaktAdresseTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
<rule>
|
||||
<treechildren>
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#typ_name" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#strasse" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#plz" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#ort" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#gemeinde" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#nation" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#heimatadresse" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#zustelladresse" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#co_name" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#firma_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#adresse_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#person_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#name" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#updateamum" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#firma_name" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#rechnungsadresse" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#anmerkung" />
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</rule>
|
||||
</template>
|
||||
</tree>
|
||||
<vbox>
|
||||
<button id='kontakt-adressen-neu' label='Neu' oncommand='KontaktAdresseNeu()' />
|
||||
<button id='kontakt-adressen-bearbeiten' label='Bearbeiten' oncommand='KontaktAdresseBearbeiten()' />
|
||||
<button id='kontakt-adressen-loeschen' label='Loeschen' oncommand='KontaktAdresseDelete()' />
|
||||
</vbox>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
|
||||
<groupbox id="kontakt-groupbox-adresse">
|
||||
<caption label="Kontakt" />
|
||||
<hbox>
|
||||
<tree id="kontakt-kontakt-tree" seltype="single" hidecolumnpicker="false" flex="1"
|
||||
datasources="rdf:null" ref="http://www.technikum-wien.at/kontakt/liste"
|
||||
ondblclick="KontaktKontaktBearbeiten();"
|
||||
flags="dont-build-content"
|
||||
enableColumnDrag="true"
|
||||
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100"
|
||||
persist="hidden, height"
|
||||
>
|
||||
<treecols>
|
||||
<treecol id="kontakt-kontakt-treecol-kontakttyp" label="Typ" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakttyp" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-kontakt-treecol-kontakt" label="Kontakt" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakt" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-kontakt-treecol-zustellung" label="Zustellung" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#zustellung" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-kontakt-treecol-anmerkung" label="Anmerkung" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#anmerkung" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-kontakt-treecol-firma_name" label="Firma" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#firma_name" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-kontakt-treecol-firma_id" label="Firma_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#firma_id" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-kontakt-treecol-person_id" label="Person_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#person_id" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-kontakt-treecol-kontakt_id" label="Kontakt_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakt_id" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-kontakt-treecol-updateamum" label="letzte Aenderung" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#updateamum" onclick="KontaktKontaktTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
<rule>
|
||||
<treechildren>
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakttyp" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakt" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#zustellung" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#anmerkung" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#firma_name" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#firma_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#person_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakt_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#updateamum" />
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</rule>
|
||||
</template>
|
||||
</tree>
|
||||
<vbox>
|
||||
<button id="kontakt-kontakt-neu" label="Neu" oncommand="KontaktKontaktNeu()" />
|
||||
<button id="kontakt-kontakt-bearbeiten" label="Bearbeiten" oncommand="KontaktKontaktBearbeiten()" />
|
||||
<button id="kontakt-kontakt-loeschen" label="Loeschen" oncommand="KontaktKontaktDelete()" />
|
||||
</vbox>
|
||||
</hbox>
|
||||
</groupbox>
|
||||
<?php
|
||||
$recht = new benutzerberechtigung();
|
||||
$recht->getBerechtigungen($uid);
|
||||
if($recht->isberechtigt('mitarbeiter/bankdaten') || $recht->isberechtigt('student/bankdaten'))
|
||||
echo '
|
||||
<groupbox id="kontakt-groupbox-bankverbindung">
|
||||
<caption label="Bankverbindungen" />
|
||||
<hbox>
|
||||
<tree id="kontakt-bankverbindung-tree" seltype="single" hidecolumnpicker="false" flex="1"
|
||||
datasources="rdf:null" ref="http://www.technikum-wien.at/bankverbindung/liste"
|
||||
ondblclick="KontaktBankverbindungBearbeiten()"
|
||||
flags="dont-build-content"
|
||||
enableColumnDrag="true"
|
||||
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100"
|
||||
persist="hidden, height"
|
||||
>
|
||||
<treecols>
|
||||
<treecol id="kontakt-bankverbindung-treecol-name" label="Name" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#name" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-anschrift" label="Anschrift" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#anschrift" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-bic" label="BIC" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#bic" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-blz" label="BLZ" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#blz" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-iban" label="IBAN" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#iban" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-kontonr" label="Kontonummer" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#kontonr" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-typ_bezeichnung" label="Typ" flex="1" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#typ_bezeichnung" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-verrechnung" label="Verrechnung" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#verrechnung" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-person_id" label="Person_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#person_id" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="kontakt-bankverbindung-treecol-bankverbindung_id" label="Bankverbindung_id" flex="1" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#bankverbindung_id" onclick="KontaktBankverbindungTreeSort()"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
<rule>
|
||||
<treechildren>
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#name" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#anschrift" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#bic" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#blz" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#iban" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#kontonr" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#typ_bezeichnung" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#verrechnung" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#person_id" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#bankverbindung_id" />
|
||||
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
</rule>
|
||||
</template>
|
||||
</tree>
|
||||
<vbox>
|
||||
<button id="kontakt-bankverbindung-neu" label="Neu" oncommand="KontaktBankverbindungNeu()" />
|
||||
<button id="kontakt-bankverbindung-bearbeiten" label="Bearbeiten" oncommand="KontaktBankverbindungBearbeiten()" />
|
||||
<button id="kontakt-bankverbindung-loeschen" label="Loeschen" oncommand="KontaktBankverbindungDelete()" />
|
||||
</vbox>
|
||||
</hbox>
|
||||
</groupbox>';
|
||||
?>
|
||||
</vbox>
|
||||
</window>
|
||||
|
||||
@@ -122,6 +122,10 @@ echo ']>
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/messages/rdf#status"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="messages-tree-status" label="Letzte Statusänderung" flex="2" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/messages/rdf#statusdatum"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
<template>
|
||||
@@ -137,6 +141,7 @@ echo ']>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/messages/rdf#sender_id"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/messages/rdf#recipient_id"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/messages/rdf#status"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/messages/rdf#statusdatum"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
|
||||
@@ -280,6 +280,51 @@ function NotePruefungAnlegen($studiensemester_kurzbz, $student_uid, $lehrveranst
|
||||
}
|
||||
}
|
||||
|
||||
function deleteFromSAP($buchung)
|
||||
{
|
||||
global $db, $user;
|
||||
|
||||
if(defined('BUCHUNGEN_CHECK_SAP') && BUCHUNGEN_CHECK_SAP == true)
|
||||
{
|
||||
$qry = "SELECT * FROM sync.tbl_sap_salesorder WHERE buchungsnr=".$db->db_add_param($buchung->buchungsnr);
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$qry = "DELETE FROM sync.tbl_sap_salesorder WHERE buchungsnr=".$db->db_add_param($buchung->buchungsnr);
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
$log = new log();
|
||||
$log->mitarbeiter_uid = $user;
|
||||
$log->beschreibung = 'Buchungszuordnung SAP geloescht: SalesOrder:'.$row->sap_sales_order_id;
|
||||
$log->sql = $qry;
|
||||
if(!$log->save(true))
|
||||
{
|
||||
echo "Fehler beim Schreiben des Log".$log->errormsg;
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "Fehler beim Löschen der Zahlungszuordnung";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//Gegenbuchung
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "Zahlung nicht gefunden";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob die Kontobuchung bereits ins SAP Ubertragen wurde oder noch geändert werden darf
|
||||
*/
|
||||
@@ -1981,7 +2026,8 @@ if(!$error)
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isBuchungAllowedToChange($buchung))
|
||||
if(isBuchungAllowedToChange($buchung)
|
||||
|| $rechte->isBerechtigt('student/zahlungAdmin',$buchung->studiengang_kz,'suid'))
|
||||
{
|
||||
$buchung->betrag = $_POST['betrag'];
|
||||
$buchung->buchungsdatum = $_POST['buchungsdatum'];
|
||||
@@ -2062,7 +2108,8 @@ if(!$error)
|
||||
{
|
||||
if($buchung->buchungsnr_verweis=='')
|
||||
{
|
||||
if(isBuchungAllowedToChange($buchung))
|
||||
if(isBuchungAllowedToChange($buchung)
|
||||
|| $rechte->isBerechtigt('student/zahlungAdmin',$buchung->studiengang_kz,'suid'))
|
||||
{
|
||||
$kto = new konto();
|
||||
//$buchung->betrag*(-1);
|
||||
@@ -2139,8 +2186,17 @@ if(!$error)
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isBuchungAllowedToChange($buchung))
|
||||
$isAllowedToChange = isBuchungAllowedToChange($buchung);
|
||||
if($isAllowedToChange
|
||||
|| $rechte->isBerechtigt('student/zahlungAdmin',$buchung->studiengang_kz,'suid')
|
||||
)
|
||||
{
|
||||
if(!$isAllowedToChange)
|
||||
{
|
||||
// Buchung aus SAP Zwischentabelle loeschen
|
||||
deleteFromSAP($buchung);
|
||||
}
|
||||
|
||||
if($buchung->delete($_POST['buchungsnr']))
|
||||
{
|
||||
$return = true;
|
||||
@@ -2555,7 +2611,7 @@ if(!$error)
|
||||
$_POST['nummer']=$bm->transform_kartennummer($_POST['nummer']);
|
||||
|
||||
//Das speichern von Zutrittskarten ohne Nummern verhindern
|
||||
if($_POST['betriebsmitteltyp']=='Zutrittskarte' && $_POST['nummer']=='')
|
||||
if($_POST['betriebsmitteltyp']=='Zutrittskarte' && ($_POST['nummer']=='' && $_POST['nummer2']==''))
|
||||
{
|
||||
$error = true;
|
||||
$return = false;
|
||||
@@ -2563,14 +2619,23 @@ if(!$error)
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($_POST['betriebsmitteltyp']=='Zutrittskarte' && $_POST['nummer'] == '')
|
||||
{
|
||||
$resultBM = $bm->getBetriebsmittel($_POST['betriebsmitteltyp'],null, $_POST['nummer2']);
|
||||
}
|
||||
else
|
||||
{
|
||||
$resultBM = $bm->getBetriebsmittel($_POST['betriebsmitteltyp'],$_POST['nummer']);
|
||||
}
|
||||
|
||||
//Nachschauen ob dieses Betriebsmittel schon existiert
|
||||
if($bm->getBetriebsmittel($_POST['betriebsmitteltyp'],$_POST['nummer']))
|
||||
if($resultBM)
|
||||
{
|
||||
if(count($bm->result)>0)
|
||||
{
|
||||
//Wenn die Nummer gleich bleibt dann die alte ID verwenden da es
|
||||
//unterschiedliche Schluessel gibt die die gleiche nummer haben ?!?
|
||||
if($_POST['nummer']==$_POST['nummerold'])
|
||||
if($_POST['nummer'] != '' && $_POST['nummer'] == $_POST['nummerold'])
|
||||
{
|
||||
$betriebsmittel_id = $_POST['betriebsmittel_id'];
|
||||
}
|
||||
|
||||
@@ -96,7 +96,14 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
|
||||
<label value="Buchungstext" control="student-konto-neu-textbox-buchungstext"/>
|
||||
<textbox id="student-konto-neu-textbox-buchungstext" maxlength="256"/>
|
||||
</row>
|
||||
<row>
|
||||
<?php
|
||||
// Mahnspanne wird nur angezeigt, wenn diese im Config aktiviert wurden
|
||||
if(!defined('FAS_KONTO_SHOW_MAHNSPANNE') || FAS_KONTO_SHOW_MAHNSPANNE===true)
|
||||
$hidden='';
|
||||
else
|
||||
$hidden='hidden="true"';
|
||||
?>
|
||||
<row <?php echo $hidden;?>>
|
||||
<label value="Mahnspanne" control="student-konto-neu-textbox-mahnspanne"/>
|
||||
<hbox>
|
||||
<textbox id="student-konto-neu-textbox-mahnspanne" value="30" maxlength="4" size="4"/>
|
||||
@@ -144,4 +151,4 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
|
||||
</hbox>
|
||||
</groupbox>
|
||||
</vbox>
|
||||
</window>
|
||||
</window>
|
||||
|
||||
@@ -237,7 +237,14 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<label value="Buchungstext" control="student-konto-textbox-buchungstext"/>
|
||||
<textbox id="student-konto-textbox-buchungstext" disabled="true" maxlength="256"/>
|
||||
</row>
|
||||
<row>
|
||||
<?php
|
||||
// Mahnspanne wird nur angezeigt, wenn diese im Config aktiviert wurden
|
||||
if(!defined('FAS_KONTO_SHOW_MAHNSPANNE') || FAS_KONTO_SHOW_MAHNSPANNE===true)
|
||||
$hidden='';
|
||||
else
|
||||
$hidden='hidden="true"';
|
||||
?>
|
||||
<row <?php echo $hidden; ?>>
|
||||
<label value="Mahnspanne" control="student-konto-textbox-mahnspanne"/>
|
||||
<hbox>
|
||||
<textbox id="student-konto-textbox-mahnspanne" disabled="true" maxlength="4" size="4"/>
|
||||
@@ -346,4 +353,4 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
</grid>
|
||||
</hbox>
|
||||
</vbox>
|
||||
</overlay>
|
||||
</overlay>
|
||||
|
||||
@@ -3205,6 +3205,11 @@ function StudentZeugnisDokumentArchivieren()
|
||||
alert('Dieses Dokument kann nur für Studierende erstellt werden. Mindestens eine ausgewählte Person hat keine UID');
|
||||
continue;
|
||||
}
|
||||
if(vorlage == 'Ausbildungsver' || vorlage == 'AusbVerEng')
|
||||
{
|
||||
// Ausbildungsvertrag nimmt nur PrestudentID
|
||||
uid = '';
|
||||
}
|
||||
|
||||
var req = new phpRequest(url,'','');
|
||||
req.add('xsl', vorlage);
|
||||
|
||||
@@ -267,7 +267,7 @@ foreach ($uid_arr as $uid)
|
||||
'titelpost' => $bn->titelpost,
|
||||
'studiengang' => $studiengang->kurzbzlang,
|
||||
'gebdatum' => $datum_obj->formatDatum($bn->gebdatum, 'd.m.Y'),
|
||||
'matrikelnummer' => $student->matrikelnr,
|
||||
'matrikelnummer' => rtrim($student->matrikelnr),
|
||||
'matr_nr' => $person->matr_nr,
|
||||
'ausstellungsdatum' => date('M.Y'),
|
||||
'gueltigbis' => $datum_obj->formatDatum($gueltigbis, 'd.m.Y')
|
||||
|
||||
@@ -43,6 +43,7 @@ class adresse extends basis_db
|
||||
public $typ; // string
|
||||
public $heimatadresse; // boolean
|
||||
public $zustelladresse; // boolean
|
||||
public $coname; // string
|
||||
public $firma_id; // integer
|
||||
public $updateamum; // timestamp
|
||||
public $updatevon; // string
|
||||
@@ -51,6 +52,7 @@ class adresse extends basis_db
|
||||
public $ext_id; // integer
|
||||
public $rechnungsadresse=false; // boolean
|
||||
public $anmerkung; // string
|
||||
public $co_name;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
@@ -99,6 +101,7 @@ class adresse extends basis_db
|
||||
$this->person_id = $row->person_id;
|
||||
$this->plz = $row->plz;
|
||||
$this->strasse = $row->strasse;
|
||||
$this->co_name = $row->co_name;
|
||||
$this->typ = $row->typ;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
@@ -161,6 +164,7 @@ class adresse extends basis_db
|
||||
$adr_obj->insertamum = $row->insertamum;
|
||||
$adr_obj->insertvon = $row->insertvon;
|
||||
$adr_obj->zustelladresse = $this->db_parse_bool($row->zustelladresse);
|
||||
$adr_obj->co_name = $row->co_name;
|
||||
$adr_obj->rechnungsadresse = $this->db_parse_bool($row->rechnungsadresse);
|
||||
$adr_obj->anmerkung = $row->anmerkung;
|
||||
|
||||
@@ -217,6 +221,7 @@ class adresse extends basis_db
|
||||
$adr_obj->insertamum = $row->insertamum;
|
||||
$adr_obj->insertvon = $row->insertvon;
|
||||
$adr_obj->zustelladresse = $this->db_parse_bool($row->zustelladresse);
|
||||
$adr_obj->co_name = $row->co_name;
|
||||
$adr_obj->rechnungsadresse = $this->db_parse_bool($row->rechnungsadresse);
|
||||
$adr_obj->anmerkung = $row->anmerkung;
|
||||
|
||||
@@ -269,6 +274,12 @@ class adresse extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
if(mb_strlen($this->co_name)>64)
|
||||
{
|
||||
$this->errormsg = 'Gemeinde darf nicht länger als 64 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
@@ -289,7 +300,7 @@ class adresse extends basis_db
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='BEGIN;INSERT INTO public.tbl_adresse (person_id, name, strasse, plz, typ, ort, nation, insertamum, insertvon,
|
||||
gemeinde, heimatadresse, zustelladresse, firma_id, updateamum, updatevon, rechnungsadresse, anmerkung) VALUES('.
|
||||
gemeinde, heimatadresse, zustelladresse, firma_id, updateamum, updatevon, rechnungsadresse, anmerkung, co_name) VALUES('.
|
||||
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->name).', '.
|
||||
$this->db_add_param($this->strasse).', '.
|
||||
@@ -304,7 +315,8 @@ class adresse extends basis_db
|
||||
$this->db_add_param($this->firma_id, FHC_INTEGER).', now(), '.
|
||||
$this->db_add_param($this->updatevon).','.
|
||||
$this->db_add_param($this->rechnungsadresse, FHC_BOOLEAN, false).','.
|
||||
$this->db_add_param($this->anmerkung).');';
|
||||
$this->db_add_param($this->anmerkung).','.
|
||||
$this->db_add_param($this->co_name).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -314,6 +326,7 @@ class adresse extends basis_db
|
||||
$this->errormsg = 'adresse_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry='UPDATE public.tbl_adresse SET'.
|
||||
' person_id='.$this->db_add_param($this->person_id, FHC_INTEGER).', '.
|
||||
' name='.$this->db_add_param($this->name).', '.
|
||||
@@ -329,7 +342,8 @@ class adresse extends basis_db
|
||||
' heimatadresse='.$this->db_add_param($this->heimatadresse, FHC_BOOLEAN, false).', '.
|
||||
' zustelladresse='.$this->db_add_param($this->zustelladresse, FHC_BOOLEAN, false).', '.
|
||||
' rechnungsadresse='.$this->db_add_param($this->rechnungsadresse, FHC_BOOLEAN, false).','.
|
||||
' anmerkung='.$this->db_add_param($this->anmerkung).' '.
|
||||
' anmerkung='.$this->db_add_param($this->anmerkung).', '.
|
||||
' co_name='.$this->db_add_param($this->co_name).' '.
|
||||
'WHERE adresse_id='.$this->db_add_param($this->adresse_id, FHC_INTEGER, false).';';
|
||||
}
|
||||
|
||||
@@ -442,6 +456,7 @@ class adresse extends basis_db
|
||||
$this->firma_id = $row->firma_id;
|
||||
$this->rechnungsadresse = $this->db_parse_bool($row->rechnungsadresse);
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->co_name = $row->co_name;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -498,6 +513,7 @@ class adresse extends basis_db
|
||||
$adr_obj->zustelladresse = $this->db_parse_bool($row->zustelladresse);
|
||||
$adr_obj->rechnungsadresse = $this->db_parse_bool($row->rechnungsadresse);
|
||||
$adr_obj->anmerkung = $row->anmerkung;
|
||||
$adr_obj->co_name = $row->co_name;
|
||||
|
||||
$this->result[] = $adr_obj;
|
||||
}
|
||||
|
||||
@@ -407,7 +407,7 @@ class betriebsmittel extends basis_db
|
||||
* @param $nummer
|
||||
* @return boolean
|
||||
*/
|
||||
public function getBetriebsmittel($betriebsmitteltyp, $nummer)
|
||||
public function getBetriebsmittel($betriebsmitteltyp, $nummer, $nummer2 = null)
|
||||
{
|
||||
// Initialisieren
|
||||
$this->result=array();
|
||||
@@ -415,7 +415,16 @@ class betriebsmittel extends basis_db
|
||||
|
||||
$qry= 'SELECT * ';
|
||||
$qry.= ' FROM wawi.tbl_betriebsmittel ';
|
||||
$qry.= " WHERE betriebsmitteltyp=".$this->db_add_param($betriebsmitteltyp)." AND nummer=".$this->db_add_param($nummer);
|
||||
$qry.= " WHERE betriebsmitteltyp=".$this->db_add_param($betriebsmitteltyp);
|
||||
if (is_null($nummer2))
|
||||
{
|
||||
$qry.= " AND nummer=".$this->db_add_param($nummer);
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry.= " AND nummer2=".$this->db_add_param($nummer2);
|
||||
}
|
||||
|
||||
$qry.= ' ORDER BY updateamum DESC';
|
||||
|
||||
if($this->db_query($qry))
|
||||
@@ -1222,7 +1231,7 @@ class betriebsmittel extends basis_db
|
||||
{
|
||||
$this->result='';
|
||||
$this->errormsg = '';
|
||||
|
||||
|
||||
$qry ="SELECT * FROM wawi.tbl_betriebsmittelperson WHERE uid =".$this->db_add_param($uid, FHC_STRING)."
|
||||
AND betriebsmittel_id IN(
|
||||
SELECT betriebsmittel_id
|
||||
@@ -1252,7 +1261,7 @@ class betriebsmittel extends basis_db
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -368,6 +368,47 @@ class betriebsmittel_betriebsmittelstatus extends basis_db
|
||||
$this->errormsg = 'Fehler beim Entfernen des Betriebsmittel Betriebsmittelstatus-Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt den letzten Stauts eines Betriebsmittels
|
||||
* @param $betriebsmittel_id
|
||||
* @return betriebsmittelstatus_kurzbz wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load_last_status_by_betriebsmittel_id($betriebsmittel_id)
|
||||
{
|
||||
$this->result=array();
|
||||
$this->errormsg='';
|
||||
if ($betriebsmittel_id)
|
||||
$this->betriebsmittel_id=$betriebsmittel_id;
|
||||
|
||||
if(!is_numeric($this->betriebsmittel_id))
|
||||
{
|
||||
$this->errormsg = 'Betriebsmittel_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry=' SELECT * FROM wawi.tbl_betriebsmittel_betriebsmittelstatus
|
||||
WHERE betriebsmittel_id='.$this->db_add_param(trim($this->betriebsmittel_id), FHC_INTEGER).'
|
||||
ORDER BY betriebsmittelbetriebsmittelstatus_id DESC LIMIT 1';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
return $row->betriebsmittelstatus_kurzbz;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg='Es wurde kein Eintrag gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -595,7 +595,7 @@ class betriebsmittelperson extends basis_db
|
||||
FROM
|
||||
wawi.tbl_betriebsmittel
|
||||
JOIN wawi.tbl_betriebsmittelperson USING(betriebsmittel_id)
|
||||
WHERE tbl_betriebsmittel.nummer='.$this->db_add_param($nummer).'
|
||||
WHERE tbl_betriebsmittel.nummer2='.$this->db_add_param($nummer).'
|
||||
AND tbl_betriebsmittel.betriebsmitteltyp=\'Zutrittskarte\'
|
||||
AND tbl_betriebsmittelperson.person_id='.$this->db_add_param($person_id);
|
||||
|
||||
|
||||
+168
-1
@@ -188,6 +188,7 @@ class dvb extends basis_db
|
||||
AND tbl_benutzer.aktiv
|
||||
AND tbl_prestudentstatus.status_kurzbz in('Student','Incoming')
|
||||
AND tbl_prestudent.bismelden
|
||||
AND tbl_prestudent.studiengang_kz<10000
|
||||
ORDER BY tbl_prestudentstatus.datum desc LIMIT 1
|
||||
";
|
||||
|
||||
@@ -1012,6 +1013,134 @@ class dvb extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
public function setMatrikelnummerErnp($bildungseinrichtung, $person, $reisepass)
|
||||
{
|
||||
$this->debug('ernpMeldung');
|
||||
$uuid = $this->getUUID();
|
||||
|
||||
if ($this->tokenIsExpired())
|
||||
{
|
||||
$result = $this->authenticate();
|
||||
if (ErrorHandler::isError($result))
|
||||
return ErrorHandler::error();
|
||||
}
|
||||
|
||||
$data = '<?xml version="1.0" encoding="UTF-8"?>';
|
||||
$data .= '<matrikelnummernmeldung xmlns="http://www.brz.gv.at/datenverbund-unis">
|
||||
<uuid>'.$uuid.'</uuid>';
|
||||
|
||||
$data .= $this->getPersonmeldungXml($bildungseinrichtung, $person);
|
||||
|
||||
$data .= '
|
||||
<ernpmeldung xmlns="http://www.brz.gv.at/datenverbund-unis">
|
||||
<ausgabedatum>'.$reisepass->ausgabedatum.'</ausgabedatum>
|
||||
<ausstellBehoerde>'.$reisepass->ausstellBehoerde.'</ausstellBehoerde>
|
||||
<ausstellland>'.$reisepass->ausstellland.'</ausstellland>
|
||||
<dokumentnr>'.$reisepass->dokumentnr.'</dokumentnr>
|
||||
<dokumenttyp>'.$reisepass->dokumenttyp.'</dokumenttyp>
|
||||
</ernpmeldung>
|
||||
';
|
||||
$data .= '</matrikelnummernmeldung>';
|
||||
|
||||
$curl = curl_init();
|
||||
$url = self::DVB_URL_WEBSERVICE_MELDUNG;
|
||||
|
||||
curl_setopt($curl, CURLOPT_URL, $url);
|
||||
curl_setopt($curl, CURLOPT_POST, true);
|
||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
|
||||
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
|
||||
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
|
||||
|
||||
$headers = array(
|
||||
'Accept: application/xml',
|
||||
'Content-Type: application/xml',
|
||||
'Authorization: Bearer '.$this->authentication->access_token,
|
||||
'User-Agent: FHComplete',
|
||||
'Connection: Keep-Alive',
|
||||
'Expect:'
|
||||
);
|
||||
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
|
||||
|
||||
$this->debug('Request URL:'.$url);
|
||||
$this->debug('Request Data:'.$data);
|
||||
$response = curl_exec($curl);
|
||||
$curl_info = curl_getinfo($curl);
|
||||
curl_close($curl);
|
||||
|
||||
$this->debug('Response: '.$curl_info['http_code']);
|
||||
|
||||
$this->debug('Response: '.print_r($response, true));
|
||||
|
||||
if ($curl_info['http_code'] == '200')
|
||||
{
|
||||
$dom = new DOMDocument();
|
||||
$dom->loadXML($response);
|
||||
$domnodes_fehlerliste = $dom->getElementsByTagName('fehlerliste');
|
||||
|
||||
$fehleranzahl = $domnodes_fehlerliste->item(0)->getAttribute('fehleranzahl');
|
||||
if ($fehleranzahl === '0')
|
||||
{
|
||||
// Keine Fehler -> Meldung erfolgreich
|
||||
$retval = new stdClass();
|
||||
$retval->matrikelnummer = $person->matrikelnummer;
|
||||
return ErrorHandler::success($retval);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Es gab '.$fehleranzahl.' Fehler:';
|
||||
$domnodes_fehler = $dom->getElementsByTagName('fehler');
|
||||
foreach ($domnodes_fehler as $row)
|
||||
{
|
||||
$fehlernummer = $row->getElementsByTagName('fehlernummer');
|
||||
|
||||
/**
|
||||
* Bei Fehlernummer ED10065 wurde die Matrikelnummer korrekt gesetzt.
|
||||
* Das BPK wurde vom Datenverbund versucht zu ermitteln und wird in der Fehlermeldung
|
||||
* zurückgeliefert. Dieses sollte dann gespeichert werden.
|
||||
* Es muss eine erneute Vergabemeldung mit korrigierten Daten vorgenommen werden um die Daten im
|
||||
* DVB zu aktualisieren
|
||||
* Dies gilt nur, wenn ED10065 alleine geliefert wird und keine sonstigen Fehler auftreten
|
||||
*/
|
||||
if ($fehlernummer->length == 1 && $fehlernummer->item(0)->textContent == 'ED10065')
|
||||
{
|
||||
$this->debug('ED10065 Response');
|
||||
$domnodes_feldinhalt = $row->getElementsByTagName('feldinhalt');
|
||||
if ($domnodes_feldinhalt->length > 0 && $domnodes_feldinhalt->item(0)->textContent!='')
|
||||
{
|
||||
$bpk = $domnodes_feldinhalt->item(0)->textContent;
|
||||
$retval = new stdClass();
|
||||
$retval->matrikelnummer = $person->matrikelnummer;
|
||||
if ($bpk != 'keine bPK gefunden')
|
||||
$retval->bpk = $bpk;
|
||||
|
||||
$this->errormsg .= 'ED10065 Response';
|
||||
$this->errormsg .= 'Eine Personendatenprüfung ist erforderlich';
|
||||
$this->errormsg .= 'Danach muss eine erneute Vergabemeldung mit dieser Matrikelnummer erfolgen.';
|
||||
$this->debug('BPK:'.$bpk);
|
||||
$this->debug('MatrNr:'.$person->matrikelnummer);
|
||||
|
||||
return ErrorHandler::success($retval);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$datenfeld = $row->getElementsByTagName('datenfeld');
|
||||
$fehlertext = $row->getElementsByTagName('fehlertext');
|
||||
$this->errormsg .= ' Datenfeld:'.$datenfeld->item(0)->textContent;
|
||||
$this->errormsg .= ' Fehlertext:'.$fehlertext->item(0)->textContent;
|
||||
}
|
||||
}
|
||||
return ErrorHandler::error();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$response;
|
||||
return ErrorHandler::error($errormsg);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get BPK from Person
|
||||
* @param string $person_id ID of the Person.
|
||||
@@ -1608,8 +1737,11 @@ class dvb extends basis_db
|
||||
|
||||
$curl = curl_init();
|
||||
|
||||
$url = self::DVB_URL_WEBSERVICE_MATRIKELNUMMER;
|
||||
$uuid = $this->getUUID();
|
||||
|
||||
$url = self::DVB_URL_WEBSERVICE_MATRIKELNUMMER;
|
||||
$url .= '?matrikelNummer='.curl_escape($curl, $matrikelnr);
|
||||
$url .= '&uuid='.curl_escape($curl, $uuid);
|
||||
|
||||
curl_setopt($curl, CURLOPT_URL, $url);
|
||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
|
||||
@@ -1733,6 +1865,41 @@ class dvb extends basis_db
|
||||
$this->debug_output .= "\n".date('Y-m-d H:i:s').': '.$msg;
|
||||
}
|
||||
|
||||
private function getPersonmeldungXml($bildungseinrichtung, $person)
|
||||
{
|
||||
$gebdat = str_replace("-", "", $person->geburtsdatum);
|
||||
|
||||
$data = '<personmeldung xmlns="http://www.brz.gv.at/datenverbund-unis">
|
||||
<be>'.$bildungseinrichtung.'</be>
|
||||
<gebdat>'.$gebdat.'</gebdat>
|
||||
<geschlecht>'.$person->geschlecht.'</geschlecht>
|
||||
<matrikelnummer>'.$person->matrikelnummer.'</matrikelnummer>';
|
||||
if (isset($person->matura) && $person->matura != '')
|
||||
$data .= '<matura>'.$person->matura.'</matura>';
|
||||
else
|
||||
$data .= '<matura>00000000</matura>';
|
||||
|
||||
$data .= '<nachname>'.$person->nachname.'</nachname>';
|
||||
|
||||
if (isset($person->plz) && $person->plz != '')
|
||||
$data .= '<plz>'.$person->plz.'</plz>';
|
||||
|
||||
$data .= '<staat>'.$person->staat.'</staat>';
|
||||
|
||||
if (isset($person->svnr) && $person->svnr != '')
|
||||
$data .= '<svnr>'.$person->svnr.'</svnr>';
|
||||
|
||||
$data .= '<vorname>'.$person->vorname.'</vorname>';
|
||||
|
||||
if (isset($person->writeonerror) && $person->writeonerror === true)
|
||||
$data .= '<writeOnError>J</writeOnError>';
|
||||
|
||||
$data .= '
|
||||
</personmeldung>';
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Erstellt einen Logeintrag
|
||||
* @param object $person Personen objekt.
|
||||
|
||||
@@ -374,7 +374,7 @@ class person extends basis_db
|
||||
$this->errormsg = 'Staatsbuergerschaft darf nicht laenger als 3 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//Pruefen ob das Geburtsdatum mit der SVNR uebereinstimmt.
|
||||
if ($this->svnr != '' && $this->gebdatum != '')
|
||||
{
|
||||
@@ -1018,4 +1018,33 @@ class person extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function getFullNameFromBenutzer($uid)
|
||||
{
|
||||
$qry = "SELECT
|
||||
vorname, nachname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer USING(person_id)
|
||||
WHERE
|
||||
uid=".$this->db_add_param($uid, FHC_STRING);
|
||||
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
return (string)$row->vorname.' '.$row->nachname;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Keine Personendaten zu dieser UID gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler beim Laden der Personendaten";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -590,7 +590,7 @@ class pruefungCis extends basis_db
|
||||
* @param String|Array $lehrveranstaltung_IDs einzelne ID einer Lehrveranstaltung oder ein Array von IDs
|
||||
* @return boolean true, wenn ok; false, im Fehlerfall
|
||||
*/
|
||||
public function getPruefungByLv($lehrveranstaltung_IDs)
|
||||
public function getPruefungByLv($lehrveranstaltung_IDs, $uid = null)
|
||||
{
|
||||
if(empty($lehrveranstaltung_IDs))
|
||||
{
|
||||
@@ -612,7 +612,24 @@ class pruefungCis extends basis_db
|
||||
$in = $lehrveranstaltung_IDs;
|
||||
}
|
||||
|
||||
$qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung WHERE lehrveranstaltung_id IN ('.$in.');';
|
||||
$qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung WHERE lehrveranstaltung_id IN ('.$in.')';
|
||||
|
||||
if ($uid !== null)
|
||||
{
|
||||
// LVs entfernen wo schon eine positive Note für UID vorhanden ist
|
||||
$qry .= " AND lehrveranstaltung_id NOT IN (
|
||||
SELECT lehrveranstaltung_id
|
||||
FROM lehre.tbl_pruefung
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
WHERE student_uid = " . $this->db_add_param($uid) . "
|
||||
AND note NOT IN (5, 7, 9, 11, 13, 14)
|
||||
UNION
|
||||
SELECT lehrveranstaltung_id
|
||||
FROM lehre.tbl_zeugnisnote
|
||||
WHERE student_uid = " . $this->db_add_param($uid) . "
|
||||
AND note NOT IN (5, 7, 9, 11, 13, 14)
|
||||
);";
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
|
||||
@@ -287,7 +287,7 @@ class studiensemester extends basis_db
|
||||
|
||||
$qry.= " WHERE substring(studiensemester_kurzbz from 1 for 2)='$ss' ";
|
||||
}
|
||||
$qry.=' ORDER BY delta LIMIT 1';
|
||||
$qry.=' ORDER BY delta, start LIMIT 1';
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
@@ -573,7 +573,7 @@ class studiensemester extends basis_db
|
||||
{
|
||||
$qry = "SELECT studiensemester_kurzbz, start, ende FROM public.vw_studiensemester
|
||||
WHERE studiensemester_kurzbz<>".$this->db_add_param($studiensemester_kurzbz)."
|
||||
ORDER BY delta LIMIT 1";
|
||||
ORDER BY delta, start LIMIT 1";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -907,13 +907,13 @@ class studiensemester extends basis_db
|
||||
ORDER BY ende ASC";
|
||||
if ($plus != '')
|
||||
$qry .= " LIMIT ".$this->db_add_param($plus, FHC_INTEGER);
|
||||
|
||||
|
||||
$qry .= ") UNION
|
||||
(SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE start <= now()
|
||||
ORDER BY start DESC ";
|
||||
if ($minus != '')
|
||||
$qry .= " LIMIT ".$this->db_add_param($minus, FHC_INTEGER);
|
||||
|
||||
|
||||
$qry .= ")) ORDER BY ".$order;
|
||||
|
||||
if($this->db_query($qry))
|
||||
@@ -967,7 +967,7 @@ class studiensemester extends basis_db
|
||||
FROM tbl_studiensemester
|
||||
) a
|
||||
WHERE a.studiensemester_kurzbz!=".$this->db_add_param($studiensemester_kurzbz)."
|
||||
ORDER BY delta LIMIT 1";
|
||||
ORDER BY delta, start LIMIT 1";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -1029,7 +1029,7 @@ class studiensemester extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gibt das Wintersemester eines Studienjahres zurück (zb WS2017)
|
||||
*
|
||||
@@ -1040,10 +1040,10 @@ class studiensemester extends basis_db
|
||||
{
|
||||
$qry = "
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM tbl_studiensemester
|
||||
FROM tbl_studiensemester
|
||||
WHERE studienjahr_kurzbz LIKE " . $this->db_add_param($studienjahr_kurzbz) . "
|
||||
AND studiensemester_kurzbz LIKE 'WS%';";
|
||||
|
||||
|
||||
if ($result = $this->db_query($qry))
|
||||
{
|
||||
if ($row = $this->db_fetch_object())
|
||||
@@ -1063,7 +1063,7 @@ class studiensemester extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gibt das Sommersemester eines Studienjahres zurück (zb SS2018)
|
||||
*
|
||||
@@ -1074,10 +1074,10 @@ class studiensemester extends basis_db
|
||||
{
|
||||
$qry = "
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM tbl_studiensemester
|
||||
FROM tbl_studiensemester
|
||||
WHERE studienjahr_kurzbz LIKE " . $this->db_add_param($studienjahr_kurzbz) . "
|
||||
AND studiensemester_kurzbz LIKE 'SS%';";
|
||||
|
||||
|
||||
if ($result = $this->db_query($qry))
|
||||
{
|
||||
if ($row = $this->db_fetch_object())
|
||||
@@ -1097,7 +1097,7 @@ class studiensemester extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gibt die Studiensemester zwischen $studiensemesterStart und $studiensemesterEnde zurück
|
||||
* Wenn $inklusive true ist (default), werden auch $studiensemesterStart und $studiensemesterEnde selbst zurückgegeben
|
||||
@@ -1116,7 +1116,7 @@ class studiensemester extends basis_db
|
||||
}
|
||||
if ($inklusive = true)
|
||||
$equalSign = '=';
|
||||
else
|
||||
else
|
||||
$equalSign = '';
|
||||
$qry = "
|
||||
SELECT *
|
||||
@@ -1132,13 +1132,13 @@ class studiensemester extends basis_db
|
||||
WHERE studiensemester_kurzbz = " . $this->db_add_param($studiensemesterEnde) . "
|
||||
)
|
||||
ORDER BY start DESC;";
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$stsem_obj = new studiensemester();
|
||||
|
||||
|
||||
$stsem_obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$stsem_obj->start = $row->start;
|
||||
$stsem_obj->ende = $row->ende;
|
||||
@@ -1146,7 +1146,7 @@ class studiensemester extends basis_db
|
||||
$stsem_obj->studienjahr_kurzbz = $row->studienjahr_kurzbz;
|
||||
$stsem_obj->beschreibung = $row->beschreibung;
|
||||
$stsem_obj->onlinebewerbung = $row->onlinebewerbung;
|
||||
|
||||
|
||||
$this->studiensemester[] = $stsem_obj;
|
||||
}
|
||||
return true;
|
||||
@@ -1158,4 +1158,4 @@ class studiensemester extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -510,6 +510,15 @@ class zeitsperre extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
public function getVonDatum()
|
||||
{
|
||||
return $this->vondatum;
|
||||
}
|
||||
|
||||
public function getBisDatum()
|
||||
{
|
||||
return $this->bisdatum;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
+194
-193
@@ -1,193 +1,194 @@
|
||||
<?php
|
||||
$this->phrasen['global/studiengang']='Studiengang';
|
||||
$this->phrasen['global/studienrichtung']='Studienrichtung';
|
||||
$this->phrasen['global/institut']='Institut';
|
||||
$this->phrasen['global/semester']='Semester';
|
||||
$this->phrasen['global/studiensemester']='Studiensemester';
|
||||
$this->phrasen['global/studienplan']='Studienplan';
|
||||
$this->phrasen['global/studienzentrum']='Studienzentrum';
|
||||
$this->phrasen['global/studiengangsleitung']='Studiengangsleitung';
|
||||
$this->phrasen['global/leitung']='Leitung';
|
||||
$this->phrasen['global/koordination']='Koordination';
|
||||
$this->phrasen['global/lehrveranstaltung']='Lehrveranstaltung';
|
||||
$this->phrasen['global/lehreinheit']='Lehreinheit';
|
||||
$this->phrasen['global/organisationseinheit']='Organisationseinheit';
|
||||
$this->phrasen['global/organisationseinheiten']='Organisationseinheiten';
|
||||
$this->phrasen['global/organisationsform']='Organisationsform';
|
||||
$this->phrasen['global/studienjahr']='Studienjahr';
|
||||
$this->phrasen['global/lektorIn']='LektorIn';
|
||||
$this->phrasen['global/lektorInnen']='LektorInnen';
|
||||
|
||||
$this->phrasen['global/ects']='ECTS';
|
||||
$this->phrasen['global/semesterstunden']='Semesterstunden';
|
||||
|
||||
$this->phrasen['global/studiengangsmanagement']='Studiengangsmanagement';
|
||||
$this->phrasen['global/geschaeftsfuehrendeltg']='geschäftsf. Leitung';
|
||||
$this->phrasen['global/stellvertreter']='Stellvertretung';
|
||||
$this->phrasen['global/sekretariat']='Sekretariat';
|
||||
$this->phrasen['global/studentenvertreter']='Studienvertretung';
|
||||
$this->phrasen['global/jahrgangsvertretung']='Jahrgangsvertretung';
|
||||
$this->phrasen['global/hochschulvertretung']='Hochschulvertretung';
|
||||
|
||||
$this->phrasen['global/lehrziele']='Lehrziele';
|
||||
$this->phrasen['global/allgemeinerdownload']='Allgemeiner Download';
|
||||
$this->phrasen['global/newsgroups']='Newsgroups';
|
||||
|
||||
$this->phrasen['global/speichern']='Speichern';
|
||||
$this->phrasen['global/loeschen']='Löschen';
|
||||
$this->phrasen['global/entfernen']='Entfernen';
|
||||
$this->phrasen['global/editieren']='Editieren';
|
||||
$this->phrasen['global/suchen']='Suchen';
|
||||
$this->phrasen['global/lesen']='Lesen';
|
||||
$this->phrasen['global/bestaetigen']='Bestätigen';
|
||||
$this->phrasen['global/alle']='Alle';
|
||||
$this->phrasen['global/abbrechen']='Abbrechen';
|
||||
$this->phrasen['global/eintragen']='Eintragen';
|
||||
$this->phrasen['global/erstellen']='Erstellen';
|
||||
$this->phrasen['global/zurueck']='Zurück';
|
||||
$this->phrasen['global/abschicken']='Abschicken';
|
||||
$this->phrasen['global/zuruecksetzen']='Zurücksetzen';
|
||||
$this->phrasen['global/datei']='Datei';
|
||||
$this->phrasen['global/auswaehlen']='Auswählen';
|
||||
$this->phrasen['global/umbenennen']='Umbenennen';
|
||||
$this->phrasen['global/anzeigen']='Anzeigen';
|
||||
$this->phrasen['global/ausblenden']='Ausblenden';
|
||||
$this->phrasen['global/bearbeiten']='Bearbeiten';
|
||||
$this->phrasen['global/aendern']='Ändern';
|
||||
$this->phrasen['global/kopieren']='Kopieren';
|
||||
$this->phrasen['global/ja']='Ja';
|
||||
$this->phrasen['global/nein']='Nein';
|
||||
$this->phrasen['global/download']='Download';
|
||||
$this->phrasen['global/auswahl']='Auswahl';
|
||||
$this->phrasen['global/hinzufuegen']='Hinzufügen';
|
||||
$this->phrasen['global/drucken']='Drucken';
|
||||
$this->phrasen['global/pdfExport']='PDF Export';
|
||||
$this->phrasen['global/und']='und';
|
||||
$this->phrasen['global/oder']='oder';
|
||||
$this->phrasen['global/faelligAm']='Fällig am';
|
||||
|
||||
$this->phrasen['global/username']='Username';
|
||||
$this->phrasen['global/vorname']='Vorname';
|
||||
$this->phrasen['global/nachname']='Nachname';
|
||||
$this->phrasen['global/anrede']='Anrede';
|
||||
$this->phrasen['global/name']='Name';
|
||||
$this->phrasen['global/uid']='UID';
|
||||
$this->phrasen['global/postnomen']='Postnomen';
|
||||
$this->phrasen['global/strasse']='Straße';
|
||||
$this->phrasen['global/plz']='Postleitzahl';
|
||||
$this->phrasen['global/ort']='Ort';
|
||||
$this->phrasen['global/anmerkung']='Anmerkung';
|
||||
$this->phrasen['global/anmerkungen']='Anmerkungen';
|
||||
$this->phrasen['global/sprache']='Sprache';
|
||||
$this->phrasen['global/englisch']='Englisch';
|
||||
$this->phrasen['global/deutsch']='Deutsch';
|
||||
$this->phrasen['global/titel']='Titel';
|
||||
$this->phrasen['global/geschlecht']='Geschlecht';
|
||||
$this->phrasen['global/mann']='Mann';
|
||||
$this->phrasen['global/frau']='Frau';
|
||||
$this->phrasen['global/staatsbuergerschaft']='Staatsbürgerschaft';
|
||||
$this->phrasen['global/geburtsdatum']='Geburtsdatum';
|
||||
$this->phrasen['global/geburtsort']='Geburtsort';
|
||||
$this->phrasen['global/universität']='Universität';
|
||||
$this->phrasen['global/code']='Code';
|
||||
$this->phrasen['global/adresse']='Adresse';
|
||||
$this->phrasen['global/hauptwohnsitz']='Hauptwohnsitz';
|
||||
$this->phrasen['global/nebenwohnsitz']='Nebenwohnsitz';
|
||||
$this->phrasen['global/emailAdresse']='E-Mail Adresse';
|
||||
$this->phrasen['global/mail']='Mail';
|
||||
$this->phrasen['global/telefon']='Telefon';
|
||||
$this->phrasen['global/telefonnummer']='Telefonnummer';
|
||||
$this->phrasen['global/handy']='Handy';
|
||||
$this->phrasen['global/fax']='Fax';
|
||||
$this->phrasen['global/bezeichnung']='Bezeichnung';
|
||||
$this->phrasen['global/datum']='Datum';
|
||||
$this->phrasen['global/stunde']='Stunde';
|
||||
$this->phrasen['global/minute']='Minute';
|
||||
$this->phrasen['global/uhrzeit']='Uhrzeit';
|
||||
$this->phrasen['global/person']='Person';
|
||||
$this->phrasen['global/personen']='Personen';
|
||||
$this->phrasen['global/personenkz']='Personenkz.';
|
||||
$this->phrasen['global/beschreibung']='Beschreibung';
|
||||
$this->phrasen['global/angelegtAm']='angelegt am';
|
||||
$this->phrasen['global/funktion']='Funktion'; //Mitarbeiterfunktion zB Assistenz
|
||||
$this->phrasen['global/montag']='Montag';
|
||||
$this->phrasen['global/dienstag']='Dienstag';
|
||||
$this->phrasen['global/mittwoch']='Mittwoch';
|
||||
$this->phrasen['global/donnerstag']='Donnerstag';
|
||||
$this->phrasen['global/freitag']='Freitag';
|
||||
$this->phrasen['global/samstag']='Samstag';
|
||||
$this->phrasen['global/sonntag']='Sonntag';
|
||||
$this->phrasen['global/matrikelnummer']='Matrikelnummer';
|
||||
$this->phrasen['global/personenkennzeichen']='Personenkennzeichen';
|
||||
|
||||
$this->phrasen['global/von']='Von';
|
||||
$this->phrasen['global/bis']='Bis';
|
||||
$this->phrasen['global/zweck']='Zweck';
|
||||
$this->phrasen['global/aktion']='Aktion';
|
||||
$this->phrasen['global/nummer']='Nummer';
|
||||
$this->phrasen['global/gruppe']='Gruppe';
|
||||
$this->phrasen['global/verband']='Verband';
|
||||
$this->phrasen['global/kalender']='Kalender';
|
||||
$this->phrasen['global/beginn']='Beginn';
|
||||
$this->phrasen['global/ende']='Ende';
|
||||
$this->phrasen['global/beispiele']='Beispiele';
|
||||
$this->phrasen['global/neu']='Neu';
|
||||
$this->phrasen['global/ok']='OK';
|
||||
|
||||
$this->phrasen['global/anmelden']='Anmelden';
|
||||
$this->phrasen['global/angemeldet']='Angemeldet';
|
||||
$this->phrasen['global/löschen']='Löschen';
|
||||
$this->phrasen['global/dateiLoeschen']='Datei Löschen';
|
||||
$this->phrasen['global/betreff']='Betreff';
|
||||
$this->phrasen['global/handbuch']='Handbuch';
|
||||
$this->phrasen['global/hilfe']='Hilfe';
|
||||
$this->phrasen['global/benutzer']='Benutzer';
|
||||
$this->phrasen['global/anleitung']='Anleitung';
|
||||
$this->phrasen['global/bericht']='Bericht';
|
||||
$this->phrasen['global/fixangestellt']='Fixangestellt';
|
||||
|
||||
// Statusmeldungen
|
||||
$this->phrasen['global/erfolgreichgespeichert']='Erfolgreich gespeichert';
|
||||
$this->phrasen['global/erfolgreichgelöscht']='Erfolgreich gelöscht';
|
||||
$this->phrasen['global/fehleraufgetreten']='Es ist ein Fehler aufgetreten';
|
||||
$this->phrasen['global/emailgesendetan']='E-Mail gesendet an';
|
||||
$this->phrasen['global/emailNichtVersendet']='E-Mail konnte nicht versendet werden';
|
||||
$this->phrasen['global/keineBerechtigungFuerDieseSeite']='Sie haben keine Berechtigung für diese Seite';
|
||||
$this->phrasen['global/fehlerBeimOeffnenDerDatenbankverbindung']='Fehler beim Öffnen der Datenbankverbindung';
|
||||
$this->phrasen['global/fehlerBeimLesenAusDatenbank']='Fehler beim Lesen aus der Datenbank';
|
||||
$this->phrasen['global/userNichtGefunden']='Es wurde kein User gefunden';
|
||||
$this->phrasen['global/datumNichtGesetzt']='Datum ist nicht gesetzt';
|
||||
$this->phrasen['global/studiensemesterKonnteNichtGefundenWerden'] = 'Studiensemester konnte nicht gefunden werden';
|
||||
$this->phrasen['global/studiengangKonnteNichtGefundenWerden'] = 'Studiengang konnte nicht gefunden werden';
|
||||
$this->phrasen['global/studienjahrKonnteNichtGefundenWerden'] = 'Studienjahr konnte nicht gefunden werden';
|
||||
$this->phrasen['global/fehlerBeimErmittelnDerUID'] = 'Fehler beim ermitteln der UID';
|
||||
$this->phrasen['global/nichtAngemeldet'] = 'Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden';
|
||||
$this->phrasen['global/LDAPserverNichtErreichbar']='Der LDAP-Server ist nicht erreichbar';
|
||||
$this->phrasen['global/unbekannterFehleraufgetreten']='Es ist ein unbekannter Fehler aufgetreten';
|
||||
$this->phrasen['global/fehlerBeiDerParameteruebergabe']='Fehler bei der Uebergabe der Parameter';
|
||||
$this->phrasen['global/warnungWirklichLoeschen']='Wollen Sie diesen Datensatz wirklich löschen?';
|
||||
$this->phrasen['global/dateiErfolgreichHochgeladen']='Die Datei wurde erfolgreich hochgeladen';
|
||||
$this->phrasen['global/dateiNichtErfolgreichHochgeladen']='Die Datei wurde nicht erfolgreich hochgeladen. Bitte wiederholen Sie den Vorgang';
|
||||
$this->phrasen['global/FuerDieseAktionBenoetigenSieAdministrationsrechte']='Fuer diese Aktion benoetigen Sie Administratorenrechte';
|
||||
$this->phrasen['global/dateiExistiertNicht']='Die Datei existiert nicht';
|
||||
$this->phrasen['global/fehlerBeimAktualisierenDerDaten']='Fehler beim Aktualisieren der Daten';
|
||||
$this->phrasen['global/fehlerBeimLadenDesDatensatzes']='Fehler beim Laden des Datensatzes';
|
||||
$this->phrasen['global/fehlerBeimSpeichernDerDaten']='Fehler beim Speichern der Daten';
|
||||
$this->phrasen['global/datenWurdenGespeichert']='Daten wurden gespeichert';
|
||||
$this->phrasen['global/eintragWurdeGeloescht']='Eintrag wurde gelöscht';
|
||||
$this->phrasen['global/fehlerBeimLoeschenDesEintrags']='Fehler beim Löschen des Eintrags';
|
||||
$this->phrasen['global/keineBerechtigung']='Keine Berechtigung';
|
||||
$this->phrasen['global/datensatzWurdeNichtGefunden']='Datensatz wurde nicht gefunden';
|
||||
$this->phrasen['global/keineBerechtigungZumAendernDesDatensatzes']='Keine Berechtigung zum Ändern des Datensatzes';
|
||||
$this->phrasen['global/keineDatenGefunden']='Keine Daten gefunden';
|
||||
$this->phrasen['global/erfolgreichAngelegt']='Erfolgreich angelegt';
|
||||
$this->phrasen['global/keineSuchergebnisse']='Es liegen keine Daten zu Ihrer Suchanfrage vor';
|
||||
$this->phrasen['global/bitteWaehlen']='Bitte wählen Sie';
|
||||
|
||||
|
||||
//infrastruktur
|
||||
|
||||
$this->phrasen['global/passwort']='Passwort';
|
||||
$this->phrasen['global/abmelden']='Abmelden';
|
||||
$this->phrasen['global/emailAnAssistenz']='Email an Assistenz';
|
||||
?>
|
||||
<?php
|
||||
$this->phrasen['global/studiengang']='Studiengang';
|
||||
$this->phrasen['global/studienrichtung']='Studienrichtung';
|
||||
$this->phrasen['global/institut']='Institut';
|
||||
$this->phrasen['global/semester']='Semester';
|
||||
$this->phrasen['global/studiensemester']='Studiensemester';
|
||||
$this->phrasen['global/studienplan']='Studienplan';
|
||||
$this->phrasen['global/studienzentrum']='Studienzentrum';
|
||||
$this->phrasen['global/studiengangsleitung']='Studiengangsleitung';
|
||||
$this->phrasen['global/leitung']='Leitung';
|
||||
$this->phrasen['global/koordination']='Koordination';
|
||||
$this->phrasen['global/lehrveranstaltung']='Lehrveranstaltung';
|
||||
$this->phrasen['global/lehreinheit']='Lehreinheit';
|
||||
$this->phrasen['global/organisationseinheit']='Organisationseinheit';
|
||||
$this->phrasen['global/organisationseinheiten']='Organisationseinheiten';
|
||||
$this->phrasen['global/organisationsform']='Organisationsform';
|
||||
$this->phrasen['global/studienjahr']='Studienjahr';
|
||||
$this->phrasen['global/lektorIn']='LektorIn';
|
||||
$this->phrasen['global/lektorInnen']='LektorInnen';
|
||||
|
||||
$this->phrasen['global/ects']='ECTS';
|
||||
$this->phrasen['global/semesterstunden']='Semesterstunden';
|
||||
|
||||
$this->phrasen['global/studiengangsmanagement']='Studiengangsmanagement';
|
||||
$this->phrasen['global/geschaeftsfuehrendeltg']='geschäftsf. Leitung';
|
||||
$this->phrasen['global/stellvertreter']='Stellvertretung';
|
||||
$this->phrasen['global/sekretariat']='Sekretariat';
|
||||
$this->phrasen['global/studentenvertreter']='Studienvertretung';
|
||||
$this->phrasen['global/jahrgangsvertretung']='Jahrgangsvertretung';
|
||||
$this->phrasen['global/hochschulvertretung']='Hochschulvertretung';
|
||||
|
||||
$this->phrasen['global/lehrziele']='Lehrziele';
|
||||
$this->phrasen['global/allgemeinerdownload']='Allgemeiner Download';
|
||||
$this->phrasen['global/newsgroups']='Newsgroups';
|
||||
|
||||
$this->phrasen['global/speichern']='Speichern';
|
||||
$this->phrasen['global/loeschen']='Löschen';
|
||||
$this->phrasen['global/entfernen']='Entfernen';
|
||||
$this->phrasen['global/editieren']='Editieren';
|
||||
$this->phrasen['global/suchen']='Suchen';
|
||||
$this->phrasen['global/lesen']='Lesen';
|
||||
$this->phrasen['global/bestaetigen']='Bestätigen';
|
||||
$this->phrasen['global/alle']='Alle';
|
||||
$this->phrasen['global/abbrechen']='Abbrechen';
|
||||
$this->phrasen['global/eintragen']='Eintragen';
|
||||
$this->phrasen['global/erstellen']='Erstellen';
|
||||
$this->phrasen['global/durchfuehren']='Durchführen';
|
||||
$this->phrasen['global/zurueck']='Zurück';
|
||||
$this->phrasen['global/abschicken']='Abschicken';
|
||||
$this->phrasen['global/zuruecksetzen']='Zurücksetzen';
|
||||
$this->phrasen['global/datei']='Datei';
|
||||
$this->phrasen['global/auswaehlen']='Auswählen';
|
||||
$this->phrasen['global/umbenennen']='Umbenennen';
|
||||
$this->phrasen['global/anzeigen']='Anzeigen';
|
||||
$this->phrasen['global/ausblenden']='Ausblenden';
|
||||
$this->phrasen['global/bearbeiten']='Bearbeiten';
|
||||
$this->phrasen['global/aendern']='Ändern';
|
||||
$this->phrasen['global/kopieren']='Kopieren';
|
||||
$this->phrasen['global/ja']='Ja';
|
||||
$this->phrasen['global/nein']='Nein';
|
||||
$this->phrasen['global/download']='Download';
|
||||
$this->phrasen['global/auswahl']='Auswahl';
|
||||
$this->phrasen['global/hinzufuegen']='Hinzufügen';
|
||||
$this->phrasen['global/drucken']='Drucken';
|
||||
$this->phrasen['global/pdfExport']='PDF Export';
|
||||
$this->phrasen['global/und']='und';
|
||||
$this->phrasen['global/oder']='oder';
|
||||
$this->phrasen['global/faelligAm']='Fällig am';
|
||||
|
||||
$this->phrasen['global/username']='Username';
|
||||
$this->phrasen['global/vorname']='Vorname';
|
||||
$this->phrasen['global/nachname']='Nachname';
|
||||
$this->phrasen['global/anrede']='Anrede';
|
||||
$this->phrasen['global/name']='Name';
|
||||
$this->phrasen['global/uid']='UID';
|
||||
$this->phrasen['global/postnomen']='Postnomen';
|
||||
$this->phrasen['global/strasse']='Straße';
|
||||
$this->phrasen['global/plz']='Postleitzahl';
|
||||
$this->phrasen['global/ort']='Ort';
|
||||
$this->phrasen['global/anmerkung']='Anmerkung';
|
||||
$this->phrasen['global/anmerkungen']='Anmerkungen';
|
||||
$this->phrasen['global/sprache']='Sprache';
|
||||
$this->phrasen['global/englisch']='Englisch';
|
||||
$this->phrasen['global/deutsch']='Deutsch';
|
||||
$this->phrasen['global/titel']='Titel';
|
||||
$this->phrasen['global/geschlecht']='Geschlecht';
|
||||
$this->phrasen['global/mann']='Mann';
|
||||
$this->phrasen['global/frau']='Frau';
|
||||
$this->phrasen['global/staatsbuergerschaft']='Staatsbürgerschaft';
|
||||
$this->phrasen['global/geburtsdatum']='Geburtsdatum';
|
||||
$this->phrasen['global/geburtsort']='Geburtsort';
|
||||
$this->phrasen['global/universität']='Universität';
|
||||
$this->phrasen['global/code']='Code';
|
||||
$this->phrasen['global/adresse']='Adresse';
|
||||
$this->phrasen['global/hauptwohnsitz']='Hauptwohnsitz';
|
||||
$this->phrasen['global/nebenwohnsitz']='Nebenwohnsitz';
|
||||
$this->phrasen['global/emailAdresse']='E-Mail Adresse';
|
||||
$this->phrasen['global/mail']='Mail';
|
||||
$this->phrasen['global/telefon']='Telefon';
|
||||
$this->phrasen['global/telefonnummer']='Telefonnummer';
|
||||
$this->phrasen['global/handy']='Handy';
|
||||
$this->phrasen['global/fax']='Fax';
|
||||
$this->phrasen['global/bezeichnung']='Bezeichnung';
|
||||
$this->phrasen['global/datum']='Datum';
|
||||
$this->phrasen['global/stunde']='Stunde';
|
||||
$this->phrasen['global/minute']='Minute';
|
||||
$this->phrasen['global/uhrzeit']='Uhrzeit';
|
||||
$this->phrasen['global/person']='Person';
|
||||
$this->phrasen['global/personen']='Personen';
|
||||
$this->phrasen['global/personenkz']='Personenkz.';
|
||||
$this->phrasen['global/beschreibung']='Beschreibung';
|
||||
$this->phrasen['global/angelegtAm']='angelegt am';
|
||||
$this->phrasen['global/funktion']='Funktion'; //Mitarbeiterfunktion zB Assistenz
|
||||
$this->phrasen['global/montag']='Montag';
|
||||
$this->phrasen['global/dienstag']='Dienstag';
|
||||
$this->phrasen['global/mittwoch']='Mittwoch';
|
||||
$this->phrasen['global/donnerstag']='Donnerstag';
|
||||
$this->phrasen['global/freitag']='Freitag';
|
||||
$this->phrasen['global/samstag']='Samstag';
|
||||
$this->phrasen['global/sonntag']='Sonntag';
|
||||
$this->phrasen['global/matrikelnummer']='Matrikelnummer';
|
||||
$this->phrasen['global/personenkennzeichen']='Personenkennzeichen';
|
||||
|
||||
$this->phrasen['global/von']='Von';
|
||||
$this->phrasen['global/bis']='Bis';
|
||||
$this->phrasen['global/zweck']='Zweck';
|
||||
$this->phrasen['global/aktion']='Aktion';
|
||||
$this->phrasen['global/nummer']='Nummer';
|
||||
$this->phrasen['global/gruppe']='Gruppe';
|
||||
$this->phrasen['global/verband']='Verband';
|
||||
$this->phrasen['global/kalender']='Kalender';
|
||||
$this->phrasen['global/beginn']='Beginn';
|
||||
$this->phrasen['global/ende']='Ende';
|
||||
$this->phrasen['global/beispiele']='Beispiele';
|
||||
$this->phrasen['global/neu']='Neu';
|
||||
$this->phrasen['global/ok']='OK';
|
||||
|
||||
$this->phrasen['global/anmelden']='Anmelden';
|
||||
$this->phrasen['global/angemeldet']='Angemeldet';
|
||||
$this->phrasen['global/löschen']='Löschen';
|
||||
$this->phrasen['global/dateiLoeschen']='Datei Löschen';
|
||||
$this->phrasen['global/betreff']='Betreff';
|
||||
$this->phrasen['global/handbuch']='Handbuch';
|
||||
$this->phrasen['global/hilfe']='Hilfe';
|
||||
$this->phrasen['global/benutzer']='Benutzer';
|
||||
$this->phrasen['global/anleitung']='Anleitung';
|
||||
$this->phrasen['global/bericht']='Bericht';
|
||||
$this->phrasen['global/fixangestellt']='Fixangestellt';
|
||||
|
||||
// Statusmeldungen
|
||||
$this->phrasen['global/erfolgreichgespeichert']='Erfolgreich gespeichert';
|
||||
$this->phrasen['global/erfolgreichgelöscht']='Erfolgreich gelöscht';
|
||||
$this->phrasen['global/fehleraufgetreten']='Es ist ein Fehler aufgetreten';
|
||||
$this->phrasen['global/emailgesendetan']='E-Mail gesendet an';
|
||||
$this->phrasen['global/emailNichtVersendet']='E-Mail konnte nicht versendet werden';
|
||||
$this->phrasen['global/keineBerechtigungFuerDieseSeite']='Sie haben keine Berechtigung für diese Seite';
|
||||
$this->phrasen['global/fehlerBeimOeffnenDerDatenbankverbindung']='Fehler beim Öffnen der Datenbankverbindung';
|
||||
$this->phrasen['global/fehlerBeimLesenAusDatenbank']='Fehler beim Lesen aus der Datenbank';
|
||||
$this->phrasen['global/userNichtGefunden']='Es wurde kein User gefunden';
|
||||
$this->phrasen['global/datumNichtGesetzt']='Datum ist nicht gesetzt';
|
||||
$this->phrasen['global/studiensemesterKonnteNichtGefundenWerden'] = 'Studiensemester konnte nicht gefunden werden';
|
||||
$this->phrasen['global/studiengangKonnteNichtGefundenWerden'] = 'Studiengang konnte nicht gefunden werden';
|
||||
$this->phrasen['global/studienjahrKonnteNichtGefundenWerden'] = 'Studienjahr konnte nicht gefunden werden';
|
||||
$this->phrasen['global/fehlerBeimErmittelnDerUID'] = 'Fehler beim ermitteln der UID';
|
||||
$this->phrasen['global/nichtAngemeldet'] = 'Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden';
|
||||
$this->phrasen['global/LDAPserverNichtErreichbar']='Der LDAP-Server ist nicht erreichbar';
|
||||
$this->phrasen['global/unbekannterFehleraufgetreten']='Es ist ein unbekannter Fehler aufgetreten';
|
||||
$this->phrasen['global/fehlerBeiDerParameteruebergabe']='Fehler bei der Uebergabe der Parameter';
|
||||
$this->phrasen['global/warnungWirklichLoeschen']='Wollen Sie diesen Datensatz wirklich löschen?';
|
||||
$this->phrasen['global/dateiErfolgreichHochgeladen']='Die Datei wurde erfolgreich hochgeladen';
|
||||
$this->phrasen['global/dateiNichtErfolgreichHochgeladen']='Die Datei wurde nicht erfolgreich hochgeladen. Bitte wiederholen Sie den Vorgang';
|
||||
$this->phrasen['global/FuerDieseAktionBenoetigenSieAdministrationsrechte']='Fuer diese Aktion benoetigen Sie Administratorenrechte';
|
||||
$this->phrasen['global/dateiExistiertNicht']='Die Datei existiert nicht';
|
||||
$this->phrasen['global/fehlerBeimAktualisierenDerDaten']='Fehler beim Aktualisieren der Daten';
|
||||
$this->phrasen['global/fehlerBeimLadenDesDatensatzes']='Fehler beim Laden des Datensatzes';
|
||||
$this->phrasen['global/fehlerBeimSpeichernDerDaten']='Fehler beim Speichern der Daten';
|
||||
$this->phrasen['global/datenWurdenGespeichert']='Daten wurden gespeichert';
|
||||
$this->phrasen['global/eintragWurdeGeloescht']='Eintrag wurde gelöscht';
|
||||
$this->phrasen['global/fehlerBeimLoeschenDesEintrags']='Fehler beim Löschen des Eintrags';
|
||||
$this->phrasen['global/keineBerechtigung']='Keine Berechtigung';
|
||||
$this->phrasen['global/datensatzWurdeNichtGefunden']='Datensatz wurde nicht gefunden';
|
||||
$this->phrasen['global/keineBerechtigungZumAendernDesDatensatzes']='Keine Berechtigung zum Ändern des Datensatzes';
|
||||
$this->phrasen['global/keineDatenGefunden']='Keine Daten gefunden';
|
||||
$this->phrasen['global/erfolgreichAngelegt']='Erfolgreich angelegt';
|
||||
$this->phrasen['global/keineSuchergebnisse']='Es liegen keine Daten zu Ihrer Suchanfrage vor';
|
||||
$this->phrasen['global/bitteWaehlen']='Bitte wählen Sie';
|
||||
$this->phrasen['global/zusaetzlicheInformationen']='Zusätzliche Informationen';
|
||||
|
||||
//infrastruktur
|
||||
|
||||
$this->phrasen['global/passwort']='Passwort';
|
||||
$this->phrasen['global/abmelden']='Abmelden';
|
||||
$this->phrasen['global/emailAnAssistenz']='Email an Assistenz';
|
||||
?>
|
||||
|
||||
@@ -36,4 +36,8 @@ $this->phrasen['urlaubstool/meineZeitsperren']='Meine Zeitsperren';
|
||||
$this->phrasen['urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben']='Sie können diesen unter folgender Adresse freigeben';
|
||||
$this->phrasen['urlaubstool/freigabeansuchenUrlaub']='Freigabeansuchen Urlaub';
|
||||
$this->phrasen['urlaubstool/freigabeFehlt']='Urlaub wurde noch nicht freigegeben';
|
||||
$this->phrasen['urlaubstool/freigegebenerUrlaubGeloescht']='Bereits Freigegebener Urlaub wurde gelöscht';
|
||||
$this->phrasen['urlaubstool/VorgesetzteInformiert']='Email wurde an %s versandt';
|
||||
$this->phrasen['urlaubstool/konnteKeinInformationsemailVersendetWerden']='Es konnte kein Email versendet werden, da kein Vorgesetzter eingetragen ist!';
|
||||
$this->phrasen['urlaubstool/xHatUrlaubGeloescht']='%s %s hat bereits freigegebenen Urlaub gelöscht';
|
||||
?>
|
||||
|
||||
+192
-190
@@ -1,190 +1,192 @@
|
||||
<?php
|
||||
$this->phrasen['global/studiengang']='Degree Program';
|
||||
$this->phrasen['global/studienrichtung']='Degree Program';
|
||||
$this->phrasen['global/institut']='Institute';
|
||||
$this->phrasen['global/semester']='Semester';
|
||||
$this->phrasen['global/studiensemester']='Semester';
|
||||
$this->phrasen['global/studienplan']='Study Plan';
|
||||
$this->phrasen['global/studienzentrum']='Study Center';
|
||||
$this->phrasen['global/studiengangsleitung']='Program Director';
|
||||
$this->phrasen['global/leitung']='Head';
|
||||
$this->phrasen['global/koordination']='Coordination';
|
||||
$this->phrasen['global/lehrveranstaltung']='Subject';
|
||||
$this->phrasen['global/lehreinheit']='Teaching unit';
|
||||
$this->phrasen['global/organisationseinheit']='Organisation Unit';
|
||||
$this->phrasen['global/organisationseinheiten']='Organisation Units';
|
||||
$this->phrasen['global/organisationsform']='Organisational form';
|
||||
$this->phrasen['global/studienjahr']='Academic year';
|
||||
$this->phrasen['global/lektorIn']='Lector';
|
||||
$this->phrasen['global/lektorInnen']='Lectors';
|
||||
|
||||
$this->phrasen['global/ects']='ECTS';
|
||||
$this->phrasen['global/semesterstunden']='Units per semester';
|
||||
|
||||
$this->phrasen['global/studiengangsmanagement']='Study Management';
|
||||
$this->phrasen['global/geschaeftsfuehrendeltg']='business Leadership';
|
||||
$this->phrasen['global/stellvertreter']='Deputy Program Director';
|
||||
$this->phrasen['global/sekretariat']='Administrative Assistant';
|
||||
$this->phrasen['global/studentenvertreter']='Degree Program Representative';
|
||||
$this->phrasen['global/jahrgangsvertretung']='Academic Year Representative';
|
||||
$this->phrasen['global/hochschulvertretung']='UAS Representative';
|
||||
|
||||
$this->phrasen['global/lehrziele']='Teaching goals';
|
||||
$this->phrasen['global/allgemeinerdownload']='Global Download';
|
||||
$this->phrasen['global/newsgroups']='Newsgroups';
|
||||
|
||||
$this->phrasen['global/speichern']='Save';
|
||||
$this->phrasen['global/loeschen']='Delete';
|
||||
$this->phrasen['global/entfernen']='Delete';
|
||||
$this->phrasen['global/editieren']='Edit';
|
||||
$this->phrasen['global/suchen']='Search';
|
||||
$this->phrasen['global/lesen']='Read';
|
||||
$this->phrasen['global/bestaetigen']='Confirm';
|
||||
$this->phrasen['global/alle']='All';
|
||||
$this->phrasen['global/abbrechen']='Cancel';
|
||||
$this->phrasen['global/eintragen']='Register';
|
||||
$this->phrasen['global/erstellen']='Create';
|
||||
$this->phrasen['global/zurueck']='Back';
|
||||
$this->phrasen['global/abschicken']='Submit';
|
||||
$this->phrasen['global/zuruecksetzen']='Reset';
|
||||
$this->phrasen['global/datei']='File';
|
||||
$this->phrasen['global/auswaehlen']='Select';
|
||||
$this->phrasen['global/umbenennen']='Rename';
|
||||
$this->phrasen['global/anzeigen']='Show';
|
||||
$this->phrasen['global/ausblenden']='Hide';
|
||||
$this->phrasen['global/bearbeiten']='Edit';
|
||||
$this->phrasen['global/aendern']='Change';
|
||||
$this->phrasen['global/kopieren']='Copy';
|
||||
$this->phrasen['global/ja']='Yes';
|
||||
$this->phrasen['global/nein']='No';
|
||||
$this->phrasen['global/download']='Download';
|
||||
$this->phrasen['global/auswahl']='Select';
|
||||
$this->phrasen['global/hinzufuegen']='Add';
|
||||
$this->phrasen['global/drucken']='Print';
|
||||
$this->phrasen['global/und']='and';
|
||||
$this->phrasen['global/oder']='or';
|
||||
$this->phrasen['global/faelligAm']='Due on';
|
||||
|
||||
$this->phrasen['global/username']='Username';
|
||||
$this->phrasen['global/vorname']='First Name';
|
||||
$this->phrasen['global/nachname']='Last Name';
|
||||
$this->phrasen['global/anrede']='Title';
|
||||
$this->phrasen['global/name']='Name';
|
||||
$this->phrasen['global/uid']='UID';
|
||||
$this->phrasen['global/postnomen']='Postnomen';
|
||||
$this->phrasen['global/strasse']='Street';
|
||||
$this->phrasen['global/plz']='Postal Code';
|
||||
$this->phrasen['global/ort']='City';
|
||||
$this->phrasen['global/anmerkung']='Comment';
|
||||
$this->phrasen['global/anmerkungen']='Comments';
|
||||
$this->phrasen['global/sprache']='Language';
|
||||
$this->phrasen['global/englisch']='English';
|
||||
$this->phrasen['global/deutsch']='German';
|
||||
$this->phrasen['global/titel']='Title';
|
||||
$this->phrasen['global/geschlecht']='Gender';
|
||||
$this->phrasen['global/mann']='Male';
|
||||
$this->phrasen['global/frau']='Female';
|
||||
$this->phrasen['global/staatsbuergerschaft']='Citizenship';
|
||||
$this->phrasen['global/geburtsdatum']='Date of Birth';
|
||||
$this->phrasen['global/geburtsort']='Place of Birth';
|
||||
$this->phrasen['global/universität']='University';
|
||||
$this->phrasen['global/code']='Code';
|
||||
$this->phrasen['global/adresse']='Address';
|
||||
$this->phrasen['global/hauptwohnsitz']='Principal residence';
|
||||
$this->phrasen['global/nebenwohnsitz']='Secondary residence';
|
||||
$this->phrasen['global/emailAdresse']='E-Mail Address';
|
||||
$this->phrasen['global/mail']='Mail';
|
||||
$this->phrasen['global/telefon']='Telephone';
|
||||
$this->phrasen['global/telefonnummer']='Telephone number';
|
||||
$this->phrasen['global/handy']='Mobile phone';
|
||||
$this->phrasen['global/fax']='Fax';
|
||||
$this->phrasen['global/bezeichnung']='Description';
|
||||
$this->phrasen['global/datum']='Date';
|
||||
$this->phrasen['global/stunde']='Hour';
|
||||
$this->phrasen['global/minute']='Minute';
|
||||
$this->phrasen['global/uhrzeit']='Time';
|
||||
$this->phrasen['global/person']='Person';
|
||||
$this->phrasen['global/personenkz']='StudentID';
|
||||
$this->phrasen['global/personen']='Number of Persons';
|
||||
$this->phrasen['global/beschreibung']='Description';
|
||||
$this->phrasen['global/angelegtAm']='created:';
|
||||
$this->phrasen['global/funktion']='Role'; //Mitarbeiterfunktion zB Assistenz
|
||||
$this->phrasen['global/montag']='Monday';
|
||||
$this->phrasen['global/dienstag']='Tuesday';
|
||||
$this->phrasen['global/mittwoch']='Wednesday';
|
||||
$this->phrasen['global/donnerstag']='Thursday';
|
||||
$this->phrasen['global/freitag']='Friday';
|
||||
$this->phrasen['global/samstag']='Saturday';
|
||||
$this->phrasen['global/sonntag']='Sunday';
|
||||
$this->phrasen['global/matrikelnummer']='Matriculation number';
|
||||
$this->phrasen['global/personenkennzeichen']='Personal identifier';
|
||||
|
||||
$this->phrasen['global/von']='From';
|
||||
$this->phrasen['global/bis']='To';
|
||||
$this->phrasen['global/zweck']='Purpose';
|
||||
$this->phrasen['global/aktion']='Action';
|
||||
$this->phrasen['global/nummer']='Number';
|
||||
$this->phrasen['global/gruppe']='Group';
|
||||
$this->phrasen['global/verband']='Division';
|
||||
$this->phrasen['global/kalender']='Calendar';
|
||||
$this->phrasen['global/beginn']='Start';
|
||||
$this->phrasen['global/ende']='End';
|
||||
$this->phrasen['global/beispiele']='Examples';
|
||||
$this->phrasen['global/neu']='New';
|
||||
$this->phrasen['global/ok']='OK';
|
||||
|
||||
$this->phrasen['global/anmelden']='Register';
|
||||
$this->phrasen['global/angemeldet']='Registered';
|
||||
$this->phrasen['global/löschen']='Delete';
|
||||
$this->phrasen['global/dateiLoeschen']='Delete File';
|
||||
$this->phrasen['global/betreff']='Subject';
|
||||
$this->phrasen['global/handbuch']='Manual';
|
||||
$this->phrasen['global/hilfe']='Help';
|
||||
$this->phrasen['global/benutzer']='User';
|
||||
$this->phrasen['global/anleitung']='Manual';
|
||||
$this->phrasen['global/bericht']='Report';
|
||||
$this->phrasen['global/fixangestellt']='Salaried';
|
||||
|
||||
// Statusmeldungen
|
||||
$this->phrasen['global/erfolgreichgespeichert']='Successfully saved';
|
||||
$this->phrasen['global/erfolgreichgelöscht']='Successfully deleted';
|
||||
$this->phrasen['global/fehleraufgetreten']='Error occurred';
|
||||
$this->phrasen['global/emailgesendetan']='E-Mail sent to';
|
||||
$this->phrasen['global/keineBerechtigungFuerDieseSeite']='You dont have the authority to view this site';
|
||||
$this->phrasen['global/fehlerBeimOeffnenDerDatenbankverbindung']='Cant open Database connection';
|
||||
$this->phrasen['global/fehlerBeimLesenAusDatenbank']='Error reading from database';
|
||||
$this->phrasen['global/userNichtGefunden']='No user found';
|
||||
$this->phrasen['global/datumNichtGesetzt']='Date is missing';
|
||||
$this->phrasen['global/studiensemesterKonnteNichtGefundenWerden'] = 'No semester found';
|
||||
$this->phrasen['global/studiengangKonnteNichtGefundenWerden'] = 'Program not found';
|
||||
$this->phrasen['global/studienjahrKonnteNichtGefundenWerden'] = 'Academic year not found';
|
||||
$this->phrasen['global/fehlerBeimErmittelnDerUID'] = 'Error finding the UID';
|
||||
$this->phrasen['global/nichtAngemeldet'] = 'You are not logged in. No UID found';
|
||||
$this->phrasen['global/LDAPserverNichtErreichbar']='Error connecting to LDAP-Server';
|
||||
$this->phrasen['global/unbekannterFehleraufgetreten']='Unknown error occurred';
|
||||
$this->phrasen['global/fehlerBeiDerParameteruebergabe']='Error in the parameter transfer';
|
||||
$this->phrasen['global/warnungWirklichLoeschen']='Do you want to delete this record?';
|
||||
$this->phrasen['global/dateiErfolgreichHochgeladen']='File successfully uploaded';
|
||||
$this->phrasen['global/dateiNichtErfolgreichHochgeladen']='Failed to upload File. Please retry';
|
||||
$this->phrasen['global/FuerDieseAktionBenoetigenSieAdministrationsrechte']='You must be Administrator.';
|
||||
$this->phrasen['global/dateiExistiertNicht']='File not found';
|
||||
$this->phrasen['global/fehlerBeimAktualisierenDerDaten']='Error updating the data. ';
|
||||
$this->phrasen['global/fehlerBeimLadenDesDatensatzes']='Error loading entries';
|
||||
$this->phrasen['global/fehlerBeimSpeichernDerDaten']='Error saving the data';
|
||||
$this->phrasen['global/datenWurdenGespeichert']='Data saved';
|
||||
$this->phrasen['global/eintragWurdeGeloescht']='Entry deleted';
|
||||
$this->phrasen['global/fehlerBeimLoeschenDesEintrags']='Error deleting entry';
|
||||
$this->phrasen['global/keineBerechtigung']='No authority';
|
||||
$this->phrasen['global/datensatzWurdeNichtGefunden']='Data not found';
|
||||
$this->phrasen['global/keineBerechtigungZumAendernDesDatensatzes']='You dont have the authority to change to data';
|
||||
$this->phrasen['global/keineDatenGefunden']='No data found';
|
||||
$this->phrasen['global/erfolgreichAngelegt']='Created successfully';
|
||||
$this->phrasen['global/keineSuchergebnisse']='No matches found';
|
||||
$this->phrasen['global/bitteWaehlen']='Please select';
|
||||
|
||||
//infrastruktur
|
||||
|
||||
$this->phrasen['global/passwort']='Password';
|
||||
$this->phrasen['global/abmelden']='Logout';
|
||||
$this->phrasen['global/emailAnAssistenz']='Email Administrative Assistant';
|
||||
?>
|
||||
<?php
|
||||
$this->phrasen['global/studiengang']='Degree Program';
|
||||
$this->phrasen['global/studienrichtung']='Degree Program';
|
||||
$this->phrasen['global/institut']='Institute';
|
||||
$this->phrasen['global/semester']='Semester';
|
||||
$this->phrasen['global/studiensemester']='Semester';
|
||||
$this->phrasen['global/studienplan']='Study Plan';
|
||||
$this->phrasen['global/studienzentrum']='Study Center';
|
||||
$this->phrasen['global/studiengangsleitung']='Program Director';
|
||||
$this->phrasen['global/leitung']='Head';
|
||||
$this->phrasen['global/koordination']='Coordination';
|
||||
$this->phrasen['global/lehrveranstaltung']='Subject';
|
||||
$this->phrasen['global/lehreinheit']='Teaching unit';
|
||||
$this->phrasen['global/organisationseinheit']='Organisation Unit';
|
||||
$this->phrasen['global/organisationseinheiten']='Organisation Units';
|
||||
$this->phrasen['global/organisationsform']='Organisational form';
|
||||
$this->phrasen['global/studienjahr']='Academic year';
|
||||
$this->phrasen['global/lektorIn']='Lector';
|
||||
$this->phrasen['global/lektorInnen']='Lectors';
|
||||
|
||||
$this->phrasen['global/ects']='ECTS';
|
||||
$this->phrasen['global/semesterstunden']='Units per semester';
|
||||
|
||||
$this->phrasen['global/studiengangsmanagement']='Study Management';
|
||||
$this->phrasen['global/geschaeftsfuehrendeltg']='business Leadership';
|
||||
$this->phrasen['global/stellvertreter']='Deputy Program Director';
|
||||
$this->phrasen['global/sekretariat']='Administrative Assistant';
|
||||
$this->phrasen['global/studentenvertreter']='Degree Program Representative';
|
||||
$this->phrasen['global/jahrgangsvertretung']='Academic Year Representative';
|
||||
$this->phrasen['global/hochschulvertretung']='UAS Representative';
|
||||
|
||||
$this->phrasen['global/lehrziele']='Teaching goals';
|
||||
$this->phrasen['global/allgemeinerdownload']='Global Download';
|
||||
$this->phrasen['global/newsgroups']='Newsgroups';
|
||||
|
||||
$this->phrasen['global/speichern']='Save';
|
||||
$this->phrasen['global/loeschen']='Delete';
|
||||
$this->phrasen['global/entfernen']='Delete';
|
||||
$this->phrasen['global/editieren']='Edit';
|
||||
$this->phrasen['global/suchen']='Search';
|
||||
$this->phrasen['global/lesen']='Read';
|
||||
$this->phrasen['global/bestaetigen']='Confirm';
|
||||
$this->phrasen['global/alle']='All';
|
||||
$this->phrasen['global/abbrechen']='Cancel';
|
||||
$this->phrasen['global/eintragen']='Register';
|
||||
$this->phrasen['global/erstellen']='Create';
|
||||
$this->phrasen['global/durchfuehren']='Run';
|
||||
$this->phrasen['global/zurueck']='Back';
|
||||
$this->phrasen['global/abschicken']='Submit';
|
||||
$this->phrasen['global/zuruecksetzen']='Reset';
|
||||
$this->phrasen['global/datei']='File';
|
||||
$this->phrasen['global/auswaehlen']='Select';
|
||||
$this->phrasen['global/umbenennen']='Rename';
|
||||
$this->phrasen['global/anzeigen']='Show';
|
||||
$this->phrasen['global/ausblenden']='Hide';
|
||||
$this->phrasen['global/bearbeiten']='Edit';
|
||||
$this->phrasen['global/aendern']='Change';
|
||||
$this->phrasen['global/kopieren']='Copy';
|
||||
$this->phrasen['global/ja']='Yes';
|
||||
$this->phrasen['global/nein']='No';
|
||||
$this->phrasen['global/download']='Download';
|
||||
$this->phrasen['global/auswahl']='Select';
|
||||
$this->phrasen['global/hinzufuegen']='Add';
|
||||
$this->phrasen['global/drucken']='Print';
|
||||
$this->phrasen['global/und']='and';
|
||||
$this->phrasen['global/oder']='or';
|
||||
$this->phrasen['global/faelligAm']='Due on';
|
||||
|
||||
$this->phrasen['global/username']='Username';
|
||||
$this->phrasen['global/vorname']='First Name';
|
||||
$this->phrasen['global/nachname']='Last Name';
|
||||
$this->phrasen['global/anrede']='Title';
|
||||
$this->phrasen['global/name']='Name';
|
||||
$this->phrasen['global/uid']='UID';
|
||||
$this->phrasen['global/postnomen']='Postnomen';
|
||||
$this->phrasen['global/strasse']='Street';
|
||||
$this->phrasen['global/plz']='Postal Code';
|
||||
$this->phrasen['global/ort']='City';
|
||||
$this->phrasen['global/anmerkung']='Comment';
|
||||
$this->phrasen['global/anmerkungen']='Comments';
|
||||
$this->phrasen['global/sprache']='Language';
|
||||
$this->phrasen['global/englisch']='English';
|
||||
$this->phrasen['global/deutsch']='German';
|
||||
$this->phrasen['global/titel']='Title';
|
||||
$this->phrasen['global/geschlecht']='Gender';
|
||||
$this->phrasen['global/mann']='Male';
|
||||
$this->phrasen['global/frau']='Female';
|
||||
$this->phrasen['global/staatsbuergerschaft']='Citizenship';
|
||||
$this->phrasen['global/geburtsdatum']='Date of Birth';
|
||||
$this->phrasen['global/geburtsort']='Place of Birth';
|
||||
$this->phrasen['global/universität']='University';
|
||||
$this->phrasen['global/code']='Code';
|
||||
$this->phrasen['global/adresse']='Address';
|
||||
$this->phrasen['global/hauptwohnsitz']='Principal residence';
|
||||
$this->phrasen['global/nebenwohnsitz']='Secondary residence';
|
||||
$this->phrasen['global/emailAdresse']='E-Mail Address';
|
||||
$this->phrasen['global/mail']='Mail';
|
||||
$this->phrasen['global/telefon']='Telephone';
|
||||
$this->phrasen['global/telefonnummer']='Telephone number';
|
||||
$this->phrasen['global/handy']='Mobile phone';
|
||||
$this->phrasen['global/fax']='Fax';
|
||||
$this->phrasen['global/bezeichnung']='Description';
|
||||
$this->phrasen['global/datum']='Date';
|
||||
$this->phrasen['global/stunde']='Hour';
|
||||
$this->phrasen['global/minute']='Minute';
|
||||
$this->phrasen['global/uhrzeit']='Time';
|
||||
$this->phrasen['global/person']='Person';
|
||||
$this->phrasen['global/personenkz']='StudentID';
|
||||
$this->phrasen['global/personen']='Number of Persons';
|
||||
$this->phrasen['global/beschreibung']='Description';
|
||||
$this->phrasen['global/angelegtAm']='created:';
|
||||
$this->phrasen['global/funktion']='Role'; //Mitarbeiterfunktion zB Assistenz
|
||||
$this->phrasen['global/montag']='Monday';
|
||||
$this->phrasen['global/dienstag']='Tuesday';
|
||||
$this->phrasen['global/mittwoch']='Wednesday';
|
||||
$this->phrasen['global/donnerstag']='Thursday';
|
||||
$this->phrasen['global/freitag']='Friday';
|
||||
$this->phrasen['global/samstag']='Saturday';
|
||||
$this->phrasen['global/sonntag']='Sunday';
|
||||
$this->phrasen['global/matrikelnummer']='Matriculation number';
|
||||
$this->phrasen['global/personenkennzeichen']='Personal identifier';
|
||||
|
||||
$this->phrasen['global/von']='From';
|
||||
$this->phrasen['global/bis']='To';
|
||||
$this->phrasen['global/zweck']='Purpose';
|
||||
$this->phrasen['global/aktion']='Action';
|
||||
$this->phrasen['global/nummer']='Number';
|
||||
$this->phrasen['global/gruppe']='Group';
|
||||
$this->phrasen['global/verband']='Division';
|
||||
$this->phrasen['global/kalender']='Calendar';
|
||||
$this->phrasen['global/beginn']='Start';
|
||||
$this->phrasen['global/ende']='End';
|
||||
$this->phrasen['global/beispiele']='Examples';
|
||||
$this->phrasen['global/neu']='New';
|
||||
$this->phrasen['global/ok']='OK';
|
||||
|
||||
$this->phrasen['global/anmelden']='Register';
|
||||
$this->phrasen['global/angemeldet']='Registered';
|
||||
$this->phrasen['global/löschen']='Delete';
|
||||
$this->phrasen['global/dateiLoeschen']='Delete File';
|
||||
$this->phrasen['global/betreff']='Subject';
|
||||
$this->phrasen['global/handbuch']='Manual';
|
||||
$this->phrasen['global/hilfe']='Help';
|
||||
$this->phrasen['global/benutzer']='User';
|
||||
$this->phrasen['global/anleitung']='Manual';
|
||||
$this->phrasen['global/bericht']='Report';
|
||||
$this->phrasen['global/fixangestellt']='Salaried';
|
||||
|
||||
// Statusmeldungen
|
||||
$this->phrasen['global/erfolgreichgespeichert']='Successfully saved';
|
||||
$this->phrasen['global/erfolgreichgelöscht']='Successfully deleted';
|
||||
$this->phrasen['global/fehleraufgetreten']='Error occurred';
|
||||
$this->phrasen['global/emailgesendetan']='E-Mail sent to';
|
||||
$this->phrasen['global/keineBerechtigungFuerDieseSeite']='You dont have the authority to view this site';
|
||||
$this->phrasen['global/fehlerBeimOeffnenDerDatenbankverbindung']='Cant open Database connection';
|
||||
$this->phrasen['global/fehlerBeimLesenAusDatenbank']='Error reading from database';
|
||||
$this->phrasen['global/userNichtGefunden']='No user found';
|
||||
$this->phrasen['global/datumNichtGesetzt']='Date is missing';
|
||||
$this->phrasen['global/studiensemesterKonnteNichtGefundenWerden'] = 'No semester found';
|
||||
$this->phrasen['global/studiengangKonnteNichtGefundenWerden'] = 'Program not found';
|
||||
$this->phrasen['global/studienjahrKonnteNichtGefundenWerden'] = 'Academic year not found';
|
||||
$this->phrasen['global/fehlerBeimErmittelnDerUID'] = 'Error finding the UID';
|
||||
$this->phrasen['global/nichtAngemeldet'] = 'You are not logged in. No UID found';
|
||||
$this->phrasen['global/LDAPserverNichtErreichbar']='Error connecting to LDAP-Server';
|
||||
$this->phrasen['global/unbekannterFehleraufgetreten']='Unknown error occurred';
|
||||
$this->phrasen['global/fehlerBeiDerParameteruebergabe']='Error in the parameter transfer';
|
||||
$this->phrasen['global/warnungWirklichLoeschen']='Do you want to delete this record?';
|
||||
$this->phrasen['global/dateiErfolgreichHochgeladen']='File successfully uploaded';
|
||||
$this->phrasen['global/dateiNichtErfolgreichHochgeladen']='Failed to upload File. Please retry';
|
||||
$this->phrasen['global/FuerDieseAktionBenoetigenSieAdministrationsrechte']='You must be Administrator.';
|
||||
$this->phrasen['global/dateiExistiertNicht']='File not found';
|
||||
$this->phrasen['global/fehlerBeimAktualisierenDerDaten']='Error updating the data. ';
|
||||
$this->phrasen['global/fehlerBeimLadenDesDatensatzes']='Error loading entries';
|
||||
$this->phrasen['global/fehlerBeimSpeichernDerDaten']='Error saving the data';
|
||||
$this->phrasen['global/datenWurdenGespeichert']='Data saved';
|
||||
$this->phrasen['global/eintragWurdeGeloescht']='Entry deleted';
|
||||
$this->phrasen['global/fehlerBeimLoeschenDesEintrags']='Error deleting entry';
|
||||
$this->phrasen['global/keineBerechtigung']='No authority';
|
||||
$this->phrasen['global/datensatzWurdeNichtGefunden']='Data not found';
|
||||
$this->phrasen['global/keineBerechtigungZumAendernDesDatensatzes']='You dont have the authority to change to data';
|
||||
$this->phrasen['global/keineDatenGefunden']='No data found';
|
||||
$this->phrasen['global/erfolgreichAngelegt']='Created successfully';
|
||||
$this->phrasen['global/keineSuchergebnisse']='No matches found';
|
||||
$this->phrasen['global/bitteWaehlen']='Please select';
|
||||
$this->phrasen['global/zusaetzlicheInformationen']='Additional Informations';
|
||||
|
||||
//infrastruktur
|
||||
|
||||
$this->phrasen['global/passwort']='Password';
|
||||
$this->phrasen['global/abmelden']='Logout';
|
||||
$this->phrasen['global/emailAnAssistenz']='Email Administrative Assistant';
|
||||
?>
|
||||
|
||||
@@ -824,6 +824,8 @@ var FHC_FilterWidget = {
|
||||
html += "</span>";
|
||||
html += "<span>";
|
||||
html += " <select class='" + classOption + "' " + disabled + ">";
|
||||
html += " <option value='minutes' " + (appliedFilter.option == "minutes" ? "selected" : "") + ">Minutes</option>";
|
||||
html += " <option value='hours' " + (appliedFilter.option == "hours" ? "selected" : "") + ">Hours</option>";
|
||||
html += " <option value='days' " + (appliedFilter.option == "days" ? "selected" : "") + ">Days</option>";
|
||||
html += " <option value='months' " + (appliedFilter.option == "months" ? "selected" : "") + ">Months</option>";
|
||||
html += " </select>";
|
||||
|
||||
@@ -544,8 +544,11 @@ var FHC_TableWidget = {
|
||||
|
||||
options.columns = arrayTabulatorColumns;
|
||||
options.data = data.dataset;
|
||||
options.persistentLayout = true; // enables persistence (default store in localStorage if available, else in cookie)
|
||||
options.persistenceID = data.tableUniqueId; // TableWidget unique id to store persistence data seperately for multiple tables
|
||||
if (options.tableWidgetHeader == 'undefined')
|
||||
{
|
||||
options.persistentLayout = true; // enables persistence (default store in localStorage if available, else in cookie)
|
||||
options.persistenceID = data.tableUniqueId; // TableWidget unique id to store persistence data seperately for multiple tables
|
||||
}
|
||||
options.movableColumns = true; // allows changing column order
|
||||
options.tooltipsHeader = true; // set header tooltip with column title
|
||||
options.placeholder = _func_placeholder(); // display text when table is empty
|
||||
@@ -566,12 +569,16 @@ var FHC_TableWidget = {
|
||||
// -------------------------------------------------------------------------------------------------------------
|
||||
|
||||
// Render tableWidgetHeader
|
||||
var tabulatorHeaderHTML = _renderTabulatorHeaderHTML(tableWidgetDiv);
|
||||
tableWidgetDiv.find('#tableWidgetHeader').append(tabulatorHeaderHTML);
|
||||
if (options.tableWidgetHeader == 'undefined' ||
|
||||
(options.tableWidgetHeader != 'undefined' && options.tableWidgetHeader != false))
|
||||
{
|
||||
var tabulatorHeaderHTML = _renderTabulatorHeaderHTML(tableWidgetDiv);
|
||||
tableWidgetDiv.find('#tableWidgetHeader').append(tabulatorHeaderHTML);
|
||||
|
||||
// Render the collapsable div triggered by button in tableWidgetHeader
|
||||
var tabulatorHeaderCollapseHTML = _renderTabulatorHeaderCollapseHTML(tableWidgetDiv);
|
||||
tableWidgetDiv.find('#tableWidgetHeader').after(tabulatorHeaderCollapseHTML);
|
||||
// Render the collapsable div triggered by button in tableWidgetHeader
|
||||
var tabulatorHeaderCollapseHTML = _renderTabulatorHeaderCollapseHTML(tableWidgetDiv);
|
||||
tableWidgetDiv.find('#tableWidgetHeader').after(tabulatorHeaderCollapseHTML);
|
||||
}
|
||||
|
||||
/**
|
||||
* tableWidgetFooter is NOT rendered by default.
|
||||
|
||||
@@ -10,6 +10,12 @@ $("document").ready(function() {
|
||||
|
||||
$("#saveProtocolBtn, #freigebenProtocolBtn").click(
|
||||
function() {
|
||||
|
||||
var freigebendata = {
|
||||
freigeben: false,
|
||||
password: null
|
||||
}
|
||||
|
||||
var data = {
|
||||
abschlussbeurteilung_kurzbz: $("#abschlussbeurteilung_kurzbz").val(),
|
||||
protokoll: $("#protokoll").val(),
|
||||
@@ -19,11 +25,11 @@ $("document").ready(function() {
|
||||
|
||||
if ($(this).prop("id") === 'freigebenProtocolBtn')
|
||||
{
|
||||
data.freigabedatum = true;
|
||||
data.password = $("#password").val();
|
||||
freigebendata.freigeben = true;
|
||||
freigebendata.password = $("#password").val();
|
||||
}
|
||||
|
||||
var checkFields = Pruefungsprotokoll.checkFields(data, $("#verfCheck").prop('checked'));
|
||||
var checkFields = Pruefungsprotokoll.checkFields(data, freigebendata, $("#verfCheck").prop('checked'));
|
||||
$("#protocolform td").removeClass('has-error');
|
||||
if (checkFields.length > 0)
|
||||
{
|
||||
@@ -44,7 +50,7 @@ $("document").ready(function() {
|
||||
return;
|
||||
}
|
||||
|
||||
Pruefungsprotokoll.saveProtokoll($("#abschlusspruefung_id").val(),data);
|
||||
Pruefungsprotokoll.saveProtokoll($("#abschlusspruefung_id").val(), freigebendata, data);
|
||||
}
|
||||
)
|
||||
|
||||
@@ -79,11 +85,11 @@ var Pruefungsprotokoll = {
|
||||
$("#verfNotice").html(FHC_PhrasesLib.t("abschlusspruefung", "verfNotice"));
|
||||
}
|
||||
},
|
||||
checkFields: function(data, verfChecked)
|
||||
checkFields: function(data, freigebendata, verfChecked)
|
||||
{
|
||||
var errors = [];
|
||||
|
||||
if (data.abschlussbeurteilung_kurzbz == "" && data.freigabedatum === true && verfChecked)
|
||||
if (data.abschlussbeurteilung_kurzbz == "" && freigebendata.freigeben === true && verfChecked)
|
||||
errors.push({"abschlussbeurteilung_kurzbz": FHC_PhrasesLib.t("abschlusspruefung", "abschlussbeurteilungLeer")});
|
||||
|
||||
var zeitregex = /^[0-2][0-9]:[0-5][0-9]$/;
|
||||
@@ -111,12 +117,13 @@ var Pruefungsprotokoll = {
|
||||
},
|
||||
// ajax calls
|
||||
// -----------------------------------------------------------------------------------------------------------------
|
||||
saveProtokoll: function(abschlusspruefung_id, data)
|
||||
saveProtokoll: function(abschlusspruefung_id, freigeben, data)
|
||||
{
|
||||
FHC_AjaxClient.ajaxCallPost(
|
||||
CALLED_PATH + '/saveProtokoll',
|
||||
{
|
||||
abschlusspruefung_id: abschlusspruefung_id,
|
||||
freigebendata: freigeben,
|
||||
protocoldata: data
|
||||
},
|
||||
{
|
||||
|
||||
@@ -46,7 +46,12 @@ $(document).ready(function ()
|
||||
{
|
||||
tinymce.init({
|
||||
selector: "#bodyTextArea",
|
||||
plugins: "autoresize"
|
||||
plugins: "autoresize",
|
||||
autoresize_on_init: false,
|
||||
autoresize_min_height: 400,
|
||||
autoresize_max_height: 400,
|
||||
autoresize_bottom_margin: 10,
|
||||
auto_focus: "bodyTextArea"
|
||||
});
|
||||
|
||||
tinymce.init({
|
||||
@@ -73,6 +78,21 @@ $(document).ready(function ()
|
||||
});
|
||||
}
|
||||
|
||||
if ($("#user_fields"))
|
||||
{
|
||||
$("#user_fields").dblclick(function ()
|
||||
{
|
||||
if ($("#bodyTextArea"))
|
||||
{
|
||||
//if editor active add at cursor position, otherwise at end
|
||||
if (tinymce.activeEditor.id === "bodyTextArea")
|
||||
tinymce.activeEditor.execCommand('mceInsertContent', false, $(this).children(":selected").val());
|
||||
else
|
||||
tinyMCE.get("bodyTextArea").setContent(tinyMCE.get("bodyTextArea").getContent() + $(this).children(":selected").val());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if ($("#recipients"))
|
||||
{
|
||||
$("#recipients").change(tinymcePreviewSetContent);
|
||||
|
||||
@@ -112,6 +112,7 @@ function draw_rdf($row)
|
||||
<ADRESSE:typ_name><![CDATA['.$typ.']]></ADRESSE:typ_name>
|
||||
<ADRESSE:heimatadresse><![CDATA['.($row->heimatadresse?'Ja':'Nein').']]></ADRESSE:heimatadresse>
|
||||
<ADRESSE:zustelladresse><![CDATA['.($row->zustelladresse?'Ja':'Nein').']]></ADRESSE:zustelladresse>
|
||||
<ADRESSE:co_name><![CDATA['. $row->co_name.']]></ADRESSE:co_name>
|
||||
<ADRESSE:firma_id><![CDATA['.$row->firma_id.']]></ADRESSE:firma_id>
|
||||
<ADRESSE:firma_name><![CDATA['.$firma_name.']]></ADRESSE:firma_name>
|
||||
<ADRESSE:updateamum><![CDATA['.date('d.m.Y H:i:s',strtotime($row->updateamum)).']]></ADRESSE:updateamum>
|
||||
|
||||
@@ -228,14 +228,14 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
else
|
||||
echo ' <ects_angerechnet></ects_angerechnet>';
|
||||
|
||||
if($row->mischform=='t' || $row->orgform_kurzbz=='VBB')
|
||||
{
|
||||
//Bei Mischformen, die OrgForm aus dem Status nehmen
|
||||
$prestudent = new prestudent();
|
||||
$prestudent->getLastStatus($row->prestudent_id);
|
||||
if($prestudent->orgform_kurzbz!='')
|
||||
$row->orgform_kurzbz=$prestudent->orgform_kurzbz;
|
||||
}
|
||||
//OrgForm aus dem Status nehmen
|
||||
$prestudent = new prestudent();
|
||||
$prestudent->getLastStatus($row->prestudent_id);
|
||||
if($prestudent->orgform_kurzbz!='')
|
||||
$row->orgform_kurzbz=$prestudent->orgform_kurzbz;
|
||||
|
||||
$anforderungen_praxis = 'Das Studium beinhaltet ein facheinschlägiges Berufspraktikum.';
|
||||
$anforderungen_praxiseng = 'Included in the program is a relevant work placement.';
|
||||
|
||||
switch($row->orgform_kurzbz)
|
||||
{
|
||||
@@ -245,6 +245,11 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
break;
|
||||
case 'DL': echo ' <studienart>Fernstudium / Distance Learning</studienart>';
|
||||
break;
|
||||
case 'DUA': // andere praxisanforderungen bei dualem Studium
|
||||
echo ' <studienart>Duales Studium / Integrated work/study degree program</studienart>';
|
||||
$anforderungen_praxis = 'Das Studium ist als duales Studium konzipiert und weist einen hohen Anteil an Praxisphasen in Partnerunternehmen auf, die inhaltlich und organisatorisch im Studienplan verankert sind und die systematische Verschränkung von Wissen und Anwendung fördern.';
|
||||
$anforderungen_praxiseng = 'The program is designed as integrated work study program and has a high proportion of practical phases in partner companies, which are embedded in the curriculum in terms of content and organisation and promote the systematic interconnection of knowledge and utilisation.';
|
||||
break;
|
||||
default: echo ' <studienart></studienart>';
|
||||
break;
|
||||
}
|
||||
@@ -254,8 +259,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
echo ' <niveau_code>UNESCO ISCED 7</niveau_code>';
|
||||
echo ' <zulassungsvoraussetzungen_deutsch><![CDATA[Allgemeine Universitätsreife (vgl. §4 Abs. 3 FHStG idgF), Berufsreifeprüfung bzw. Studienberechtigungsprüfung oder einschlägige berufliche Qualifikation (Lehrabschluss bzw. Abschluss einer berufsbildenden mittleren Schule mit Zusatzprüfungen). Die Aufnahme erfolgt auf Basis eines Auswahlverfahrens (Werdegang, Eignungstest, Bewerbungsgespräch).]]></zulassungsvoraussetzungen_deutsch>';
|
||||
echo ' <zulassungsvoraussetzungen_englisch><![CDATA[Austrian or equivalent foreign school leaving certificate (Reifeprüfung), university entrance examination certificate (Studienberechtigungsprüfung), certificate or equivalent relevant professional qualification (Berufsreifeprüfung) plus entrance examination equal to the university entrance examination. Admission is on the basis of a selection process (including entrance exam and interview, professional background is considered).]]></zulassungsvoraussetzungen_englisch>';
|
||||
echo ' <anforderungen_deutsch><![CDATA[Das Studium erfordert die positive Absolvierung von Lehrveranstaltungen (Vorlesungen, Übungen, Seminaren, Projekten, integrierten Lehrveranstaltungen) im Ausmaß von jeweils 30 ECTS pro Semester gemäß dem vorgeschriebenen Studienplan. Die Ausbildung integriert technische, wirtschaftliche, organisatorische und persönlichkeitsbildende Elemente. Das Studium beinhaltet ein facheinschlägiges Berufpraktikum. Im Rahmen des Studiums ist eine Diplomarbeit zu verfassen und eine abschließende Prüfung (Diplomprüfung) zu absolvieren. Der Studiengang (Kennzahl '.$studiengang_kz.') ist von der AQ Austria akkreditiert.]]></anforderungen_deutsch>';
|
||||
echo ' <anforderungen_englisch><![CDATA[The program requires the positive completion of all courses (lectures, labs, seminars, project work, and integrated courses) to the extend of 30 ECTS per semester according to the curriculum. The program integrates technical, economical, management and personal study elements. Included in the program is a relevant work placement. The degree is awarded upon the successful completion of a diploma theses and the final examination. The program (classification number '.$studiengang_kz.') is accredited by AQ Austria.]]></anforderungen_englisch>';
|
||||
echo ' <anforderungen_deutsch><![CDATA[Das Studium erfordert die positive Absolvierung von Lehrveranstaltungen (Vorlesungen, Übungen, Seminaren, Projekten, integrierten Lehrveranstaltungen) im Ausmaß von jeweils 30 ECTS pro Semester gemäß dem vorgeschriebenen Studienplan. Die Ausbildung integriert technische, wirtschaftliche, organisatorische und persönlichkeitsbildende Elemente. '.$anforderungen_praxis.' Im Rahmen des Studiums ist eine Diplomarbeit zu verfassen und eine abschließende Prüfung (Diplomprüfung) zu absolvieren. Der Studiengang (Kennzahl '.$studiengang_kz.') ist von der AQ Austria akkreditiert.]]></anforderungen_deutsch>';
|
||||
echo ' <anforderungen_englisch><![CDATA[The program requires the positive completion of all courses (lectures, labs, seminars, project work, and integrated courses) to the extend of 30 ECTS per semester according to the curriculum. The program integrates technical, economical, management and personal study elements. '.$anforderungen_praxiseng.' The degree is awarded upon the successful completion of a diploma theses and the final examination. The program (classification number '.$studiengang_kz.') is accredited by AQ Austria.]]></anforderungen_englisch>';
|
||||
echo ' <zugangsberechtigung_deutsch><![CDATA[Der Abschluss des Diplomstudiengangs berechtigt zu einem facheinschlägigen Doktoratsstudium, Magister- bzw. Master-Studium oder postgradualen Studium (mit eventuellen Zusatzprüfungen). Die Qualifikation entspricht einem Master of Science in Engineering, MSc.]]></zugangsberechtigung_deutsch>';
|
||||
echo ' <zugangsberechtigung_englisch><![CDATA[The successful completion of the Diploma Degree Program qualifies the graduate to apply for admission to a relevant Doctoral Degree Program, Master Degree Program or postgraduate studies (additional qualifying exams may be required). The Diploma Degree Program is a graduate program, the qualification is equivalent to Master of Science in Engineering, MSc.]]></zugangsberechtigung_englisch>';
|
||||
echo ' <niveau_deutsch>Diplomstudium (UNESCO ISCED 7)</niveau_deutsch>';
|
||||
@@ -278,8 +283,8 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
echo ' <niveau_code>UNESCO ISCED 6</niveau_code>';
|
||||
echo ' <zulassungsvoraussetzungen_deutsch><![CDATA[Allgemeine Universitätsreife (vgl. §4 Abs. 3 FHStG idgF), Berufsreifeprüfung bzw. Studienberechtigungsprüfung oder einschlägige berufliche Qualifikation (Lehrabschluss bzw. Abschluss einer berufsbildenden mittleren Schule mit Zusatzprüfungen). Die Aufnahme erfolgt auf Basis eines Auswahlverfahrens (Werdegang, Eignungstest, Bewerbungsgespräch).]]></zulassungsvoraussetzungen_deutsch>';
|
||||
echo ' <zulassungsvoraussetzungen_englisch><![CDATA[Austrian or equivalent foreign school leaving certificate (Reifeprüfung), university entrance examination certificate (Studienberechtigungsprüfung), certificate or equivalent relevant professional qualification (Berufsreifeprüfung) plus entrance examination equal to the university entrance examination. Admission is on the basis of a selection process. (including entrance exam and interview, professional background is considered).]]></zulassungsvoraussetzungen_englisch>';
|
||||
echo ' <anforderungen_deutsch><![CDATA[Das Studium erfordert die positive Absolvierung von Lehrveranstaltungen (Vorlesungen, Übungen, Seminaren, Projekten, integrierten Lehrveranstaltungen) im Ausmaß von jeweils 30 ECTS pro Semester gemäß dem vorgeschriebenen Studienplan. Die Ausbildung integriert technische, wirtschaftliche, organisatorische und persönlichkeitsbildende Elemente. Das Studium beinhaltet ein facheinschlägiges Berufpraktikum. Im Rahmen des Studiums ist eine Bachelorarbeit zu verfassen und eine abschließende Prüfung (Bachelorprüfung) zu absolvieren. Der Studiengang (Kennzahl '.$studiengang_kz.') ist von der AQ Austria akkreditiert.]]></anforderungen_deutsch>';
|
||||
echo ' <anforderungen_englisch><![CDATA[The program requires the positive completion of all courses (lectures, labs, seminars, project work, and integrated courses) to the extend of 30 ECTS per semester according to the curriculum. The program integrates technical, economical, management and personal study elements. Included in the program is a relevant work placement. The degree is awarded upon the successful completion of 1 bachelor theses and the final examination. The program (classification number '.$studiengang_kz.') is accredited by AQ Austria.]]></anforderungen_englisch>';
|
||||
echo ' <anforderungen_deutsch><![CDATA[Das Studium erfordert die positive Absolvierung von Lehrveranstaltungen (Vorlesungen, Übungen, Seminaren, Projekten, integrierten Lehrveranstaltungen) im Ausmaß von jeweils 30 ECTS pro Semester gemäß dem vorgeschriebenen Studienplan. Die Ausbildung integriert technische, wirtschaftliche, organisatorische und persönlichkeitsbildende Elemente. '.$anforderungen_praxis.' Im Rahmen des Studiums ist eine Bachelorarbeit zu verfassen und eine abschließende Prüfung (Bachelorprüfung) zu absolvieren. Der Studiengang (Kennzahl '.$studiengang_kz.') ist von der AQ Austria akkreditiert.]]></anforderungen_deutsch>';
|
||||
echo ' <anforderungen_englisch><![CDATA[The program requires the positive completion of all courses (lectures, labs, seminars, project work, and integrated courses) to the extend of 30 ECTS per semester according to the curriculum. The program integrates technical, economical, management and personal study elements. '.$anforderungen_praxiseng.' The degree is awarded upon the successful completion of 1 bachelor theses and the final examination. The program (classification number '.$studiengang_kz.') is accredited by AQ Austria.]]></anforderungen_englisch>';
|
||||
echo ' <zugangsberechtigung_deutsch><![CDATA[Der Abschluss des Bachelorstudiengangs berechtigt zu einem facheinschlägigen Magister- bzw. Master-Studium an einer fachhochschulischen Einrichtung oder Universität (mit eventuellen Zusatzprüfungen).]]></zugangsberechtigung_deutsch>';
|
||||
echo ' <zugangsberechtigung_englisch><![CDATA[The successful completion of the Bachelor Degree Program qualifies the graduate to apply for admission to a relevant Master Degree Program at a University of Applied Sciences or a University (additional qualifying exams may be required).]]></zugangsberechtigung_englisch>';
|
||||
echo ' <niveau_deutsch>Bachelorstudium (UNESCO ISCED 6)</niveau_deutsch>';
|
||||
@@ -360,15 +365,32 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
}
|
||||
}
|
||||
|
||||
$qry = "SELECT von, bis, lehreinheit_id FROM bis.tbl_bisio WHERE student_uid=".$db->db_add_param($uid_arr[$i]);
|
||||
$qry = "SELECT tbl_bisio.bisio_id, von, bis, lehreinheit_id,
|
||||
(SELECT STRING_AGG (
|
||||
tbl_zweck.bezeichnung,
|
||||
', '
|
||||
ORDER BY tbl_zweck.zweck_code
|
||||
) FROM bis.tbl_bisio_zweck
|
||||
JOIN bis.tbl_zweck USING(zweck_code)
|
||||
WHERE tbl_bisio_zweck.bisio_id = tbl_bisio.bisio_id
|
||||
) zweck, ort, universitaet
|
||||
FROM bis.tbl_bisio
|
||||
WHERE student_uid=".$db->db_add_param($uid_arr[$i]);
|
||||
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows()>0)
|
||||
{
|
||||
echo " <auslandssemester>";
|
||||
echo "<auslandssemester>";
|
||||
while($row1 = $db->db_fetch_object())
|
||||
{
|
||||
echo "Auslandssemester/International semester ".$datum->convertISODate($row1->von)." - ".$datum->convertISODate($row1->bis);
|
||||
echo "<auslandssemesters>";
|
||||
echo "<von>".$datum->convertISODate($row1->von)."</von>";
|
||||
echo "<bis>".$datum->convertISODate($row1->bis)."</bis>";
|
||||
echo "<zweck>$row1->zweck</zweck>";
|
||||
echo "<ort>$row1->ort</ort>";
|
||||
echo "<universitaet>$row1->universitaet</universitaet>";
|
||||
echo "</auslandssemesters>";
|
||||
}
|
||||
echo "</auslandssemester>";
|
||||
$auslandssemester=true;
|
||||
|
||||
@@ -22,10 +22,12 @@
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/basis_db.class.php');
|
||||
require_once('../include/rdf.class.php');
|
||||
require_once('../include/datum.class.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/benutzerberechtigung.class.php');
|
||||
|
||||
$uid = get_uid();
|
||||
$datum_obj = new datum();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
if(!$rechte->isBerechtigt('basis/message', null, 's'))
|
||||
@@ -50,7 +52,8 @@ SELECT
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id = r.person_id) as recipient,
|
||||
m.person_id as sender_id,
|
||||
r.person_id as recipient_id,
|
||||
MAX(ss.status) as status
|
||||
MAX(ss.status) as status,
|
||||
MAX(ss.insertamum) as statusdatum
|
||||
FROM public.tbl_msg_message m
|
||||
JOIN public.tbl_msg_recipient r USING(message_id)
|
||||
JOIN public.tbl_msg_status ss ON(r.message_id = ss.message_id AND ss.person_id = r.person_id)
|
||||
@@ -67,7 +70,8 @@ SELECT
|
||||
(SELECT COALESCE(titelpre,'') || ' ' || COALESCE(vorname,'') || ' ' || COALESCE(nachname,'') || ' ' || COALESCE(titelpost,'') FROM public.tbl_person WHERE person_id = r.person_id) as recipient,
|
||||
m.person_id as sender_id,
|
||||
r.person_id as recipient_id,
|
||||
MAX(ss.status) as status
|
||||
MAX(ss.status) as status,
|
||||
MAX(ss.insertamum) as statusdatum
|
||||
FROM public.tbl_msg_recipient r
|
||||
JOIN public.tbl_msg_status ss USING(message_id, person_id)
|
||||
JOIN public.tbl_msg_message m USING(message_id)
|
||||
@@ -104,6 +108,7 @@ if($db->db_query($qry))
|
||||
$oRdf->obj[$i]->setAttribut('message_id',$row->message_id,true);
|
||||
$oRdf->obj[$i]->setAttribut('insertamum',$row->insertamum,true);
|
||||
$oRdf->obj[$i]->setAttribut('status',$status,true);
|
||||
$oRdf->obj[$i]->setAttribut('statusdatum',$datum_obj->formatDatum($row->statusdatum,'d.m.Y H:i'),true);
|
||||
$oRdf->obj[$i]->setAttribut('sender',$row->sender,true);
|
||||
$oRdf->obj[$i]->setAttribut('recipient',$row->recipient,true);
|
||||
$oRdf->obj[$i]->setAttribut('sender_id',$row->sender_id,true);
|
||||
|
||||
@@ -57,6 +57,12 @@ $ersatzkennzeichen = filter_input(INPUT_POST, 'ersatzkennzeichen');
|
||||
$person_id = filter_input(INPUT_POST, 'person_id');
|
||||
$strasse = filter_input(INPUT_POST, 'strasse');
|
||||
|
||||
$dokumenttyp = filter_input(INPUT_POST, 'dokumenttyp');
|
||||
$ausgabedatum = filter_input(INPUT_POST, 'ausgabedatum');
|
||||
$ausstellbehoerde = filter_input(INPUT_POST, 'ausstellbehoerde');
|
||||
$ausstellland = filter_input(INPUT_POST, 'ausstellland');
|
||||
$dokumentnr = filter_input(INPUT_POST, 'dokumentnr');
|
||||
|
||||
?><!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
@@ -79,6 +85,7 @@ $strasse = filter_input(INPUT_POST, 'strasse');
|
||||
<li><a href="datenverbund_client.php?action=getReservations">Matrikelnummer Reservierungen anzeigen</a></li>
|
||||
<li><a href="datenverbund_client.php?action=getKontingent">Matrikelnummer Kontingent anfordern</a></li>
|
||||
<li><a href="datenverbund_client.php?action=setMatrikelnummer">Matrikelnummer Vergabe melden</a></li>
|
||||
<li><a href="datenverbund_client.php?action=setMatrikelnummerErnp">ERNP-Eintragung anfordern</a></li>
|
||||
<li><a href="datenverbund_client.php?action=assignMatrikelnummer">Gesamtprozess (Abfrage, ggf Vergabemeldung, Speichern bei Person)</a></li>
|
||||
<li><a href="datenverbund_client.php?action=getBPK">BPK ermitteln</a></li>
|
||||
<li><a href="datenverbund_client.php?action=pruefeBPK">BPK ermitteln manuell</a></li>
|
||||
@@ -114,6 +121,50 @@ $strasse = filter_input(INPUT_POST, 'strasse');
|
||||
</tr>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Erstellt eine Tabllezeile mit Input-Feld
|
||||
* @param string $name Name des Inputs.
|
||||
* @param string $title Titel der Zeile.
|
||||
* @param string $value Value des Inputs.
|
||||
* @param string $hint Hinweistext zu Inputfeld.
|
||||
* @param int $maxlength Maximallaenge des Eingabefeldes.
|
||||
* @return void
|
||||
*/
|
||||
function printDropdownRow($name, $title, $values, $selectedValue = '', $hint = '')
|
||||
{
|
||||
global $db;
|
||||
|
||||
echo '
|
||||
<tr>
|
||||
<td align="right">'.$title.':</td>
|
||||
<td>
|
||||
<select name="'.$name.'">';
|
||||
|
||||
foreach ($values as $idx => $value)
|
||||
{
|
||||
$selected = $selectedValue === $value ? ' selected' : '';
|
||||
echo '<option value="'.$db->convert_html_chars($value).'"'.$selected.'>'.$idx.'</option>';
|
||||
}
|
||||
|
||||
echo '</select>'.$hint.'
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Prints Stammdaten inputfields for setMatrikelnummer form
|
||||
*/
|
||||
function printSetMatrikelnrRows()
|
||||
{
|
||||
global $matrikelnr, $nachname, $vorname, $geburtsdatum, $geschlecht, $postleitzahl;
|
||||
printrow('matrikelnummer', 'Matrikelnummer', $matrikelnr);
|
||||
printrow('nachname', 'Nachname', $nachname, '', 255);
|
||||
printrow('vorname', 'Vorname', $vorname, '', 30);
|
||||
printrow('geburtsdatum', 'Geburtsdatum', $geburtsdatum, 'Format: YYYYMMDD', 10);
|
||||
printrow('geschlecht', 'Geschlecht', $geschlecht, 'Format: M | W', 1);
|
||||
printrow('postleitzahl', 'Postleitzahl', $postleitzahl, '', 10);
|
||||
}
|
||||
|
||||
switch($action)
|
||||
{
|
||||
case 'getOAuth':
|
||||
@@ -144,17 +195,37 @@ $strasse = filter_input(INPUT_POST, 'strasse');
|
||||
break;
|
||||
|
||||
case 'setMatrikelnummer':
|
||||
printrow('matrikelnummer', 'Matrikelnummer', $matrikelnr);
|
||||
printrow('nachname', 'Nachname', $nachname, '', 255);
|
||||
printrow('vorname', 'Vorname', $vorname, '', 30);
|
||||
printrow('geburtsdatum', 'Geburtsdatum', $geburtsdatum, 'Format: YYYYMMDD', 10);
|
||||
printrow('geschlecht', 'Geschlecht', $geschlecht, 'Format: M | W', 1);
|
||||
printrow('postleitzahl', 'Postleitzahl', $postleitzahl, '', 10);
|
||||
printSetMatrikelnrRows();
|
||||
printrow('staat', 'Staat', $staat, '1-3 Stellen Codex (zb A für Österreich)', 3);
|
||||
printrow('svnr', 'SVNR', $svnr);
|
||||
printrow('matura', 'Maturadatum', $matura, 'Format: YYYYMMDD (optional)', 10);
|
||||
break;
|
||||
|
||||
case 'setMatrikelnummerErnp':
|
||||
echo '<b>HINWEIS: Die Eintragung ins ERnP (Ergänzungsregister für natürliche Personen) sollte nur dann durchgeführt werden, <br />wenn für die Person bei "Matrikelnummer Vergabe melden" keine BPK ermittelt werden kann.
|
||||
<br />Beim Punkt "BPK ermitteln" sollte dementsprechend keine BPK zurückgegeben werden.</b></br></br>';
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="2"><b>Personmeldung</b></td>
|
||||
</tr>';
|
||||
|
||||
printSetMatrikelnrRows();
|
||||
printrow('staat', 'Staat', $staat, '1-3 Stellen Codex (zb D für Deutschland)', 3);
|
||||
printrow('svnr', 'SVNR/Ersatzkennzeichen', $svnr);
|
||||
printrow('matura', 'Maturadatum', $matura, 'Format: YYYYMMDD (optional)', 10);
|
||||
|
||||
echo '
|
||||
<tr>
|
||||
<td colspan="2"><b>Ernpmeldung</b></td>
|
||||
</tr>';
|
||||
|
||||
printDropdownRow('dokumenttyp', 'Dokumenttyp', array('Reisepass' => 'REISEP', 'Personalausweis' => 'PERSAUSW'), $dokumenttyp,'');
|
||||
printrow('dokumentnr', 'Dokumentnummer', $dokumentnr, '', 60);
|
||||
printrow('ausgabedatum', 'Ausgabedatum', $ausgabedatum, 'Format: YYYYMMDD', 10);
|
||||
printrow('ausstellbehoerde', 'Ausstellbehörde', $ausstellbehoerde, '', 40);
|
||||
printrow('ausstellland', 'Ausstellland', $ausstellland, '1-3 Stellen Codex (zb D für Deutschland)', 60);
|
||||
break;
|
||||
|
||||
case 'assignMatrikelnummer':
|
||||
printrow('person_id', 'PersonID', $person_id);
|
||||
break;
|
||||
@@ -337,6 +408,33 @@ if (isset($_REQUEST['submit']))
|
||||
echo '<br><b>Fehlgeschlagen:</b>'.$result->errormsg;
|
||||
break;
|
||||
|
||||
case 'setMatrikelnummerErnp':
|
||||
$person = new stdClass();
|
||||
$person->matrikelnummer = $matrikelnr;
|
||||
$person->vorname = $vorname;
|
||||
$person->nachname = $nachname;
|
||||
$person->geburtsdatum = $geburtsdatum;
|
||||
$person->geschlecht = $geschlecht;
|
||||
$person->staat = $staat;
|
||||
$person->plz = $postleitzahl;
|
||||
$person->matura = $matura; // Optional
|
||||
$person->svnr = $svnr; // Optional
|
||||
|
||||
$reisepass = new stdClass();
|
||||
$reisepass->dokumenttyp = $dokumenttyp;
|
||||
$reisepass->ausgabedatum = $ausgabedatum;
|
||||
$reisepass->ausstellBehoerde = $ausstellbehoerde;
|
||||
$reisepass->ausstellland = $ausstellland;
|
||||
$reisepass->dokumentnr = $dokumentnr;
|
||||
|
||||
$result = $dvb->setMatrikelnummerErnp(DVB_BILDUNGSEINRICHTUNG_CODE, $person, $reisepass);
|
||||
|
||||
if (ErrorHandler::isSuccess($result))
|
||||
echo '<br><b>Erfolgreich gemeldet</b>';
|
||||
else
|
||||
echo '<br><b>Fehlgeschlagen:</b>'.$result->errormsg;
|
||||
break;
|
||||
|
||||
case 'assignMatrikelnummer':
|
||||
$result = $dvb->assignMatrikelnummer($person_id);
|
||||
if(ErrorHandler::isSuccess($result))
|
||||
@@ -371,7 +469,14 @@ if (isset($_REQUEST['submit']))
|
||||
break;
|
||||
}
|
||||
if (isset($_POST['debug']))
|
||||
echo '<div style="color: gray">'.nl2br(htmlentities($dvb->debug_output)).'</div>';
|
||||
{
|
||||
$output = nl2br(htmlentities($dvb->debug_output));
|
||||
$output = str_replace('><','><br><',$output);
|
||||
$output = preg_replace('/(<uni:.*?>)/','<span style="color: deepskyblue">$1</span>',$output);
|
||||
$output = preg_replace('/(<\/uni:.*?>)/','<span style="color: deepskyblue">$1</span>',$output);
|
||||
|
||||
echo '<div style="color: gray">'.$output.'</div>';
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@@ -154,7 +154,7 @@ if($result = $db->db_query($qry))
|
||||
$message .= "Fachhochschule Technikum Wien\n";
|
||||
$message .= "Höchstädtplatz 6\n";
|
||||
$message .= "1200 Wien \n";
|
||||
$to = 'wienerro@technikum-wien.at, astfaell@technikum-wien.at';
|
||||
$to = 'wienerro@technikum-wien.at, astfaell@technikum-wien.at, olensky@technikum-wien.at';
|
||||
$mail = new mail($to,'no-reply@'.DOMAIN,'Abbrecher Information', $message);
|
||||
if($mail->send())
|
||||
$text.="Abbrecher Infomail an $to verschickt\n";
|
||||
|
||||
@@ -195,6 +195,7 @@ $berechtigungen = array(
|
||||
array('student/noten','Notenverwaltung'),
|
||||
array('student/stammdaten','Stammdaten der Studenten'),
|
||||
array('student/vorrueckung','Studentenvorrückung'),
|
||||
array('student/zahlungAdmin','Zahlungsadministration'),
|
||||
array('system/developer','Anzeige zusätzlicher Developerinfos'),
|
||||
array('system/loginasuser','Berechtigung zum Einloggen als anderer User'),
|
||||
array('system/phrase','Bearbeiten von Textphrasen'),
|
||||
|
||||
+66
-2
@@ -196,6 +196,43 @@ if(!$result = @$db->db_query("SELECT 1 FROM public.vw_msg_vars_person LIMIT 1"))
|
||||
echo '<br>Granted privileges to <strong>vilesci</strong> on public.vw_msg_vars_person';
|
||||
}
|
||||
|
||||
// CREATE OR REPLACE VIEW public.vw_msg_vars_user and grants privileges
|
||||
if(!$result = @$db->db_query("SELECT 1 FROM public.vw_msg_vars_user LIMIT 1"))
|
||||
{
|
||||
$qry = '
|
||||
CREATE OR REPLACE VIEW public.vw_msg_vars_user AS (
|
||||
SELECT DISTINCT ON
|
||||
(b.uid) b.uid AS "my_uid",
|
||||
p.vorname AS "my_vorname",
|
||||
p.nachname AS "my_nachname",
|
||||
COALESCE(b.alias, b.uid) AS "my_alias",
|
||||
ma.telefonklappe AS "my_durchwahl"
|
||||
FROM public.tbl_person p
|
||||
JOIN public.tbl_benutzer b USING (person_id)
|
||||
JOIN public.tbl_mitarbeiter ma ON ma.mitarbeiter_uid = b.uid
|
||||
WHERE ma.personalnummer > 0
|
||||
);';
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.vw_msg_vars_user: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>public.vw_msg_vars_user view created';
|
||||
|
||||
$qry = 'GRANT SELECT ON TABLE public.vw_msg_vars_user TO web;';
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.vw_msg_vars_user: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Granted privileges to <strong>web</strong> on public.vw_msg_vars_user';
|
||||
|
||||
$qry = 'GRANT SELECT ON TABLE public.vw_msg_vars_user TO vilesci;';
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.vw_msg_vars_user: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Granted privileges to <strong>vilesci</strong> on public.vw_msg_vars_user';
|
||||
}
|
||||
|
||||
//Spalte anmerkung und rechnungsadresse in tbl_adresse
|
||||
if(!$result = @$db->db_query("SELECT rechnungsadresse FROM public.tbl_adresse LIMIT 1"))
|
||||
{
|
||||
@@ -4389,6 +4426,19 @@ if(!$result = @$db->db_query("SELECT sort FROM lehre.tbl_abschlussbeurteilung LI
|
||||
echo '<br>lehre.tbl_abschlussbeurteilung: Spalte sort hinzugefuegt!<br>';
|
||||
}
|
||||
|
||||
//Spalte co_adresse in tbl_adresse
|
||||
if(!$result = @$db->db_query("SELECT co_name FROM public.tbl_adresse LIMIT 1"))
|
||||
{
|
||||
$qry = "
|
||||
ALTER TABLE public.tbl_adresse ADD COLUMN co_name varchar(256);
|
||||
COMMENT ON COLUMN public.tbl_adresse.co_name IS 'Name des abweichenden Empfaengers';";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_adresse: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>public.tbl_adresse: Spalte co_name und anmerkung hinzugefuegt';
|
||||
}
|
||||
|
||||
// Add column iso3166_1_a3 to tbl_nation
|
||||
if(!$result = @$db->db_query("SELECT iso3166_1_a3 FROM bis.tbl_nation LIMIT 1"))
|
||||
{
|
||||
@@ -4401,6 +4451,20 @@ if(!$result = @$db->db_query("SELECT iso3166_1_a3 FROM bis.tbl_nation LIMIT 1"))
|
||||
echo '<br>bis.tbl_nation: Spalte iso3166_1_a3 hinzugefuegt';
|
||||
}
|
||||
|
||||
// OE_KURZBZ in system.tbl_filters auf 32 Zeichen verlängert
|
||||
if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='wawi' AND TABLE_NAME='tbl_betriebsmitteltyp' AND COLUMN_NAME = 'typ_code' AND character_maximum_length=2"))
|
||||
{
|
||||
if($db->db_num_rows($result)>0)
|
||||
{
|
||||
$qry = " ALTER TABLE wawi.tbl_betriebsmitteltyp ALTER COLUMN typ_code TYPE varchar(6)";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>wawi.tbl_betriebsmitteltyp '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Spalte typ_code in wawi.tbl_betriebsmitteltyp von character(2) auf varchar(6) geändert<br>';
|
||||
}
|
||||
}
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
@@ -4552,7 +4616,7 @@ $tabellen=array(
|
||||
"lehre.tbl_zeugnis" => array("zeugnis_id","student_uid","zeugnis","erstelltam","gedruckt","titel","bezeichnung","updateamum","updatevon","insertamum","insertvon","ext_id"),
|
||||
"lehre.tbl_zeugnisnote" => array("lehrveranstaltung_id","student_uid","studiensemester_kurzbz","note","uebernahmedatum","benotungsdatum","bemerkung","updateamum","updatevon","insertamum","insertvon","ext_id","punkte"),
|
||||
"public.ci_apikey" => array("apikey_id","key","level","ignore_limits","date_created"),
|
||||
"public.tbl_adresse" => array("adresse_id","person_id","name","strasse","plz","ort","gemeinde","nation","typ","heimatadresse","zustelladresse","firma_id","updateamum","updatevon","insertamum","insertvon","ext_id","rechnungsadresse","anmerkung"),
|
||||
"public.tbl_adresse" => array("adresse_id","person_id","name","strasse","plz","ort","gemeinde","nation","typ","heimatadresse","zustelladresse","firma_id","updateamum","updatevon","insertamum","insertvon","ext_id","rechnungsadresse","anmerkung", "co_name"),
|
||||
"public.tbl_akte" => array("akte_id","person_id","dokument_kurzbz","uid","inhalt","mimetype","erstelltam","gedruckt","titel","bezeichnung","updateamum","updatevon","insertamum","insertvon","ext_id","dms_id","nachgereicht","anmerkung","titel_intern","anmerkung_intern","nachgereicht_am","ausstellungsnation","formal_geprueft_amum","archiv","signiert","stud_selfservice","akzeptiertamum"),
|
||||
"public.tbl_ampel" => array("ampel_id","kurzbz","beschreibung","benutzer_select","deadline","vorlaufzeit","verfallszeit","insertamum","insertvon","updateamum","updatevon","email","verpflichtend","buttontext"),
|
||||
"public.tbl_ampel_benutzer_bestaetigt" => array("ampel_benutzer_bestaetigt_id","ampel_id","uid","insertamum","insertvon"),
|
||||
@@ -4687,7 +4751,7 @@ $tabellen=array(
|
||||
"wawi.tbl_bestellungtag" => array("tag","bestellung_id","insertamum","insertvon"),
|
||||
"wawi.tbl_bestelldetailtag" => array("tag","bestelldetail_id","insertamum","insertvon"),
|
||||
"wawi.tbl_projekt_bestellung" => array("projekt_kurzbz","bestellung_id","anteil"),
|
||||
"wawi.tbl_bestellung" => array("bestellung_id","besteller_uid","kostenstelle_id","konto_id","firma_id","lieferadresse","rechnungsadresse","freigegeben","bestell_nr","titel","bemerkung","liefertermin","updateamum","updatevon","insertamum","insertvon","ext_id","zahlungstyp_kurzbz","zuordnung_uid","zuordnung_raum","zuordnung","auftragsbestaetigung","auslagenersatz","iban","wird_geleast","nicht_bestellen","empfehlung_leasing"),
|
||||
"wawi.tbl_bestellung" => array("bestellung_id","besteller_uid","kostenstelle_id","konto_id","firma_id","lieferadresse","rechnungsadresse","freigegeben","bestell_nr","titel","bemerkung","liefertermin","updateamum","updatevon","insertamum","insertvon","ext_id","zahlungstyp_kurzbz"),
|
||||
"wawi.tbl_bestelldetail" => array("bestelldetail_id","bestellung_id","position","menge","verpackungseinheit","beschreibung","artikelnummer","preisprove","mwst","erhalten","sort","text","updateamum","updatevon","insertamum","insertvon"),
|
||||
"wawi.tbl_bestellung_bestellstatus" => array("bestellung_bestellstatus_id","bestellung_id","bestellstatus_kurzbz","uid","oe_kurzbz","datum","insertamum","insertvon","updateamum","updatevon"),
|
||||
"wawi.tbl_bestellstatus" => array("bestellstatus_kurzbz","beschreibung"),
|
||||
|
||||
+147
-25
@@ -32,7 +32,7 @@ $filters = array(
|
||||
"columns": [
|
||||
{"name": "Vorname"},
|
||||
{"name": "Nachname"},
|
||||
{"name": "Nation"},
|
||||
{"name": "ZGVNation"},
|
||||
{"name": "StgAbgeschickt"},
|
||||
{"name": "Studiensemester"},
|
||||
{"name": "LastAction"},
|
||||
@@ -65,7 +65,7 @@ $filters = array(
|
||||
"columns": [
|
||||
{"name": "Vorname"},
|
||||
{"name": "Nachname"},
|
||||
{"name": "Nation"},
|
||||
{"name": "ZGVNation"},
|
||||
{"name": "StgAbgeschickt"},
|
||||
{"name": "Studiensemester"},
|
||||
{"name": "LastAction"},
|
||||
@@ -104,7 +104,7 @@ $filters = array(
|
||||
"columns": [
|
||||
{"name": "Vorname"},
|
||||
{"name": "Nachname"},
|
||||
{"name": "Nation"},
|
||||
{"name": "ZGVNation"},
|
||||
{"name": "LastAction"},
|
||||
{"name": "LastActionType"},
|
||||
{"name": "User/Operator"},
|
||||
@@ -139,7 +139,7 @@ $filters = array(
|
||||
"columns": [
|
||||
{"name": "Vorname"},
|
||||
{"name": "Nachname"},
|
||||
{"name": "Nation"},
|
||||
{"name": "ZGVNation"},
|
||||
{"name": "LastAction"},
|
||||
{"name": "User/Operator"},
|
||||
{"name": "LockUser"},
|
||||
@@ -179,7 +179,7 @@ $filters = array(
|
||||
"columns": [
|
||||
{"name": "Vorname"},
|
||||
{"name": "Nachname"},
|
||||
{"name": "Nation"},
|
||||
{"name": "ZGVNation"},
|
||||
{"name": "StgAbgeschickt"},
|
||||
{"name": "Studiensemester"},
|
||||
{"name": "LastAction"},
|
||||
@@ -217,7 +217,7 @@ $filters = array(
|
||||
"columns": [
|
||||
{"name": "Vorname"},
|
||||
{"name": "Nachname"},
|
||||
{"name": "Nation"},
|
||||
{"name": "ZGVNation"},
|
||||
{"name": "LastAction"},
|
||||
{"name": "User/Operator"},
|
||||
{"name": "LockUser"},
|
||||
@@ -438,13 +438,13 @@ $filters = array(
|
||||
array(
|
||||
'app' => 'core',
|
||||
'dataset_name' => 'logs',
|
||||
'filter_kurzbz' => 'last7days',
|
||||
'description' => '{Last 7 days logs}',
|
||||
'filter_kurzbz' => 'last1min',
|
||||
'description' => '{Last minute logs}',
|
||||
'sort' => 1,
|
||||
'default_filter' => true,
|
||||
'filter' => '
|
||||
{
|
||||
"name": "All logs from the last 7 days",
|
||||
"name": "All logs from the last minute",
|
||||
"columns": [
|
||||
{"name": "RequestId"},
|
||||
{"name": "ExecutionTime"},
|
||||
@@ -456,8 +456,8 @@ $filters = array(
|
||||
{
|
||||
"name": "ExecutionTime",
|
||||
"operation": "lt",
|
||||
"condition": "7",
|
||||
"option": "days"
|
||||
"condition": "1",
|
||||
"option": "minutes"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -467,13 +467,13 @@ $filters = array(
|
||||
array(
|
||||
'app' => 'core',
|
||||
'dataset_name' => 'logs',
|
||||
'filter_kurzbz' => 'jobs14days',
|
||||
'description' => '{Last 14 days jobs logs}',
|
||||
'filter_kurzbz' => 'jobs24hours',
|
||||
'description' => '{Last 24 hours jobs logs}',
|
||||
'sort' => 2,
|
||||
'default_filter' => false,
|
||||
'filter' => '
|
||||
{
|
||||
"name": "All jobs logs from the last 14 days",
|
||||
"name": "All jobs logs from the last 24 hours",
|
||||
"columns": [
|
||||
{"name": "RequestId"},
|
||||
{"name": "ExecutionTime"},
|
||||
@@ -487,11 +487,133 @@ $filters = array(
|
||||
"operation": "contains",
|
||||
"condition": "job"
|
||||
},
|
||||
{
|
||||
"name": "RequestId",
|
||||
"operation": "contains",
|
||||
"condition": "JOB"
|
||||
},
|
||||
{
|
||||
"name": "ExecutionTime",
|
||||
"operation": "lt",
|
||||
"condition": "14",
|
||||
"option": "days"
|
||||
"condition": "24",
|
||||
"option": "hours"
|
||||
}
|
||||
]
|
||||
}
|
||||
',
|
||||
'oe_kurzbz' => null,
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'dataset_name' => 'logs',
|
||||
'filter_kurzbz' => 'jobs48hours',
|
||||
'description' => '{Last 48 hours jobs logs}',
|
||||
'sort' => 2,
|
||||
'default_filter' => false,
|
||||
'filter' => '
|
||||
{
|
||||
"name": "All jobs logs from the last 48 hours",
|
||||
"columns": [
|
||||
{"name": "RequestId"},
|
||||
{"name": "ExecutionTime"},
|
||||
{"name": "ExecutedBy"},
|
||||
{"name": "Description"},
|
||||
{"name": "Data"}
|
||||
],
|
||||
"filters": [
|
||||
{
|
||||
"name": "WebserviceType",
|
||||
"operation": "contains",
|
||||
"condition": "job"
|
||||
},
|
||||
{
|
||||
"name": "RequestId",
|
||||
"operation": "contains",
|
||||
"condition": "JOB"
|
||||
},
|
||||
{
|
||||
"name": "ExecutionTime",
|
||||
"operation": "lt",
|
||||
"condition": "48",
|
||||
"option": "hours"
|
||||
}
|
||||
]
|
||||
}
|
||||
',
|
||||
'oe_kurzbz' => null,
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'dataset_name' => 'logs',
|
||||
'filter_kurzbz' => 'jqws24hours',
|
||||
'description' => '{Last 24 hours JQWs logs}',
|
||||
'sort' => 2,
|
||||
'default_filter' => false,
|
||||
'filter' => '
|
||||
{
|
||||
"name": "All Job Queue Workers logs from the last 24 hours",
|
||||
"columns": [
|
||||
{"name": "RequestId"},
|
||||
{"name": "ExecutionTime"},
|
||||
{"name": "ExecutedBy"},
|
||||
{"name": "Description"},
|
||||
{"name": "Data"}
|
||||
],
|
||||
"filters": [
|
||||
{
|
||||
"name": "WebserviceType",
|
||||
"operation": "contains",
|
||||
"condition": "job"
|
||||
},
|
||||
{
|
||||
"name": "RequestId",
|
||||
"operation": "contains",
|
||||
"condition": "JQW"
|
||||
},
|
||||
{
|
||||
"name": "ExecutionTime",
|
||||
"operation": "lt",
|
||||
"condition": "24",
|
||||
"option": "hours"
|
||||
}
|
||||
]
|
||||
}
|
||||
',
|
||||
'oe_kurzbz' => null,
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'dataset_name' => 'logs',
|
||||
'filter_kurzbz' => 'jqws48hours',
|
||||
'description' => '{Last 48 hours JQWs logs}',
|
||||
'sort' => 2,
|
||||
'default_filter' => false,
|
||||
'filter' => '
|
||||
{
|
||||
"name": "All Job Queue Workers logs from the last 48 hours",
|
||||
"columns": [
|
||||
{"name": "RequestId"},
|
||||
{"name": "ExecutionTime"},
|
||||
{"name": "ExecutedBy"},
|
||||
{"name": "Description"},
|
||||
{"name": "Data"}
|
||||
],
|
||||
"filters": [
|
||||
{
|
||||
"name": "WebserviceType",
|
||||
"operation": "contains",
|
||||
"condition": "job"
|
||||
},
|
||||
{
|
||||
"name": "RequestId",
|
||||
"operation": "contains",
|
||||
"condition": "JQW"
|
||||
},
|
||||
{
|
||||
"name": "ExecutionTime",
|
||||
"operation": "lt",
|
||||
"condition": "48",
|
||||
"option": "hours"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -535,13 +657,13 @@ $filters = array(
|
||||
array(
|
||||
'app' => 'core',
|
||||
'dataset_name' => 'logs',
|
||||
'filter_kurzbz' => 'content3days',
|
||||
'description' => '{Last 3 days content logs}',
|
||||
'filter_kurzbz' => 'content3minutes',
|
||||
'description' => '{Last 3 minutes content logs}',
|
||||
'sort' => 4,
|
||||
'default_filter' => false,
|
||||
'filter' => '
|
||||
{
|
||||
"name": "All content logs from the last 3 days",
|
||||
"name": "All content logs from the last 3 minutes",
|
||||
"columns": [
|
||||
{"name": "RequestId"},
|
||||
{"name": "ExecutionTime"},
|
||||
@@ -559,7 +681,7 @@ $filters = array(
|
||||
"name": "ExecutionTime",
|
||||
"operation": "lt",
|
||||
"condition": "3",
|
||||
"option": "days"
|
||||
"option": "minutes"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -569,13 +691,13 @@ $filters = array(
|
||||
array(
|
||||
'app' => 'core',
|
||||
'dataset_name' => 'logs',
|
||||
'filter_kurzbz' => 'wienerlinien7days',
|
||||
'description' => '{Last 7 days wiener linien logs}',
|
||||
'filter_kurzbz' => 'wienerlinien24hours',
|
||||
'description' => '{Last 24 hours Wiener Linien logs}',
|
||||
'sort' => 5,
|
||||
'default_filter' => false,
|
||||
'filter' => '
|
||||
{
|
||||
"name": "All wiener linien logs from the last 7 days",
|
||||
"name": "All Wiener Linien logs from the last 24 hours",
|
||||
"columns": [
|
||||
{"name": "RequestId"},
|
||||
{"name": "ExecutionTime"},
|
||||
@@ -592,8 +714,8 @@ $filters = array(
|
||||
{
|
||||
"name": "ExecutionTime",
|
||||
"operation": "lt",
|
||||
"condition": "7",
|
||||
"option": "days"
|
||||
"condition": "24",
|
||||
"option": "hours"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -7949,6 +7949,26 @@ Any unusual occurrences
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
'phrase' => 'meineFelder',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Meine Felder',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'My fields',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'ui',
|
||||
|
||||
@@ -44,8 +44,16 @@ $fehler='';
|
||||
$maxsemester=0;
|
||||
$v='';
|
||||
$studiensemester=new studiensemester();
|
||||
$ssem=$studiensemester->getaktorNext();
|
||||
$psem=$studiensemester->getPrevious();
|
||||
if (isset($_GET['studiensemester']))
|
||||
{
|
||||
$ssem = $_GET['studiensemester'];
|
||||
$psem = $studiensemester->getPreviousFrom($ssem);
|
||||
}
|
||||
else
|
||||
{
|
||||
$ssem=$studiensemester->getaktorNext();
|
||||
$psem=$studiensemester->getPrevious();
|
||||
}
|
||||
$datei='';
|
||||
$zaehl=0;
|
||||
$lehrgangsname = '';
|
||||
@@ -93,6 +101,18 @@ if(isset($_GET['plausi']))
|
||||
{
|
||||
$plausi=$_GET['plausi'];
|
||||
}
|
||||
|
||||
// Standortcode
|
||||
if (defined('BIS_STANDORTCODE_LEHRGAENGE') && BIS_STANDORTCODE_LEHRGAENGE != '0')
|
||||
{
|
||||
$standortcode = BIS_STANDORTCODE_LEHRGAENGE;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<H2>Standortcode für Lehrgänge fehlt.</H2>";
|
||||
exit;
|
||||
}
|
||||
|
||||
$datumobj=new datum();
|
||||
|
||||
//Lehrgangsdaten auslesen
|
||||
@@ -185,6 +205,7 @@ if($result = $db->db_query($qry))
|
||||
$gemeinde=$rowadr->gemeinde;
|
||||
$strasse=$rowadr->strasse;
|
||||
$nation=$rowadr->nation;
|
||||
$co_name = $rowadr->co_name;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -192,7 +213,58 @@ if($result = $db->db_query($qry))
|
||||
$gemeinde='';
|
||||
$strasse='';
|
||||
$nation='';
|
||||
$co_name = '';
|
||||
}
|
||||
|
||||
// Zustelladresse & c/o Name(=abweichender Empfaenger)
|
||||
$qryzustelladr = "
|
||||
SELECT *
|
||||
FROM public.tbl_adresse
|
||||
WHERE zustelladresse IS TRUE
|
||||
AND person_id=". $db->db_add_param($row->pers_id). ";
|
||||
";
|
||||
$results = $db->db_query($qryzustelladr);
|
||||
|
||||
if ($db->db_num_rows($results) != 1)
|
||||
{
|
||||
$error_log1.= "Es sind ".$db->db_num_rows($results)." Zustelladressen eingetragen\n";
|
||||
}
|
||||
|
||||
$zustell_plz = '';
|
||||
$zustell_gemeinde = '';
|
||||
$zustell_strasse = '';
|
||||
$zustell_nation = '';
|
||||
|
||||
if ($rowzustelladr = $db->db_fetch_object($results))
|
||||
{
|
||||
$zustell_plz = $rowzustelladr->plz;
|
||||
$zustell_gemeinde = $rowzustelladr->gemeinde;
|
||||
$zustell_strasse = $rowzustelladr->strasse;
|
||||
$zustell_nation = $rowzustelladr->nation;
|
||||
}
|
||||
|
||||
// eMail-Adresse
|
||||
$qry_mail = "
|
||||
SELECT kontakt
|
||||
FROM public.tbl_kontakt
|
||||
WHERE kontakttyp = 'email'
|
||||
AND zustellung = TRUE
|
||||
AND person_id = ". $db->db_add_param($row->pers_id). "
|
||||
ORDER BY insertamum DESC LIMIT 1;
|
||||
";
|
||||
|
||||
$email = '';
|
||||
if ($result_email = $db->db_query($qry_mail))
|
||||
{
|
||||
if($db->db_num_rows($result_email) == 1)
|
||||
{
|
||||
if($row_mail = $db->db_fetch_object($result_email))
|
||||
{
|
||||
$email = $row_mail->kontakt;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($row->gebdatum<'1920-01-01' OR $row->gebdatum==null OR $row->gebdatum=='')
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Geburtsdatum ('".$row->gebdatum."')";
|
||||
@@ -237,6 +309,7 @@ if($result = $db->db_query($qry))
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Ersatzkennzeichen ('".$row->ersatzkennzeichen."') enthält Geburtsdatum (".$row->gebdatum.") nicht";
|
||||
}
|
||||
// Wenn SVNR fehlt, darf Ersatzkennzeichen nicht fehlen (und umgekehrt)
|
||||
if(($row->svnr=='' || $row->svnr==null)&&($row->ersatzkennzeichen=='' || $row->ersatzkennzeichen==null))
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."SVNR ('".$row->svnr."') bzw. ErsKz ('".$row->ersatzkennzeichen."') fehlt";
|
||||
@@ -306,6 +379,49 @@ if($result = $db->db_query($qry))
|
||||
}
|
||||
}
|
||||
}
|
||||
/*if($row->bpk == '' || $row->bpk == null)
|
||||
{
|
||||
$error_log .= (!empty($error_log) ? ', ' : '') . "bPK fehlt";
|
||||
}
|
||||
|
||||
if($row->bpk != '' && $row->bpk != null)
|
||||
{
|
||||
if (!preg_match('/[a-zA-Z0-9\+\/]{27}=/', $row->bpk))
|
||||
{
|
||||
$error_log.=(!empty($error_log) ? ', ' : ''). "bPK-Zeichenfolge ist ungültig";
|
||||
}
|
||||
|
||||
if (strlen($row->bpk) != 28)
|
||||
{
|
||||
$error_log.=(!empty($error_log) ? ', ' : ''). "bPK ist nicht 28 Zeichen lang";
|
||||
}
|
||||
}*/
|
||||
|
||||
if ($zustell_plz == '' || $zustell_plz == null)
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Zustell-PLZ fehlt";
|
||||
}
|
||||
|
||||
if ($zustell_gemeinde == '' || $zustell_gemeinde == null)
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Zustell-Gemeinde fehlt";
|
||||
}
|
||||
|
||||
if ($zustell_strasse == '' || $zustell_strasse == null)
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Zustell-Strasse fehlt";
|
||||
}
|
||||
|
||||
if ($zustell_nation == '' || $zustell_nation == null)
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Zustell-Nation fehlt";
|
||||
}
|
||||
|
||||
if ($email == '' || $email == null)
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."eMail Adresse fehlt oder eMail-Zustellung auf 'Nein' gesetzt.";
|
||||
}
|
||||
|
||||
//Bestimmen der aktuellen Prestudentrolle (Status) und des akt. Ausbildungssemesters des Studenten
|
||||
$qrystatus="SELECT * FROM public.tbl_prestudentstatus
|
||||
WHERE prestudent_id=".$db->db_add_param($row->prestudent_id)." AND studiensemester_kurzbz=".$db->db_add_param($ssem)."
|
||||
@@ -481,7 +597,21 @@ if($result = $db->db_query($qry))
|
||||
<PersKz>".trim($row->matrikelnr)."</PersKz>
|
||||
<Matrikelnummer>".$row->matr_nr."</Matrikelnummer>
|
||||
<GeburtsDatum>".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))."</GeburtsDatum>
|
||||
<Geschlecht>".strtoupper($row->geschlecht)."</Geschlecht>
|
||||
<Geschlecht>".strtoupper($row->geschlecht)."</Geschlecht>";
|
||||
|
||||
if ($row->titelpre != '')
|
||||
{
|
||||
$datei .= "
|
||||
<AkadGradeVorName>" . $row->titelpre . "</AkadGradeVorName>";
|
||||
}
|
||||
|
||||
if ($row->titelpost != '')
|
||||
{
|
||||
$datei .= "
|
||||
<AkadGradeNachName>" . $row->titelpost . "</AkadGradeNachName>";
|
||||
}
|
||||
|
||||
$datei .= "
|
||||
<Vorname>".$row->vorname."</Vorname>
|
||||
<Familienname>".$row->nachname."</Familienname>";
|
||||
|
||||
@@ -495,6 +625,10 @@ if($result = $db->db_query($qry))
|
||||
$datei.="
|
||||
<ErsKz>".$row->ersatzkennzeichen."</ErsKz>";
|
||||
}
|
||||
|
||||
/*$datei.="
|
||||
<bPK>".$row->bpk."</bPK>
|
||||
";*/
|
||||
|
||||
$datei.="
|
||||
<StaatsangehoerigkeitCode>".$row->staatsbuergerschaft."</StaatsangehoerigkeitCode>
|
||||
@@ -502,6 +636,19 @@ if($result = $db->db_query($qry))
|
||||
<HeimatGemeinde>".$gemeinde."</HeimatGemeinde>
|
||||
<HeimatStrasse><![CDATA[".$strasse."]]></HeimatStrasse>
|
||||
<HeimatNation>".$nation."</HeimatNation>
|
||||
<ZustellPLZ>". $zustell_plz. "</ZustellPLZ>
|
||||
<ZustellGemeinde>". $zustell_gemeinde. "</ZustellGemeinde>
|
||||
<ZustellStrasse>". $zustell_strasse. "</ZustellStrasse>
|
||||
<ZustellNation>". $zustell_nation. "</ZustellNation>";
|
||||
|
||||
if ($co_name != '')
|
||||
{
|
||||
$datei .= "
|
||||
<coName>". $co_name. "</coName>";
|
||||
}
|
||||
|
||||
$datei.="
|
||||
<eMailAdresse>". $email. "</eMailAdresse>
|
||||
<ZugangCode>".$row->zgv_code."</ZugangCode>
|
||||
<ZugangDatum>".date("dmY", $datumobj->mktime_fromdate($row->zgvdatum))."</ZugangDatum>";
|
||||
|
||||
@@ -545,6 +692,7 @@ if($result = $db->db_query($qry))
|
||||
}
|
||||
$datei.="
|
||||
<StudStatusCode>".$status."</StudStatusCode>
|
||||
<StandortCode>" .$standortcode. "</StandortCode>
|
||||
</StudentIn>";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,6 +52,7 @@ if(!$rechte->isBerechtigt('student/stammdaten',null,'suid') && !$rechte->isBerec
|
||||
$error_log='';
|
||||
$error_log1='';
|
||||
$error_log_all="";
|
||||
$error_log_io = ''; // error log fuer plausichecks von incomings/outgoings
|
||||
$stgart='';
|
||||
$fehler='';
|
||||
$maxsemester=0;
|
||||
@@ -143,9 +144,9 @@ derzeit fuer alle Studierende der gleiche Standort
|
||||
ToDo: Standort sollte pro Student konfigurierbar sein.
|
||||
*/
|
||||
$standortcode='22';
|
||||
if(in_array($stg_kz,array('265','268','761','760','266','267','764','269','400')))
|
||||
if(in_array($stg_kz,array('265','268','761','760','266','267','764','269','400','794','795','786','859')))
|
||||
$standortcode='14'; // Pinkafeld
|
||||
elseif(in_array($stg_kz,array('639','640','263','743','364','635','402','401','725','264','271')))
|
||||
elseif(in_array($stg_kz,array('639','640','263','743','364','635','402','401','725','264','271','781')))
|
||||
$standortcode='3'; // Eisenstadt
|
||||
|
||||
$datumobj=new datum();
|
||||
@@ -358,8 +359,46 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<head>
|
||||
<title>BIS - Meldung Student - ('.$stg_kz.')</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
|
||||
</head>
|
||||
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">';
|
||||
|
||||
include('../../include/meta/jquery.php');
|
||||
include('../../include/meta/jquery-tablesorter.php');
|
||||
|
||||
echo ' </head>
|
||||
<style>
|
||||
#t1, #t2
|
||||
{
|
||||
width: auto;
|
||||
}
|
||||
</style>
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[6,1],[5,1],[4,1],[2,0],[3,0]],
|
||||
widgets: ["zebra", "filter", "stickyHeaders"],
|
||||
widgetOptions : { filter_functions:
|
||||
{
|
||||
// Add select menu to this column
|
||||
4 : {
|
||||
"Abbrecher" : function(e, n, f, i, $r, c, data) { return /Abbrecher/.test(e); },
|
||||
"Absolvent" : function(e, n, f, i, $r, c, data) { return /Absolvent/.test(e); },
|
||||
"Diplomand" : function(e, n, f, i, $r, c, data) { return /Diplomand/.test(e); },
|
||||
"Incoming" : function(e, n, f, i, $r, c, data) { return /Incoming/.test(e); },
|
||||
"Student" : function(e, n, f, i, $r, c, data) { return /Student/.test(e); },
|
||||
"Unterbrecher" : function(e, n, f, i, $r, c, data) { return /Unterbrecher/.test(e); },
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
$("#t2").tablesorter(
|
||||
{
|
||||
sortList: [[0,0],[1,0]],
|
||||
widgets: ["zebra", "filter", "stickyHeaders"]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<body>';
|
||||
if ($rechte->isBerechtigt('admin'))
|
||||
{
|
||||
@@ -569,7 +608,8 @@ if(file_exists($eee))
|
||||
echo '<a href="'.$eee.'">BIS-Meldeübersicht der BIS-Meldung Stg '.$stg_kz.'</a><br><br>';
|
||||
}
|
||||
|
||||
echo '<table border=1>
|
||||
echo '<table id="t1" class="tablesorter">
|
||||
<thead>
|
||||
<tr align=center>
|
||||
<th>UID</th>
|
||||
<th>PersKZ</th>
|
||||
@@ -579,16 +619,25 @@ echo '<table border=1>
|
||||
<th>Semester</th>
|
||||
<th>Orgform</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
',$stlist,'
|
||||
</tbody>
|
||||
</table>';
|
||||
|
||||
echo '<br>Bewerberübersicht';
|
||||
echo '<table border=1>
|
||||
echo '<table id="t2" class="tablesorter">
|
||||
<thead>
|
||||
<tr align=center>
|
||||
<th>Nachname</th>
|
||||
<th>Vorname</th>
|
||||
<th>Orgform</th>
|
||||
<th>Geschlecht</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
',$bwlist,'
|
||||
</tbody>
|
||||
</table>';
|
||||
|
||||
echo '</body></html>';
|
||||
@@ -612,6 +661,7 @@ function GenerateXMLStudentBlock($row)
|
||||
global $stg_kz;
|
||||
$error_log='';
|
||||
$error_log1='';
|
||||
$error_log_io = '';
|
||||
$datei = '';
|
||||
$datumobj = new datum();
|
||||
|
||||
@@ -624,6 +674,9 @@ function GenerateXMLStudentBlock($row)
|
||||
else
|
||||
$ausserordentlich=false;
|
||||
|
||||
// Pruefen, ob Incoming (3.Stelle in Personenkennzeichen = 0)
|
||||
$incoming = mb_substr($row->matrikelnr,2,1) == '0' ? true : false;
|
||||
|
||||
$qryadr="SELECT * FROM public.tbl_adresse WHERE heimatadresse IS TRUE AND person_id=".$db->db_add_param($row->pers_id).";";
|
||||
$results=$db->db_query($qryadr);
|
||||
|
||||
@@ -637,6 +690,7 @@ function GenerateXMLStudentBlock($row)
|
||||
$gemeinde=$rowadr->gemeinde;
|
||||
$strasse=$rowadr->strasse;
|
||||
$nation=$rowadr->nation;
|
||||
$co_name = $rowadr->co_name;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -644,7 +698,43 @@ function GenerateXMLStudentBlock($row)
|
||||
$gemeinde='';
|
||||
$strasse='';
|
||||
$nation='';
|
||||
$co_name = '';
|
||||
}
|
||||
|
||||
// Zustelladresse & c/o Name(=abweichender Empfaenger)
|
||||
$qryzustelladr = "
|
||||
SELECT *
|
||||
FROM public.tbl_adresse
|
||||
WHERE zustelladresse IS TRUE
|
||||
AND person_id=". $db->db_add_param($row->pers_id). ";
|
||||
";
|
||||
$results = $db->db_query($qryzustelladr);
|
||||
|
||||
if ($db->db_num_rows($results) != 1)
|
||||
{
|
||||
$error_log1.= "Es sind ".$db->db_num_rows($results)." Zustelladressen eingetragen\n";
|
||||
}
|
||||
|
||||
$zustell_plz = '';
|
||||
$zustell_gemeinde = '';
|
||||
$zustell_strasse = '';
|
||||
$zustell_nation = '';
|
||||
|
||||
if ($rowzustelladr = $db->db_fetch_object($results))
|
||||
{
|
||||
$zustell_plz = $rowzustelladr->plz;
|
||||
$zustell_gemeinde = $rowzustelladr->gemeinde;
|
||||
$zustell_strasse = $rowzustelladr->strasse;
|
||||
$zustell_nation = $rowzustelladr->nation;
|
||||
}
|
||||
|
||||
// FH eMail-Adresse FH aus UID@Domain
|
||||
$email = '';
|
||||
if ($row->student_uid != '')
|
||||
{
|
||||
$email = $row->student_uid. '@'. DOMAIN;
|
||||
}
|
||||
|
||||
if($row->gebdatum<'1920-01-01' OR $row->gebdatum==null OR $row->gebdatum=='')
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Geburtsdatum ('".$row->gebdatum."')";
|
||||
@@ -709,6 +799,51 @@ function GenerateXMLStudentBlock($row)
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Heimat-Nation ('".$nation."')";
|
||||
}
|
||||
/*if($row->bpk == '' || $row->bpk == null)
|
||||
{
|
||||
$error_log .= (!empty($error_log) ? ', ' : '') . "bPK fehlt";
|
||||
}
|
||||
if($row->bpk != '' && $row->bpk != null)
|
||||
{
|
||||
if (!preg_match('/[a-zA-Z0-9\+\/]{27}=/', $row->bpk))
|
||||
{
|
||||
$error_log.=(!empty($error_log) ? ', ' : ''). "bPK-Zeichenfolge ist ungültig";
|
||||
}
|
||||
|
||||
if (strlen($row->bpk) != 28)
|
||||
{
|
||||
$error_log.=(!empty($error_log) ? ', ' : ''). "bPK ist nicht 28 Zeichen lang";
|
||||
}
|
||||
}*/
|
||||
if (!$ausserordentlich && !$incoming)
|
||||
{
|
||||
if ($zustell_plz == '' || $zustell_plz == null)
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Zustell-PLZ fehlt";
|
||||
}
|
||||
|
||||
if ($zustell_gemeinde == '' || $zustell_gemeinde == null)
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Zustell-Gemeinde fehlt";
|
||||
}
|
||||
|
||||
if ($zustell_strasse == '' || $zustell_strasse == null)
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Zustell-Strasse fehlt";
|
||||
}
|
||||
|
||||
if ($zustell_nation == '' || $zustell_nation == null)
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Zustell-Nation fehlt";
|
||||
}
|
||||
|
||||
if ($email == '' || $email == null)
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Studenten-eMail Adresse fehlt (keine Student-UID eingetragen).";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(!$ausserordentlich)
|
||||
{
|
||||
if($row->zgv_code=='' || $row->zgv_code==null)
|
||||
@@ -806,7 +941,7 @@ function GenerateXMLStudentBlock($row)
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_log.= "$row->vorname $row->nachname wird nicht gemeldet da kein gueltiger Status vorhanden ist!";
|
||||
$error_log.= (!empty($error_log)?', ':''). "$row->vorname $row->nachname wird nicht gemeldet da kein gueltiger Status vorhanden ist!";
|
||||
return '';
|
||||
}
|
||||
$aktstatus=$rowstatus->status_kurzbz;
|
||||
@@ -861,7 +996,7 @@ function GenerateXMLStudentBlock($row)
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_log.= "$row->vorname $row->nachname wird nicht gemeldet da kein gueltiger Status vorhanden ist!";
|
||||
$error_log.= (!empty($error_log)?', ':''). "$row->vorname $row->nachname wird nicht gemeldet da kein gueltiger Status vorhanden ist!";
|
||||
return '';
|
||||
}
|
||||
$aktstatus=$rowstatus->status_kurzbz;
|
||||
@@ -876,7 +1011,7 @@ function GenerateXMLStudentBlock($row)
|
||||
$aktstatus_datum='';
|
||||
$aktstatus_stsem='';
|
||||
$sem='';
|
||||
$error_log.= "kein gueltiger Status vorhanden";
|
||||
$error_log.= (!empty($error_log)?', ':''). "kein gueltiger Status vorhanden";
|
||||
|
||||
}
|
||||
}
|
||||
@@ -887,7 +1022,7 @@ function GenerateXMLStudentBlock($row)
|
||||
$aktstatus_datum='';
|
||||
$aktstatus_stsem='';
|
||||
$sem='';
|
||||
$error_log.= "kein gueltiger Status vorhanden";
|
||||
$error_log.= (!empty($error_log)?', ':''). "kein gueltiger Status vorhanden";
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1066,44 +1201,85 @@ function GenerateXMLStudentBlock($row)
|
||||
return '';
|
||||
}
|
||||
else
|
||||
{
|
||||
$datei.="
|
||||
{
|
||||
$datei .= "
|
||||
<StudentIn>
|
||||
<PersKz>".trim($row->matrikelnr)."</PersKz>";
|
||||
<PersKz>" . trim($row->matrikelnr) . "</PersKz>";
|
||||
|
||||
$datei.="
|
||||
<Matrikelnummer>".$row->matr_nr."</Matrikelnummer>";
|
||||
$datei .= "
|
||||
<Matrikelnummer>" . $row->matr_nr . "</Matrikelnummer>";
|
||||
|
||||
if(!$ausserordentlich)
|
||||
if (!$ausserordentlich)
|
||||
{
|
||||
$datei.="
|
||||
<OrgFormCode>".$orgform_code_array[$storgform]."</OrgFormCode>";
|
||||
$datei .= "
|
||||
<OrgFormCode>" . $orgform_code_array[$storgform] . "</OrgFormCode>";
|
||||
}
|
||||
|
||||
$datei.="
|
||||
<GeburtsDatum>".date("dmY", $datumobj->mktime_fromdate($row->gebdatum))."</GeburtsDatum>
|
||||
<Geschlecht>".strtoupper($row->geschlecht)."</Geschlecht>";
|
||||
$datei.="
|
||||
<Vorname>".$row->vorname."</Vorname>
|
||||
<Familienname>".$row->nachname."</Familienname>";
|
||||
$datei .= "
|
||||
<GeburtsDatum>" . date("dmY", $datumobj->mktime_fromdate($row->gebdatum)) . "</GeburtsDatum>
|
||||
<Geschlecht>" . strtoupper($row->geschlecht) . "</Geschlecht>";
|
||||
|
||||
if($row->svnr!='')
|
||||
if ($row->titelpre != '')
|
||||
{
|
||||
$datei.="
|
||||
<SVNR>".$row->svnr."</SVNR>";
|
||||
}
|
||||
if($row->ersatzkennzeichen!='')
|
||||
{
|
||||
$datei.="
|
||||
<ErsKz>".$row->ersatzkennzeichen."</ErsKz>";
|
||||
$datei .= "
|
||||
<AkadGradeVorName>" . $row->titelpre . "</AkadGradeVorName>";
|
||||
}
|
||||
|
||||
if ($row->titelpost != '')
|
||||
{
|
||||
$datei .= "
|
||||
<AkadGradeNachName>" . $row->titelpost . "</AkadGradeNachName>";
|
||||
}
|
||||
|
||||
$datei .= "
|
||||
<Vorname>" . $row->vorname . "</Vorname>
|
||||
<Familienname>" . $row->nachname . "</Familienname>";
|
||||
|
||||
if ($row->svnr != '')
|
||||
{
|
||||
$datei .= "
|
||||
<SVNR>" . $row->svnr . "</SVNR>";
|
||||
}
|
||||
if ($row->ersatzkennzeichen != '')
|
||||
{
|
||||
$datei .= "
|
||||
<ErsKz>" . $row->ersatzkennzeichen . "</ErsKz>";
|
||||
}
|
||||
|
||||
/*$datei .= "
|
||||
<bPK>" . $row->bpk . "</bPK>
|
||||
";*/
|
||||
|
||||
$datei .= "
|
||||
<StaatsangehoerigkeitCode>" . $row->staatsbuergerschaft . "</StaatsangehoerigkeitCode>
|
||||
<HeimatPLZ>" . $plz . "</HeimatPLZ>
|
||||
<HeimatGemeinde>" . $gemeinde . "</HeimatGemeinde>
|
||||
<HeimatStrasse><![CDATA[" . $strasse . "]]></HeimatStrasse>
|
||||
<HeimatNation>" . $nation . "</HeimatNation>";
|
||||
|
||||
if (!$ausserordentlich && !$incoming)
|
||||
{
|
||||
$datei .= "
|
||||
<ZustellPLZ>" . $zustell_plz . "</ZustellPLZ>
|
||||
<ZustellGemeinde>" . $zustell_gemeinde . "</ZustellGemeinde>
|
||||
<ZustellStrasse>" . $zustell_strasse . "</ZustellStrasse>
|
||||
<ZustellNation>" . $zustell_nation . "</ZustellNation>";
|
||||
}
|
||||
|
||||
if ($co_name != '')
|
||||
{
|
||||
$datei .= "
|
||||
<coName>" . $co_name . "</coName>
|
||||
";
|
||||
}
|
||||
|
||||
if ($email != '')
|
||||
{
|
||||
$datei .= "
|
||||
<eMailAdresse>" . $email . "</eMailAdresse>
|
||||
";
|
||||
}
|
||||
|
||||
$datei.="
|
||||
<StaatsangehoerigkeitCode>".$row->staatsbuergerschaft."</StaatsangehoerigkeitCode>
|
||||
<HeimatPLZ>".$plz."</HeimatPLZ>
|
||||
<HeimatGemeinde>".$gemeinde."</HeimatGemeinde>
|
||||
<HeimatStrasse><![CDATA[".$strasse."]]></HeimatStrasse>
|
||||
<HeimatNation>".$nation."</HeimatNation>";
|
||||
if(!$ausserordentlich)
|
||||
{
|
||||
$datei.="
|
||||
@@ -1206,48 +1382,151 @@ function GenerateXMLStudentBlock($row)
|
||||
$gast=$rowio->nation_code;
|
||||
$avon=date("dmY", $datumobj->mktime_fromdate($rowio->von));
|
||||
$abis=date("dmY", $datumobj->mktime_fromdate($rowio->bis));
|
||||
$adauer = (is_null($rowio->von) || is_null($rowio->bis))
|
||||
? null
|
||||
: $datumobj->DateDiff($rowio->von, $rowio->bis);
|
||||
|
||||
$datei.="
|
||||
<IO>
|
||||
<MobilitaetsProgrammCode>".$mob."</MobilitaetsProgrammCode>
|
||||
<GastlandCode>".$gast."</GastlandCode>
|
||||
<AufenthaltVon>".$avon."</AufenthaltVon>";
|
||||
if($datumobj->mktime_fromdate($rowio->bis)<$datumobj->mktime_fromdate($bisdatum) && $datumobj->mktime_fromdate($rowio->bis)>$datumobj->mktime_fromdate($bisprevious))
|
||||
{
|
||||
$datei.="
|
||||
<AufenthaltBis>".$abis."</AufenthaltBis>";
|
||||
}
|
||||
|
||||
// Aufenthaltszweckcode --------------------------------------------------------------------------------
|
||||
$bisio_zweck = new bisio();
|
||||
$bisio_zweck->getZweck($rowio->bisio_id);
|
||||
foreach ($bisio_zweck->result as $row_zweck)
|
||||
$zweck_code_arr = array();
|
||||
|
||||
// Bei Incomings...
|
||||
if ($aktstatus == 'Incoming')
|
||||
{
|
||||
$datei.="
|
||||
<AufenthaltZweckCode>".$row_zweck->zweck_code."</AufenthaltZweckCode>";
|
||||
}
|
||||
if ($aktstatus != 'Incoming' && $rowio->ects_erworben != '')
|
||||
{
|
||||
$datei.="
|
||||
<ECTSerworben>".$rowio->ects_erworben."</ECTSerworben>";
|
||||
}
|
||||
if ($aktstatus != 'Incoming' && $rowio->ects_angerechnet != '')
|
||||
{
|
||||
$datei.="
|
||||
<ECTSangerechnet>".$rowio->ects_angerechnet."</ECTSangerechnet>";
|
||||
}
|
||||
if ($aktstatus != 'Incoming')
|
||||
{
|
||||
$bisio_foerderung = new bisio();
|
||||
$bisio_foerderung->getFoerderungen($rowio->bisio_id);
|
||||
foreach ($bisio_foerderung->result as $row_foerderung)
|
||||
// ...max 1 Aufenthaltszweck
|
||||
if (count($bisio_zweck->result) > 1)
|
||||
{
|
||||
$datei.="
|
||||
<AufenthaltFoerderungCode>".$row_foerderung->aufenthaltfoerderung_code."</AufenthaltFoerderungCode>";
|
||||
$error_log_io .= (!empty($error_log_io) ? ', ' : ''). "Es sind". count($bisio_zweck->result).
|
||||
" Aufenthaltszwecke eingetragen (max. 1 Zweck für Incomings)";
|
||||
}
|
||||
|
||||
//...nur Zweck 1, 2 oder 3 erlaubt
|
||||
if (count($bisio_zweck->result) == 1 &&
|
||||
empty(array_intersect(array(1, 2, 3), array_column($bisio_zweck->result, 'zweck_code'))))
|
||||
{
|
||||
$error_log_io .= (!empty($error_log_io) ? ', ' : ''). "Aufenthaltszweckcode ist ".
|
||||
$bisio_zweck->result[0]->zweck_code. " (für Incomings ist nur Zweck 1, 2, 3 erlaubt)";
|
||||
}
|
||||
}
|
||||
|
||||
$datei.="
|
||||
</IO>";
|
||||
foreach ($bisio_zweck->result as $row_zweck)
|
||||
{
|
||||
// Nur eindeutige Werte (bei Mehrfachangaben; trifft auf Outgoings zu)
|
||||
if (!in_array($row_zweck->zweck_code, $zweck_code_arr))
|
||||
{
|
||||
// Aufenthaltszweck 1, 2, 3 nicht gemeinsam melden
|
||||
if (in_array(1,$zweck_code_arr) && in_array(2,$zweck_code_arr) && in_array(3,$zweck_code_arr))
|
||||
{
|
||||
$error_log_io .= (!empty($error_log_io) ? ', ' : '').
|
||||
"Aufenthaltzweckcode 1, 2, 3 dürfen nicht gemeinsam gemeldet werden";
|
||||
}
|
||||
|
||||
$zweck_code_arr []= $row_zweck->zweck_code;
|
||||
}
|
||||
}
|
||||
|
||||
// Aufenthaltfoerderungscode ---------------------------------------------------------------------------
|
||||
$aufenthaltfoerderung_code_arr = array();
|
||||
|
||||
// Nur bei Outgoings Aufenthaltsfoerderungscode melden
|
||||
if ($aktstatus != 'Incoming') {
|
||||
$bisio_foerderung = new bisio();
|
||||
$bisio_foerderung->getFoerderungen($rowio->bisio_id);
|
||||
|
||||
// ... mindestens 1 Aufenthaltfoerderung melden, wenn Auslandsaufenthalt >= 29 Tage
|
||||
if ((!$bisio_foerderung->result || count($bisio_foerderung->result) == 0) && $adauer >= 29)
|
||||
{
|
||||
$error_log_io .= (!empty($error_log_io) ? ', ' : '') .
|
||||
"Keine Aufenthaltsfoerderung angegeben (bei Outgoings >= 29 Tage Monat im Ausland muss mind. 1 gemeldet werden)";
|
||||
}
|
||||
|
||||
foreach ($bisio_foerderung->result as $row_foerderung)
|
||||
{
|
||||
// ...wenn code = 5, nur ein Wert erlaubt (keine Mehrfachangaben)
|
||||
if ($row_foerderung->aufenthaltfoerderung_code == 5) {
|
||||
unset($aufenthaltfoerderung_code_arr);
|
||||
$aufenthaltfoerderung_code_arr [] = $row_foerderung->aufenthaltfoerderung_code;
|
||||
break;
|
||||
}
|
||||
|
||||
// nur eindeutige Werte
|
||||
if (!in_array($row_foerderung->aufenthaltfoerderung_code, $aufenthaltfoerderung_code_arr)) {
|
||||
$aufenthaltfoerderung_code_arr [] = $row_foerderung->aufenthaltfoerderung_code;
|
||||
}
|
||||
}
|
||||
|
||||
if($datumobj->mktime_fromdate($rowio->bis) < $datumobj->mktime_fromdate($bisdatum))
|
||||
$aufenthalt_finished = true;
|
||||
else
|
||||
$aufenthalt_finished = false;
|
||||
|
||||
if ($rowio->ects_erworben == '' && $adauer >= 29 && $aufenthalt_finished)
|
||||
{
|
||||
$error_log_io .= (!empty($error_log_io) ? ', ' : '') .
|
||||
"Erworbene ECTS fehlen (Meldepflicht bei Outgoings >= 29 Tage Monat im Ausland)";
|
||||
}
|
||||
|
||||
if ($rowio->ects_angerechnet == '' && $adauer >= 29 && $aufenthalt_finished)
|
||||
{
|
||||
$error_log_io .= (!empty($error_log_io) ? ', ' : '') .
|
||||
"Angerechnete ECTS fehlen (Meldepflicht bei Outgoings >= 29 Tage Monat im Ausland)";
|
||||
}
|
||||
}
|
||||
|
||||
// Bei validen Daten errorlog ausgeben
|
||||
if($error_log_io != '')
|
||||
{
|
||||
$v.="<u>Bei Student (UID, Vorname, Nachname) '".$row->student_uid."', '".$row->nachname."', '".$row->vorname."' ($laststatus->status_kurzbz): </u>\n";
|
||||
if($error_log_io != '')
|
||||
{
|
||||
$v.=" Fehler: ".$error_log_io. "\n";
|
||||
}
|
||||
$v.="\n";
|
||||
$error_log_io = '';
|
||||
return '';
|
||||
}
|
||||
// Bei validen Daten XML-Datensatz bauen
|
||||
else
|
||||
{
|
||||
$datei.="
|
||||
<IO>
|
||||
<MobilitaetsProgrammCode>".$mob."</MobilitaetsProgrammCode>
|
||||
<GastlandCode>".$gast."</GastlandCode>
|
||||
<AufenthaltVon>".$avon."</AufenthaltVon>";
|
||||
if($datumobj->mktime_fromdate($rowio->bis)<$datumobj->mktime_fromdate($bisdatum) && $datumobj->mktime_fromdate($rowio->bis)>$datumobj->mktime_fromdate($bisprevious))
|
||||
{
|
||||
$datei.="
|
||||
<AufenthaltBis>".$abis."</AufenthaltBis>";
|
||||
}
|
||||
|
||||
foreach ($zweck_code_arr as $zweck)
|
||||
{
|
||||
$datei.="
|
||||
<AufenthaltZweckCode>". $zweck. "</AufenthaltZweckCode>";
|
||||
}
|
||||
if ($aktstatus != 'Incoming' && $rowio->ects_erworben != '')
|
||||
{
|
||||
$datei.="
|
||||
<ECTSerworben>".$rowio->ects_erworben."</ECTSerworben>";
|
||||
}
|
||||
if ($aktstatus != 'Incoming' && $rowio->ects_angerechnet != '')
|
||||
{
|
||||
$datei.="
|
||||
<ECTSangerechnet>".$rowio->ects_angerechnet."</ECTSangerechnet>";
|
||||
}
|
||||
foreach ($aufenthaltfoerderung_code_arr as $aufenthaltfoerderung_code)
|
||||
{
|
||||
$datei.="
|
||||
<AufenthaltFoerderungCode>". $aufenthaltfoerderung_code. "</AufenthaltFoerderungCode>";
|
||||
}
|
||||
|
||||
$datei.="
|
||||
</IO>";
|
||||
}
|
||||
|
||||
|
||||
|
||||
if($aktstatus!='Incoming')
|
||||
{
|
||||
if(!isset($iosem[$storgform][$sem]))
|
||||
|
||||
@@ -75,7 +75,22 @@ else
|
||||
|
||||
$webservice = new dvb(DVB_USERNAME, DVB_PASSWORD, $debug);
|
||||
|
||||
$qry = "
|
||||
if (defined('BPK_FUER_ALLE_BENUTZER_ABFRAGEN') && BPK_FUER_ALLE_BENUTZER_ABFRAGEN)
|
||||
{
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct person_id, vorname, nachname
|
||||
FROM
|
||||
public.tbl_person
|
||||
JOIN public.tbl_benutzer USING(person_id)
|
||||
WHERE
|
||||
public.tbl_benutzer.aktiv = true
|
||||
AND tbl_person.bpk is null
|
||||
AND gebdatum is not null";
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "
|
||||
SELECT
|
||||
distinct person_id, vorname, nachname
|
||||
FROM
|
||||
@@ -89,6 +104,7 @@ $qry = "
|
||||
AND studiengang_kz<10000
|
||||
AND EXISTS(SELECT 1 FROM public.tbl_prestudent WHERE person_id=tbl_person.person_id AND bismelden=true)
|
||||
AND gebdatum is not null";
|
||||
}
|
||||
|
||||
if ($limit != '')
|
||||
$qry .= " LIMIT ".$limit;
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
/* Copyright (C) 2020 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
|
||||
*/
|
||||
/**
|
||||
* Prueft ob aktuelle Jobs sich im Status running befinden.
|
||||
* Falls dies der Fall ist wird ein Warn Mail an den Admin verschickt.
|
||||
* Dies soll verhindern dass Jobs die stecken geblieben sind nicht mehr gestartet werden da diese im
|
||||
* Running Status hängen und daher nicht erneut gestartet werden.
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/../../config/vilesci.config.inc.php');
|
||||
require_once(dirname(__FILE__).'/../../include/mail.class.php');
|
||||
require_once(dirname(__FILE__).'/../../include/cronjob.class.php');
|
||||
|
||||
//ID des Cronjobs holen
|
||||
$cj = new cronjob();
|
||||
if($cj->isJobRunning())
|
||||
{
|
||||
$cj->getAll();
|
||||
|
||||
$text = '';
|
||||
$found = false;
|
||||
|
||||
foreach($cj->result as $row)
|
||||
{
|
||||
if($row->running && (mb_strstr($row->file, 'jobwatcher.php')===false))
|
||||
{
|
||||
$found = true;
|
||||
$text.="Der Cronjob \"$row->titel\" mit ID $row->cronjob_id ist im Status RUNNING\n";
|
||||
$text.="Er wurde zuletzt am \"$row->last_execute\" Uhr gestartet.\n";
|
||||
}
|
||||
}
|
||||
|
||||
if ($found)
|
||||
{
|
||||
$text.="Der Status muss gegebenenfalls manuell zurückgesetzt werden da der Job sonst nicht erneut startet\n";
|
||||
|
||||
$mail = new mail(MAIL_ADMIN, 'no-reply@'.DOMAIN,'CronJob - RUNNING ALERT',$text);
|
||||
|
||||
if(!$mail->send())
|
||||
die('Fehler beim Senden des Mails!');
|
||||
else
|
||||
echo 'Cronjob Running Alert verschickt';
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -139,7 +139,7 @@ if ($action == 'kartenausgabe')
|
||||
}
|
||||
|
||||
echo '
|
||||
Ziehen Sie die neue Karte über den Hitag Kartenleser um die Karte zu aktivieren:
|
||||
Ziehen Sie die neue Karte über den Mifare Kartenleser um die Karte zu aktivieren:
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
|
||||
@@ -91,7 +91,7 @@ if(count($_POST)>700)
|
||||
}
|
||||
if(isset($_POST['save']) && $users!='')
|
||||
{
|
||||
var_dump($users);
|
||||
//var_dump($users);
|
||||
foreach($users as $user)
|
||||
{
|
||||
$benutzer = new benutzer();
|
||||
@@ -100,7 +100,7 @@ if(isset($_POST['save']) && $users!='')
|
||||
$nummer1 = $_POST['nummer1_'.$user];
|
||||
$nummer2 = $_POST['nummer2_'.$user];
|
||||
|
||||
if($nummer1=='' || $nummer2=='')
|
||||
if($nummer1=='' && $nummer2=='')
|
||||
{
|
||||
echo '<span class="error">Ueberspringe '.$db->convert_html_chars($user).' - keine Nummer eingetragen</span>';
|
||||
continue;
|
||||
@@ -108,7 +108,8 @@ if(isset($_POST['save']) && $users!='')
|
||||
//Karte anlegen
|
||||
$bm = new betriebsmittel();
|
||||
$bm->betriebsmitteltyp = 'Zutrittskarte';
|
||||
$bm->nummer = $nummer1;
|
||||
if ($nummer1 != '')
|
||||
$bm->nummer = $nummer1;
|
||||
$bm->nummer2 = $nummer2;
|
||||
$bm->insertamum = date('Y-m-d H:i:s');
|
||||
$bm->insertvon = $uid;
|
||||
|
||||
@@ -334,11 +334,11 @@ if (!$uid = get_uid())
|
||||
|
||||
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
|
||||
<script src="../../include/js/tablesort/table.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>
|
||||
<!-- <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>
|
||||
@@ -1007,7 +1007,10 @@ function output_inventar($debug=false,$resultBetriebsmittel=null,$resultBetriebs
|
||||
|
||||
$htmlstring.='<td>';
|
||||
// mit Berechtigung ist der Status zum bearbeiten
|
||||
$betriebsmittelstatus_kurzbz_select=trim($resultBetriebsmittel[$pos]->betriebsmittelstatus_kurzbz);
|
||||
$betriebsmittel_betriebsmittelstatus = new betriebsmittel_betriebsmittelstatus();
|
||||
$status = $betriebsmittel_betriebsmittelstatus->load_last_status_by_betriebsmittel_id($resultBetriebsmittel[$pos]->betriebsmittel_id);
|
||||
$betriebsmittelstatus_kurzbz_select = trim($status);
|
||||
//$resultBetriebsmittel[$pos]->betriebsmittelstatus_kurzbz;
|
||||
if (!$schreib_recht)
|
||||
$htmlstring.=$betriebsmittelstatus_kurzbz_select;
|
||||
else
|
||||
|
||||
@@ -34,6 +34,7 @@ if(!$rechte->isBerechtigt('lehre/studienordnung', null, 's'))
|
||||
|
||||
$studiengang_kz = isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:'';
|
||||
$orgform_kurzbz = isset($_GET['orgform_kurzbz'])?$_GET['orgform_kurzbz']:'';
|
||||
$farbe = isset($_GET['farbe'])?true:false;
|
||||
$db = new basis_db();
|
||||
|
||||
echo '<!doctype html>
|
||||
@@ -51,7 +52,7 @@ echo '
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
widgets: ["zebra"]
|
||||
/*widgets: ["zebra"]*/
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -95,7 +96,7 @@ foreach ($orgform->result as $of)
|
||||
|
||||
echo '<OPTION value="'.$db->convert_html_chars($of->orgform_kurzbz).'" '.$selected.'>'.$db->convert_html_chars($of->orgform_kurzbz).' - '.$db->convert_html_chars($of->bezeichnung).'</OPTION>';
|
||||
}
|
||||
echo '</select>
|
||||
echo '</select><input type="checkbox" name="farbe" '.($farbe==true?'checked':'').'><span style="font-size: small">Unterschiede farblich hervorheben</span>
|
||||
<input type="submit" value="Anzeigen">
|
||||
</form>';
|
||||
|
||||
@@ -127,6 +128,7 @@ echo '</tr>
|
||||
</thead>
|
||||
<tbody>';
|
||||
$start=0;
|
||||
$color = 'black';
|
||||
foreach($studiensemester->studiensemester as $row_stsem)
|
||||
{
|
||||
|
||||
@@ -141,7 +143,12 @@ foreach($studiensemester->studiensemester as $row_stsem)
|
||||
foreach($gueltigkeit[$row_stsem->studiensemester_kurzbz][$i] as $row_studienplan)
|
||||
{
|
||||
$start=true;
|
||||
$row .= $row_studienplan.'<br>';
|
||||
// Die Farbe des Studienplans ist immer gleich bleibend nach der Bezeichnung des Studienplans
|
||||
if ($farbe == true)
|
||||
{
|
||||
$color = 'hsl('.abs((crc32($row_studienplan))*2 % 360).', 90%, 40%)';
|
||||
}
|
||||
$row .= '<span style="color: '.$color.'">'.$row_studienplan.'</span><br>';
|
||||
}
|
||||
}
|
||||
$row .= '</td>';
|
||||
|
||||
Reference in New Issue
Block a user